32 #ifndef _QORE_QOREINSTANCEOFOPERATORNODE_H
34 #define _QORE_QOREINSTANCEOFOPERATORNODE_H
36 class QoreInstanceOfOperatorNode :
public QoreSingleExpressionOperatorNode<QoreOperatorNode> {
38 DLLLOCAL QoreInstanceOfOperatorNode(
const QoreProgramLocation* loc,
QoreValue exp, QoreParseTypeInfo* ref)
39 : QoreSingleExpressionOperatorNode<QoreOperatorNode>(loc, exp), r(ref) {
42 DLLLOCAL QoreInstanceOfOperatorNode(
const QoreProgramLocation* loc,
QoreValue exp,
const QoreTypeInfo* ti)
43 : QoreSingleExpressionOperatorNode<QoreOperatorNode>(loc, exp), ti(ti) {
46 DLLLOCAL
virtual ~QoreInstanceOfOperatorNode() {
54 DLLLOCAL
virtual const char* getTypeName()
const {
55 return InstanceOf_str.c_str();
58 DLLLOCAL
virtual const QoreTypeInfo* getTypeInfo()
const {
62 DLLLOCAL
virtual QoreOperatorNode* copyBackground(
ExceptionSink* xsink)
const {
63 ValueHolder n_exp(copy_value_and_resolve_lvar_refs(exp, xsink), xsink);
67 return new QoreInstanceOfOperatorNode(loc, n_exp.release(), ti);
71 QoreParseTypeInfo* r =
nullptr;
72 const QoreTypeInfo* ti =
nullptr;
78 DLLLOCAL
virtual int parseInitImpl(
QoreValue& val, QoreParseContext& parse_context);
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
holds an object and dereferences it in the destructor
Definition: QoreValue.h:476
The main value class in Qore, designed to be passed by value.
Definition: QoreValue.h:275