32 #ifndef _QORE_QOREREGEXSUBSTOPERATORNODE_H
34 #define _QORE_QOREREGEXSUBSTOPERATORNODE_H
36 class QoreRegexSubstOperatorNode :
public QoreSingleExpressionOperatorNode<LValueOperatorNode> {
39 const QoreTypeInfo* typeInfo;
44 DLLLOCAL
virtual void parseInitImpl(
QoreValue& val, LocalVar* oflag,
int pflag,
int& lvids,
const QoreTypeInfo*& typeInfo);
47 DLLLOCAL QoreRegexSubstOperatorNode(
const QoreProgramLocation* loc,
QoreValue exp, QoreRegexSubst* r) : QoreSingleExpressionOperatorNode<LValueOperatorNode>(loc, exp), typeInfo(nullptr), regex(r) {
50 DLLLOCAL
virtual const QoreTypeInfo* getTypeInfo()
const {
54 DLLLOCAL
virtual bool hasEffect()
const {
58 DLLLOCAL
virtual QoreOperatorNode* copyBackground(
ExceptionSink* xsink)
const {
59 ValueHolder n_exp(copy_value_and_resolve_lvar_refs(exp, xsink), xsink);
62 return new QoreRegexSubstOperatorNode(loc, n_exp.release(), regex->refSelf());