Qore Programming Language  0.9.3
FunctionCallReferenceNode Class Reference

a call reference to a user function More...

#include <CallReferenceNode.h>

Inheritance diagram for FunctionCallReferenceNode:
Collaboration diagram for FunctionCallReferenceNode:

Public Member Methods

virtual DLLLOCAL QoreValue execValue (const QoreListNode *args, ExceptionSink *xsink) const
 pure virtual function for executing the function reference More...
 
- Public Member Methods inherited from LocalFunctionCallReferenceNode
virtual DLLLOCAL QoreFunction * getFunction ()
 Returns the internal function object, if any; can return nullptr.
 
virtual DLLLOCAL bool is_equal_hard (const AbstractQoreNode *v, ExceptionSink *xsink) const
 returns true if the other node is the same value
 
virtual DLLLOCAL bool is_equal_soft (const AbstractQoreNode *v, ExceptionSink *xsink) const
 returns true if the other node is the same value
 

Private Member Methods

virtual DLLLOCAL bool derefImpl (ExceptionSink *xsink)
 decrements the reference count More...
 
- Private Member Methods inherited from LocalFunctionCallReferenceNode
virtual DLLLOCAL QoreValue evalImpl (bool &needs_deref, ExceptionSink *xsink) const
 this function should never be called for function references; this function should never be called directly More...
 

Detailed Description

a call reference to a user function

Member Function Documentation

◆ derefImpl()

virtual DLLLOCAL bool FunctionCallReferenceNode::derefImpl ( ExceptionSink xsink)
privatevirtual

decrements the reference count

deletes the object when the reference count = 0. The ExceptionSink argument is needed for those types that could throw an exception when they are deleted (ex: QoreObject)

Parameters
xsinkif an error occurs, the Qore-language exception information will be added here
Returns
true if the object can be deleted, false if not (externally-managed)

Reimplemented from AbstractQoreNode.

◆ execValue()

virtual DLLLOCAL QoreValue FunctionCallReferenceNode::execValue ( const QoreListNode args,
ExceptionSink xsink 
) const
virtual

pure virtual function for executing the function reference

executes the function reference and returns the value returned

Parameters
argsthe arguments to the function
xsinkany Qore-language exception thrown (and not handled) will be added here
Returns
a pointer to an AbstractQoreNode, the caller owns the reference count returned (can also be nullptr)

Reimplemented from LocalFunctionCallReferenceNode.


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