diff options
Diffstat (limited to 'xfa/fxfa/fm2js/xfa_expression.h')
-rw-r--r-- | xfa/fxfa/fm2js/xfa_expression.h | 214 |
1 files changed, 0 insertions, 214 deletions
diff --git a/xfa/fxfa/fm2js/xfa_expression.h b/xfa/fxfa/fm2js/xfa_expression.h deleted file mode 100644 index e6022b3e69..0000000000 --- a/xfa/fxfa/fm2js/xfa_expression.h +++ /dev/null @@ -1,214 +0,0 @@ -// 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_FXFA_FM2JS_XFA_EXPRESSION_H_ -#define XFA_FXFA_FM2JS_XFA_EXPRESSION_H_ - -#include <memory> -#include <vector> - -#include "xfa/fxfa/fm2js/xfa_simpleexpression.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: - explicit CXFA_FMExpression(uint32_t line); - CXFA_FMExpression(uint32_t line, XFA_FM_EXPTYPE type); - virtual ~CXFA_FMExpression() {} - virtual bool ToJavaScript(CFX_WideTextBuf& javascript); - virtual bool ToImpliedReturnJS(CFX_WideTextBuf&); - uint32_t GetLine() { return m_line; } - XFA_FM_EXPTYPE GetExpType() const { return m_type; } - - private: - XFA_FM_EXPTYPE m_type; - uint32_t m_line; -}; - -class CXFA_FMFunctionDefinition : public CXFA_FMExpression { - public: - // Takes ownership of |arguments| and |expressions|. - CXFA_FMFunctionDefinition( - uint32_t line, - bool isGlobal, - const CFX_WideStringC& wsName, - std::vector<CFX_WideStringC>&& arguments, - std::vector<std::unique_ptr<CXFA_FMExpression>>&& expressions); - ~CXFA_FMFunctionDefinition() override; - - bool ToJavaScript(CFX_WideTextBuf& javascript) override; - bool ToImpliedReturnJS(CFX_WideTextBuf&) override; - - private: - CFX_WideStringC m_wsName; - std::vector<CFX_WideStringC> m_pArguments; - std::vector<std::unique_ptr<CXFA_FMExpression>> m_pExpressions; - bool m_isGlobal; -}; - -class CXFA_FMVarExpression : public CXFA_FMExpression { - public: - CXFA_FMVarExpression(uint32_t line, - const CFX_WideStringC& wsName, - std::unique_ptr<CXFA_FMExpression> pInit); - ~CXFA_FMVarExpression() override; - - bool ToJavaScript(CFX_WideTextBuf& javascript) override; - bool ToImpliedReturnJS(CFX_WideTextBuf&) override; - - private: - CFX_WideStringC m_wsName; - std::unique_ptr<CXFA_FMExpression> m_pInit; -}; - -class CXFA_FMExpExpression : public CXFA_FMExpression { - public: - CXFA_FMExpExpression(uint32_t line, - std::unique_ptr<CXFA_FMSimpleExpression> pExpression); - ~CXFA_FMExpExpression() override; - - bool ToJavaScript(CFX_WideTextBuf& javascript) override; - bool ToImpliedReturnJS(CFX_WideTextBuf&) override; - - private: - std::unique_ptr<CXFA_FMSimpleExpression> m_pExpression; -}; - -class CXFA_FMBlockExpression : public CXFA_FMExpression { - public: - CXFA_FMBlockExpression( - uint32_t line, - std::vector<std::unique_ptr<CXFA_FMExpression>>&& pExpressionList); - ~CXFA_FMBlockExpression() override; - - bool ToJavaScript(CFX_WideTextBuf& javascript) override; - bool ToImpliedReturnJS(CFX_WideTextBuf&) override; - - private: - std::vector<std::unique_ptr<CXFA_FMExpression>> m_ExpressionList; -}; - -class CXFA_FMDoExpression : public CXFA_FMExpression { - public: - CXFA_FMDoExpression(uint32_t line, std::unique_ptr<CXFA_FMExpression> pList); - ~CXFA_FMDoExpression() override; - - bool ToJavaScript(CFX_WideTextBuf& javascript) override; - bool ToImpliedReturnJS(CFX_WideTextBuf&) override; - - private: - std::unique_ptr<CXFA_FMExpression> m_pList; -}; - -class CXFA_FMIfExpression : public CXFA_FMExpression { - public: - CXFA_FMIfExpression(uint32_t line, - std::unique_ptr<CXFA_FMSimpleExpression> pExpression, - std::unique_ptr<CXFA_FMExpression> pIfExpression, - std::unique_ptr<CXFA_FMExpression> pElseExpression); - ~CXFA_FMIfExpression() override; - - bool ToJavaScript(CFX_WideTextBuf& javascript) override; - bool ToImpliedReturnJS(CFX_WideTextBuf&) override; - - private: - std::unique_ptr<CXFA_FMSimpleExpression> m_pExpression; - std::unique_ptr<CXFA_FMExpression> m_pIfExpression; - std::unique_ptr<CXFA_FMExpression> m_pElseExpression; -}; - -class CXFA_FMLoopExpression : public CXFA_FMExpression { - public: - explicit CXFA_FMLoopExpression(uint32_t line) : CXFA_FMExpression(line) {} - ~CXFA_FMLoopExpression() override; - bool ToJavaScript(CFX_WideTextBuf& javascript) override; - bool ToImpliedReturnJS(CFX_WideTextBuf&) override; -}; - -class CXFA_FMWhileExpression : public CXFA_FMLoopExpression { - public: - CXFA_FMWhileExpression(uint32_t line, - std::unique_ptr<CXFA_FMSimpleExpression> pCodition, - std::unique_ptr<CXFA_FMExpression> pExpression); - ~CXFA_FMWhileExpression() override; - - bool ToJavaScript(CFX_WideTextBuf& javascript) override; - bool ToImpliedReturnJS(CFX_WideTextBuf&) override; - - private: - std::unique_ptr<CXFA_FMSimpleExpression> m_pCondition; - std::unique_ptr<CXFA_FMExpression> m_pExpression; -}; - -class CXFA_FMBreakExpression : public CXFA_FMExpression { - public: - explicit CXFA_FMBreakExpression(uint32_t line); - ~CXFA_FMBreakExpression() override; - bool ToJavaScript(CFX_WideTextBuf& javascript) override; - bool ToImpliedReturnJS(CFX_WideTextBuf&) override; -}; - -class CXFA_FMContinueExpression : public CXFA_FMExpression { - public: - explicit CXFA_FMContinueExpression(uint32_t line); - ~CXFA_FMContinueExpression() override; - bool ToJavaScript(CFX_WideTextBuf& javascript) override; - bool ToImpliedReturnJS(CFX_WideTextBuf&) override; -}; - -class CXFA_FMForExpression : public CXFA_FMLoopExpression { - public: - CXFA_FMForExpression(uint32_t line, - const CFX_WideStringC& wsVariant, - std::unique_ptr<CXFA_FMSimpleExpression> pAssignment, - std::unique_ptr<CXFA_FMSimpleExpression> pAccessor, - int32_t iDirection, - std::unique_ptr<CXFA_FMSimpleExpression> pStep, - std::unique_ptr<CXFA_FMExpression> pList); - ~CXFA_FMForExpression() override; - - bool ToJavaScript(CFX_WideTextBuf& javascript) override; - bool ToImpliedReturnJS(CFX_WideTextBuf&) override; - - private: - CFX_WideStringC m_wsVariant; - std::unique_ptr<CXFA_FMSimpleExpression> m_pAssignment; - std::unique_ptr<CXFA_FMSimpleExpression> m_pAccessor; - const bool m_bDirection; - std::unique_ptr<CXFA_FMSimpleExpression> m_pStep; - std::unique_ptr<CXFA_FMExpression> m_pList; -}; - -class CXFA_FMForeachExpression : public CXFA_FMLoopExpression { - public: - // Takes ownership of |pAccessors|. - CXFA_FMForeachExpression( - uint32_t line, - const CFX_WideStringC& wsIdentifier, - std::vector<std::unique_ptr<CXFA_FMSimpleExpression>>&& pAccessors, - std::unique_ptr<CXFA_FMExpression> pList); - ~CXFA_FMForeachExpression() override; - - bool ToJavaScript(CFX_WideTextBuf& javascript) override; - bool ToImpliedReturnJS(CFX_WideTextBuf&) override; - - private: - CFX_WideStringC m_wsIdentifier; - std::vector<std::unique_ptr<CXFA_FMSimpleExpression>> m_pAccessors; - std::unique_ptr<CXFA_FMExpression> m_pList; -}; - -#endif // XFA_FXFA_FM2JS_XFA_EXPRESSION_H_ |