Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(250)

Unified Diff: src/parsing/parser.cc

Issue 1814823002: ES6: instanceof error messages need updating. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fixed messages.js Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/parsing/parser.h ('k') | test/message/instanceof.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/parsing/parser.cc
diff --git a/src/parsing/parser.cc b/src/parsing/parser.cc
index c14f2930d1042b71d152053b9b52a45b19199c1b..65d1c5916d74d552dca0dc8ceb018eb4f2f365bd 100644
--- a/src/parsing/parser.cc
+++ b/src/parsing/parser.cc
@@ -6150,7 +6150,7 @@ Expression* ParserTraits::RewriteInstanceof(Expression* lhs, Expression* rhs,
Expression* call =
NewThrowTypeError(MessageTemplate::kNonObjectInInstanceOfCheck,
avfactory->empty_string(), pos);
- Statement* throw_call = factory->NewExpressionStatement(call, nopos);
+ Statement* throw_call = factory->NewExpressionStatement(call, pos);
validate_C =
factory->NewIfStatement(is_receiver_call,
@@ -6193,7 +6193,7 @@ Expression* ParserTraits::RewriteInstanceof(Expression* lhs, Expression* rhs,
Expression* throw_expr =
NewThrowTypeError(MessageTemplate::kCalledNonCallableInstanceOf,
avfactory->empty_string(), pos);
- Statement* validate_C = CheckCallable(var_C, throw_expr);
+ Statement* validate_C = CheckCallable(var_C, throw_expr, pos);
ZoneList<Expression*>* empty_args =
new (zone) ZoneList<Expression*>(0, zone);
@@ -6262,7 +6262,8 @@ Expression* ParserTraits::RewriteInstanceof(Expression* lhs, Expression* rhs,
return instanceof;
}
-Statement* ParserTraits::CheckCallable(Variable* var, Expression* error) {
+Statement* ParserTraits::CheckCallable(Variable* var, Expression* error,
+ int pos) {
auto factory = parser_->factory();
auto avfactory = parser_->ast_value_factory();
const int nopos = RelocInfo::kNoPosition;
@@ -6275,7 +6276,7 @@ Statement* ParserTraits::CheckCallable(Variable* var, Expression* error) {
Expression* condition = factory->NewCompareOperation(
Token::EQ_STRICT, type_of, function_literal, nopos);
- Statement* throw_call = factory->NewExpressionStatement(error, nopos);
+ Statement* throw_call = factory->NewExpressionStatement(error, pos);
validate_var = factory->NewIfStatement(
condition, factory->NewEmptyStatement(nopos), throw_call, nopos);
@@ -6554,7 +6555,7 @@ void ParserTraits::BuildIteratorCloseForCompletion(
Expression* throw_expr = NewThrowTypeError(
MessageTemplate::kReturnMethodNotCallable,
avfactory->empty_string(), nopos);
- check_return_callable = CheckCallable(var_return, throw_expr);
+ check_return_callable = CheckCallable(var_return, throw_expr, nopos);
}
// try { %_Call(iteratorReturn, iterator) } catch (_) { }
« no previous file with comments | « src/parsing/parser.h ('k') | test/message/instanceof.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698