Do not assume type relationship when recording "not assignable"

The verifier may record that an interface I does not extend a
class A. If A is not j.l.Object, this is always true, but
A might change after a system update from a class to an interface.

bug: 34849974
test: verifier_deps_test
Change-Id: Ic2876edce9a2a6f7b402420a5e01763aba2b39a4
diff --git a/compiler/verifier_deps_test.cc b/compiler/verifier_deps_test.cc
index 1a1d163..4bfc849 100644
--- a/compiler/verifier_deps_test.cc
+++ b/compiler/verifier_deps_test.cc
@@ -1528,5 +1528,13 @@
   ASSERT_FALSE(buffer.empty());
 }
 
+TEST_F(VerifierDepsTest, NotAssignable_InterfaceWithClassInBoot) {
+  ASSERT_TRUE(TestAssignabilityRecording(/* dst */ "Ljava/lang/Exception;",
+                                         /* src */ "LIface;",
+                                         /* is_strict */ true,
+                                         /* is_assignable */ false));
+  ASSERT_TRUE(HasAssignable("Ljava/lang/Exception;", "LIface;", false));
+}
+
 }  // namespace verifier
 }  // namespace art