32 #ifndef _QORE_QOREREGEXSUBSTOPERATORNODE_H
34 #define _QORE_QOREREGEXSUBSTOPERATORNODE_H
36 class QoreRegexSubstOperatorNode :
public QoreSingleExpressionOperatorNode<LValueOperatorNode> {
39 const QoreTypeInfo* typeInfo;
44 DLLLOCAL
virtual int parseInitImpl(
QoreValue& val, QoreParseContext& parse_context);
47 DLLLOCAL QoreRegexSubstOperatorNode(
const QoreProgramLocation* loc,
QoreValue exp, QoreRegexSubst* r)
48 : QoreSingleExpressionOperatorNode<LValueOperatorNode>(loc, exp), typeInfo(nullptr), regex(r) {
51 DLLLOCAL
virtual const QoreTypeInfo* getTypeInfo()
const {
55 DLLLOCAL
virtual bool hasEffect()
const {
59 DLLLOCAL
virtual QoreOperatorNode* copyBackground(
ExceptionSink* xsink)
const {
60 ValueHolder n_exp(copy_value_and_resolve_lvar_refs(exp, xsink), xsink);
63 return new QoreRegexSubstOperatorNode(loc, n_exp.release(), regex->refSelf());
container for holding Qore-language exception information and also for registering a "thread_exit" ca...
Definition: ExceptionSink.h:48
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