EOS token location is useless for users and messages.js are not ready for its location.
With this CL we use location of token before EOS for it.
LOG=Y
BUG=chromium:480652
R=yurys@chromium.org,yangguo@chromium.org
Review URL: https://codereview.chromium.org/
1100993003
Cr-Commit-Position: refs/heads/master@{#28164}
Token::Value Scanner::Next() {
+ if (next_.token == Token::EOS) {
+ next_.location.beg_pos = current_.location.beg_pos;
+ next_.location.end_pos = current_.location.end_pos;
+ }
current_ = next_;
has_line_terminator_before_next_ = false;
has_multiline_comment_before_next_ = false;
}
+THREADED_TEST(TryCatchSourceInfoForEOSError) {
+ LocalContext context;
+ v8::HandleScope scope(context->GetIsolate());
+ v8::TryCatch try_catch;
+ v8::Script::Compile(v8_str("!\n"));
+ CHECK(try_catch.HasCaught());
+ v8::Handle<v8::Message> message = try_catch.Message();
+ CHECK_EQ(1, message->GetLineNumber());
+ CHECK_EQ(0, message->GetStartColumn());
+}
+
+
THREADED_TEST(CompilationCache) {
LocalContext context;
v8::HandleScope scope(context->GetIsolate());