Chromium Code Reviews| Index: runtime/lib/mirrors.cc |
| =================================================================== |
| --- runtime/lib/mirrors.cc (revision 25478) |
| +++ runtime/lib/mirrors.cc (working copy) |
| @@ -511,12 +511,7 @@ |
| return type; |
| } |
| - // TODO(turnidge): Why am I getting Null when I expect Object? |
| - // TODO(gbracha): this is probably the root of bug 7868 |
| - Dart_Handle super_class = Dart_GetSuperclass(intf); |
| - if (Dart_IsNull(super_class)) { |
| - super_class = Dart_GetClass(CoreLib(), NewString("Object")); |
| - } |
| + Dart_Handle super_class = Dart_Null(); |
| // TODO(turnidge): Simplify code, now that default classes have been removed. |
| Dart_Handle default_class = Dart_Null(); |
| @@ -538,7 +533,7 @@ |
| Dart_Null(), // "name" |
| Dart_NewBoolean(Dart_IsClass(intf)), |
| lib_mirror, |
| - CreateLazyMirror(super_class), |
| + super_class, |
| CreateImplementsList(intf), |
| CreateLazyMirror(default_class), |
| constructor_map, |
| @@ -1057,6 +1052,12 @@ |
| } |
| +DEFINE_NATIVE_ENTRY(ClassMirror_supertype, 1) { |
|
rmacnak
2013/07/25 20:51:51
We answer a Type instead of a ClassMirror for two
|
| + GET_NON_NULL_NATIVE_ARGUMENT(MirrorReference, ref, arguments->NativeArgAt(0)); |
| + const Class& klass = Class::Handle(ref.GetClassReferent()); |
| + return klass.super_type(); |
| +} |
| + |
| DEFINE_NATIVE_ENTRY(ClassMirror_members, 2) { |
| GET_NON_NULL_NATIVE_ARGUMENT(Instance, |
| owner_mirror, |