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));
   }