Index: src/parsing/parser.h |
diff --git a/src/parsing/parser.h b/src/parsing/parser.h |
index 9bb92e840899c2b21e1ad51ee16aacf6427ecc5c..8acbd84a050cd76bc7fa5f825df57b1dbe0902ba 100644 |
--- a/src/parsing/parser.h |
+++ b/src/parsing/parser.h |
@@ -494,49 +494,25 @@ class ParserTraits { |
Expression* NewThrowTypeError(MessageTemplate::Template message, |
const AstRawString* arg, int pos); |
- // Generic AST generator for throwing errors from compiled code. |
- Expression* NewThrowError(Runtime::FunctionId function_id, |
- MessageTemplate::Template message, |
- const AstRawString* arg, int pos); |
- |
- void FinalizeIteratorUse(Variable* completion, Expression* condition, |
- Variable* iter, Block* iterator_use, Block* result); |
- |
- Statement* FinalizeForOfStatement(ForOfStatement* loop, Variable* completion, |
- int pos); |
- |
// Reporting errors. |
void ReportMessageAt(Scanner::Location source_location, |
MessageTemplate::Template message, |
const char* arg = NULL, |
ParseErrorType error_type = kSyntaxError); |
- void ReportMessage(MessageTemplate::Template message, const char* arg = NULL, |
- ParseErrorType error_type = kSyntaxError); |
- void ReportMessage(MessageTemplate::Template message, const AstRawString* arg, |
- ParseErrorType error_type = kSyntaxError); |
void ReportMessageAt(Scanner::Location source_location, |
MessageTemplate::Template message, |
const AstRawString* arg, |
ParseErrorType error_type = kSyntaxError); |
// "null" return type creators. |
- static const AstRawString* EmptyIdentifier() { |
- return NULL; |
- } |
- static Expression* EmptyExpression() { |
- return NULL; |
- } |
- static Literal* EmptyLiteral() { |
- return NULL; |
- } |
- static ObjectLiteralProperty* EmptyObjectLiteralProperty() { return NULL; } |
- static FunctionLiteral* EmptyFunctionLiteral() { return NULL; } |
+ static const AstRawString* EmptyIdentifier() { return nullptr; } |
+ static Expression* EmptyExpression() { return nullptr; } |
+ static Literal* EmptyLiteral() { return nullptr; } |
+ static ObjectLiteralProperty* EmptyObjectLiteralProperty() { return nullptr; } |
+ static FunctionLiteral* EmptyFunctionLiteral() { return nullptr; } |
// Used in error return values. |
- static ZoneList<Expression*>* NullExpressionList() { |
- return NULL; |
- } |
- static const AstRawString* EmptyFormalParameter() { return NULL; } |
+ static ZoneList<Expression*>* NullExpressionList() { return nullptr; } |
// Non-NULL empty string. |
V8_INLINE const AstRawString* EmptyIdentifierString(); |
@@ -581,10 +557,6 @@ class ParserTraits { |
ZoneList<Statement*>* body, bool accept_IN, |
Type::ExpressionClassifier* classifier, int pos, bool* ok); |
- V8_INLINE Scope* NewScope(ScopeType scope_type); |
- V8_INLINE DeclarationScope* NewFunctionScope(FunctionKind kind); |
- V8_INLINE Scope* NewScopeWithParent(Scope* parent, ScopeType scope_type); |
- |
V8_INLINE void AddFormalParameter(ParserFormalParameters* parameters, |
Expression* pattern, |
Expression* initializer, |
@@ -593,9 +565,6 @@ class ParserTraits { |
DeclarationScope* scope, |
const ParserFormalParameters::Parameter& parameter, |
Type::ExpressionClassifier* classifier); |
- void ParseArrowFunctionFormalParameters(ParserFormalParameters* parameters, |
- Expression* params, int end_pos, |
- bool* ok); |
void ParseArrowFunctionFormalParameterList( |
ParserFormalParameters* parameters, Expression* params, |
const Scanner::Location& params_loc, Scanner::Location* duplicate_loc, |
@@ -631,8 +600,7 @@ class ParserTraits { |
V8_INLINE void MarkCollectedTailCallExpressions(); |
V8_INLINE void MarkTailPosition(Expression* expression); |
- V8_INLINE void CheckConflictingVarDeclarations(v8::internal::Scope* scope, |
- bool* ok); |
+ V8_INLINE void CheckConflictingVarDeclarations(Scope* scope, bool* ok); |
class TemplateLiteral : public ZoneObject { |
public: |
@@ -707,7 +675,6 @@ class ParserTraits { |
void SetFunctionNameFromIdentifierRef(Expression* value, |
Expression* identifier); |
- void SetFunctionName(Expression* value, const AstRawString* name); |
// Rewrite expressions that are not used as patterns |
V8_INLINE void RewriteNonPattern(Type::ExpressionClassifier* classifier, |
@@ -719,18 +686,11 @@ class ParserTraits { |
V8_INLINE ZoneList<Expression*>* GetNonPatternList() const; |
- Expression* RewriteYieldStar( |
- Expression* generator, Expression* expression, int pos); |
+ V8_INLINE Expression* RewriteYieldStar(Expression* generator, |
+ Expression* expression, int pos); |
private: |
Parser* parser_; |
- |
- void BuildIteratorClose(ZoneList<Statement*>* statements, Variable* iterator, |
- Variable* input, Variable* output); |
- void BuildIteratorCloseForCompletion(ZoneList<Statement*>* statements, |
- Variable* iterator, |
- Expression* completion); |
- Statement* CheckCallable(Variable* var, Expression* error, int pos); |
}; |
@@ -1175,6 +1135,31 @@ class Parser : public ParserBase<ParserTraits> { |
Expression* BuildPromiseResolve(Expression* value, int pos); |
Expression* BuildPromiseReject(Expression* value, int pos); |
+ // Generic AST generator for throwing errors from compiled code. |
+ Expression* NewThrowError(Runtime::FunctionId function_id, |
+ MessageTemplate::Template message, |
+ const AstRawString* arg, int pos); |
+ |
+ void FinalizeIteratorUse(Variable* completion, Expression* condition, |
+ Variable* iter, Block* iterator_use, Block* result); |
+ |
+ Statement* FinalizeForOfStatement(ForOfStatement* loop, Variable* completion, |
+ int pos); |
+ void BuildIteratorClose(ZoneList<Statement*>* statements, Variable* iterator, |
+ Variable* input, Variable* output); |
+ void BuildIteratorCloseForCompletion(ZoneList<Statement*>* statements, |
+ Variable* iterator, |
+ Expression* completion); |
+ Statement* CheckCallable(Variable* var, Expression* error, int pos); |
+ |
+ Expression* RewriteYieldStar(Expression* generator, Expression* expression, |
+ int pos); |
+ |
+ void ParseArrowFunctionFormalParameters(ParserFormalParameters* parameters, |
+ Expression* params, int end_pos, |
+ bool* ok); |
+ void SetFunctionName(Expression* value, const AstRawString* name); |
+ |
Scanner scanner_; |
PreParser* reusable_preparser_; |
Scope* original_scope_; // for ES5 function declarations in sloppy eval |
@@ -1203,18 +1188,6 @@ bool ParserTraits::IsFutureStrictReserved( |
return parser_->scanner()->IdentifierIsFutureStrictReserved(identifier); |
} |
-Scope* ParserTraits::NewScopeWithParent(Scope* parent, ScopeType scope_type) { |
- return parser_->NewScopeWithParent(parent, scope_type); |
-} |
- |
-Scope* ParserTraits::NewScope(ScopeType scope_type) { |
- return parser_->NewScope(scope_type); |
-} |
- |
-DeclarationScope* ParserTraits::NewFunctionScope(FunctionKind kind) { |
- return parser_->NewFunctionScope(kind); |
-} |
- |
const AstRawString* ParserTraits::EmptyIdentifierString() { |
return parser_->ast_value_factory()->empty_string(); |
} |
@@ -1235,9 +1208,7 @@ ZoneList<Statement*>* ParserTraits::ParseEagerFunctionBody( |
function_type, ok); |
} |
- |
-void ParserTraits::CheckConflictingVarDeclarations(v8::internal::Scope* scope, |
- bool* ok) { |
+void ParserTraits::CheckConflictingVarDeclarations(Scope* scope, bool* ok) { |
parser_->CheckConflictingVarDeclarations(scope, ok); |
} |
@@ -1379,6 +1350,10 @@ DoExpression* ParserTraits::ParseDoExpression(bool* ok) { |
return parser_->ParseDoExpression(ok); |
} |
+Expression* ParserTraits::RewriteYieldStar(Expression* generator, |
+ Expression* iterable, int pos) { |
+ return parser_->RewriteYieldStar(generator, iterable, pos); |
+} |
} // namespace internal |
} // namespace v8 |