summaryrefslogtreecommitdiff
path: root/xfa/src/fxfa/src/fm2js/xfa_simpleexpression.h
diff options
context:
space:
mode:
Diffstat (limited to 'xfa/src/fxfa/src/fm2js/xfa_simpleexpression.h')
-rw-r--r--xfa/src/fxfa/src/fm2js/xfa_simpleexpression.h141
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_