32 #ifndef _QORE_QORESHIFTOPERATORNODE_H
34 #define _QORE_QORESHIFTOPERATORNODE_H
36 class QoreShiftOperatorNode :
public QoreSingleExpressionOperatorNode<LValueOperatorNode> {
38 const QoreTypeInfo* returnTypeInfo;
44 DLLLOCAL
virtual void parseInitImpl(
QoreValue& val, LocalVar* oflag,
int pflag,
int& lvids,
const QoreTypeInfo*& typeInfo);
46 DLLLOCAL
virtual const QoreTypeInfo* getTypeInfo()
const {
47 return returnTypeInfo;
51 DLLLOCAL QoreShiftOperatorNode(
const QoreProgramLocation* loc,
QoreValue exp) : QoreSingleExpressionOperatorNode<LValueOperatorNode>(loc, exp), returnTypeInfo(0) {
59 DLLLOCAL
virtual const char* getTypeName()
const {
60 return shift_str.getBuffer();
63 DLLLOCAL
virtual bool hasEffect()
const {
67 DLLLOCAL
virtual QoreOperatorNode* copyBackground(
ExceptionSink* xsink)
const {
68 return copyBackgroundExplicit<QoreShiftOperatorNode>(xsink);