| Index: runtime/vm/object_test.cc
|
| ===================================================================
|
| --- runtime/vm/object_test.cc (revision 22914)
|
| +++ runtime/vm/object_test.cc (working copy)
|
| @@ -15,12 +15,20 @@
|
|
|
| namespace dart {
|
|
|
| +static RawClass* CreateDummyClass(const String& class_name,
|
| + const Script& script) {
|
| + const Class& cls = Class::Handle(
|
| + Class::New(class_name, script, Scanner::kDummyTokenIndex));
|
| + cls.set_is_parsed(); // Dummy class for testing, mark as parsed.
|
| + return cls.raw();
|
| +}
|
| +
|
| +
|
| TEST_CASE(Class) {
|
| // Allocate the class first.
|
| const String& class_name = String::Handle(Symbols::New("MyClass"));
|
| const Script& script = Script::Handle();
|
| - const Class& cls = Class::Handle(
|
| - Class::New(class_name, script, Scanner::kDummyTokenIndex));
|
| + const Class& cls = Class::Handle(CreateDummyClass(class_name, script));
|
|
|
| // Class has no fields.
|
| cls.SetFields(Object::empty_array());
|
| @@ -106,10 +114,10 @@
|
| Class& interface = Class::Handle();
|
| String& interface_name = String::Handle();
|
| interface_name = Symbols::New("Harley");
|
| - interface = Class::New(interface_name, script, Scanner::kDummyTokenIndex);
|
| + interface = CreateDummyClass(interface_name, script);
|
| interfaces.SetAt(0, Type::Handle(Type::NewNonParameterizedType(interface)));
|
| interface_name = Symbols::New("Norton");
|
| - interface = Class::New(interface_name, script, Scanner::kDummyTokenIndex);
|
| + interface = CreateDummyClass(interface_name, script);
|
| interfaces.SetAt(1, Type::Handle(Type::NewNonParameterizedType(interface)));
|
| cls.set_interfaces(interfaces);
|
| cls.Finalize();
|
| @@ -165,7 +173,7 @@
|
| String& class_name = String::Handle(Symbols::New("EmptyClass"));
|
| Script& script = Script::Handle();
|
| const Class& empty_class =
|
| - Class::Handle(Class::New(class_name, script, Scanner::kDummyTokenIndex));
|
| + Class::Handle(CreateDummyClass(class_name, script));
|
|
|
| // No functions and no super class for the EmptyClass.
|
| empty_class.SetFields(Object::empty_array());
|
| @@ -176,7 +184,7 @@
|
|
|
| class_name = Symbols::New("OneFieldClass");
|
| const Class& one_field_class =
|
| - Class::Handle(Class::New(class_name, script, Scanner::kDummyTokenIndex));
|
| + Class::Handle(CreateDummyClass(class_name, script));
|
|
|
| // No functions and no super class for the OneFieldClass.
|
| const Array& one_fields = Array::Handle(Array::New(1));
|
| @@ -2173,8 +2181,7 @@
|
| // Allocate the class first.
|
| const String& class_name = String::Handle(Symbols::New("MyClass"));
|
| const Script& script = Script::Handle();
|
| - const Class& cls =
|
| - Class::Handle(Class::New(class_name, script, Scanner::kDummyTokenIndex));
|
| + const Class& cls = Class::Handle(CreateDummyClass(class_name, script));
|
| const Array& functions = Array::Handle(Array::New(1));
|
|
|
| const Context& context = Context::Handle(Context::New(0));
|
| @@ -2248,7 +2255,7 @@
|
| const String& class_name = String::Handle(Symbols::New("ownerClass"));
|
| const Script& script = Script::Handle();
|
| const Class& owner_class =
|
| - Class::Handle(Class::New(class_name, script, Scanner::kDummyTokenIndex));
|
| + Class::Handle(CreateDummyClass(class_name, script));
|
| const String& function_name = String::ZoneHandle(Symbols::New(name));
|
| Function& function = Function::ZoneHandle(
|
| Function::New(function_name, RawFunction::kRegularFunction,
|
| @@ -2420,7 +2427,7 @@
|
| static RawClass* CreateTestClass(const char* name) {
|
| const String& class_name = String::Handle(Symbols::New(name));
|
| const Class& cls = Class::Handle(
|
| - Class::New(class_name, Script::Handle(), Scanner::kDummyTokenIndex));
|
| + CreateDummyClass(class_name, Script::Handle()));
|
| return cls.raw();
|
| }
|
|
|
| @@ -2460,7 +2467,7 @@
|
| static RawFunction* GetDummyTarget(const char* name) {
|
| const String& function_name = String::Handle(Symbols::New(name));
|
| const Class& cls = Class::Handle(
|
| - Class::New(function_name, Script::Handle(), Scanner::kDummyTokenIndex));
|
| + CreateDummyClass(function_name, Script::Handle()));
|
| const bool is_static = false;
|
| const bool is_const = false;
|
| const bool is_abstract = false;
|
| @@ -2533,7 +2540,7 @@
|
| String& class_name = String::Handle(Symbols::New("EmptyClass"));
|
| Script& script = Script::Handle();
|
| const Class& empty_class =
|
| - Class::Handle(Class::New(class_name, script, Scanner::kDummyTokenIndex));
|
| + Class::Handle(CreateDummyClass(class_name, script));
|
| SubtypeTestCache& cache = SubtypeTestCache::Handle(SubtypeTestCache::New());
|
| ASSERT(!cache.IsNull());
|
| EXPECT_EQ(0, cache.NumberOfChecks());
|
|
|