Set no generic signature for forwarding methods synthesized by R8
Bug: b/223586415
Change-Id: I4b6c0bceea889a341caf1d890c2f391c60dd32af
diff --git a/src/main/java/com/android/tools/r8/graph/DexEncodedMethod.java b/src/main/java/com/android/tools/r8/graph/DexEncodedMethod.java
index fc71274..d68d906 100644
--- a/src/main/java/com/android/tools/r8/graph/DexEncodedMethod.java
+++ b/src/main/java/com/android/tools/r8/graph/DexEncodedMethod.java
@@ -1125,6 +1125,7 @@
return syntheticBuilder(this)
.setMethod(newMethod)
.modifyAccessFlags(MethodAccessFlags::setSynthetic)
+ .setGenericSignature(MethodTypeSignature.noSignature())
// If the forwarding target is abstract, we can just create an abstract method. While it
// will not actually forward, it will create the same exception when hit at runtime.
// Otherwise, we need to create code that forwards the call to the target.
@@ -1132,7 +1133,6 @@
!isAbstract(),
builder ->
builder
- .setGenericSignature(MethodTypeSignature.noSignature())
.setCode(
ForwardMethodBuilder.builder(definitions.dexItemFactory())
.setStaticSource(newMethod)