Index: xfa/src/fxfa/src/fm2js/xfa_simpleexpression.h |
diff --git a/xfa/src/fxfa/src/fm2js/xfa_simpleexpression.h b/xfa/src/fxfa/src/fm2js/xfa_simpleexpression.h |
index f4740043001ab6a7a1e9ff9015cbe463dcc68950..2fb9b8fc1cc4fc07e810abda6d990f8dfbb374a7 100644 |
--- a/xfa/src/fxfa/src/fm2js/xfa_simpleexpression.h |
+++ b/xfa/src/fxfa/src/fm2js/xfa_simpleexpression.h |
@@ -36,27 +36,21 @@ enum XFA_FM_SimpleExpressionType { |
GETFMJSOBJ, |
VARFILTER |
}; |
+ |
CFX_WideStringC XFA_FM_EXPTypeToString( |
XFA_FM_SimpleExpressionType simpleExpType); |
-struct XFA_FMBuildInFunc { |
- uint32_t m_uHash; |
- const FX_WCHAR* m_buildinfunc; |
-}; |
-struct XFA_FMSOMMethod { |
- uint32_t m_uHash; |
- const FX_WCHAR* m_wsSomMethodName; |
- FX_DWORD m_dParameters; |
-}; |
+ |
enum XFA_FM_AccessorIndex { |
ACCESSOR_NO_INDEX, |
ACCESSOR_NO_RELATIVEINDEX, |
ACCESSOR_POSITIVE_INDEX, |
ACCESSOR_NEGATIVE_INDEX |
}; |
+ |
class CXFA_FMSimpleExpression { |
public: |
CXFA_FMSimpleExpression(FX_DWORD line, XFA_FM_TOKEN op); |
- virtual ~CXFA_FMSimpleExpression(){}; |
+ virtual ~CXFA_FMSimpleExpression() {} |
virtual void ToJavaScript(CFX_WideTextBuf& javascript); |
virtual void ToImpliedReturnJS(CFX_WideTextBuf& javascript); |
@@ -66,160 +60,178 @@ class CXFA_FMSimpleExpression { |
FX_DWORD m_line; |
XFA_FM_TOKEN m_op; |
}; |
+ |
class CXFA_FMNullExpression : public CXFA_FMSimpleExpression { |
public: |
- CXFA_FMNullExpression(FX_DWORD line); |
- virtual ~CXFA_FMNullExpression(){}; |
- virtual void ToJavaScript(CFX_WideTextBuf& javascript); |
+ explicit CXFA_FMNullExpression(FX_DWORD line); |
+ ~CXFA_FMNullExpression() override {} |
+ void ToJavaScript(CFX_WideTextBuf& javascript) override; |
}; |
+ |
class CXFA_FMNumberExpression : public CXFA_FMSimpleExpression { |
public: |
CXFA_FMNumberExpression(FX_DWORD line, CFX_WideStringC wsNumber); |
- virtual ~CXFA_FMNumberExpression(){}; |
- virtual void ToJavaScript(CFX_WideTextBuf& javascript); |
+ ~CXFA_FMNumberExpression() override {} |
+ void ToJavaScript(CFX_WideTextBuf& javascript) override; |
- protected: |
+ private: |
CFX_WideStringC m_wsNumber; |
}; |
+ |
class CXFA_FMStringExpression : public CXFA_FMSimpleExpression { |
public: |
CXFA_FMStringExpression(FX_DWORD line, CFX_WideStringC wsString); |
- virtual ~CXFA_FMStringExpression(){}; |
- virtual void ToJavaScript(CFX_WideTextBuf& javascript); |
+ ~CXFA_FMStringExpression() override {} |
+ void ToJavaScript(CFX_WideTextBuf& javascript) override; |
- protected: |
+ private: |
CFX_WideStringC m_wsString; |
}; |
+ |
class CXFA_FMIdentifierExpressionn : public CXFA_FMSimpleExpression { |
public: |
CXFA_FMIdentifierExpressionn(FX_DWORD line, CFX_WideStringC wsIdentifier); |
- virtual ~CXFA_FMIdentifierExpressionn(){}; |
- virtual void ToJavaScript(CFX_WideTextBuf& javascript); |
+ ~CXFA_FMIdentifierExpressionn() override {} |
+ void ToJavaScript(CFX_WideTextBuf& javascript) override; |
- protected: |
+ private: |
CFX_WideStringC m_wsIdentifier; |
}; |
+ |
class CXFA_FMUnaryExpression : public CXFA_FMSimpleExpression { |
public: |
CXFA_FMUnaryExpression(FX_DWORD line, |
XFA_FM_TOKEN op, |
CXFA_FMSimpleExpression* pExp); |
- virtual ~CXFA_FMUnaryExpression(); |
- virtual void ToJavaScript(CFX_WideTextBuf& javascript); |
+ ~CXFA_FMUnaryExpression() override; |
+ void ToJavaScript(CFX_WideTextBuf& javascript) override; |
protected: |
CXFA_FMSimpleExpression* m_pExp; |
}; |
+ |
class CXFA_FMBinExpression : public CXFA_FMSimpleExpression { |
public: |
CXFA_FMBinExpression(FX_DWORD line, |
XFA_FM_TOKEN op, |
CXFA_FMSimpleExpression* pExp1, |
CXFA_FMSimpleExpression* pExp2); |
- virtual ~CXFA_FMBinExpression(); |
- virtual void ToJavaScript(CFX_WideTextBuf& javascript); |
+ ~CXFA_FMBinExpression() override; |
+ void ToJavaScript(CFX_WideTextBuf& javascript) override; |
protected: |
CXFA_FMSimpleExpression* m_pExp1; |
CXFA_FMSimpleExpression* m_pExp2; |
}; |
+ |
class CXFA_FMAssignExpression : public CXFA_FMBinExpression { |
public: |
CXFA_FMAssignExpression(FX_DWORD line, |
XFA_FM_TOKEN op, |
CXFA_FMSimpleExpression* pExp1, |
CXFA_FMSimpleExpression* pExp2); |
- virtual ~CXFA_FMAssignExpression(){}; |
- virtual void ToJavaScript(CFX_WideTextBuf& javascript); |
- virtual void ToImpliedReturnJS(CFX_WideTextBuf& javascript); |
+ ~CXFA_FMAssignExpression() override {} |
+ void ToJavaScript(CFX_WideTextBuf& javascript) override; |
+ void ToImpliedReturnJS(CFX_WideTextBuf& javascript) override; |
}; |
+ |
class CXFA_FMLogicalOrExpression : public CXFA_FMBinExpression { |
public: |
CXFA_FMLogicalOrExpression(FX_DWORD line, |
XFA_FM_TOKEN op, |
CXFA_FMSimpleExpression* pExp1, |
CXFA_FMSimpleExpression* pExp2); |
- virtual ~CXFA_FMLogicalOrExpression(){}; |
- virtual void ToJavaScript(CFX_WideTextBuf& javascript); |
+ ~CXFA_FMLogicalOrExpression() override {} |
+ void ToJavaScript(CFX_WideTextBuf& javascript) override; |
}; |
+ |
class CXFA_FMLogicalAndExpression : public CXFA_FMBinExpression { |
public: |
CXFA_FMLogicalAndExpression(FX_DWORD line, |
XFA_FM_TOKEN op, |
CXFA_FMSimpleExpression* pExp1, |
CXFA_FMSimpleExpression* pExp2); |
- virtual ~CXFA_FMLogicalAndExpression(){}; |
- virtual void ToJavaScript(CFX_WideTextBuf& javascript); |
+ ~CXFA_FMLogicalAndExpression() override {} |
+ void ToJavaScript(CFX_WideTextBuf& javascript) override; |
}; |
+ |
class CXFA_FMEqualityExpression : public CXFA_FMBinExpression { |
public: |
CXFA_FMEqualityExpression(FX_DWORD line, |
XFA_FM_TOKEN op, |
CXFA_FMSimpleExpression* pExp1, |
CXFA_FMSimpleExpression* pExp2); |
- virtual ~CXFA_FMEqualityExpression(){}; |
- virtual void ToJavaScript(CFX_WideTextBuf& javascript); |
+ ~CXFA_FMEqualityExpression() override {} |
+ void ToJavaScript(CFX_WideTextBuf& javascript) override; |
}; |
+ |
class CXFA_FMRelationalExpression : public CXFA_FMBinExpression { |
public: |
CXFA_FMRelationalExpression(FX_DWORD line, |
XFA_FM_TOKEN op, |
CXFA_FMSimpleExpression* pExp1, |
CXFA_FMSimpleExpression* pExp2); |
- virtual ~CXFA_FMRelationalExpression(){}; |
- virtual void ToJavaScript(CFX_WideTextBuf& javascript); |
+ ~CXFA_FMRelationalExpression() override {} |
+ void ToJavaScript(CFX_WideTextBuf& javascript) override; |
}; |
+ |
class CXFA_FMAdditiveExpression : public CXFA_FMBinExpression { |
public: |
CXFA_FMAdditiveExpression(FX_DWORD line, |
XFA_FM_TOKEN op, |
CXFA_FMSimpleExpression* pExp1, |
CXFA_FMSimpleExpression* pExp2); |
- virtual ~CXFA_FMAdditiveExpression(){}; |
- virtual void ToJavaScript(CFX_WideTextBuf& javascript); |
+ ~CXFA_FMAdditiveExpression() override {} |
+ void ToJavaScript(CFX_WideTextBuf& javascript) override; |
}; |
+ |
class CXFA_FMMultiplicativeExpression : public CXFA_FMBinExpression { |
public: |
CXFA_FMMultiplicativeExpression(FX_DWORD line, |
XFA_FM_TOKEN op, |
CXFA_FMSimpleExpression* pExp1, |
CXFA_FMSimpleExpression* pExp2); |
- virtual ~CXFA_FMMultiplicativeExpression(){}; |
- virtual void ToJavaScript(CFX_WideTextBuf& javascript); |
+ ~CXFA_FMMultiplicativeExpression() override {} |
+ void ToJavaScript(CFX_WideTextBuf& javascript) override; |
}; |
+ |
class CXFA_FMPosExpression : public CXFA_FMUnaryExpression { |
public: |
CXFA_FMPosExpression(FX_DWORD line, CXFA_FMSimpleExpression* pExp); |
- virtual ~CXFA_FMPosExpression(){}; |
- virtual void ToJavaScript(CFX_WideTextBuf& javascript); |
+ ~CXFA_FMPosExpression() override {} |
+ void ToJavaScript(CFX_WideTextBuf& javascript) override; |
}; |
+ |
class CXFA_FMNegExpression : public CXFA_FMUnaryExpression { |
public: |
CXFA_FMNegExpression(FX_DWORD line, CXFA_FMSimpleExpression* pExp); |
- virtual ~CXFA_FMNegExpression(){}; |
- virtual void ToJavaScript(CFX_WideTextBuf& javascript); |
+ ~CXFA_FMNegExpression() override {} |
+ void ToJavaScript(CFX_WideTextBuf& javascript) override; |
}; |
+ |
class CXFA_FMNotExpression : public CXFA_FMUnaryExpression { |
public: |
CXFA_FMNotExpression(FX_DWORD line, CXFA_FMSimpleExpression* pExp); |
- virtual ~CXFA_FMNotExpression(){}; |
- virtual void ToJavaScript(CFX_WideTextBuf& javascript); |
+ ~CXFA_FMNotExpression() override {} |
+ void ToJavaScript(CFX_WideTextBuf& javascript) override; |
}; |
+ |
class CXFA_FMCallExpression : public CXFA_FMUnaryExpression { |
public: |
CXFA_FMCallExpression(FX_DWORD line, |
CXFA_FMSimpleExpression* pExp, |
CFX_PtrArray* pArguments, |
FX_BOOL bIsSomMethod); |
- virtual ~CXFA_FMCallExpression(); |
- virtual FX_BOOL IsBuildInFunc(CFX_WideTextBuf& funcName); |
- virtual FX_DWORD IsSomMethodWithObjPara(const CFX_WideStringC& methodName); |
- virtual void ToJavaScript(CFX_WideTextBuf& javascript); |
+ ~CXFA_FMCallExpression() override; |
+ bool IsBuildInFunc(CFX_WideTextBuf* funcName); |
+ FX_DWORD IsMethodWithObjParam(const CFX_WideStringC& methodName); |
+ void ToJavaScript(CFX_WideTextBuf& javascript) override; |
private: |
FX_BOOL m_bIsSomMethod; |
CFX_PtrArray* m_pArguments; |
}; |
+ |
class CXFA_FMDotAccessorExpression : public CXFA_FMBinExpression { |
public: |
CXFA_FMDotAccessorExpression(FX_DWORD line, |
@@ -227,25 +239,27 @@ class CXFA_FMDotAccessorExpression : public CXFA_FMBinExpression { |
XFA_FM_TOKEN op, |
CFX_WideStringC wsIdentifier, |
CXFA_FMSimpleExpression* pIndexExp); |
- virtual ~CXFA_FMDotAccessorExpression(){}; |
- virtual void ToJavaScript(CFX_WideTextBuf& javascript); |
+ ~CXFA_FMDotAccessorExpression() override {} |
+ void ToJavaScript(CFX_WideTextBuf& javascript) override; |
- protected: |
+ private: |
CFX_WideStringC m_wsIdentifier; |
}; |
+ |
class CXFA_FMIndexExpression : public CXFA_FMUnaryExpression { |
public: |
CXFA_FMIndexExpression(FX_DWORD line, |
XFA_FM_AccessorIndex accessorIndex, |
CXFA_FMSimpleExpression* pIndexExp, |
FX_BOOL bIsStarIndex); |
- virtual ~CXFA_FMIndexExpression(){}; |
- virtual void ToJavaScript(CFX_WideTextBuf& javascript); |
+ ~CXFA_FMIndexExpression() override {} |
+ void ToJavaScript(CFX_WideTextBuf& javascript) override; |
- protected: |
+ private: |
XFA_FM_AccessorIndex m_accessorIndex; |
FX_BOOL m_bIsStarIndex; |
}; |
+ |
class CXFA_FMDotDotAccessorExpression : public CXFA_FMBinExpression { |
public: |
CXFA_FMDotDotAccessorExpression(FX_DWORD line, |
@@ -253,21 +267,20 @@ class CXFA_FMDotDotAccessorExpression : public CXFA_FMBinExpression { |
XFA_FM_TOKEN op, |
CFX_WideStringC wsIdentifier, |
CXFA_FMSimpleExpression* pIndexExp); |
- virtual ~CXFA_FMDotDotAccessorExpression(){}; |
- virtual void ToJavaScript(CFX_WideTextBuf& javascript); |
+ ~CXFA_FMDotDotAccessorExpression() override {} |
+ void ToJavaScript(CFX_WideTextBuf& javascript) override; |
- protected: |
+ private: |
CFX_WideStringC m_wsIdentifier; |
}; |
+ |
class CXFA_FMMethodCallExpression : public CXFA_FMBinExpression { |
public: |
CXFA_FMMethodCallExpression(FX_DWORD line, |
CXFA_FMSimpleExpression* pAccessorExp1, |
CXFA_FMSimpleExpression* pCallExp); |
- virtual ~CXFA_FMMethodCallExpression(){}; |
- virtual void ToJavaScript(CFX_WideTextBuf& javascript); |
- |
- protected: |
+ ~CXFA_FMMethodCallExpression() override {} |
+ void ToJavaScript(CFX_WideTextBuf& javascript) override; |
}; |
#endif // XFA_SRC_FXFA_SRC_FM2JS_XFA_SIMPLEEXPRESSION_H_ |