105 |
class InstrumentScriptVMFunction_by_marks : public VMFunction { |
class InstrumentScriptVMFunction_by_marks : public VMFunction { |
106 |
public: |
public: |
107 |
InstrumentScriptVMFunction_by_marks(InstrumentScriptVM* parent); |
InstrumentScriptVMFunction_by_marks(InstrumentScriptVM* parent); |
108 |
int minRequiredArgs() const { return 1; } |
int minRequiredArgs() const OVERRIDE { return 1; } |
109 |
int maxAllowedArgs() const { return 1; } |
int maxAllowedArgs() const OVERRIDE { return 1; } |
110 |
bool acceptsArgType(int iArg, ExprType_t type) const { return type == INT_EXPR;} |
bool acceptsArgType(int iArg, ExprType_t type) const OVERRIDE { return type == INT_EXPR;} |
111 |
bool modifiesArg(int iArg) const OVERRIDE { return false; } |
bool modifiesArg(int iArg) const OVERRIDE { return false; } |
112 |
ExprType_t argType(int iArg) const { return INT_EXPR; } |
ExprType_t argType(int iArg) const OVERRIDE { return INT_EXPR; } |
113 |
ExprType_t returnType() { return INT_ARR_EXPR; } |
ExprType_t returnType() OVERRIDE { return INT_ARR_EXPR; } |
114 |
VMFnResult* exec(VMFnArgs* args); |
VMFnResult* exec(VMFnArgs* args) OVERRIDE; |
115 |
protected: |
protected: |
116 |
InstrumentScriptVM* m_vm; |
InstrumentScriptVM* m_vm; |
117 |
class Result : public VMFnResult, public VMIntArrayExpr { |
class Result : public VMFnResult, public VMIntArrayExpr { |
123 |
int evalIntElement(uint i) OVERRIDE; |
int evalIntElement(uint i) OVERRIDE; |
124 |
void assignIntElement(uint i, int value) OVERRIDE {} // ignore assignment |
void assignIntElement(uint i, int value) OVERRIDE {} // ignore assignment |
125 |
VMExpr* resultValue() OVERRIDE { return this; } |
VMExpr* resultValue() OVERRIDE { return this; } |
126 |
StmtFlags_t resultFlags() { return flags; } |
StmtFlags_t resultFlags() OVERRIDE { return flags; } |
127 |
bool isConstExpr() const OVERRIDE { return false; } |
bool isConstExpr() const OVERRIDE { return false; } |
128 |
} m_result; |
} m_result; |
129 |
|
|