summaryrefslogtreecommitdiff
path: root/xfa/src/fxfa/src/fm2js/xfa_expression.h
diff options
context:
space:
mode:
Diffstat (limited to 'xfa/src/fxfa/src/fm2js/xfa_expression.h')
-rw-r--r--xfa/src/fxfa/src/fm2js/xfa_expression.h308
1 files changed, 160 insertions, 148 deletions
diff --git a/xfa/src/fxfa/src/fm2js/xfa_expression.h b/xfa/src/fxfa/src/fm2js/xfa_expression.h
index 87fd99d1f8..95a66d5653 100644
--- a/xfa/src/fxfa/src/fm2js/xfa_expression.h
+++ b/xfa/src/fxfa/src/fm2js/xfa_expression.h
@@ -7,166 +7,178 @@
#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,
+ 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_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_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_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_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_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_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_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_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_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&);
-private:
- CXFA_FMLoopExpression *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&);
+
+ private:
+ CXFA_FMLoopExpression* m_pExpression;
};
-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&);
-private:
- CXFA_FMLoopExpression *m_pExpression;
+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&);
+
+ private:
+ CXFA_FMLoopExpression* m_pExpression;
};
-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_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;
+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