Index: xfa/fxfa/fm2js/xfa_fmparse.h |
diff --git a/xfa/fxfa/fm2js/xfa_fmparse.h b/xfa/fxfa/fm2js/xfa_fmparse.h |
index 0283edaed07295ce1403d30940cdb53f791bbc70..5f8022f27039b168ee0ac586a2bbae62cc05c3ef 100644 |
--- a/xfa/fxfa/fm2js/xfa_fmparse.h |
+++ b/xfa/fxfa/fm2js/xfa_fmparse.h |
@@ -8,6 +8,7 @@ |
#define XFA_FXFA_FM2JS_XFA_FMPARSE_H_ |
#include <memory> |
+#include <vector> |
#include "xfa/fxfa/fm2js/xfa_expression.h" |
#include "xfa/fxfa/fm2js/xfa_lexer.h" |
@@ -21,30 +22,31 @@ class CXFA_FMParse { |
void NextToken(); |
void Check(XFA_FM_TOKEN op); |
void Error(uint32_t lineNum, const FX_WCHAR* msg, ...); |
- CFX_ArrayTemplate<CXFA_FMExpression*>* ParseTopExpression(); |
- CXFA_FMExpression* ParseFunction(); |
- CXFA_FMExpression* ParseExpression(); |
- CXFA_FMExpression* ParseVarExpression(); |
- CXFA_FMExpression* ParseExpExpression(); |
- CXFA_FMExpression* ParseBlockExpression(); |
- CXFA_FMExpression* ParseIfExpression(); |
- CXFA_FMExpression* ParseWhileExpression(); |
- CXFA_FMExpression* ParseForExpression(); |
- CXFA_FMExpression* ParseForeachExpression(); |
- CXFA_FMExpression* ParseDoExpression(); |
- CXFA_FMSimpleExpression* ParseParenExpression(); |
- CXFA_FMSimpleExpression* ParseSimpleExpression(); |
- CXFA_FMSimpleExpression* ParseSubassignmentInForExpression(); |
- CXFA_FMSimpleExpression* ParseLogicalOrExpression(); |
- CXFA_FMSimpleExpression* ParseLogicalAndExpression(); |
- CXFA_FMSimpleExpression* ParseEqualityExpression(); |
- CXFA_FMSimpleExpression* ParseRelationalExpression(); |
- CXFA_FMSimpleExpression* ParseAddtiveExpression(); |
- CXFA_FMSimpleExpression* ParseMultiplicativeExpression(); |
- CXFA_FMSimpleExpression* ParseUnaryExpression(); |
- CXFA_FMSimpleExpression* ParsePrimaryExpression(); |
- CXFA_FMSimpleExpression* ParsePostExpression(CXFA_FMSimpleExpression* e); |
- CXFA_FMSimpleExpression* ParseIndexExpression(); |
+ std::vector<std::unique_ptr<CXFA_FMExpression>> ParseTopExpression(); |
+ std::unique_ptr<CXFA_FMExpression> ParseFunction(); |
+ std::unique_ptr<CXFA_FMExpression> ParseExpression(); |
+ std::unique_ptr<CXFA_FMExpression> ParseVarExpression(); |
+ std::unique_ptr<CXFA_FMExpression> ParseExpExpression(); |
+ std::unique_ptr<CXFA_FMExpression> ParseBlockExpression(); |
+ std::unique_ptr<CXFA_FMExpression> ParseIfExpression(); |
+ std::unique_ptr<CXFA_FMExpression> ParseWhileExpression(); |
+ std::unique_ptr<CXFA_FMExpression> ParseForExpression(); |
+ std::unique_ptr<CXFA_FMExpression> ParseForeachExpression(); |
+ std::unique_ptr<CXFA_FMExpression> ParseDoExpression(); |
+ std::unique_ptr<CXFA_FMSimpleExpression> ParseParenExpression(); |
+ std::unique_ptr<CXFA_FMSimpleExpression> ParseSimpleExpression(); |
+ std::unique_ptr<CXFA_FMSimpleExpression> ParseSubassignmentInForExpression(); |
+ std::unique_ptr<CXFA_FMSimpleExpression> ParseLogicalOrExpression(); |
+ std::unique_ptr<CXFA_FMSimpleExpression> ParseLogicalAndExpression(); |
+ std::unique_ptr<CXFA_FMSimpleExpression> ParseEqualityExpression(); |
+ std::unique_ptr<CXFA_FMSimpleExpression> ParseRelationalExpression(); |
+ std::unique_ptr<CXFA_FMSimpleExpression> ParseAddtiveExpression(); |
+ std::unique_ptr<CXFA_FMSimpleExpression> ParseMultiplicativeExpression(); |
+ std::unique_ptr<CXFA_FMSimpleExpression> ParseUnaryExpression(); |
+ std::unique_ptr<CXFA_FMSimpleExpression> ParsePrimaryExpression(); |
+ std::unique_ptr<CXFA_FMSimpleExpression> ParsePostExpression( |
+ std::unique_ptr<CXFA_FMSimpleExpression> e); |
+ std::unique_ptr<CXFA_FMSimpleExpression> ParseIndexExpression(); |
private: |
std::unique_ptr<CXFA_FMLexer> m_lexer; |