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