Clean-up in r8 nest based access constructor call
Bug: 130529390
Change-Id: Ice374a82703891edb43d9e582fd87f5619f8396a
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/NestedPrivateMethodLense.java b/src/main/java/com/android/tools/r8/ir/desugar/NestedPrivateMethodLense.java
index 252bf7c..a324d61b 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/NestedPrivateMethodLense.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/NestedPrivateMethodLense.java
@@ -129,16 +129,18 @@
@Override
public RewrittenPrototypeDescription lookupPrototypeChanges(DexMethod method) {
- RewrittenPrototypeDescription previous = previousLense.lookupPrototypeChanges(method);
DexType[] parameters = method.proto.parameters.values;
if (parameters.length == 0) {
- return previous;
+ return previousLense.lookupPrototypeChanges(method);
}
DexType lastParameterType = parameters[parameters.length - 1];
if (lastParameterType == nestConstructorType) {
- return previous.withExtraNullParameter();
+ // This is an access bridge for a constructor that has been synthesized during
+ // nest-based access desugaring.
+ assert previousLense.lookupPrototypeChanges(method).isEmpty();
+ return RewrittenPrototypeDescription.none().withExtraNullParameter();
}
- return previous;
+ return previousLense.lookupPrototypeChanges(method);
}
@Override