OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project 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 #ifndef V8_PARSING_PREPARSER_H | 5 #ifndef V8_PARSING_PREPARSER_H |
6 #define V8_PARSING_PREPARSER_H | 6 #define V8_PARSING_PREPARSER_H |
7 | 7 |
8 #include "src/ast/scopes.h" | 8 #include "src/ast/scopes.h" |
9 #include "src/bailout-reason.h" | 9 #include "src/bailout-reason.h" |
10 #include "src/base/hashmap.h" | 10 #include "src/base/hashmap.h" |
(...skipping 858 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
869 int* expected_property_count, bool* ok) { | 869 int* expected_property_count, bool* ok) { |
870 UNREACHABLE(); | 870 UNREACHABLE(); |
871 } | 871 } |
872 | 872 |
873 V8_INLINE PreParserStatementList ParseEagerFunctionBody( | 873 V8_INLINE PreParserStatementList ParseEagerFunctionBody( |
874 PreParserIdentifier function_name, int pos, | 874 PreParserIdentifier function_name, int pos, |
875 const PreParserFormalParameters& parameters, FunctionKind kind, | 875 const PreParserFormalParameters& parameters, FunctionKind kind, |
876 FunctionLiteral::FunctionType function_type, bool* ok); | 876 FunctionLiteral::FunctionType function_type, bool* ok); |
877 | 877 |
878 V8_INLINE void ParseArrowFunctionFormalParameterList( | 878 V8_INLINE void ParseArrowFunctionFormalParameterList( |
879 PreParserFormalParameters* parameters, | 879 PreParserFormalParameters* parameters, PreParserExpression expression, |
880 PreParserExpression expression, const Scanner::Location& params_loc, | 880 const Scanner::Location& params_loc, Scanner::Location* duplicate_loc, |
881 Scanner::Location* duplicate_loc, bool* ok); | 881 Scope::Snapshot& scope_snapshot, bool* ok); |
882 | 882 |
883 void ParseAsyncArrowSingleExpressionBody( | 883 void ParseAsyncArrowSingleExpressionBody( |
884 PreParserStatementList body, bool accept_IN, | 884 PreParserStatementList body, bool accept_IN, |
885 Type::ExpressionClassifier* classifier, int pos, bool* ok); | 885 Type::ExpressionClassifier* classifier, int pos, bool* ok); |
886 | 886 |
887 V8_INLINE PreParserExpression ParseAsyncFunctionExpression(bool* ok); | 887 V8_INLINE PreParserExpression ParseAsyncFunctionExpression(bool* ok); |
888 | 888 |
889 void ReindexLiterals(const PreParserFormalParameters& paramaters) {} | 889 void ReindexLiterals(const PreParserFormalParameters& paramaters) {} |
890 | 890 |
891 struct TemplateLiteralState {}; | 891 struct TemplateLiteralState {}; |
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1184 int pos) { | 1184 int pos) { |
1185 return pre_parser_->factory()->NewCall(function, args, pos); | 1185 return pre_parser_->factory()->NewCall(function, args, pos); |
1186 } | 1186 } |
1187 | 1187 |
1188 PreParserExpression PreParserTraits::SpreadCallNew(PreParserExpression function, | 1188 PreParserExpression PreParserTraits::SpreadCallNew(PreParserExpression function, |
1189 PreParserExpressionList args, | 1189 PreParserExpressionList args, |
1190 int pos) { | 1190 int pos) { |
1191 return pre_parser_->factory()->NewCallNew(function, args, pos); | 1191 return pre_parser_->factory()->NewCallNew(function, args, pos); |
1192 } | 1192 } |
1193 | 1193 |
1194 | |
1195 void PreParserTraits::ParseArrowFunctionFormalParameterList( | 1194 void PreParserTraits::ParseArrowFunctionFormalParameterList( |
1196 PreParserFormalParameters* parameters, | 1195 PreParserFormalParameters* parameters, PreParserExpression params, |
1197 PreParserExpression params, const Scanner::Location& params_loc, | 1196 const Scanner::Location& params_loc, Scanner::Location* duplicate_loc, |
1198 Scanner::Location* duplicate_loc, bool* ok) { | 1197 Scope::Snapshot& scope_snapshot, bool* ok) { |
1199 // TODO(wingo): Detect duplicated identifiers in paramlists. Detect parameter | 1198 // TODO(wingo): Detect duplicated identifiers in paramlists. Detect parameter |
1200 // lists that are too long. | 1199 // lists that are too long. |
1201 } | 1200 } |
1202 | 1201 |
1203 PreParserExpression PreParserTraits::ParseAsyncFunctionExpression(bool* ok) { | 1202 PreParserExpression PreParserTraits::ParseAsyncFunctionExpression(bool* ok) { |
1204 return pre_parser_->ParseAsyncFunctionExpression(ok); | 1203 return pre_parser_->ParseAsyncFunctionExpression(ok); |
1205 } | 1204 } |
1206 | 1205 |
1207 PreParserExpression PreParserTraits::ParseDoExpression(bool* ok) { | 1206 PreParserExpression PreParserTraits::ParseDoExpression(bool* ok) { |
1208 return pre_parser_->ParseDoExpression(ok); | 1207 return pre_parser_->ParseDoExpression(ok); |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1265 const PreParserFormalParameters& parameters, FunctionKind kind, | 1264 const PreParserFormalParameters& parameters, FunctionKind kind, |
1266 FunctionLiteral::FunctionType function_type, bool* ok) { | 1265 FunctionLiteral::FunctionType function_type, bool* ok) { |
1267 return pre_parser_->ParseEagerFunctionBody(function_name, pos, parameters, | 1266 return pre_parser_->ParseEagerFunctionBody(function_name, pos, parameters, |
1268 kind, function_type, ok); | 1267 kind, function_type, ok); |
1269 } | 1268 } |
1270 | 1269 |
1271 } // namespace internal | 1270 } // namespace internal |
1272 } // namespace v8 | 1271 } // namespace v8 |
1273 | 1272 |
1274 #endif // V8_PARSING_PREPARSER_H | 1273 #endif // V8_PARSING_PREPARSER_H |
OLD | NEW |