32 #ifndef _QORE_SCOPEDOBJECTCALLNODE_H 34 #define _QORE_SCOPEDOBJECTCALLNODE_H 36 #include "qore/intern/FunctionCallNode.h" 37 #include "qore/intern/QoreParseListNode.h" 39 class ScopedObjectCallNode :
public AbstractFunctionCallNode {
44 DLLLOCAL
virtual const QoreTypeInfo* getTypeInfo()
const {
45 return oc ? oc->getTypeInfo() : objectTypeInfo;
53 DLLLOCAL ScopedObjectCallNode(
const QoreProgramLocation* loc, NamedScope* n, QoreParseListNode* a) : AbstractFunctionCallNode(loc,
NT_SCOPE_REF, a), name(n), oc(nullptr) {
56 DLLLOCAL ScopedObjectCallNode(
const QoreProgramLocation* loc,
const QoreClass* qc, QoreParseListNode* a) : AbstractFunctionCallNode(loc,
NT_SCOPE_REF, a), name(nullptr), oc(qc) {
59 DLLLOCAL
virtual ~ScopedObjectCallNode() {
63 DLLLOCAL
void parseInitImpl(
QoreValue& val, LocalVar* oflag,
int pflag,
int& lvids,
const QoreTypeInfo*& typeInfo);
71 str.
sprintf(
"new operator expression (class '%s')", oc ? oc->
getName() : name ? name->ostr :
"<null>",
this);
79 getAsString(*rv, foff, xsink);
89 DLLLOCAL
virtual const char* getTypeName()
const {
90 return "new object call";
94 DLLLOCAL
virtual const char* getName()
const {
DLLEXPORT int sprintf(const char *fmt,...)
this will concatentate a formatted string to the existing string according to the format string and t...
Qore's string type supported by the QoreEncoding class.
Definition: QoreString.h:81
DLLEXPORT const char * getBuffer() const
returns the string's buffer; this data should not be changed
defines a Qore-language class
Definition: QoreClass.h:239
The main value class in Qore, designed to be passed by value.
Definition: QoreValue.h:262
container for holding Qore-language exception information and also for registering a "thread_exit" ca...
Definition: ExceptionSink.h:46
const qore_type_t NT_SCOPE_REF
type value for ScopedObjectCallNode
Definition: node_types.h:61
int16_t qore_type_t
used to identify unique Qore data and parse types (descendents of AbstractQoreNode) ...
Definition: common.h:70
DLLEXPORT const char * getName() const
returns the class name