32 #ifndef _QORE_FUNCTIONREFERENCENODE_H
34 #define _QORE_FUNCTIONREFERENCENODE_H
93 DLLLOCAL
virtual ~AbstractCallReferenceNode();
122 DLLLOCAL
static const char *getStaticTypeName() {
123 return "call reference";
167 DLLLOCAL
virtual class QoreFunction *getFunction() = 0;
169 DLLLOCAL ResolvedCallReferenceNode *refRefSelf()
const {
171 return const_cast<ResolvedCallReferenceNode *
>(
this);
virtual DLLLOCAL QoreProgram * getProgram() const
returns a pointer to the QoreProgram object associated with this reference (can be 0) ...
virtual DLLLOCAL int getAsString(QoreString &str, int foff, ExceptionSink *xsink) const
concatenate the verbose string representation of the value to an existing QoreString ...
DLLEXPORT bool getAsBool() const
returns the boolean value of the object
virtual DLLLOCAL AbstractQoreNode * exec(const QoreListNode *args, ExceptionSink *xsink) const =0
pure virtual function for executing the function reference
virtual DLLLOCAL const char * getTypeName() const
returns the type name as a c string
DLLEXPORT double getAsFloat() const
returns the float value of the object
virtual DLLLOCAL AbstractQoreNode * evalImpl(ExceptionSink *xsink) const
this function should never be called for function references; this function should never be called di...
The base class for all value and parse types in Qore expression trees.
Definition: AbstractQoreNode.h:55
DLLLOCAL AbstractCallReferenceNode(bool n_needs_eval, bool n_there_can_be_only_one, qore_type_t n_type=NT_FUNCREF)
protected constructor for subclasses that are not reference-counted
const qore_type_t NT_FUNCREF
type value for AbstractCallReferenceNode
Definition: node_types.h:71
virtual DLLEXPORT bool getAsBoolImpl() const
returns false unless perl-boolean-evaluation is enabled, in which case it returns true ...
base class for call references, reference-counted, dynamically allocated only
Definition: CallReferenceNode.h:39
virtual DLLLOCAL int integerEvalImpl(ExceptionSink *xsink) const
this function should never be called for function references; this function should never be called di...
DLLEXPORT int getAsInt() const
returns the integer value of the object
DLLEXPORT int64 getAsBigInt() const
returns the 64-bit integer value of the object
signed short qore_type_t
used to identify unique Qore data and parse types (descendents of AbstractQoreNode) ...
Definition: common.h:67
Qore's string type supported by the QoreEncoding class.
Definition: QoreString.h:50
This is the list container type in Qore, dynamically allocated only, reference counted.
Definition: QoreListNode.h:52
DLLLOCAL ResolvedCallReferenceNode(bool n_needs_eval=false, qore_type_t n_type=NT_FUNCREF)
constructor is not exported outside the library
supports parsing and executing Qore-language code, reference counted, dynamically-allocated only ...
Definition: QoreProgram.h:103
DLLEXPORT void ref() const
increments the reference count
virtual DLLLOCAL double floatEvalImpl(ExceptionSink *xsink) const
this function should never be called for function references; this function should never be called di...
container for holding Qore-language exception information and also for registering a "thread_exit" ca...
Definition: ExceptionSink.h:43
base class for resolved call references
Definition: CallReferenceNode.h:128
virtual DLLLOCAL bool boolEvalImpl(ExceptionSink *xsink) const
this function should never be called for function references; this function should never be called di...
virtual DLLLOCAL int64 bigIntEvalImpl(ExceptionSink *xsink) const
this function should never be called for function references; this function should never be called di...
a templated class to manage a reference count of an object that can throw a Qore-language exception w...
Definition: ReferenceHolder.h:51