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

The abstract base class for Qore class methods. More...

`#include <QC_AbstractMethod.dox.h>`

Inheritance diagram for Qore::Reflection::AbstractMethod:

## Public Member Functions

| constructor ()
| Throws an exception if called directly; this class can only be instantiated by builtin subclasses.
AbstractClass | getClass ()
| Returns the class for the method.
string | getMethodTypeName ()
| returns the type of method as a string; one of `"normal"`, `"static"`, `"constructor"`, `"destructor"`, `"copy"`
AbstractMethodVariant | getVariant (...)
| Returns the given direct child method variant declared in this method or throws an exception if the method variant is not defined.
AbstractMethodVariant | getVariantArgs (softlist< Type > argv)
| Returns the given direct child method variant declared in this method or throws an exception if the method variant is not defined.
list< AbstractMethodVariant > | getVariants ()
| returns the variants implemented by the method
bool | isStatic ()
| returns True if the method is a static method
Public Member Functions inherited from Qore::Reflection::AbstractReflectionFunction
| constructor ()
| Throws an exception if called directly; this class can only be instantiated by builtin subclasses.
list< string > | getCodeFlagList ()
| returns a list of strings of code flags common to all variants for this function
int | getCodeFlags ()
| returns a bitfield of code flags common to all variants for this function
int | getDomain ()
| returns the functional domain common to all variants for this function (for builtin functions only) as a bitfield of Functional Domain Constants
list< string > | getDomainStringList ()
| returns a list of functional domain strings common to all variants for this function (for builtin functions only); an empty list is returned for user functions
*string | getModuleName ()
| Returns the module name providing the function or method or NOTHING if the function or method was not provided by a module.
string | getName ()
| returns the function or method name
bool | isBuiltin ()
| returns True if the function or method is a builtin function or method
bool | isEqual (AbstractReflectionFunction func)
| Returns True if the function or method object passed as an argument is equal to the current object; False if not.
bool | isInjected ()
| returns True if the function or method has been injected as a dependency injection
bool | isMethod ()
| returns True if the object is a method but not a pseudo-method
bool | isPseudoMethod ()
| returns True if the object is a pseudo-method
bool | isUser ()
| returns True if the function or method is a user function or method
int | numVariants ()
| returns the number of variants implemented by the function or method

## Detailed Description

The abstract base class for Qore class methods.

Restrictions:
  Qore::PO_NO_REFLECTION

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

See also
  AbstractMethodVariant

Since
  Qore 0.9.0

## Member Function Documentation

## constructor()

Qore::Reflection::AbstractMethod::constructor | ( |  | ) |

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

Exceptions

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

## getClass()

AbstractClass Qore::Reflection::AbstractMethod::getClass | ( |  | ) |

Returns the class for the method.

Code Flags:
  CONSTANT

Example:
  AbstractClass cls = m.getClass();

Returns
  the class for the method

## getMethodTypeName()

string Qore::Reflection::AbstractMethod::getMethodTypeName | ( |  | ) |

returns the type of method as a string; one of `"normal"`, `"static"`, `"constructor"`, `"destructor"`, `"copy"`

Code Flags:
  RET_VALUE_ONLY

Example:
  string type = m.getMethodTypeName();

Returns
  the type of method as a string; one of `"normal"`, `"static"`, `"constructor"`, `"destructor"`, `"copy"`

Exceptions

  PROGRAM-ERROR | thrown if the Program object holding the class and method has been destroyed

## getVariant()

AbstractMethodVariant Qore::Reflection::AbstractMethod::getVariant | ( |  | ... | ) |

Returns the given direct child method variant declared in this method or throws an exception if the method variant is not defined.

Code Flags:
  RET_VALUE_ONLY

Example:
  AbstractMethodVariant v = n.getVariant(IntType, StringType);

Parameters

  ... | type arguments for the variant; types must be compatible for the search to be successful

Returns
  given method variant or throws an exception if the method variant is not defined in this method

Exceptions

  PROGRAM-ERROR | thrown if the Program object holding the class and the method has been destroyed
  VARIANT-MATCH-ERROR | thrown if the variant cannot be matched to the given arguments
  ENCODING-CONVERSION-ERROR | this exception could be thrown if the string argument is not in the default character encoding and an error occurs during encoding conversion

See also
  - getVariantArgs()
  - getExactVariant()
  - getExactVariantArgs()

## getVariantArgs()

AbstractMethodVariant Qore::Reflection::AbstractMethod::getVariantArgs | ( | softlist< Type > | argv | ) |

Returns the given direct child method variant declared in this method or throws an exception if the method variant is not defined.

Code Flags:
  RET_VALUE_ONLY

Example:
  AbstractMethodVariant v = n.getVariantArgs((IntType, StringType));

Parameters

  argv | type arguments for the variant; types must be compatible for the search to be successful

Returns
  given method variant or throws an exception if the method variant is not defined in this method

Exceptions

  PROGRAM-ERROR | thrown if the Program object holding the class and the method has been destroyed
  VARIANT-MATCH-ERROR | thrown if the variant cannot be matched to the given arguments
  ENCODING-CONVERSION-ERROR | this exception could be thrown if the string argument is not in the default character encoding and an error occurs during encoding conversion

See also
  - getVariant()
  - getExactVariant()
  - getExactVariantArgs()

## getVariants()

list< AbstractMethodVariant > Qore::Reflection::AbstractMethod::getVariants | ( |  | ) |

returns the variants implemented by the method

Code Flags:
  RET_VALUE_ONLY

Example:
  list<AbstractMethodVariant> l = f.getVariants();

Returns
  the variants implemented by the method

Exceptions

  PROGRAM-ERROR | thrown if the Program object holding the class and the method has been destroyed

## isStatic()

bool Qore::Reflection::AbstractMethod::isStatic | ( |  | ) |

returns True if the method is a static method

Code Flags:
  RET_VALUE_ONLY

Example:
  bool b = m.isStatic();

Returns
  True if the method is a static method

Exceptions

  PROGRAM-ERROR | thrown if the Program object holding the class and method has been destroyed

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

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