OLD | NEW |
---|---|
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 #include "platform/assert.h" | 5 #include "platform/assert.h" |
6 #include "vm/globals.h" | 6 #include "vm/globals.h" |
7 #include "vm/ast.h" | 7 #include "vm/ast.h" |
8 #include "vm/assembler.h" | 8 #include "vm/assembler.h" |
9 #include "vm/class_finalizer.h" | 9 #include "vm/class_finalizer.h" |
10 #include "vm/code_generator.h" | 10 #include "vm/code_generator.h" |
(...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
268 ASSERT(!core_lib.IsNull()); | 268 ASSERT(!core_lib.IsNull()); |
269 const Namespace& core_ns = Namespace::Handle( | 269 const Namespace& core_ns = Namespace::Handle( |
270 Namespace::New(core_lib, Array::Handle(), Array::Handle())); | 270 Namespace::New(core_lib, Array::Handle(), Array::Handle())); |
271 lib.AddImport(core_ns); | 271 lib.AddImport(core_ns); |
272 return lib; | 272 return lib; |
273 } | 273 } |
274 | 274 |
275 | 275 |
276 static RawClass* LookupClass(const Library& lib, const char* name) { | 276 static RawClass* LookupClass(const Library& lib, const char* name) { |
277 const String& cls_name = String::ZoneHandle(Symbols::New(name)); | 277 const String& cls_name = String::ZoneHandle(Symbols::New(name)); |
278 String& ambiguity_error_msg = String::Handle(); | 278 return lib.LookupClass(cls_name); |
279 return lib.LookupClass(cls_name, &ambiguity_error_msg); | |
280 } | 279 } |
281 | 280 |
282 | 281 |
283 CODEGEN_TEST_GENERATE(StaticCallCodegen, test) { | 282 CODEGEN_TEST_GENERATE(StaticCallCodegen, test) { |
284 const char* kScriptChars = | 283 const char* kScriptChars = |
285 "class A {\n" | 284 "class A {\n" |
286 " static bar() { return 42; }\n" | 285 " static bar() { return 42; }\n" |
287 " static fly() { return 5; }\n" | 286 " static fly() { return 5; }\n" |
288 "}\n"; | 287 "}\n"; |
289 | 288 |
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
554 DartEntry::InvokeFunction(function, Object::empty_array())); | 553 DartEntry::InvokeFunction(function, Object::empty_array())); |
555 EXPECT(!result.IsError()); | 554 EXPECT(!result.IsError()); |
556 const GrowableObjectArray& libs = GrowableObjectArray::Handle( | 555 const GrowableObjectArray& libs = GrowableObjectArray::Handle( |
557 Isolate::Current()->object_store()->libraries()); | 556 Isolate::Current()->object_store()->libraries()); |
558 ASSERT(!libs.IsNull()); | 557 ASSERT(!libs.IsNull()); |
559 // App lib is the last one that was loaded. | 558 // App lib is the last one that was loaded. |
560 intptr_t num_libs = libs.Length(); | 559 intptr_t num_libs = libs.Length(); |
561 Library& app_lib = Library::Handle(); | 560 Library& app_lib = Library::Handle(); |
562 app_lib ^= libs.At(num_libs - 1); | 561 app_lib ^= libs.At(num_libs - 1); |
563 ASSERT(!app_lib.IsNull()); | 562 ASSERT(!app_lib.IsNull()); |
564 String& ambiguity_error_msg = String::Handle(); | |
565 const Class& cls = Class::Handle( | 563 const Class& cls = Class::Handle( |
566 app_lib.LookupClass(String::Handle(Symbols::New("A")), | 564 app_lib.LookupClass(String::Handle(Symbols::New("A")))); |
567 &ambiguity_error_msg)); | |
568 EXPECT_EQ(cls.raw(), result.clazz()); // No ambiguity error expected. | 565 EXPECT_EQ(cls.raw(), result.clazz()); // No ambiguity error expected. |
regis
2013/09/09 21:29:07
ditto
hausner
2013/09/09 21:52:08
Done.
| |
569 } | 566 } |
570 | 567 |
571 } // namespace dart | 568 } // namespace dart |
OLD | NEW |