Fix incorrect interface resolution bits
Change-Id: I93c84714151aa12eaede4d6f1875cadaa1a226d3
diff --git a/src/main/java/com/android/tools/r8/ir/code/InvokeMethod.java b/src/main/java/com/android/tools/r8/ir/code/InvokeMethod.java
index e0e00ac..c8dd6ec 100644
--- a/src/main/java/com/android/tools/r8/ir/code/InvokeMethod.java
+++ b/src/main/java/com/android/tools/r8/ir/code/InvokeMethod.java
@@ -111,8 +111,7 @@
refinedReceiverLowerBound = null;
}
}
- ResolutionResult resolutionResult =
- appView.appInfo().resolveMethod(method, isInvokeInterface());
+ ResolutionResult resolutionResult = appView.appInfo().resolveMethod(method, getInterfaceBit());
LookupResult lookupResult;
if (refinedReceiverUpperBound != null) {
lookupResult =
diff --git a/src/main/java/com/android/tools/r8/ir/code/InvokeMethodWithReceiver.java b/src/main/java/com/android/tools/r8/ir/code/InvokeMethodWithReceiver.java
index 8d45f05..a2aa502 100644
--- a/src/main/java/com/android/tools/r8/ir/code/InvokeMethodWithReceiver.java
+++ b/src/main/java/com/android/tools/r8/ir/code/InvokeMethodWithReceiver.java
@@ -209,7 +209,7 @@
AppView<AppInfoWithLiveness> appViewWithLiveness = appView.withLiveness();
ResolutionResult resolutionResult =
- appViewWithLiveness.appInfo().resolveMethod(getInvokedMethod(), isInvokeInterface());
+ appViewWithLiveness.appInfo().resolveMethod(getInvokedMethod(), getInterfaceBit());
if (resolutionResult.isFailedResolution()) {
return true;
}
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/DesugaredLibraryRetargeter.java b/src/main/java/com/android/tools/r8/ir/desugar/DesugaredLibraryRetargeter.java
index 250737f..53ff67e 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/DesugaredLibraryRetargeter.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/DesugaredLibraryRetargeter.java
@@ -114,7 +114,7 @@
ResolutionResult resolutionResult =
appView
.appInfoForDesugaring()
- .resolveMethod(invoke.getInvokedMethod(), invoke.isInvokeInterface());
+ .resolveMethod(invoke.getInvokedMethod(), invoke.getInterfaceBit());
if (resolutionResult.isFailedResolution()) {
continue;
}
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/CallSiteOptimizationInfoPropagator.java b/src/main/java/com/android/tools/r8/ir/optimize/CallSiteOptimizationInfoPropagator.java
index 0e956c0..9708120 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/CallSiteOptimizationInfoPropagator.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/CallSiteOptimizationInfoPropagator.java
@@ -110,7 +110,7 @@
SingleResolutionResult resolutionResult =
appView
.appInfo()
- .resolveMethod(invokedMethod, invoke.isInvokeInterface())
+ .resolveMethod(invokedMethod, invoke.getInterfaceBit())
.asSingleResolution();
if (resolutionResult == null) {
return;
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/IdempotentFunctionCallCanonicalizer.java b/src/main/java/com/android/tools/r8/ir/optimize/IdempotentFunctionCallCanonicalizer.java
index abf12f7..10d17e7 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/IdempotentFunctionCallCanonicalizer.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/IdempotentFunctionCallCanonicalizer.java
@@ -139,7 +139,7 @@
SingleResolutionResult resolutionResult =
appInfoWithLiveness
- .resolveMethod(invoke.getInvokedMethod(), invoke.isInvokeInterface())
+ .resolveMethod(invoke.getInvokedMethod(), invoke.getInterfaceBit())
.asSingleResolution();
if (resolutionResult == null
|| resolutionResult