Loading...
Searching...
No Matches
Qore::Reflection::NormalMethodVariant Class Reference

The class for Qore class normal method variants. More...

`#include <QC_NormalMethodVariant.dox.h>`

Inheritance diagram for Qore::Reflection::NormalMethodVariant:

## Public Member Functions

auto | call (object obj,...)
| calls the given method variant with the given object; the object must be a member of a compatible class
auto | callArgs (object obj, *softlist< auto > argv)
| calls the given method with the given object; the object must be a member of a compatible class
| constructor ()
| Throws an exception if called directly; this class can only be instantiated by builtin subclasses.
Public Member Functions inherited from Qore::Reflection::AbstractMethodVariant
| constructor ()
| Throws an exception if called directly; this class can only be instantiated by builtin subclasses.
string | getAccessModifierString ()
| returns a string for the access modifier for the method variant
AbstractClass | getClass ()
| Returns the class for the variant.
AbstractMethod | getMethod ()
| Returns the method for the method variant.
bool | isAbstract ()
| returns True if the variant is abstract
bool | isFinal ()
| returns True if the variant is final
Public Member Functions inherited from Qore::Reflection::AbstractVariant
| constructor ()
| Throws an exception if called directly; this class can only be instantiated by builtin subclasses.
bool | empty ()
| returns True if the variant has no code implementation; False if it does
list< string > | getCodeFlagList ()
| returns a list of strings of code flags describing the variant
int | getCodeFlags ()
| returns a bitfield of code flags describing the variant
list< auto > | getDefaultArgs ()
| returns a list of default arguments for parameters for the variant; if the variant has no parameters, an empty list is returned
int | getDomain ()
| returns the functional domain of the variant (for builtin variants only) as a bitfield of Functional Domain Constants
list< string > | getDomainStringList ()
| returns a list of functional domain strings for the variant (for builtin variants only); an empty list is returned for user variants
AbstractReflectionFunction | getFunction ()
| Returns the abstract function object that contains the variant.
list< string > | getModifierList ()
| returns a list of strings of modifiers describing the variant
int | getModifiers ()
| returns a bitfield of modifiers describing the variant
list< string > | getParamNames ()
| returns a list of parameter variable name for the variant; if the variant has no parameters, an empty list is returned
string | getParamString ()
| returns a string giving a list of the parameters of the variant, including types, variable names, and default values
list< Type > | getParamTypes ()
| returns a list of parameter types for the variant; if the variant has no parameters, an empty list is returned
Type | getReturnType ()
| returns the return type of the variant
string | getReturnTypeString ()
| returns a string for the return type
hash< SourceLocationInfo > | getSourceLocation ()
| Returns the source location of the variant declaration.
bool | hasBody ()
| returns True if the variant has a code implementation; False if not (i.e. it is empty)
bool | isBuiltin ()
| returns True if the variant is a builtin variant
bool | isEqual (AbstractVariant variant)
| Returns True if the variant passed as an argument is equal to the current object; False if not.
bool | isInjected ()
| returns True if the function or method that the variant belongs to (and therefore the variant itself) has been injected as a dependency injection
bool | isMethodVariant ()
| returns True if the variant is a method variant but not a pseudo-method variant
bool | isPseudoMethodVariant ()
| returns True if the object is a pseudo-method variant
bool | isUser ()
| returns True if the variant is a user variant
int | numParams ()
| returns the number of parameters in the signature
string | toString ()
| returns a string for the variant's signature including any modifiers (`"synchronized"`, `"private"`, etc), the return type, the class name (if any, without a namespace prefix and followed by `"::"`), and the function or method name followed by parameter types in parentheses

## Detailed Description

The class for Qore class normal method variants.

Restrictions:
  Qore::PO_NO_REFLECTION

This class cannot be instantiated directly and also cannot be directly inherited by user-defined classes.

See also
  NormalMethod

Since
  Qore 0.9.0

## Member Function Documentation

## call()

auto Qore::Reflection::NormalMethodVariant::call | ( | object | obj,
|  |  | ... )

calls the given method variant with the given object; the object must be a member of a compatible class

Example:
  auto v = m.call(obj, arg1, arg2);

Parameters

  obj | the object to make the call on; must be an object of the class implementing the method or a `METHOD-ERROR` exception is thrown
  ... | optional arguments to the method

Returns
  the return value of the method call

Exceptions

  PROGRAM-ERROR | thrown if the Program object holding the class and method has been destroyed
  METHOD-ERROR | the object was not instantiated from the class implementing this method
  RUNTIME-TYPE-ERROR | invalid argument types passed to the variant

See also
  callArgs()

## callArgs()

auto Qore::Reflection::NormalMethodVariant::callArgs | ( | object | obj,
|  | *softlist< auto > | argv )

calls the given method with the given object; the object must be a member of a compatible class

Example:
  auto v = m.callArgs(obj, (arg1, arg2));

Parameters

  obj | the object to make the call on; must be an object of the class implementing the method or a `METHOD-ERROR` exception is thrown
  argv | optional arguments to the method

Returns
  the return value of the method call

Exceptions

  PROGRAM-ERROR | thrown if the Program object holding the class and method has been destroyed
  METHOD-ERROR | the object was not instantiated from the class implementing this method
  RUNTIME-TYPE-ERROR | invalid argument types passed to the variant

See also
  call()

## constructor()

Qore::Reflection::NormalMethodVariant::constructor | ( |  | ) |

Throws an exception if called directly; this class can only be instantiated by builtin subclasses.

Exceptions

  NORMALMETHODVARIANT-CONSTRUCTOR-ERROR | this exception is thrown if this class is constructed directly (also if directly inherited by user classes)

The documentation for this class was generated from the following file:

- modules/reflection/src/QC_NormalMethodVariant.dox.h