RewrittenProto: make constructor private
Bug: 148271981
Change-Id: I528bd89c0d1ef6b2d170d538332942da92d04967
diff --git a/src/main/java/com/android/tools/r8/graph/GraphLense.java b/src/main/java/com/android/tools/r8/graph/GraphLense.java
index 217211a..54eddca 100644
--- a/src/main/java/com/android/tools/r8/graph/GraphLense.java
+++ b/src/main/java/com/android/tools/r8/graph/GraphLense.java
@@ -262,7 +262,7 @@
this(false, false, RemovedArgumentsInfo.empty());
}
- public RewrittenPrototypeDescription(
+ private RewrittenPrototypeDescription(
boolean hasBeenChangedToReturnVoid,
boolean extraNullParameter,
RemovedArgumentsInfo removedArgumentsInfo) {
@@ -272,6 +272,12 @@
this.removedArgumentsInfo = removedArgumentsInfo;
}
+ public static RewrittenPrototypeDescription createForUninstantiatedTypes(
+ boolean hasBeenChangedToReturnVoid, RemovedArgumentsInfo removedArgumentsInfo) {
+ return new RewrittenPrototypeDescription(
+ hasBeenChangedToReturnVoid, false, removedArgumentsInfo);
+ }
+
public static RewrittenPrototypeDescription none() {
return none;
}
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/UninstantiatedTypeOptimization.java b/src/main/java/com/android/tools/r8/ir/optimize/UninstantiatedTypeOptimization.java
index 35ae825..c4fd3ce 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/UninstantiatedTypeOptimization.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/UninstantiatedTypeOptimization.java
@@ -160,9 +160,8 @@
// This achieved by faking that there is already a method with the given signature.
for (DexEncodedMethod virtualMethod : clazz.virtualMethods()) {
RewrittenPrototypeDescription prototypeChanges =
- new RewrittenPrototypeDescription(
+ RewrittenPrototypeDescription.createForUninstantiatedTypes(
virtualMethod.method.proto.returnType.isAlwaysNull(appView),
- false,
getRemovedArgumentsInfo(virtualMethod, ALLOW_ARGUMENT_REMOVAL));
if (!prototypeChanges.isEmpty()) {
DexMethod newMethod = getNewMethodSignature(virtualMethod, prototypeChanges);
@@ -296,9 +295,8 @@
|| appView.appInfo().keepConstantArguments.contains(encodedMethod.method)) {
return RewrittenPrototypeDescription.none();
}
- return new RewrittenPrototypeDescription(
+ return RewrittenPrototypeDescription.createForUninstantiatedTypes(
encodedMethod.method.proto.returnType.isAlwaysNull(appView),
- false,
getRemovedArgumentsInfo(encodedMethod, strategy));
}