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.h538
1 files changed, 269 insertions, 269 deletions
diff --git a/xfa/src/fxfa/src/fm2js/xfa_simpleexpression.h b/xfa/src/fxfa/src/fm2js/xfa_simpleexpression.h
index a48fbe8fdf..07c9f33946 100644
--- a/xfa/src/fxfa/src/fm2js/xfa_simpleexpression.h
+++ b/xfa/src/fxfa/src/fm2js/xfa_simpleexpression.h
@@ -1,269 +1,269 @@
-// Copyright 2014 PDFium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-
-#ifndef _XFA_FM_SIMPLEEXPRESSION_H
-#define _XFA_FM_SIMPLEEXPRESSION_H
-enum XFA_FM_SimpleExpressionType {
- ASSIGN,
- LOGICALOR,
- LOGICALAND,
- EQUALITY,
- NOTEQUALITY,
- LESS,
- LESSEQUAL,
- GREATER,
- GREATEREQUAL,
- PLUS,
- MINUS,
- MULTIPLE,
- DIVIDE,
- POSITIVE,
- NEGATIVE,
- NOT,
- CALL,
- DOT,
- DOTDOT,
- CONCATFMOBJECT,
- ISFMOBJECT,
- ISFMARRAY,
- GETFMVALUE,
- 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 void ToJavaScript(CFX_WideTextBuf& javascript);
- virtual void ToImpliedReturnJS(CFX_WideTextBuf& javascript);
-
- XFA_FM_TOKEN GetOperatorToken() const;
-
- protected:
- 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);
-};
-class CXFA_FMNumberExpression : public CXFA_FMSimpleExpression {
- public:
- CXFA_FMNumberExpression(FX_DWORD line, CFX_WideStringC wsNumber);
- virtual ~CXFA_FMNumberExpression(){};
- virtual void ToJavaScript(CFX_WideTextBuf& javascript);
-
- protected:
- 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);
-
- protected:
- 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);
-
- protected:
- 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);
-
- 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);
-
- 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);
-};
-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);
-};
-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);
-};
-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);
-};
-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);
-};
-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);
-};
-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);
-};
-class CXFA_FMPosExpression : public CXFA_FMUnaryExpression {
- public:
- CXFA_FMPosExpression(FX_DWORD line, CXFA_FMSimpleExpression* pExp);
- virtual ~CXFA_FMPosExpression(){};
- virtual void ToJavaScript(CFX_WideTextBuf& javascript);
-};
-class CXFA_FMNegExpression : public CXFA_FMUnaryExpression {
- public:
- CXFA_FMNegExpression(FX_DWORD line, CXFA_FMSimpleExpression* pExp);
- virtual ~CXFA_FMNegExpression(){};
- virtual void ToJavaScript(CFX_WideTextBuf& javascript);
-};
-class CXFA_FMNotExpression : public CXFA_FMUnaryExpression {
- public:
- CXFA_FMNotExpression(FX_DWORD line, CXFA_FMSimpleExpression* pExp);
- virtual ~CXFA_FMNotExpression(){};
- virtual void ToJavaScript(CFX_WideTextBuf& javascript);
-};
-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);
-
- private:
- FX_BOOL m_bIsSomMethod;
- CFX_PtrArray* m_pArguments;
-};
-class CXFA_FMDotAccessorExpression : public CXFA_FMBinExpression {
- public:
- CXFA_FMDotAccessorExpression(FX_DWORD line,
- CXFA_FMSimpleExpression* pAccessor,
- XFA_FM_TOKEN op,
- CFX_WideStringC wsIdentifier,
- CXFA_FMSimpleExpression* pIndexExp);
- virtual ~CXFA_FMDotAccessorExpression(){};
- virtual void ToJavaScript(CFX_WideTextBuf& javascript);
-
- protected:
- 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);
-
- protected:
- XFA_FM_AccessorIndex m_accessorIndex;
- FX_BOOL m_bIsStarIndex;
-};
-class CXFA_FMDotDotAccessorExpression : public CXFA_FMBinExpression {
- public:
- CXFA_FMDotDotAccessorExpression(FX_DWORD line,
- CXFA_FMSimpleExpression* pAccessor,
- XFA_FM_TOKEN op,
- CFX_WideStringC wsIdentifier,
- CXFA_FMSimpleExpression* pIndexExp);
- virtual ~CXFA_FMDotDotAccessorExpression(){};
- virtual void ToJavaScript(CFX_WideTextBuf& javascript);
-
- protected:
- 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:
-};
-#endif
+// Copyright 2014 PDFium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+
+#ifndef _XFA_FM_SIMPLEEXPRESSION_H
+#define _XFA_FM_SIMPLEEXPRESSION_H
+enum XFA_FM_SimpleExpressionType {
+ ASSIGN,
+ LOGICALOR,
+ LOGICALAND,
+ EQUALITY,
+ NOTEQUALITY,
+ LESS,
+ LESSEQUAL,
+ GREATER,
+ GREATEREQUAL,
+ PLUS,
+ MINUS,
+ MULTIPLE,
+ DIVIDE,
+ POSITIVE,
+ NEGATIVE,
+ NOT,
+ CALL,
+ DOT,
+ DOTDOT,
+ CONCATFMOBJECT,
+ ISFMOBJECT,
+ ISFMARRAY,
+ GETFMVALUE,
+ 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 void ToJavaScript(CFX_WideTextBuf& javascript);
+ virtual void ToImpliedReturnJS(CFX_WideTextBuf& javascript);
+
+ XFA_FM_TOKEN GetOperatorToken() const;
+
+ protected:
+ 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);
+};
+class CXFA_FMNumberExpression : public CXFA_FMSimpleExpression {
+ public:
+ CXFA_FMNumberExpression(FX_DWORD line, CFX_WideStringC wsNumber);
+ virtual ~CXFA_FMNumberExpression(){};
+ virtual void ToJavaScript(CFX_WideTextBuf& javascript);
+
+ protected:
+ 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);
+
+ protected:
+ 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);
+
+ protected:
+ 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);
+
+ 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);
+
+ 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);
+};
+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);
+};
+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);
+};
+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);
+};
+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);
+};
+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);
+};
+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);
+};
+class CXFA_FMPosExpression : public CXFA_FMUnaryExpression {
+ public:
+ CXFA_FMPosExpression(FX_DWORD line, CXFA_FMSimpleExpression* pExp);
+ virtual ~CXFA_FMPosExpression(){};
+ virtual void ToJavaScript(CFX_WideTextBuf& javascript);
+};
+class CXFA_FMNegExpression : public CXFA_FMUnaryExpression {
+ public:
+ CXFA_FMNegExpression(FX_DWORD line, CXFA_FMSimpleExpression* pExp);
+ virtual ~CXFA_FMNegExpression(){};
+ virtual void ToJavaScript(CFX_WideTextBuf& javascript);
+};
+class CXFA_FMNotExpression : public CXFA_FMUnaryExpression {
+ public:
+ CXFA_FMNotExpression(FX_DWORD line, CXFA_FMSimpleExpression* pExp);
+ virtual ~CXFA_FMNotExpression(){};
+ virtual void ToJavaScript(CFX_WideTextBuf& javascript);
+};
+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);
+
+ private:
+ FX_BOOL m_bIsSomMethod;
+ CFX_PtrArray* m_pArguments;
+};
+class CXFA_FMDotAccessorExpression : public CXFA_FMBinExpression {
+ public:
+ CXFA_FMDotAccessorExpression(FX_DWORD line,
+ CXFA_FMSimpleExpression* pAccessor,
+ XFA_FM_TOKEN op,
+ CFX_WideStringC wsIdentifier,
+ CXFA_FMSimpleExpression* pIndexExp);
+ virtual ~CXFA_FMDotAccessorExpression(){};
+ virtual void ToJavaScript(CFX_WideTextBuf& javascript);
+
+ protected:
+ 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);
+
+ protected:
+ XFA_FM_AccessorIndex m_accessorIndex;
+ FX_BOOL m_bIsStarIndex;
+};
+class CXFA_FMDotDotAccessorExpression : public CXFA_FMBinExpression {
+ public:
+ CXFA_FMDotDotAccessorExpression(FX_DWORD line,
+ CXFA_FMSimpleExpression* pAccessor,
+ XFA_FM_TOKEN op,
+ CFX_WideStringC wsIdentifier,
+ CXFA_FMSimpleExpression* pIndexExp);
+ virtual ~CXFA_FMDotDotAccessorExpression(){};
+ virtual void ToJavaScript(CFX_WideTextBuf& javascript);
+
+ protected:
+ 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:
+};
+#endif