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