The abstract base class for Qore class variants.
More...
#include <QC_AbstractVariant.dox.h>
|
| constructor () |
| Throws an exception if called directly; this class can only be instantiated by builtin subclasses. More...
|
|
bool | empty () |
| returns True if the variant has no code implementation; False if it does More...
|
|
list< string > | getCodeFlagList () |
| returns a list of strings of code flags describing the variant More...
|
|
int | getCodeFlags () |
| returns a bitfield of code flags describing the variant More...
|
|
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 More...
|
|
int | getDomain () |
| returns the functional domain of the variant (for builtin variants only) as a bitfield of Functional Domain Constants More...
|
|
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 More...
|
|
AbstractReflectionFunction | getFunction () |
| Returns the abstract function object that contains the variant. More...
|
|
list< string > | getModifierList () |
| returns a list of strings of modifiers describing the variant More...
|
|
int | getModifiers () |
| returns a bitfield of modifiers describing the variant More...
|
|
list< string > | getParamNames () |
| returns a list of parameter variable name for the variant; if the variant has no parameters, an empty list is returned More...
|
|
string | getParamString () |
| returns a string giving a list of the parameters of the variant, including types, variable names, and default values More...
|
|
list< Type > | getParamTypes () |
| returns a list of parameter types for the variant; if the variant has no parameters, an empty list is returned More...
|
|
Type | getReturnType () |
| returns the return type of the variant More...
|
|
string | getReturnTypeString () |
| returns a string for the return type More...
|
|
hash< SourceLocationInfo > | getSourceLocation () |
| Returns the source location of the variant declaration. More...
|
|
bool | hasBody () |
| returns True if the variant has a code implementation; False if not (i.e. it is empty) More...
|
|
bool | isBuiltin () |
| returns True if the variant is a builtin variant More...
|
|
bool | isEqual (AbstractVariant variant) |
| Returns True if the variant passed as an argument is equal to the current object; False if not. More...
|
|
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 More...
|
|
bool | isMethodVariant () |
| returns True if the variant is a method variant but not a pseudo-method variant More...
|
|
bool | isPseudoMethodVariant () |
| returns True if the object is a pseudo-method variant More...
|
|
bool | isUser () |
| returns True if the variant is a user variant More...
|
|
int | numParams () |
| returns the number of parameters in the signature More...
|
|
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 More...
|
|
The abstract base class for Qore class variants.
- Restrictions:
- Qore::PO_NO_REFLECTION
This class cannot be instantiated directly and also cannot be directly inherited by user-defined classes.
- See also
- AbstractMethod
- Since
- Qore 0.9.0
◆ constructor()
Qore::Reflection::AbstractVariant::constructor |
( |
| ) |
|
Throws an exception if called directly; this class can only be instantiated by builtin subclasses.
- Exceptions
-
ABSTRACTVARIANT-CONSTRUCTOR-ERROR | this exception is thrown if this class is constructed directly (also if directly inherited by user classes) |
◆ empty()
bool Qore::Reflection::AbstractVariant::empty |
( |
| ) |
|
returns True if the variant has no code implementation; False if it does
- Code Flags:
- RET_VALUE_ONLY
- Example:
- Returns
- True if the variant has no code implementation; False if it does
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the function or method has been destroyed |
- Note
- complementary to hasBody()
- abstract method variants will return True here
◆ getCodeFlagList()
list< string > Qore::Reflection::AbstractVariant::getCodeFlagList |
( |
| ) |
|
returns a list of strings of code flags describing the variant
- Code Flags:
- RET_VALUE_ONLY
- Example:
list<string> l = v.getCodeFlagList();
- Returns
- list of strings of code flags describing the variant; possible values are:
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the function or method has been destroyed |
- See also
- getCodeFlags()
◆ getCodeFlags()
int Qore::Reflection::AbstractVariant::getCodeFlags |
( |
| ) |
|
returns a bitfield of code flags describing the variant
- Code Flags:
- CONSTANT
- Example:
int i = v.getCodeFlags();
- Returns
- a bitfield of code flags describing the variant
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the function or method has been destroyed |
- See also
- getCodeFlagList()
◆ getDefaultArgs()
list< auto > Qore::Reflection::AbstractVariant::getDefaultArgs |
( |
| ) |
|
returns a list of default arguments for parameters for the variant; if the variant has no parameters, an empty list is returned
- Code Flags:
- RET_VALUE_ONLY
- Example:
list<auto> l = v.getDefaultArgs();
- Returns
- a list of default arguments for parameters for the variant; if the variant has no parameters, an empty list is returned
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the function or method has been destroyed |
◆ getDomain()
int Qore::Reflection::AbstractVariant::getDomain |
( |
| ) |
|
returns the functional domain of the variant (for builtin variants only) as a bitfield of Functional Domain Constants
- Code Flags:
- RET_VALUE_ONLY
- Example:
- Returns
- the functional domain of the variant (for builtin variants only) as a bitfield of Functional Domain Constants
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the function or method has been destroyed |
- Note
- user variants always return 0 here; a value is only returned by builtin variants
◆ getDomainStringList()
list< string > Qore::Reflection::AbstractVariant::getDomainStringList |
( |
| ) |
|
returns a list of functional domain strings for the variant (for builtin variants only); an empty list is returned for user variants
- Code Flags:
- RET_VALUE_ONLY
- Example:
list<string> l = v.getDomainStringList();
- Returns
- a list of functional domain strings for the variant (for builtin variants only)
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the function or method has been destroyed |
- Note
- user variants always return an empty list here
◆ getFunction()
Returns the abstract function object that contains the variant.
- Code Flags:
- RET_VALUE_ONLY
- Example:
AbstractReflectionFunction f = v.getFunction();
- Returns
- the abstract function object that contains the variant
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the function or method has been destroyed |
◆ getModifierList()
list< string > Qore::Reflection::AbstractVariant::getModifierList |
( |
| ) |
|
returns a list of strings of modifiers describing the variant
- Code Flags:
- RET_VALUE_ONLY
- Example:
list<string> l = v.getModifierList();
- Returns
- list of strings of modifiers describing the variant; possible values are:
"abstract"
: the variant is Abstract Methods
"final"
: (only returned for method variants) the variant has the final flag set
"private"
: (only returned for method variants) gives the accessibility of the variant
"private:internal"
: (only returned for method variants) gives the accessibility of the variant
"public"
: for function variants, the variant has the module public flag set on the function, for method variants, this gives the accessibility of the variant
"static"
: (only returned for method variants) the variant is a static method variant
"synchronized"
: the variant is synchronized
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the function or method has been destroyed |
- See also
- getModifiers()
◆ getModifiers()
int Qore::Reflection::AbstractVariant::getModifiers |
( |
| ) |
|
returns a bitfield of modifiers describing the variant
- Code Flags:
- RET_VALUE_ONLY
- Example:
int i = v.getModifiers();
- Returns
- a bitfield of modifiers describing the variant; possible values are:
- MC_ABSTRACT: the variant is Abstract Methods
- MC_FINAL: the variant has the final flag set
- MC_PRIVATE: (only returned for method variants) gives the accessibility of the variant
- MC_PRIVATEINTERNAL: (only returned for method variants) gives the accessibility of the variant
- MC_PUBLIC: for functions, the variant has the module public flag set on the class or the function (not related to any inheritance properties in a class hierarchy), for method variants, this gives the accessibility of the variant
- MC_STATIC: the variant is a static method variant
- MC_SYNCHRONIZED: the variant is synchronized
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the function or method has been destroyed |
- See also
- getModifierList()
◆ getParamNames()
list< string > Qore::Reflection::AbstractVariant::getParamNames |
( |
| ) |
|
returns a list of parameter variable name for the variant; if the variant has no parameters, an empty list is returned
- Code Flags:
- RET_VALUE_ONLY
- Example:
list<string> l = v.getParamNames();
- Returns
- a list of parameter variable name for the variant; if the variant has no parameters, an empty list is returned
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the function or method has been destroyed |
◆ getParamString()
string Qore::Reflection::AbstractVariant::getParamString |
( |
| ) |
|
returns a string giving a list of the parameters of the variant, including types, variable names, and default values
- Code Flags:
- RET_VALUE_ONLY
- Example:
string str = v.getParamString();
- Returns
- a string giving a list of the parameters of the variant, including types, variable names, and default values; an empty string is returned if the variant does not have any parameters
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the function or method has been destroyed |
◆ getParamTypes()
list< Type > Qore::Reflection::AbstractVariant::getParamTypes |
( |
| ) |
|
returns a list of parameter types for the variant; if the variant has no parameters, an empty list is returned
- Code Flags:
- RET_VALUE_ONLY
- Example:
list<Type> l = v.getParamTypes();
- Returns
- a list of parameter types for the variant; if the variant has no parameters, an empty list is returned
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the function or method has been destroyed |
◆ getReturnType()
Type Qore::Reflection::AbstractVariant::getReturnType |
( |
| ) |
|
returns the return type of the variant
- Code Flags:
- RET_VALUE_ONLY
- Example:
Type t = v.getReturnType();
- Returns
- the return type of the variant
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the function or method has been destroyed |
◆ getReturnTypeString()
string Qore::Reflection::AbstractVariant::getReturnTypeString |
( |
| ) |
|
returns a string for the return type
- Code Flags:
- RET_VALUE_ONLY
- Example:
string str = v.getReturnTypeString();
- Returns
- a string for the return type
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the function or method has been destroyed |
◆ getSourceLocation()
Returns the source location of the variant declaration.
- Code Flags:
- RET_VALUE_ONLY
- Example:
hash<SourceLocationInfo> loc = v.getSourceLocation();
- Returns
- the source location of the variant declaration
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the function or method has been destroyed |
◆ hasBody()
bool Qore::Reflection::AbstractVariant::hasBody |
( |
| ) |
|
returns True if the variant has a code implementation; False if not (i.e. it is empty)
- Code Flags:
- RET_VALUE_ONLY
- Example:
- Returns
- True if the variant has a code implementation; False if not (i.e. it is empty)
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the function or method has been destroyed |
- Note
- complementary to empty()
- abstract method variants will return False here
◆ isBuiltin()
bool Qore::Reflection::AbstractVariant::isBuiltin |
( |
| ) |
|
returns True if the variant is a builtin variant
- Code Flags:
- RET_VALUE_ONLY
- Example:
- Returns
- True if the variant is a builtin variant
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the function or method has been destroyed |
- Note
- complementary to isUser()
◆ isEqual()
Returns True if the variant passed as an argument is equal to the current object; False if not.
- Code Flags:
- CONSTANT
- Example:
- Parameters
-
variant | the variant to check with the current object for equality |
- Returns
- True if the variant object passed as an argument is equal to the current object; False if not
- Note
- if this method is called on variants from user classes created from the same source code but in different Program containers, it will return False
◆ isInjected()
bool Qore::Reflection::AbstractVariant::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
- Code Flags:
- RET_VALUE_ONLY
- Example:
- Returns
- True if the function or method that the variant belongs to (and therefore the variant itself) has been injected as a dependency injection
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the function or method has been destroyed |
◆ isMethodVariant()
bool Qore::Reflection::AbstractVariant::isMethodVariant |
( |
| ) |
|
returns True if the variant is a method variant but not a pseudo-method variant
- Code Flags:
- RET_VALUE_ONLY
- Example:
bool b = v.isMethodVariant();
- Returns
- True if the variant is a method variant but not a pseudo-method variant
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the function or method has been destroyed |
◆ isPseudoMethodVariant()
bool Qore::Reflection::AbstractVariant::isPseudoMethodVariant |
( |
| ) |
|
returns True if the object is a pseudo-method variant
- Code Flags:
- RET_VALUE_ONLY
- Example:
bool b = f.isPseudoMethodVariant();
- Returns
- True if the object is a pseudo-method variant
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the function or method has been destroyed |
◆ isUser()
bool Qore::Reflection::AbstractVariant::isUser |
( |
| ) |
|
returns True if the variant is a user variant
- Code Flags:
- RET_VALUE_ONLY
- Example:
- Returns
- True if the variant is a user variant
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the function or method has been destroyed |
- Note
- complementary to isBuiltin()
◆ numParams()
int Qore::Reflection::AbstractVariant::numParams |
( |
| ) |
|
returns the number of parameters in the signature
- Code Flags:
- RET_VALUE_ONLY
- Example:
- Returns
- the number of parameters in the signature
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the function or method has been destroyed |
◆ toString()
string Qore::Reflection::AbstractVariant::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
- Code Flags:
- RET_VALUE_ONLY
- Example:
string str = v.toString();
- Returns
- a string for the variant's signature including any modifiers, 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
- Exceptions
-
PROGRAM-ERROR | thrown if the Program object holding the function or method has been destroyed |
The documentation for this class was generated from the following file: