| 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_PARSER_H_ | 5 #ifndef V8_PARSER_H_ | 
| 6 #define V8_PARSER_H_ | 6 #define V8_PARSER_H_ | 
| 7 | 7 | 
| 8 #include "src/allocation.h" | 8 #include "src/allocation.h" | 
| 9 #include "src/ast.h" | 9 #include "src/ast.h" | 
| 10 #include "src/compiler.h"  // For CachedDataMode | 10 #include "src/compiler.h"  // For CachedDataMode | 
| (...skipping 340 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 351 class Parser; | 351 class Parser; | 
| 352 class SingletonLogger; | 352 class SingletonLogger; | 
| 353 | 353 | 
| 354 class ParserTraits { | 354 class ParserTraits { | 
| 355  public: | 355  public: | 
| 356   struct Type { | 356   struct Type { | 
| 357     // TODO(marja): To be removed. The Traits object should contain all the data | 357     // TODO(marja): To be removed. The Traits object should contain all the data | 
| 358     // it needs. | 358     // it needs. | 
| 359     typedef v8::internal::Parser* Parser; | 359     typedef v8::internal::Parser* Parser; | 
| 360 | 360 | 
| 361     // Used by FunctionState and BlockState. |  | 
| 362     typedef v8::internal::Scope Scope; |  | 
| 363     typedef v8::internal::Scope* ScopePtr; |  | 
| 364     inline static Scope* ptr_to_scope(ScopePtr scope) { return scope; } |  | 
| 365 |  | 
| 366     typedef Variable GeneratorVariable; | 361     typedef Variable GeneratorVariable; | 
| 367 | 362 | 
| 368     typedef v8::internal::AstProperties AstProperties; | 363     typedef v8::internal::AstProperties AstProperties; | 
| 369     typedef Vector<VariableProxy*> ParameterIdentifierVector; | 364     typedef Vector<VariableProxy*> ParameterIdentifierVector; | 
| 370 | 365 | 
| 371     // Return types for traversing functions. | 366     // Return types for traversing functions. | 
| 372     typedef const AstRawString* Identifier; | 367     typedef const AstRawString* Identifier; | 
| 373     typedef v8::internal::Expression* Expression; | 368     typedef v8::internal::Expression* Expression; | 
| 374     typedef Yield* YieldExpression; | 369     typedef Yield* YieldExpression; | 
| 375     typedef v8::internal::FunctionLiteral* FunctionLiteral; | 370     typedef v8::internal::FunctionLiteral* FunctionLiteral; | 
| (...skipping 463 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 839   VariableProxy* NewUnresolved(const AstRawString* name, | 834   VariableProxy* NewUnresolved(const AstRawString* name, | 
| 840                                VariableMode mode, | 835                                VariableMode mode, | 
| 841                                Interface* interface); | 836                                Interface* interface); | 
| 842   void Declare(Declaration* declaration, bool resolve, bool* ok); | 837   void Declare(Declaration* declaration, bool resolve, bool* ok); | 
| 843 | 838 | 
| 844   bool TargetStackContainsLabel(const AstRawString* label); | 839   bool TargetStackContainsLabel(const AstRawString* label); | 
| 845   BreakableStatement* LookupBreakTarget(const AstRawString* label, bool* ok); | 840   BreakableStatement* LookupBreakTarget(const AstRawString* label, bool* ok); | 
| 846   IterationStatement* LookupContinueTarget(const AstRawString* label, bool* ok); | 841   IterationStatement* LookupContinueTarget(const AstRawString* label, bool* ok); | 
| 847 | 842 | 
| 848   // Factory methods. | 843   // Factory methods. | 
| 849 |  | 
| 850   Scope* NewScope(Scope* parent, ScopeType type, |  | 
| 851                   FunctionKind kind = kNormalFunction); |  | 
| 852 |  | 
| 853   FunctionLiteral* DefaultConstructor(bool call_super, Scope* scope, int pos, | 844   FunctionLiteral* DefaultConstructor(bool call_super, Scope* scope, int pos, | 
| 854                                       int end_pos); | 845                                       int end_pos); | 
| 855 | 846 | 
| 856   // Skip over a lazy function, either using cached data if we have it, or | 847   // Skip over a lazy function, either using cached data if we have it, or | 
| 857   // by parsing the function with PreParser. Consumes the ending }. | 848   // by parsing the function with PreParser. Consumes the ending }. | 
| 858   void SkipLazyFunctionBody(const AstRawString* function_name, | 849   void SkipLazyFunctionBody(const AstRawString* function_name, | 
| 859                             int* materialized_literal_count, | 850                             int* materialized_literal_count, | 
| 860                             int* expected_property_count, | 851                             int* expected_property_count, | 
| 861                             bool* ok); | 852                             bool* ok); | 
| 862 | 853 | 
| (...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 987 } | 978 } | 
| 988 | 979 | 
| 989 | 980 | 
| 990 Expression* ParserTraits::CloseTemplateLiteral(TemplateLiteralState* state, | 981 Expression* ParserTraits::CloseTemplateLiteral(TemplateLiteralState* state, | 
| 991                                                int start, Expression* tag) { | 982                                                int start, Expression* tag) { | 
| 992   return parser_->CloseTemplateLiteral(state, start, tag); | 983   return parser_->CloseTemplateLiteral(state, start, tag); | 
| 993 } | 984 } | 
| 994 } }  // namespace v8::internal | 985 } }  // namespace v8::internal | 
| 995 | 986 | 
| 996 #endif  // V8_PARSER_H_ | 987 #endif  // V8_PARSER_H_ | 
| OLD | NEW | 
|---|