32 #ifndef _QORE_QOREPOSTINCREMENTOPERATORNODE_H
33 #define _QORE_QOREPOSTINCREMENTOPERATORNODE_H
35 class QorePostIncrementOperatorNode :
public QoreSingleExpressionOperatorNode<LValueOperatorNode> {
38 const QoreTypeInfo *ti;
40 DLLLOCAL
virtual void parseInitImpl(
QoreValue& val, LocalVar *oflag,
int pflag,
int &lvids,
const QoreTypeInfo *&typeInfo);
44 DLLLOCAL
void parseInitIntern(
const char *name, LocalVar *oflag,
int pflag,
int &lvids,
const QoreTypeInfo *&typeInfo) {
46 pflag &= ~(PF_RETURN_VALUE_IGNORED);
48 parse_init_value(exp, oflag, pflag, lvids, ti);
49 checkLValue(exp, pflag);
54 check_lvalue_int_float_number(loc, ti, name);
57 DLLLOCAL
virtual const QoreTypeInfo* getTypeInfo()
const {
62 DLLLOCAL QorePostIncrementOperatorNode(
const QoreProgramLocation* loc,
QoreValue exp) : QoreSingleExpressionOperatorNode<LValueOperatorNode>(loc, exp), ti(0) {
65 DLLLOCAL
virtual bool hasEffect()
const {
69 DLLLOCAL
virtual QoreOperatorNode* copyBackground(
ExceptionSink* xsink)
const {
70 return copyBackgroundExplicit<QorePostIncrementOperatorNode>(xsink);