32 #ifndef _QORE_QOREDOTEVALOPERATORNODE_H
34 #define _QORE_QOREDOTEVALOPERATORNODE_H
36 class QoreDotEvalOperatorNode :
public QoreOperatorNode {
43 const QoreTypeInfo *returnTypeInfo;
47 DLLLOCAL
virtual int parseInitImpl(
QoreValue& val, QoreParseContext& parse_context);
49 DLLLOCAL
virtual const QoreTypeInfo *getTypeInfo()
const {
50 return returnTypeInfo;
54 DLLLOCAL QoreDotEvalOperatorNode(
const QoreProgramLocation* loc,
QoreValue n_left, MethodCallNode* n_m)
55 : QoreOperatorNode(loc), left(n_left), m(n_m), returnTypeInfo(nullptr) {
58 DLLLOCAL ~QoreDotEvalOperatorNode() {
64 DLLLOCAL
QoreValue getExpression()
const {
68 DLLLOCAL
void replaceExpression(
QoreValue n_left) {
87 DLLLOCAL
virtual const char* getTypeName()
const {
91 DLLLOCAL
virtual bool hasEffect()
const {
95 DLLLOCAL
virtual bool hasEffectAsRoot()
const {
99 DLLLOCAL
virtual QoreOperatorNode* copyBackground(
ExceptionSink* xsink)
const;
The base class for all value and parse types in Qore expression trees.
Definition: AbstractQoreNode.h:57
container for holding Qore-language exception information and also for registering a "thread_exit" ca...
Definition: ExceptionSink.h:48
Qore's string type supported by the QoreEncoding class.
Definition: QoreString.h:93
DLLEXPORT void concat(const QoreString *str, ExceptionSink *xsink)
concatenates a string and converts encodings if necessary
DLLEXPORT const char * getBuffer() const
returns the string's buffer; this data should not be changed
The main value class in Qore, designed to be passed by value.
Definition: QoreValue.h:275
DLLEXPORT void discard(ExceptionSink *xsink)
dereferences any contained AbstractQoreNode pointer and sets to 0; does not modify other values