Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(210)

Side by Side Diff: xfa/fxfa/fm2js/xfa_fmparse.h

Issue 2530933002: Use unique pointers in CXFA_FMParse (Closed)
Patch Set: Address comments Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « xfa/fxfa/fm2js/xfa_expression.cpp ('k') | xfa/fxfa/fm2js/xfa_fmparse.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 PDFium Authors. All rights reserved. 1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 6
7 #ifndef XFA_FXFA_FM2JS_XFA_FMPARSE_H_ 7 #ifndef XFA_FXFA_FM2JS_XFA_FMPARSE_H_
8 #define XFA_FXFA_FM2JS_XFA_FMPARSE_H_ 8 #define XFA_FXFA_FM2JS_XFA_FMPARSE_H_
9 9
10 #include <memory> 10 #include <memory>
11 #include <vector>
11 12
12 #include "xfa/fxfa/fm2js/xfa_expression.h" 13 #include "xfa/fxfa/fm2js/xfa_expression.h"
13 #include "xfa/fxfa/fm2js/xfa_lexer.h" 14 #include "xfa/fxfa/fm2js/xfa_lexer.h"
14 15
15 class CXFA_FMParse { 16 class CXFA_FMParse {
16 public: 17 public:
17 CXFA_FMParse(); 18 CXFA_FMParse();
18 ~CXFA_FMParse(); 19 ~CXFA_FMParse();
19 20
20 int32_t Init(const CFX_WideStringC& wsFormcalc, CXFA_FMErrorInfo* pErrorInfo); 21 int32_t Init(const CFX_WideStringC& wsFormcalc, CXFA_FMErrorInfo* pErrorInfo);
21 void NextToken(); 22 void NextToken();
22 void Check(XFA_FM_TOKEN op); 23 void Check(XFA_FM_TOKEN op);
23 void Error(uint32_t lineNum, const FX_WCHAR* msg, ...); 24 void Error(uint32_t lineNum, const FX_WCHAR* msg, ...);
24 CFX_ArrayTemplate<CXFA_FMExpression*>* ParseTopExpression(); 25 std::vector<std::unique_ptr<CXFA_FMExpression>> ParseTopExpression();
25 CXFA_FMExpression* ParseFunction(); 26 std::unique_ptr<CXFA_FMExpression> ParseFunction();
26 CXFA_FMExpression* ParseExpression(); 27 std::unique_ptr<CXFA_FMExpression> ParseExpression();
27 CXFA_FMExpression* ParseVarExpression(); 28 std::unique_ptr<CXFA_FMExpression> ParseVarExpression();
28 CXFA_FMExpression* ParseExpExpression(); 29 std::unique_ptr<CXFA_FMExpression> ParseExpExpression();
29 CXFA_FMExpression* ParseBlockExpression(); 30 std::unique_ptr<CXFA_FMExpression> ParseBlockExpression();
30 CXFA_FMExpression* ParseIfExpression(); 31 std::unique_ptr<CXFA_FMExpression> ParseIfExpression();
31 CXFA_FMExpression* ParseWhileExpression(); 32 std::unique_ptr<CXFA_FMExpression> ParseWhileExpression();
32 CXFA_FMExpression* ParseForExpression(); 33 std::unique_ptr<CXFA_FMExpression> ParseForExpression();
33 CXFA_FMExpression* ParseForeachExpression(); 34 std::unique_ptr<CXFA_FMExpression> ParseForeachExpression();
34 CXFA_FMExpression* ParseDoExpression(); 35 std::unique_ptr<CXFA_FMExpression> ParseDoExpression();
35 CXFA_FMSimpleExpression* ParseParenExpression(); 36 std::unique_ptr<CXFA_FMSimpleExpression> ParseParenExpression();
36 CXFA_FMSimpleExpression* ParseSimpleExpression(); 37 std::unique_ptr<CXFA_FMSimpleExpression> ParseSimpleExpression();
37 CXFA_FMSimpleExpression* ParseSubassignmentInForExpression(); 38 std::unique_ptr<CXFA_FMSimpleExpression> ParseSubassignmentInForExpression();
38 CXFA_FMSimpleExpression* ParseLogicalOrExpression(); 39 std::unique_ptr<CXFA_FMSimpleExpression> ParseLogicalOrExpression();
39 CXFA_FMSimpleExpression* ParseLogicalAndExpression(); 40 std::unique_ptr<CXFA_FMSimpleExpression> ParseLogicalAndExpression();
40 CXFA_FMSimpleExpression* ParseEqualityExpression(); 41 std::unique_ptr<CXFA_FMSimpleExpression> ParseEqualityExpression();
41 CXFA_FMSimpleExpression* ParseRelationalExpression(); 42 std::unique_ptr<CXFA_FMSimpleExpression> ParseRelationalExpression();
42 CXFA_FMSimpleExpression* ParseAddtiveExpression(); 43 std::unique_ptr<CXFA_FMSimpleExpression> ParseAddtiveExpression();
43 CXFA_FMSimpleExpression* ParseMultiplicativeExpression(); 44 std::unique_ptr<CXFA_FMSimpleExpression> ParseMultiplicativeExpression();
44 CXFA_FMSimpleExpression* ParseUnaryExpression(); 45 std::unique_ptr<CXFA_FMSimpleExpression> ParseUnaryExpression();
45 CXFA_FMSimpleExpression* ParsePrimaryExpression(); 46 std::unique_ptr<CXFA_FMSimpleExpression> ParsePrimaryExpression();
46 CXFA_FMSimpleExpression* ParsePostExpression(CXFA_FMSimpleExpression* e); 47 std::unique_ptr<CXFA_FMSimpleExpression> ParsePostExpression(
47 CXFA_FMSimpleExpression* ParseIndexExpression(); 48 std::unique_ptr<CXFA_FMSimpleExpression> e);
49 std::unique_ptr<CXFA_FMSimpleExpression> ParseIndexExpression();
48 50
49 private: 51 private:
50 std::unique_ptr<CXFA_FMLexer> m_lexer; 52 std::unique_ptr<CXFA_FMLexer> m_lexer;
51 CXFA_FMToken* m_pToken; 53 CXFA_FMToken* m_pToken;
52 CXFA_FMErrorInfo* m_pErrorInfo; 54 CXFA_FMErrorInfo* m_pErrorInfo;
53 }; 55 };
54 56
55 #endif // XFA_FXFA_FM2JS_XFA_FMPARSE_H_ 57 #endif // XFA_FXFA_FM2JS_XFA_FMPARSE_H_
OLDNEW
« no previous file with comments | « xfa/fxfa/fm2js/xfa_expression.cpp ('k') | xfa/fxfa/fm2js/xfa_fmparse.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698