diff options
Diffstat (limited to 'xfa/src/fxfa/src/fm2js/xfa_expression.h')
-rw-r--r-- | xfa/src/fxfa/src/fm2js/xfa_expression.h | 356 |
1 files changed, 178 insertions, 178 deletions
diff --git a/xfa/src/fxfa/src/fm2js/xfa_expression.h b/xfa/src/fxfa/src/fm2js/xfa_expression.h index dcc0a7b04f..8515f0204b 100644 --- a/xfa/src/fxfa/src/fm2js/xfa_expression.h +++ b/xfa/src/fxfa/src/fm2js/xfa_expression.h @@ -1,178 +1,178 @@ -// 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_EXPRESSION_H
-#define _XFA_FM_EXPRESSION_H
-enum XFA_FM_EXPTYPE {
- XFA_FM_EXPTYPE_UNKNOWN,
- XFA_FM_EXPTYPE_FUNC,
- XFA_FM_EXPTYPE_VAR,
- XFA_FM_EXPTYPE_EXP,
- XFA_FM_EXPTYPE_BLOCK,
- XFA_FM_EXPTYPE_IF,
- XFA_FM_EXPTYPE_BREAK,
- XFA_FM_EXPTYPE_CONTINUE,
-};
-class CXFA_FMExpression {
- public:
- CXFA_FMExpression(FX_DWORD line);
- CXFA_FMExpression(FX_DWORD line, XFA_FM_EXPTYPE type);
- virtual ~CXFA_FMExpression(){};
- virtual void ToJavaScript(CFX_WideTextBuf& javascript);
- virtual void ToImpliedReturnJS(CFX_WideTextBuf&);
- FX_DWORD GetLine() { return m_line; }
- XFA_FM_EXPTYPE GetExpType() const { return m_type; }
-
- protected:
- XFA_FM_EXPTYPE m_type;
- FX_DWORD m_line;
-};
-class CXFA_FMFunctionDefinition : public CXFA_FMExpression {
- public:
- CXFA_FMFunctionDefinition(FX_DWORD line,
- FX_BOOL isGlobal,
- const CFX_WideStringC& wsName,
- CFX_WideStringCArray* pArguments,
- CFX_PtrArray* pExpressions);
- virtual ~CXFA_FMFunctionDefinition();
- virtual void ToJavaScript(CFX_WideTextBuf& javascript);
- virtual void ToImpliedReturnJS(CFX_WideTextBuf&);
-
- private:
- CFX_WideStringC m_wsName;
- CFX_WideStringCArray* m_pArguments;
- CFX_PtrArray* m_pExpressions;
- FX_BOOL m_isGlobal;
-};
-class CXFA_FMVarExpression : public CXFA_FMExpression {
- public:
- CXFA_FMVarExpression(FX_DWORD line,
- const CFX_WideStringC& wsName,
- CXFA_FMExpression* pInit);
- virtual ~CXFA_FMVarExpression();
- virtual void ToJavaScript(CFX_WideTextBuf& javascript);
- virtual void ToImpliedReturnJS(CFX_WideTextBuf&);
-
- private:
- CFX_WideStringC m_wsName;
- CXFA_FMExpression* m_pInit;
-};
-class CXFA_FMExpExpression : public CXFA_FMExpression {
- public:
- CXFA_FMExpExpression(FX_DWORD line, CXFA_FMSimpleExpression* pExpression);
- virtual ~CXFA_FMExpExpression();
- virtual void ToJavaScript(CFX_WideTextBuf& javascript);
- virtual void ToImpliedReturnJS(CFX_WideTextBuf&);
-
- private:
- CXFA_FMSimpleExpression* m_pExpression;
-};
-class CXFA_FMBlockExpression : public CXFA_FMExpression {
- public:
- CXFA_FMBlockExpression(FX_DWORD line, CFX_PtrArray* pExpressionList);
- virtual ~CXFA_FMBlockExpression();
- virtual void ToJavaScript(CFX_WideTextBuf& javascript);
- virtual void ToImpliedReturnJS(CFX_WideTextBuf&);
-
- private:
- CFX_PtrArray* m_pExpressionList;
-};
-class CXFA_FMDoExpression : public CXFA_FMExpression {
- public:
- CXFA_FMDoExpression(FX_DWORD line, CXFA_FMExpression* pList);
- virtual ~CXFA_FMDoExpression();
- virtual void ToJavaScript(CFX_WideTextBuf& javascript);
- virtual void ToImpliedReturnJS(CFX_WideTextBuf&);
-
- private:
- CXFA_FMExpression* m_pList;
-};
-class CXFA_FMIfExpression : public CXFA_FMExpression {
- public:
- CXFA_FMIfExpression(FX_DWORD line,
- CXFA_FMSimpleExpression* pExpression,
- CXFA_FMExpression* pIfExpression,
- CXFA_FMExpression* pElseExpression);
- virtual ~CXFA_FMIfExpression();
- virtual void ToJavaScript(CFX_WideTextBuf& javascript);
- virtual void ToImpliedReturnJS(CFX_WideTextBuf&);
-
- private:
- CXFA_FMSimpleExpression* m_pExpression;
- CXFA_FMExpression* m_pIfExpression;
- CXFA_FMExpression* m_pElseExpression;
-};
-class CXFA_FMLoopExpression : public CXFA_FMExpression {
- public:
- CXFA_FMLoopExpression(FX_DWORD line) : CXFA_FMExpression(line) {}
- virtual ~CXFA_FMLoopExpression();
- virtual void ToJavaScript(CFX_WideTextBuf& javascript);
- virtual void ToImpliedReturnJS(CFX_WideTextBuf&);
-};
-class CXFA_FMWhileExpression : public CXFA_FMLoopExpression {
- public:
- CXFA_FMWhileExpression(FX_DWORD line,
- CXFA_FMSimpleExpression* pCodition,
- CXFA_FMExpression* pExpression);
- virtual ~CXFA_FMWhileExpression();
- virtual void ToJavaScript(CFX_WideTextBuf& javascript);
- virtual void ToImpliedReturnJS(CFX_WideTextBuf&);
-
- private:
- CXFA_FMSimpleExpression* m_pCondition;
- CXFA_FMExpression* m_pExpression;
-};
-class CXFA_FMBreakExpression : public CXFA_FMExpression {
- public:
- CXFA_FMBreakExpression(FX_DWORD line);
- virtual ~CXFA_FMBreakExpression();
- virtual void ToJavaScript(CFX_WideTextBuf& javascript);
- virtual void ToImpliedReturnJS(CFX_WideTextBuf&);
-};
-class CXFA_FMContinueExpression : public CXFA_FMExpression {
- public:
- CXFA_FMContinueExpression(FX_DWORD line);
- virtual ~CXFA_FMContinueExpression();
- virtual void ToJavaScript(CFX_WideTextBuf& javascript);
- virtual void ToImpliedReturnJS(CFX_WideTextBuf&);
-};
-class CXFA_FMForExpression : public CXFA_FMLoopExpression {
- public:
- CXFA_FMForExpression(FX_DWORD line,
- const CFX_WideStringC& wsVariant,
- CXFA_FMSimpleExpression* pAssignment,
- CXFA_FMSimpleExpression* pAccessor,
- int32_t iDirection,
- CXFA_FMSimpleExpression* pStep,
- CXFA_FMExpression* pList);
- virtual ~CXFA_FMForExpression();
- virtual void ToJavaScript(CFX_WideTextBuf& javascript);
- virtual void ToImpliedReturnJS(CFX_WideTextBuf&);
-
- private:
- CFX_WideStringC m_wsVariant;
- CXFA_FMSimpleExpression* m_pAssignment;
- CXFA_FMSimpleExpression* m_pAccessor;
- int32_t m_iDirection;
- CXFA_FMSimpleExpression* m_pStep;
- CXFA_FMExpression* m_pList;
-};
-class CXFA_FMForeachExpression : public CXFA_FMLoopExpression {
- public:
- CXFA_FMForeachExpression(FX_DWORD line,
- const CFX_WideStringC& wsIdentifier,
- CFX_PtrArray* pAccessors,
- CXFA_FMExpression* pList);
- virtual ~CXFA_FMForeachExpression();
- virtual void ToJavaScript(CFX_WideTextBuf& javascript);
- virtual void ToImpliedReturnJS(CFX_WideTextBuf&);
-
- private:
- CFX_WideStringC m_wsIdentifier;
- CFX_PtrArray* m_pAccessors;
- CXFA_FMExpression* m_pList;
-};
-#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_EXPRESSION_H +#define _XFA_FM_EXPRESSION_H +enum XFA_FM_EXPTYPE { + XFA_FM_EXPTYPE_UNKNOWN, + XFA_FM_EXPTYPE_FUNC, + XFA_FM_EXPTYPE_VAR, + XFA_FM_EXPTYPE_EXP, + XFA_FM_EXPTYPE_BLOCK, + XFA_FM_EXPTYPE_IF, + XFA_FM_EXPTYPE_BREAK, + XFA_FM_EXPTYPE_CONTINUE, +}; +class CXFA_FMExpression { + public: + CXFA_FMExpression(FX_DWORD line); + CXFA_FMExpression(FX_DWORD line, XFA_FM_EXPTYPE type); + virtual ~CXFA_FMExpression(){}; + virtual void ToJavaScript(CFX_WideTextBuf& javascript); + virtual void ToImpliedReturnJS(CFX_WideTextBuf&); + FX_DWORD GetLine() { return m_line; } + XFA_FM_EXPTYPE GetExpType() const { return m_type; } + + protected: + XFA_FM_EXPTYPE m_type; + FX_DWORD m_line; +}; +class CXFA_FMFunctionDefinition : public CXFA_FMExpression { + public: + CXFA_FMFunctionDefinition(FX_DWORD line, + FX_BOOL isGlobal, + const CFX_WideStringC& wsName, + CFX_WideStringCArray* pArguments, + CFX_PtrArray* pExpressions); + virtual ~CXFA_FMFunctionDefinition(); + virtual void ToJavaScript(CFX_WideTextBuf& javascript); + virtual void ToImpliedReturnJS(CFX_WideTextBuf&); + + private: + CFX_WideStringC m_wsName; + CFX_WideStringCArray* m_pArguments; + CFX_PtrArray* m_pExpressions; + FX_BOOL m_isGlobal; +}; +class CXFA_FMVarExpression : public CXFA_FMExpression { + public: + CXFA_FMVarExpression(FX_DWORD line, + const CFX_WideStringC& wsName, + CXFA_FMExpression* pInit); + virtual ~CXFA_FMVarExpression(); + virtual void ToJavaScript(CFX_WideTextBuf& javascript); + virtual void ToImpliedReturnJS(CFX_WideTextBuf&); + + private: + CFX_WideStringC m_wsName; + CXFA_FMExpression* m_pInit; +}; +class CXFA_FMExpExpression : public CXFA_FMExpression { + public: + CXFA_FMExpExpression(FX_DWORD line, CXFA_FMSimpleExpression* pExpression); + virtual ~CXFA_FMExpExpression(); + virtual void ToJavaScript(CFX_WideTextBuf& javascript); + virtual void ToImpliedReturnJS(CFX_WideTextBuf&); + + private: + CXFA_FMSimpleExpression* m_pExpression; +}; +class CXFA_FMBlockExpression : public CXFA_FMExpression { + public: + CXFA_FMBlockExpression(FX_DWORD line, CFX_PtrArray* pExpressionList); + virtual ~CXFA_FMBlockExpression(); + virtual void ToJavaScript(CFX_WideTextBuf& javascript); + virtual void ToImpliedReturnJS(CFX_WideTextBuf&); + + private: + CFX_PtrArray* m_pExpressionList; +}; +class CXFA_FMDoExpression : public CXFA_FMExpression { + public: + CXFA_FMDoExpression(FX_DWORD line, CXFA_FMExpression* pList); + virtual ~CXFA_FMDoExpression(); + virtual void ToJavaScript(CFX_WideTextBuf& javascript); + virtual void ToImpliedReturnJS(CFX_WideTextBuf&); + + private: + CXFA_FMExpression* m_pList; +}; +class CXFA_FMIfExpression : public CXFA_FMExpression { + public: + CXFA_FMIfExpression(FX_DWORD line, + CXFA_FMSimpleExpression* pExpression, + CXFA_FMExpression* pIfExpression, + CXFA_FMExpression* pElseExpression); + virtual ~CXFA_FMIfExpression(); + virtual void ToJavaScript(CFX_WideTextBuf& javascript); + virtual void ToImpliedReturnJS(CFX_WideTextBuf&); + + private: + CXFA_FMSimpleExpression* m_pExpression; + CXFA_FMExpression* m_pIfExpression; + CXFA_FMExpression* m_pElseExpression; +}; +class CXFA_FMLoopExpression : public CXFA_FMExpression { + public: + CXFA_FMLoopExpression(FX_DWORD line) : CXFA_FMExpression(line) {} + virtual ~CXFA_FMLoopExpression(); + virtual void ToJavaScript(CFX_WideTextBuf& javascript); + virtual void ToImpliedReturnJS(CFX_WideTextBuf&); +}; +class CXFA_FMWhileExpression : public CXFA_FMLoopExpression { + public: + CXFA_FMWhileExpression(FX_DWORD line, + CXFA_FMSimpleExpression* pCodition, + CXFA_FMExpression* pExpression); + virtual ~CXFA_FMWhileExpression(); + virtual void ToJavaScript(CFX_WideTextBuf& javascript); + virtual void ToImpliedReturnJS(CFX_WideTextBuf&); + + private: + CXFA_FMSimpleExpression* m_pCondition; + CXFA_FMExpression* m_pExpression; +}; +class CXFA_FMBreakExpression : public CXFA_FMExpression { + public: + CXFA_FMBreakExpression(FX_DWORD line); + virtual ~CXFA_FMBreakExpression(); + virtual void ToJavaScript(CFX_WideTextBuf& javascript); + virtual void ToImpliedReturnJS(CFX_WideTextBuf&); +}; +class CXFA_FMContinueExpression : public CXFA_FMExpression { + public: + CXFA_FMContinueExpression(FX_DWORD line); + virtual ~CXFA_FMContinueExpression(); + virtual void ToJavaScript(CFX_WideTextBuf& javascript); + virtual void ToImpliedReturnJS(CFX_WideTextBuf&); +}; +class CXFA_FMForExpression : public CXFA_FMLoopExpression { + public: + CXFA_FMForExpression(FX_DWORD line, + const CFX_WideStringC& wsVariant, + CXFA_FMSimpleExpression* pAssignment, + CXFA_FMSimpleExpression* pAccessor, + int32_t iDirection, + CXFA_FMSimpleExpression* pStep, + CXFA_FMExpression* pList); + virtual ~CXFA_FMForExpression(); + virtual void ToJavaScript(CFX_WideTextBuf& javascript); + virtual void ToImpliedReturnJS(CFX_WideTextBuf&); + + private: + CFX_WideStringC m_wsVariant; + CXFA_FMSimpleExpression* m_pAssignment; + CXFA_FMSimpleExpression* m_pAccessor; + int32_t m_iDirection; + CXFA_FMSimpleExpression* m_pStep; + CXFA_FMExpression* m_pList; +}; +class CXFA_FMForeachExpression : public CXFA_FMLoopExpression { + public: + CXFA_FMForeachExpression(FX_DWORD line, + const CFX_WideStringC& wsIdentifier, + CFX_PtrArray* pAccessors, + CXFA_FMExpression* pList); + virtual ~CXFA_FMForeachExpression(); + virtual void ToJavaScript(CFX_WideTextBuf& javascript); + virtual void ToImpliedReturnJS(CFX_WideTextBuf&); + + private: + CFX_WideStringC m_wsIdentifier; + CFX_PtrArray* m_pAccessors; + CXFA_FMExpression* m_pList; +}; +#endif |