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

Side by Side Diff: src/parser.cc

Issue 952483002: NewError no longer returns a MaybeObject. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@reland
Patch Set: Created 5 years, 10 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 unified diff | Download patch
« no previous file with comments | « src/objects.cc ('k') | src/runtime/runtime-scopes.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #include "src/v8.h" 5 #include "src/v8.h"
6 6
7 #include "src/api.h" 7 #include "src/api.h"
8 #include "src/ast.h" 8 #include "src/ast.h"
9 #include "src/bailout-reason.h" 9 #include "src/bailout-reason.h"
10 #include "src/base/platform/platform.h" 10 #include "src/base/platform/platform.h"
(...skipping 4271 matching lines...) Expand 10 before | Expand all | Expand 10 after
4282 } else if (pending_error_char_arg_ != NULL) { 4282 } else if (pending_error_char_arg_ != NULL) {
4283 Handle<String> arg_string = 4283 Handle<String> arg_string =
4284 factory->NewStringFromUtf8(CStrVector(pending_error_char_arg_)) 4284 factory->NewStringFromUtf8(CStrVector(pending_error_char_arg_))
4285 .ToHandleChecked(); 4285 .ToHandleChecked();
4286 elements->set(0, *arg_string); 4286 elements->set(0, *arg_string);
4287 } 4287 }
4288 isolate->debug()->OnCompileError(script); 4288 isolate->debug()->OnCompileError(script);
4289 4289
4290 Handle<JSArray> array = factory->NewJSArrayWithElements(elements); 4290 Handle<JSArray> array = factory->NewJSArrayWithElements(elements);
4291 Handle<Object> error; 4291 Handle<Object> error;
4292 MaybeHandle<Object> maybe_error;
4293 switch (pending_error_type_) { 4292 switch (pending_error_type_) {
4294 case kReferenceError: 4293 case kReferenceError:
4295 maybe_error = factory->NewReferenceError(pending_error_message_, array); 4294 error = factory->NewReferenceError(pending_error_message_, array);
4296 break; 4295 break;
4297 case kSyntaxError: 4296 case kSyntaxError:
4298 maybe_error = factory->NewSyntaxError(pending_error_message_, array); 4297 error = factory->NewSyntaxError(pending_error_message_, array);
4299 break; 4298 break;
4300 } 4299 }
4301 DCHECK(!maybe_error.is_null() || isolate->has_pending_exception());
4302 4300
4303 if (maybe_error.ToHandle(&error)) { 4301 Handle<JSObject> jserror = Handle<JSObject>::cast(error);
4304 Handle<JSObject> jserror = Handle<JSObject>::cast(error);
4305 4302
4306 Handle<Name> key_start_pos = factory->error_start_pos_symbol(); 4303 Handle<Name> key_start_pos = factory->error_start_pos_symbol();
4307 JSObject::SetProperty(jserror, key_start_pos, 4304 JSObject::SetProperty(jserror, key_start_pos,
4308 handle(Smi::FromInt(location.start_pos()), isolate), 4305 handle(Smi::FromInt(location.start_pos()), isolate),
4309 SLOPPY).Check(); 4306 SLOPPY).Check();
4310 4307
4311 Handle<Name> key_end_pos = factory->error_end_pos_symbol(); 4308 Handle<Name> key_end_pos = factory->error_end_pos_symbol();
4312 JSObject::SetProperty(jserror, key_end_pos, 4309 JSObject::SetProperty(jserror, key_end_pos,
4313 handle(Smi::FromInt(location.end_pos()), isolate), 4310 handle(Smi::FromInt(location.end_pos()), isolate),
4314 SLOPPY).Check(); 4311 SLOPPY).Check();
4315 4312
4316 Handle<Name> key_script = factory->error_script_symbol(); 4313 Handle<Name> key_script = factory->error_script_symbol();
4317 JSObject::SetProperty(jserror, key_script, script, SLOPPY).Check(); 4314 JSObject::SetProperty(jserror, key_script, script, SLOPPY).Check();
4318 4315
4319 isolate->Throw(*error, &location); 4316 isolate->Throw(*error, &location);
4320 }
4321 } 4317 }
4322 } 4318 }
4323 4319
4324 4320
4325 void Parser::Internalize(Isolate* isolate, Handle<Script> script, bool error) { 4321 void Parser::Internalize(Isolate* isolate, Handle<Script> script, bool error) {
4326 // Internalize strings. 4322 // Internalize strings.
4327 ast_value_factory()->Internalize(isolate); 4323 ast_value_factory()->Internalize(isolate);
4328 4324
4329 // Error processing. 4325 // Error processing.
4330 if (error) { 4326 if (error) {
(...skipping 1132 matching lines...) Expand 10 before | Expand all | Expand 10 after
5463 } else { 5459 } else {
5464 const uc16* data = reinterpret_cast<const uc16*>(raw_string->raw_data()); 5460 const uc16* data = reinterpret_cast<const uc16*>(raw_string->raw_data());
5465 running_hash = StringHasher::ComputeRunningHash(running_hash, data, 5461 running_hash = StringHasher::ComputeRunningHash(running_hash, data,
5466 raw_string->length()); 5462 raw_string->length());
5467 } 5463 }
5468 } 5464 }
5469 5465
5470 return running_hash; 5466 return running_hash;
5471 } 5467 }
5472 } } // namespace v8::internal 5468 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/objects.cc ('k') | src/runtime/runtime-scopes.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698