| 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 750 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 761   // In this case, it'll reset the scanner using the bookmark. | 761   // In this case, it'll reset the scanner using the bookmark. | 
| 762   void SkipLazyFunctionBody(int* materialized_literal_count, | 762   void SkipLazyFunctionBody(int* materialized_literal_count, | 
| 763                             int* expected_property_count, bool* ok, | 763                             int* expected_property_count, bool* ok, | 
| 764                             Scanner::BookmarkScope* bookmark = nullptr); | 764                             Scanner::BookmarkScope* bookmark = nullptr); | 
| 765 | 765 | 
| 766   PreParser::PreParseResult ParseLazyFunctionBodyWithPreParser( | 766   PreParser::PreParseResult ParseLazyFunctionBodyWithPreParser( | 
| 767       SingletonLogger* logger, Scanner::BookmarkScope* bookmark = nullptr); | 767       SingletonLogger* logger, Scanner::BookmarkScope* bookmark = nullptr); | 
| 768 | 768 | 
| 769   Block* BuildParameterInitializationBlock( | 769   Block* BuildParameterInitializationBlock( | 
| 770       const ParserFormalParameters& parameters, bool* ok); | 770       const ParserFormalParameters& parameters, bool* ok); | 
| 771   Block* BuildRejectPromiseOnException(Block* block); | 771   Block* BuildRejectPromiseOnException(Block* block, bool* ok); | 
| 772 | 772 | 
| 773   // Consumes the ending }. | 773   // Consumes the ending }. | 
| 774   ZoneList<Statement*>* ParseEagerFunctionBody( | 774   ZoneList<Statement*>* ParseEagerFunctionBody( | 
| 775       const AstRawString* function_name, int pos, | 775       const AstRawString* function_name, int pos, | 
| 776       const ParserFormalParameters& parameters, FunctionKind kind, | 776       const ParserFormalParameters& parameters, FunctionKind kind, | 
| 777       FunctionLiteral::FunctionType function_type, bool* ok); | 777       FunctionLiteral::FunctionType function_type, bool* ok); | 
| 778 | 778 | 
| 779   void ThrowPendingError(Isolate* isolate, Handle<Script> script); | 779   void ThrowPendingError(Isolate* isolate, Handle<Script> script); | 
| 780 | 780 | 
| 781   class TemplateLiteral : public ZoneObject { | 781   class TemplateLiteral : public ZoneObject { | 
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 855   V8_INLINE void RewriteNonPattern(ExpressionClassifier* classifier, bool* ok); | 855   V8_INLINE void RewriteNonPattern(ExpressionClassifier* classifier, bool* ok); | 
| 856 | 856 | 
| 857   V8_INLINE void QueueDestructuringAssignmentForRewriting( | 857   V8_INLINE void QueueDestructuringAssignmentForRewriting( | 
| 858       Expression* assignment); | 858       Expression* assignment); | 
| 859   V8_INLINE void QueueNonPatternForRewriting(Expression* expr, bool* ok); | 859   V8_INLINE void QueueNonPatternForRewriting(Expression* expr, bool* ok); | 
| 860 | 860 | 
| 861   friend class InitializerRewriter; | 861   friend class InitializerRewriter; | 
| 862   void RewriteParameterInitializer(Expression* expr, Scope* scope); | 862   void RewriteParameterInitializer(Expression* expr, Scope* scope); | 
| 863 | 863 | 
| 864   Expression* BuildCreateJSGeneratorObject(int pos, FunctionKind kind); | 864   Expression* BuildCreateJSGeneratorObject(int pos, FunctionKind kind); | 
| 865   Expression* BuildPromiseResolve(Expression* value, int pos); | 865   Expression* BuildResolvePromise(Expression* value, int pos); | 
| 866   Expression* BuildPromiseReject(Expression* value, int pos); | 866   Expression* BuildRejectPromise(Expression* value, int pos); | 
|  | 867   VariableProxy* BuildDotPromise(); | 
|  | 868   VariableProxy* BuildDebugIsActive(); | 
| 867 | 869 | 
| 868   // Generic AST generator for throwing errors from compiled code. | 870   // Generic AST generator for throwing errors from compiled code. | 
| 869   Expression* NewThrowError(Runtime::FunctionId function_id, | 871   Expression* NewThrowError(Runtime::FunctionId function_id, | 
| 870                             MessageTemplate::Template message, | 872                             MessageTemplate::Template message, | 
| 871                             const AstRawString* arg, int pos); | 873                             const AstRawString* arg, int pos); | 
| 872 | 874 | 
| 873   void FinalizeIteratorUse(Variable* completion, Expression* condition, | 875   void FinalizeIteratorUse(Variable* completion, Expression* condition, | 
| 874                            Variable* iter, Block* iterator_use, Block* result); | 876                            Variable* iter, Block* iterator_use, Block* result); | 
| 875 | 877 | 
| 876   Statement* FinalizeForOfStatement(ForOfStatement* loop, Variable* completion, | 878   Statement* FinalizeForOfStatement(ForOfStatement* loop, Variable* completion, | 
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 993 | 995 | 
| 994 void ParserBaseTraits<Parser>::AddParameterInitializationBlock( | 996 void ParserBaseTraits<Parser>::AddParameterInitializationBlock( | 
| 995     const ParserFormalParameters& parameters, | 997     const ParserFormalParameters& parameters, | 
| 996     ZoneList<v8::internal::Statement*>* body, bool is_async, bool* ok) { | 998     ZoneList<v8::internal::Statement*>* body, bool is_async, bool* ok) { | 
| 997   if (!parameters.is_simple) { | 999   if (!parameters.is_simple) { | 
| 998     auto* init_block = | 1000     auto* init_block = | 
| 999         delegate()->BuildParameterInitializationBlock(parameters, ok); | 1001         delegate()->BuildParameterInitializationBlock(parameters, ok); | 
| 1000     if (!*ok) return; | 1002     if (!*ok) return; | 
| 1001 | 1003 | 
| 1002     if (is_async) { | 1004     if (is_async) { | 
| 1003       init_block = delegate()->BuildRejectPromiseOnException(init_block); | 1005       init_block = delegate()->BuildRejectPromiseOnException(init_block, ok); | 
|  | 1006       if (!*ok) return; | 
| 1004     } | 1007     } | 
| 1005 | 1008 | 
| 1006     if (init_block != nullptr) { | 1009     if (init_block != nullptr) { | 
| 1007       body->Add(init_block, delegate()->zone()); | 1010       body->Add(init_block, delegate()->zone()); | 
| 1008     } | 1011     } | 
| 1009   } | 1012   } | 
| 1010 } | 1013 } | 
| 1011 | 1014 | 
| 1012 }  // namespace internal | 1015 }  // namespace internal | 
| 1013 }  // namespace v8 | 1016 }  // namespace v8 | 
| 1014 | 1017 | 
| 1015 #endif  // V8_PARSING_PARSER_H_ | 1018 #endif  // V8_PARSING_PARSER_H_ | 
| OLD | NEW | 
|---|