Index: runtime/lib/mirrors.cc |
diff --git a/runtime/lib/mirrors.cc b/runtime/lib/mirrors.cc |
index 9f5c7634be0c0632f0e48c6c48bd960eb6d520c7..a535d63cd5592e8b39d6ce65955052466df39a20 100644 |
--- a/runtime/lib/mirrors.cc |
+++ b/runtime/lib/mirrors.cc |
@@ -2095,4 +2095,17 @@ DEFINE_NATIVE_ENTRY(VariableMirror_type, 2) { |
return InstantiateType(type, instantiator); |
} |
+DEFINE_NATIVE_ENTRY(TypeMirror_subtypeTest, 2) { |
+ GET_NON_NULL_NATIVE_ARGUMENT(AbstractType, a, arguments->NativeArgAt(0)); |
+ GET_NON_NULL_NATIVE_ARGUMENT(AbstractType, b, arguments->NativeArgAt(1)); |
+ return Bool::Get(a.IsSubtypeOf(b, NULL)).raw(); |
+} |
+ |
+DEFINE_NATIVE_ENTRY(TypeMirror_moreSpecificTest, 2) { |
+ GET_NON_NULL_NATIVE_ARGUMENT(AbstractType, a, arguments->NativeArgAt(0)); |
+ GET_NON_NULL_NATIVE_ARGUMENT(AbstractType, b, arguments->NativeArgAt(1)); |
+ return Bool::Get(a.IsMoreSpecificThan(b, NULL)).raw(); |
+} |
+ |
+ |
} // namespace dart |