OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 <stdlib.h> | 5 #include <stdlib.h> |
6 | 6 |
7 #include "src/v8.h" | 7 #include "src/v8.h" |
8 | 8 |
9 #include "src/scopeinfo.h" | 9 #include "src/scopeinfo.h" |
10 #include "src/scopes.h" | 10 #include "src/scopes.h" |
(...skipping 522 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
533 // ModuleInfo. | 533 // ModuleInfo. |
534 | 534 |
535 Handle<ModuleInfo> ModuleInfo::Create( | 535 Handle<ModuleInfo> ModuleInfo::Create( |
536 Isolate* isolate, Interface* interface, Scope* scope) { | 536 Isolate* isolate, Interface* interface, Scope* scope) { |
537 Handle<ModuleInfo> info = Allocate(isolate, interface->Length()); | 537 Handle<ModuleInfo> info = Allocate(isolate, interface->Length()); |
538 info->set_host_index(interface->Index()); | 538 info->set_host_index(interface->Index()); |
539 int i = 0; | 539 int i = 0; |
540 for (Interface::Iterator it = interface->iterator(); | 540 for (Interface::Iterator it = interface->iterator(); |
541 !it.done(); it.Advance(), ++i) { | 541 !it.done(); it.Advance(), ++i) { |
542 Variable* var = scope->LookupLocal(it.name()); | 542 Variable* var = scope->LookupLocal(it.name()); |
543 info->set_name(i, *(it.name()->string())); | 543 info->set_name(i, *it.name()); |
544 info->set_mode(i, var->mode()); | 544 info->set_mode(i, var->mode()); |
545 ASSERT((var->mode() == MODULE) == (it.interface()->IsModule())); | 545 ASSERT((var->mode() == MODULE) == (it.interface()->IsModule())); |
546 if (var->mode() == MODULE) { | 546 if (var->mode() == MODULE) { |
547 ASSERT(it.interface()->IsFrozen()); | 547 ASSERT(it.interface()->IsFrozen()); |
548 ASSERT(it.interface()->Index() >= 0); | 548 ASSERT(it.interface()->Index() >= 0); |
549 info->set_index(i, it.interface()->Index()); | 549 info->set_index(i, it.interface()->Index()); |
550 } else { | 550 } else { |
551 ASSERT(var->index() >= 0); | 551 ASSERT(var->index() >= 0); |
552 info->set_index(i, var->index()); | 552 info->set_index(i, var->index()); |
553 } | 553 } |
554 } | 554 } |
555 ASSERT(i == info->length()); | 555 ASSERT(i == info->length()); |
556 return info; | 556 return info; |
557 } | 557 } |
558 | 558 |
559 } } // namespace v8::internal | 559 } } // namespace v8::internal |
OLD | NEW |