summaryrefslogtreecommitdiffstats
path: root/runtime/proxy_test.cc
diff options
context:
space:
mode:
authorSebastien Hertz <shertz@google.com>2014-06-05 10:15:45 +0200
committerSebastien Hertz <shertz@google.com>2014-06-05 11:36:46 +0200
commit4206eb5d86d3a2406361e59b2018152b2485cced (patch)
treea83b9f33af46af127dc0c2b781b2b2d505f27502 /runtime/proxy_test.cc
parentfbc3e0baa16f265a5dbc99a38383b4dbc41b04a8 (diff)
downloadart-4206eb5d86d3a2406361e59b2018152b2485cced.tar.gz
art-4206eb5d86d3a2406361e59b2018152b2485cced.tar.bz2
art-4206eb5d86d3a2406361e59b2018152b2485cced.zip
Fix crash in JDWP ReferenceType.SourceFile command
Updates Dbg::GetSourceFile to return ABSENT_INFORMATION error code when Class::GetSourceFile returns nullptr. This happens if the class has no source file information. Updates Class:GetSourceFile to return nullptr for classes which have no ClassDef item like generated classes. This allows to remove the IsProxyClass test from Dbg::GetSourceFile. Adds this test in proxy_test. Bug: 15426710 Change-Id: I019da4ced83778d5264484c43b225f8b5c95632e
Diffstat (limited to 'runtime/proxy_test.cc')
-rw-r--r--runtime/proxy_test.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/runtime/proxy_test.cc b/runtime/proxy_test.cc
index f38fb2155b..9724bcc50e 100644
--- a/runtime/proxy_test.cc
+++ b/runtime/proxy_test.cc
@@ -128,12 +128,12 @@ TEST_F(ProxyTest, ProxyClassHelper) {
ASSERT_TRUE(proxy_class->IsProxyClass());
ASSERT_TRUE(proxy_class->IsInitialized());
- // Check ClassHelper for proxy.
- EXPECT_EQ(proxy_class->NumDirectInterfaces(), 2U); // Interfaces$I and Interfaces$J.
+ EXPECT_EQ(2U, proxy_class->NumDirectInterfaces()); // Interfaces$I and Interfaces$J.
EXPECT_EQ(I.Get(), mirror::Class::GetDirectInterface(soa.Self(), proxy_class, 0));
EXPECT_EQ(J.Get(), mirror::Class::GetDirectInterface(soa.Self(), proxy_class, 1));
std::string proxy_class_descriptor(proxy_class->GetDescriptor());
EXPECT_STREQ("L$Proxy1234;", proxy_class_descriptor.c_str());
+ EXPECT_EQ(nullptr, proxy_class->GetSourceFile());
}
// Creates a proxy class and check FieldHelper works correctly.