Ensure that lambda bridges has code moved as inlining
Bug: b/255292908
Change-Id: Ia17453f875ad35da8b3af2ba8f33a2ddebbecd67
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/LambdaClass.java b/src/main/java/com/android/tools/r8/ir/desugar/LambdaClass.java
index 46266fc..657845b 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/LambdaClass.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/LambdaClass.java
@@ -663,7 +663,11 @@
.setGenericSignature(encodedMethod.getGenericSignature())
.setAnnotations(encodedMethod.annotations())
.setParameterAnnotations(encodedMethod.parameterAnnotationsList)
- .setCode(encodedMethod.getCode())
+ .setCode(
+ encodedMethod
+ .getCode()
+ .getCodeAsInlining(
+ callTarget, encodedMethod, appView.dexItemFactory()))
.setApiLevelForDefinition(encodedMethod.getApiLevelForDefinition())
.setApiLevelForCode(encodedMethod.getApiLevelForCode())
.build();
diff --git a/src/test/java/com/android/tools/r8/naming/retrace/DesugarPrivateLambdaRetraceTest.java b/src/test/java/com/android/tools/r8/naming/retrace/DesugarPrivateLambdaRetraceTest.java
index b67bc82..01f9b37 100644
--- a/src/test/java/com/android/tools/r8/naming/retrace/DesugarPrivateLambdaRetraceTest.java
+++ b/src/test/java/com/android/tools/r8/naming/retrace/DesugarPrivateLambdaRetraceTest.java
@@ -5,7 +5,6 @@
package com.android.tools.r8.naming.retrace;
import static com.android.tools.r8.naming.retrace.StackTrace.isSame;
-import static org.hamcrest.CoreMatchers.not;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assume.assumeTrue;
@@ -85,14 +84,6 @@
.internalEnableMappingOutput()
.run(parameters.getRuntime(), DesugarInterfaceInstanceLambdaRetrace.Main.class)
.assertFailureWithErrorThatThrows(NullPointerException.class)
- .inspectStackTrace(
- stackTrace -> {
- if (parameters.canUseDefaultAndStaticInterfaceMethodsWhenDesugaring()) {
- // TODO(b/255292908): Should always be the same.
- assertThat(stackTrace, not(isSame(expectedStackTrace)));
- } else {
- assertThat(stackTrace, isSame(expectedStackTrace));
- }
- });
+ .inspectStackTrace(stackTrace -> assertThat(stackTrace, isSame(expectedStackTrace)));
}
}