summaryrefslogtreecommitdiff
path: root/compiler
diff options
context:
space:
mode:
author Treehugger Robot <treehugger-gerrit@google.com> 2017-04-20 11:01:32 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2017-04-20 11:01:34 +0000
commitde9e54abcfbb1d9e30a5f8d3d899a23a2ac58334 (patch)
tree5228e08e1ab8740670059dd2acb68e90d9e41b30 /compiler
parent8d0f3aaf28358697ec812955cdf975ca6c6ff901 (diff)
parentbdb540dc8d09c48ee19cf035f418bcae0f00660e (diff)
Merge "Vdex: Workaround arrays with erroneous component type."
Diffstat (limited to 'compiler')
-rw-r--r--compiler/verifier_deps_test.cc15
1 files changed, 13 insertions, 2 deletions
diff --git a/compiler/verifier_deps_test.cc b/compiler/verifier_deps_test.cc
index fa7e98586c..3b6b9cc7f0 100644
--- a/compiler/verifier_deps_test.cc
+++ b/compiler/verifier_deps_test.cc
@@ -207,9 +207,9 @@ class VerifierDepsTest : public CommonCompilerTest {
ScopedObjectAccess soa(Thread::Current());
LoadDexFile(&soa);
mirror::Class* klass_dst = FindClassByName(dst, &soa);
- DCHECK(klass_dst != nullptr);
+ DCHECK(klass_dst != nullptr) << dst;
mirror::Class* klass_src = FindClassByName(src, &soa);
- DCHECK(klass_src != nullptr);
+ DCHECK(klass_src != nullptr) << src;
verifier_deps_->AddAssignability(*primary_dex_file_,
klass_dst,
klass_src,
@@ -1536,5 +1536,16 @@ TEST_F(VerifierDepsTest, NotAssignable_InterfaceWithClassInBoot) {
ASSERT_TRUE(HasAssignable("Ljava/lang/Exception;", "LIface;", false));
}
+TEST_F(VerifierDepsTest, Assignable_Arrays) {
+ ASSERT_TRUE(TestAssignabilityRecording(/* dst */ "[LIface;",
+ /* src */ "[LMyClassExtendingInterface;",
+ /* is_strict */ false,
+ /* is_assignable */ true));
+ ASSERT_FALSE(HasAssignable(
+ "LIface;", "LMyClassExtendingInterface;", /* expected_is_assignable */ true));
+ ASSERT_FALSE(HasAssignable(
+ "LIface;", "LMyClassExtendingInterface;", /* expected_is_assignable */ false));
+}
+
} // namespace verifier
} // namespace art