Qore reflection Module  1.11.0
Qore::Reflection::NormalMethod Class Reference

This class provides information about Qore normal (non-static, non-special) class methods. More...

Inheritance diagram for Qore::Reflection::NormalMethod:
Qore::Reflection::AbstractMethod Qore::Reflection::AbstractReflectionFunction

Public Member Methods

auto call (object obj,...)
 calls the given method with the given object; the object must be a member of a compatible class More...
 
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 More...
 
 constructor (Class cls, string method)
 Creates the object from the class and normal (non-static, non-special) method name. More...
 
 constructor (string class_name, string method)
 Creates the object from the class name or namespace path and normal (non-static, non-special) method name. More...
 
- Public Member Methods inherited from Qore::Reflection::AbstractMethod
 constructor ()
 Throws an exception if called directly; this class can only be instantiated by builtin subclasses. More...
 
AbstractClass getClass ()
 Returns the class for the method. More...
 
string getMethodTypeName ()
 returns the type of method as a string; one of "normal", "static", "constructor", "destructor", "copy" More...
 
AbstractMethodVariant getVariant (...)
 Returns the given direct child method variant declared in this method or throws an exception if the method variant is not defined. More...
 
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. More...
 
list< AbstractMethodVariantgetVariants ()
 returns the variants implemented by the method More...
 
bool isStatic ()
 returns True if the method is a static method More...
 
- Public Member Methods inherited from Qore::Reflection::AbstractReflectionFunction
 constructor ()
 Throws an exception if called directly; this class can only be instantiated by builtin subclasses. More...
 
list< string > getCodeFlagList ()
 returns a list of strings of code flags common to all variants for this function More...
 
int getCodeFlags ()
 returns a bitfield of code flags common to all variants for this function More...
 
int getDomain ()
 returns the functional domain common to all variants for this function (for builtin functions only) as a bitfield of functional_domain_constants More...
 
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 More...
 
*string getModuleName ()
 Returns the module name providing the function or method or nothing if the function or method was not provided by a module. More...
 
string getName ()
 returns the function or method name More...
 
bool isBuiltin ()
 returns True if the function or method is a builtin function or method More...
 
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. More...
 
bool isInjected ()
 returns True if the function or method has been injected as a dependency injection More...
 
bool isMethod ()
 returns True if the object is a method but not a pseudo-method More...
 
bool isPseudoMethod ()
 returns True if the object is a pseudo-method More...
 
bool isUser ()
 returns True if the function or method is a user function or method More...
 
int numVariants ()
 returns the number of variants implemented by the function or method More...
 

Detailed Description

This class provides information about Qore normal (non-static, non-special) class methods.

Restrictions:
Qore::PO_NO_REFLECTION
See also
NormalMethodVariant
Since
Qore 0.9.0

Member Function Documentation

◆ call()

auto Qore::Reflection::NormalMethod::call ( object  obj,
  ... 
)

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

Example:
auto v = m.call(obj, arg1, arg2);
Parameters
objthe 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-ERRORthrown if the Program object holding the class and method has been destroyed
METHOD-ERRORthe object was not instantiated from the class implementing this method
See also
callArgs()

◆ callArgs()

auto Qore::Reflection::NormalMethod::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
objthe object to make the call on; must be an object of the class implementing the method or a METHOD-ERROR exception is thrown
argvoptional arguments to the method
Returns
the return value of the method call
Exceptions
PROGRAM-ERRORthrown if the Program object holding the class and method has been destroyed
METHOD-ERRORthe object was not instantiated from the class implementing this method
See also
call()

◆ constructor() [1/2]

Qore::Reflection::NormalMethod::constructor ( Class  cls,
string  method 
)

Creates the object from the class and normal (non-static, non-special) method name.

Example:
NormalMethod m(cls, "lock");
Parameters
clsthe class for the method
methodthe (non-static, non-special) method name
Exceptions
UNKOWN-METHODcannot find a normal (non-static) method with the given name

◆ constructor() [2/2]

Qore::Reflection::NormalMethod::constructor ( string  class_name,
string  method 
)

Creates the object from the class name or namespace path and normal (non-static, non-special) method name.

Example:
NormalMethod m("Thread::Mutex", "lock");
Parameters
class_namethe class name or namespace path for the class implementing the method
methodthe normal (non-static, non-special) method name
Exceptions
UNKNOWN-CLASScannot find a class with the given name or path
UNKOWN-METHODcannot find a normal (non-static, non-special) method with the given name

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