Remove some unnecessary items from WellKnownClasses.
Replace a few uses with alternatives, namely
mirror::{Constructor,Method,Field}::StaticClass().
Alternatively, we could use class roots in the ClassLinker.
And clear dalvik_system_VMRuntime_nonSdkApiUsageConsumer
in WellKnownClasses::Clear().
Test: testrunner.py --host
Bug: 74943277
Change-Id: I7561db76cd62d376c22efd4386dffd83ec74aa66
diff --git a/runtime/native/java_lang_Class.cc b/runtime/native/java_lang_Class.cc
index a8b203b..82300fe 100644
--- a/runtime/native/java_lang_Class.cc
+++ b/runtime/native/java_lang_Class.cc
@@ -683,8 +683,7 @@
}
ObjPtr<mirror::Object> method = annotations::GetEnclosingMethod(klass);
if (method != nullptr) {
- if (soa.Decode<mirror::Class>(WellKnownClasses::java_lang_reflect_Constructor) ==
- method->GetClass()) {
+ if (mirror::Constructor::StaticClass() == method->GetClass()) {
return soa.AddLocalReference<jobject>(method);
}
}
@@ -700,8 +699,7 @@
}
ObjPtr<mirror::Object> method = annotations::GetEnclosingMethod(klass);
if (method != nullptr) {
- if (soa.Decode<mirror::Class>(WellKnownClasses::java_lang_reflect_Method) ==
- method->GetClass()) {
+ if (mirror::Method::StaticClass() == method->GetClass()) {
return soa.AddLocalReference<jobject>(method);
}
}