Snap for 6916203 from bffd32f40cdf213cac49eb067a589ee6972371e3 to mainline-release
Change-Id: I28447295a6c2d37495a8dc0d194afcf10fe1bb95
diff --git a/tools/hiddenapi/hiddenapi.cc b/tools/hiddenapi/hiddenapi.cc
index f6d599f..0ef0e08 100644
--- a/tools/hiddenapi/hiddenapi.cc
+++ b/tools/hiddenapi/hiddenapi.cc
@@ -525,18 +525,19 @@
continue;
}
- HierarchyClass* superclass = FindClass(dex_klass.GetSuperclassDescriptor());
- CHECK(superclass != nullptr)
- << "Superclass " << dex_klass.GetSuperclassDescriptor()
+ auto add_extends = [&](const std::string_view& extends_desc) {
+ HierarchyClass* extends = FindClass(extends_desc);
+ CHECK(extends != nullptr)
+ << "Superclass/interface " << extends_desc
<< " of class " << dex_klass.GetDescriptor() << " from dex file \""
<< dex_klass.GetDexFile().GetLocation() << "\" was not found. "
- << "Either the superclass is missing or it appears later in the classpath spec.";
- klass.AddExtends(*superclass);
+ << "Either it is missing or it appears later in the classpath spec.";
+ klass.AddExtends(*extends);
+ };
+ add_extends(dex_klass.GetSuperclassDescriptor());
for (const std::string_view& iface_desc : dex_klass.GetInterfaceDescriptors()) {
- HierarchyClass* iface = FindClass(iface_desc);
- CHECK(iface != nullptr);
- klass.AddExtends(*iface);
+ add_extends(iface_desc);
}
}
}