Use getMethodProvider() to determine if instruction needs backporting
Change-Id: Ib3ba9cfd419ef08a3c27736e58b12ba0962ebed9
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/BackportedMethodRewriter.java b/src/main/java/com/android/tools/r8/ir/desugar/BackportedMethodRewriter.java
index 998b47c..0d5cd1c 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/BackportedMethodRewriter.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/BackportedMethodRewriter.java
@@ -76,22 +76,16 @@
}
CfInvoke invoke = instruction.asInvoke();
- DexMethod invokedMethod = invoke.getMethod();
- if (!needsDesugaring(invokedMethod)) {
- return null;
- }
-
- return getMethodProviderOrNull(invokedMethod)
- .rewriteInvoke(invoke, appView, eventConsumer, methodProcessingContext);
+ MethodProvider methodProvider = getMethodProviderOrNull(invoke.getMethod());
+ return methodProvider != null
+ ? methodProvider.rewriteInvoke(invoke, appView, eventConsumer, methodProcessingContext)
+ : null;
}
@Override
public boolean needsDesugaring(CfInstruction instruction, ProgramMethod context) {
- return instruction.isInvoke() && needsDesugaring(instruction.asInvoke().getMethod());
- }
-
- public boolean needsDesugaring(DexMethod method) {
- return getMethodProviderOrNull(method) != null;
+ return instruction.isInvoke()
+ && getMethodProviderOrNull(instruction.asInvoke().getMethod()) != null;
}
public static List<DexMethod> generateListOfBackportedMethods(