Fix unused accessibility check in method resolution
Change-Id: Ie8e837d11e04eabca117ed4646a3ddb2b5500f0d
diff --git a/src/main/java/com/android/tools/r8/graph/MethodResolutionResult.java b/src/main/java/com/android/tools/r8/graph/MethodResolutionResult.java
index c56866e..d1e4be9 100644
--- a/src/main/java/com/android/tools/r8/graph/MethodResolutionResult.java
+++ b/src/main/java/com/android/tools/r8/graph/MethodResolutionResult.java
@@ -1253,25 +1253,25 @@
}
BooleanBox seenNoAccess = new BooleanBox(false);
forEachFailureDependency(
- type -> {
- appInfo
- .contextIndependentDefinitionForWithResolutionResult(type)
- .forEachClassResolutionResult(
- clazz -> {
- AccessControl.isClassAccessible(
- clazz,
- context,
- appInfo.getClassToFeatureSplitMap(),
- appInfo.getSyntheticItems());
- });
- },
+ type ->
+ appInfo
+ .contextIndependentDefinitionForWithResolutionResult(type)
+ .forEachClassResolutionResult(
+ clazz ->
+ seenNoAccess.or(
+ AccessControl.isClassAccessible(
+ clazz,
+ context,
+ appInfo.getClassToFeatureSplitMap(),
+ appInfo.getSyntheticItems())
+ .isPossiblyFalse())),
method -> {
DexClass holder = appInfo.definitionFor(method.getHolderType());
DexClassAndMethod classAndMethod = DexClassAndMethod.create(holder, method);
seenNoAccess.or(
AccessControl.isMemberAccessible(
classAndMethod, initialResolutionHolder, context, appInfo)
- .isFalse());
+ .isPossiblyFalse());
});
return seenNoAccess.get();
}