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/ast/ast.h" | 8 #include "src/ast/ast.h" |
9 #include "src/ast/scopes.h" | 9 #include "src/ast/scopes.h" |
10 #include "src/parsing/parser-base.h" | 10 #include "src/parsing/parser-base.h" |
(...skipping 436 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
447 // Insert initializer statements for var-bindings shadowing parameter bindings | 447 // Insert initializer statements for var-bindings shadowing parameter bindings |
448 // from a non-simple parameter list. | 448 // from a non-simple parameter list. |
449 void InsertShadowingVarBindingInitializers(Block* block); | 449 void InsertShadowingVarBindingInitializers(Block* block); |
450 | 450 |
451 // Implement sloppy block-scoped functions, ES2015 Annex B 3.3 | 451 // Implement sloppy block-scoped functions, ES2015 Annex B 3.3 |
452 void InsertSloppyBlockFunctionVarBindings(DeclarationScope* scope, | 452 void InsertSloppyBlockFunctionVarBindings(DeclarationScope* scope, |
453 bool* ok); | 453 bool* ok); |
454 | 454 |
455 VariableProxy* NewUnresolved(const AstRawString* name, int begin_pos, | 455 VariableProxy* NewUnresolved(const AstRawString* name, int begin_pos, |
456 int end_pos = kNoSourcePosition, | 456 int end_pos = kNoSourcePosition, |
457 Variable::Kind kind = Variable::NORMAL); | 457 VariableKind kind = NORMAL_VARIABLE); |
458 VariableProxy* NewUnresolved(const AstRawString* name); | 458 VariableProxy* NewUnresolved(const AstRawString* name); |
459 Variable* Declare(Declaration* declaration, | 459 Variable* Declare(Declaration* declaration, |
460 DeclarationDescriptor::Kind declaration_kind, | 460 DeclarationDescriptor::Kind declaration_kind, |
461 VariableMode mode, InitializationFlag init, bool* ok, | 461 VariableMode mode, InitializationFlag init, bool* ok, |
462 Scope* declaration_scope = nullptr); | 462 Scope* declaration_scope = nullptr); |
463 Declaration* DeclareVariable(const AstRawString* name, VariableMode mode, | 463 Declaration* DeclareVariable(const AstRawString* name, VariableMode mode, |
464 int pos, bool* ok); | 464 int pos, bool* ok); |
465 Declaration* DeclareVariable(const AstRawString* name, VariableMode mode, | 465 Declaration* DeclareVariable(const AstRawString* name, VariableMode mode, |
466 InitializationFlag init, int pos, bool* ok); | 466 InitializationFlag init, int pos, bool* ok); |
467 | 467 |
(...skipping 421 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
889 | 889 |
890 V8_INLINE const AstRawString* GetNumberAsSymbol() const { | 890 V8_INLINE const AstRawString* GetNumberAsSymbol() const { |
891 double double_value = scanner()->DoubleValue(); | 891 double double_value = scanner()->DoubleValue(); |
892 char array[100]; | 892 char array[100]; |
893 const char* string = DoubleToCString(double_value, ArrayVector(array)); | 893 const char* string = DoubleToCString(double_value, ArrayVector(array)); |
894 return ast_value_factory()->GetOneByteString(string); | 894 return ast_value_factory()->GetOneByteString(string); |
895 } | 895 } |
896 | 896 |
897 V8_INLINE Expression* ThisExpression(int pos = kNoSourcePosition) { | 897 V8_INLINE Expression* ThisExpression(int pos = kNoSourcePosition) { |
898 return NewUnresolved(ast_value_factory()->this_string(), pos, pos + 4, | 898 return NewUnresolved(ast_value_factory()->this_string(), pos, pos + 4, |
899 Variable::THIS); | 899 THIS_VARIABLE); |
900 } | 900 } |
901 | 901 |
902 Expression* NewSuperPropertyReference(int pos); | 902 Expression* NewSuperPropertyReference(int pos); |
903 Expression* NewSuperCallReference(int pos); | 903 Expression* NewSuperCallReference(int pos); |
904 Expression* NewTargetExpression(int pos); | 904 Expression* NewTargetExpression(int pos); |
905 Expression* FunctionSentExpression(int pos); | 905 Expression* FunctionSentExpression(int pos); |
906 | 906 |
907 Literal* ExpressionFromLiteral(Token::Value token, int pos); | 907 Literal* ExpressionFromLiteral(Token::Value token, int pos); |
908 | 908 |
909 V8_INLINE Expression* ExpressionFromIdentifier( | 909 V8_INLINE Expression* ExpressionFromIdentifier( |
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1061 | 1061 |
1062 #ifdef DEBUG | 1062 #ifdef DEBUG |
1063 void Print(AstNode* node); | 1063 void Print(AstNode* node); |
1064 #endif // DEBUG | 1064 #endif // DEBUG |
1065 }; | 1065 }; |
1066 | 1066 |
1067 } // namespace internal | 1067 } // namespace internal |
1068 } // namespace v8 | 1068 } // namespace v8 |
1069 | 1069 |
1070 #endif // V8_PARSING_PARSER_H_ | 1070 #endif // V8_PARSING_PARSER_H_ |
OLD | NEW |