Index: runtime/lib/mirrors.cc |
diff --git a/runtime/lib/mirrors.cc b/runtime/lib/mirrors.cc |
index 3b7391caf42238dba40a43e93faefaf52a13fafe..a8d51ca84a38f5c876edd9c18797e27a59ed78d7 100644 |
--- a/runtime/lib/mirrors.cc |
+++ b/runtime/lib/mirrors.cc |
@@ -2068,4 +2068,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 |