| 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_PARSER_H_ | 5 #ifndef V8_PARSING_PARSER_H_ |
| 6 #define V8_PARSING_PARSER_H_ | 6 #define V8_PARSING_PARSER_H_ |
| 7 | 7 |
| 8 #include "src/allocation.h" | 8 #include "src/allocation.h" |
| 9 #include "src/ast/ast.h" | 9 #include "src/ast/ast.h" |
| 10 #include "src/ast/scopes.h" | 10 #include "src/ast/scopes.h" |
| (...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 328 typedef v8::internal::AstProperties AstProperties; | 328 typedef v8::internal::AstProperties AstProperties; |
| 329 | 329 |
| 330 typedef v8::internal::ExpressionClassifier<ParserTraits> | 330 typedef v8::internal::ExpressionClassifier<ParserTraits> |
| 331 ExpressionClassifier; | 331 ExpressionClassifier; |
| 332 | 332 |
| 333 // Return types for traversing functions. | 333 // Return types for traversing functions. |
| 334 typedef const AstRawString* Identifier; | 334 typedef const AstRawString* Identifier; |
| 335 typedef v8::internal::Expression* Expression; | 335 typedef v8::internal::Expression* Expression; |
| 336 typedef Yield* YieldExpression; | 336 typedef Yield* YieldExpression; |
| 337 typedef v8::internal::FunctionLiteral* FunctionLiteral; | 337 typedef v8::internal::FunctionLiteral* FunctionLiteral; |
| 338 typedef v8::internal::ClassLiteral* ClassLiteral; | |
| 339 typedef v8::internal::Literal* Literal; | 338 typedef v8::internal::Literal* Literal; |
| 340 typedef ObjectLiteral::Property* ObjectLiteralProperty; | 339 typedef ObjectLiteral::Property* ObjectLiteralProperty; |
| 341 typedef ZoneList<v8::internal::Expression*>* ExpressionList; | 340 typedef ZoneList<v8::internal::Expression*>* ExpressionList; |
| 342 typedef ZoneList<ObjectLiteral::Property*>* PropertyList; | 341 typedef ZoneList<ObjectLiteral::Property*>* PropertyList; |
| 343 typedef ParserFormalParameters::Parameter FormalParameter; | 342 typedef ParserFormalParameters::Parameter FormalParameter; |
| 344 typedef ParserFormalParameters FormalParameters; | 343 typedef ParserFormalParameters FormalParameters; |
| 345 typedef ZoneList<v8::internal::Statement*>* StatementList; | 344 typedef ZoneList<v8::internal::Statement*>* StatementList; |
| 346 | 345 |
| 347 // For constructing objects returned by the traversing functions. | 346 // For constructing objects returned by the traversing functions. |
| 348 typedef AstNodeFactory Factory; | 347 typedef AstNodeFactory Factory; |
| (...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 574 int function_token_position, FunctionLiteral::FunctionType type, | 573 int function_token_position, FunctionLiteral::FunctionType type, |
| 575 LanguageMode language_mode, bool* ok); | 574 LanguageMode language_mode, bool* ok); |
| 576 V8_INLINE void SkipLazyFunctionBody( | 575 V8_INLINE void SkipLazyFunctionBody( |
| 577 int* materialized_literal_count, int* expected_property_count, bool* ok, | 576 int* materialized_literal_count, int* expected_property_count, bool* ok, |
| 578 Scanner::BookmarkScope* bookmark = nullptr); | 577 Scanner::BookmarkScope* bookmark = nullptr); |
| 579 V8_INLINE ZoneList<Statement*>* ParseEagerFunctionBody( | 578 V8_INLINE ZoneList<Statement*>* ParseEagerFunctionBody( |
| 580 const AstRawString* name, int pos, | 579 const AstRawString* name, int pos, |
| 581 const ParserFormalParameters& parameters, FunctionKind kind, | 580 const ParserFormalParameters& parameters, FunctionKind kind, |
| 582 FunctionLiteral::FunctionType function_type, bool* ok); | 581 FunctionLiteral::FunctionType function_type, bool* ok); |
| 583 | 582 |
| 584 ClassLiteral* ParseClassLiteral(Type::ExpressionClassifier* classifier, | 583 Expression* ParseClassLiteral(Type::ExpressionClassifier* classifier, |
| 585 const AstRawString* name, | 584 const AstRawString* name, |
| 586 Scanner::Location class_name_location, | 585 Scanner::Location class_name_location, |
| 587 bool name_is_strict_reserved, int pos, | 586 bool name_is_strict_reserved, int pos, |
| 588 bool* ok); | 587 bool* ok); |
| 589 | 588 |
| 590 V8_INLINE void MarkCollectedTailCallExpressions(); | 589 V8_INLINE void MarkCollectedTailCallExpressions(); |
| 591 V8_INLINE void MarkTailPosition(Expression* expression); | 590 V8_INLINE void MarkTailPosition(Expression* expression); |
| 592 | 591 |
| 593 V8_INLINE void CheckConflictingVarDeclarations(v8::internal::Scope* scope, | 592 V8_INLINE void CheckConflictingVarDeclarations(v8::internal::Scope* scope, |
| 594 bool* ok); | 593 bool* ok); |
| 595 | 594 |
| 596 class TemplateLiteral : public ZoneObject { | 595 class TemplateLiteral : public ZoneObject { |
| 597 public: | 596 public: |
| 598 TemplateLiteral(Zone* zone, int pos) | 597 TemplateLiteral(Zone* zone, int pos) |
| (...skipping 382 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 981 bool accept_IN, int pos, bool* ok); | 980 bool accept_IN, int pos, bool* ok); |
| 982 | 981 |
| 983 void RewriteDoExpression(Expression* expr, bool* ok); | 982 void RewriteDoExpression(Expression* expr, bool* ok); |
| 984 | 983 |
| 985 FunctionLiteral* ParseFunctionLiteral( | 984 FunctionLiteral* ParseFunctionLiteral( |
| 986 const AstRawString* name, Scanner::Location function_name_location, | 985 const AstRawString* name, Scanner::Location function_name_location, |
| 987 FunctionNameValidity function_name_validity, FunctionKind kind, | 986 FunctionNameValidity function_name_validity, FunctionKind kind, |
| 988 int function_token_position, FunctionLiteral::FunctionType type, | 987 int function_token_position, FunctionLiteral::FunctionType type, |
| 989 LanguageMode language_mode, bool* ok); | 988 LanguageMode language_mode, bool* ok); |
| 990 | 989 |
| 991 ClassLiteral* ParseClassLiteral(ExpressionClassifier* classifier, | 990 Expression* ParseClassLiteral(ExpressionClassifier* classifier, |
| 992 const AstRawString* name, | 991 const AstRawString* name, |
| 993 Scanner::Location class_name_location, | 992 Scanner::Location class_name_location, |
| 994 bool name_is_strict_reserved, int pos, | 993 bool name_is_strict_reserved, int pos, |
| 995 bool* ok); | 994 bool* ok); |
| 996 | 995 |
| 997 // Magical syntax support. | 996 // Magical syntax support. |
| 998 Expression* ParseV8Intrinsic(bool* ok); | 997 Expression* ParseV8Intrinsic(bool* ok); |
| 999 | 998 |
| 1000 // Get odd-ball literals. | 999 // Get odd-ball literals. |
| 1001 Literal* GetLiteralUndefined(int position); | 1000 Literal* GetLiteralUndefined(int position); |
| 1002 | 1001 |
| 1003 // Check if the scope has conflicting var/let declarations from different | 1002 // Check if the scope has conflicting var/let declarations from different |
| 1004 // scopes. This covers for example | 1003 // scopes. This covers for example |
| 1005 // | 1004 // |
| (...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1298 | 1297 |
| 1299 DoExpression* ParserTraits::ParseDoExpression(bool* ok) { | 1298 DoExpression* ParserTraits::ParseDoExpression(bool* ok) { |
| 1300 return parser_->ParseDoExpression(ok); | 1299 return parser_->ParseDoExpression(ok); |
| 1301 } | 1300 } |
| 1302 | 1301 |
| 1303 | 1302 |
| 1304 } // namespace internal | 1303 } // namespace internal |
| 1305 } // namespace v8 | 1304 } // namespace v8 |
| 1306 | 1305 |
| 1307 #endif // V8_PARSING_PARSER_H_ | 1306 #endif // V8_PARSING_PARSER_H_ |
| OLD | NEW |