diff options
Diffstat (limited to 'xfa/src/fxfa/src/fm2js/xfa_simpleexpression.h')
-rw-r--r-- | xfa/src/fxfa/src/fm2js/xfa_simpleexpression.h | 141 |
1 files changed, 77 insertions, 64 deletions
diff --git a/xfa/src/fxfa/src/fm2js/xfa_simpleexpression.h b/xfa/src/fxfa/src/fm2js/xfa_simpleexpression.h index f474004300..2fb9b8fc1c 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_ |