diff options
| author | 2017-04-20 11:01:32 +0000 | |
|---|---|---|
| committer | 2017-04-20 11:01:34 +0000 | |
| commit | de9e54abcfbb1d9e30a5f8d3d899a23a2ac58334 (patch) | |
| tree | 5228e08e1ab8740670059dd2acb68e90d9e41b30 /compiler | |
| parent | 8d0f3aaf28358697ec812955cdf975ca6c6ff901 (diff) | |
| parent | bdb540dc8d09c48ee19cf035f418bcae0f00660e (diff) | |
Merge "Vdex: Workaround arrays with erroneous component type."
Diffstat (limited to 'compiler')
| -rw-r--r-- | compiler/verifier_deps_test.cc | 15 |
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 |