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
diff --git a/runtime/proxy_test.cc b/runtime/proxy_test.cc
index f38fb21..9724bcc 100644
--- a/runtime/proxy_test.cc
+++ b/runtime/proxy_test.cc
@@ -128,12 +128,12 @@
   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.