Revert "Do not rewrite generic signatures in target of merged classes"

This reverts commit 764a38a860e8bc7d4a65a625d3d7be43eaf800f7.

Reason for revert: Seems to break the bots

Change-Id: Ie4f842fbee85d2cbb974eae0d4bd4c3132d283b4
diff --git a/src/main/java/com/android/tools/r8/naming/ClassNameMinifier.java b/src/main/java/com/android/tools/r8/naming/ClassNameMinifier.java
index d13cc3b..d0240e9 100644
--- a/src/main/java/com/android/tools/r8/naming/ClassNameMinifier.java
+++ b/src/main/java/com/android/tools/r8/naming/ClassNameMinifier.java
@@ -13,7 +13,6 @@
 import com.android.tools.r8.graph.DexClass;
 import com.android.tools.r8.graph.DexEncodedField;
 import com.android.tools.r8.graph.DexEncodedMethod;
-import com.android.tools.r8.graph.DexProgramClass;
 import com.android.tools.r8.graph.DexProto;
 import com.android.tools.r8.graph.DexString;
 import com.android.tools.r8.graph.DexType;
@@ -25,14 +24,12 @@
 import com.android.tools.r8.utils.DescriptorUtils;
 import com.android.tools.r8.utils.InternalOptions;
 import com.android.tools.r8.utils.InternalOptions.PackageObfuscationMode;
-import com.android.tools.r8.utils.IteratorUtils;
 import com.android.tools.r8.utils.Timing;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.Maps;
 import com.google.common.collect.Sets;
 import java.util.Collections;
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Set;
@@ -135,15 +132,7 @@
     timing.end();
 
     timing.begin("rename-generic");
-    new GenericSignatureRewriter(appView, renaming)
-        .run(
-            new Iterable<DexProgramClass>() {
-              @Override
-              public Iterator<DexProgramClass> iterator() {
-                return IteratorUtils.<DexClass, DexProgramClass>filter(
-                    classes.iterator(), DexClass::isProgramClass);
-              }
-            });
+    new GenericSignatureRewriter(appView, renaming).run(classes);
     timing.end();
 
     timing.begin("rename-arrays");
diff --git a/src/main/java/com/android/tools/r8/naming/signature/GenericSignatureAction.java b/src/main/java/com/android/tools/r8/naming/signature/GenericSignatureAction.java
index 947b6d4..6753e06 100644
--- a/src/main/java/com/android/tools/r8/naming/signature/GenericSignatureAction.java
+++ b/src/main/java/com/android/tools/r8/naming/signature/GenericSignatureAction.java
@@ -9,16 +9,11 @@
  */
 public interface GenericSignatureAction<T> {
 
-  enum ParserPosition {
-    TOP_LEVEL,
-    INNER_ENCLOSING_OR_TYPE_ARGUMENT
-  }
-
   public void parsedSymbol(char symbol);
 
   public void parsedIdentifier(String identifier);
 
-  public T parsedTypeName(String name, ParserPosition isTopLevel);
+  public T parsedTypeName(String name);
 
   public T parsedInnerTypeName(T enclosingType, String name);
 
diff --git a/src/main/java/com/android/tools/r8/naming/signature/GenericSignatureParser.java b/src/main/java/com/android/tools/r8/naming/signature/GenericSignatureParser.java
index 5ef9de9..c1f6a7d 100644
--- a/src/main/java/com/android/tools/r8/naming/signature/GenericSignatureParser.java
+++ b/src/main/java/com/android/tools/r8/naming/signature/GenericSignatureParser.java
@@ -4,7 +4,6 @@
 
 package com.android.tools.r8.naming.signature;
 
-import com.android.tools.r8.naming.signature.GenericSignatureAction.ParserPosition;
 import java.lang.reflect.GenericSignatureFormatError;
 import java.nio.CharBuffer;
 
@@ -51,7 +50,7 @@
  */
 public class GenericSignatureParser<T> {
 
-  private GenericSignatureAction<T> actions;
+  private final GenericSignatureAction<T> actions;
 
   /*
    * Parser:
@@ -111,7 +110,7 @@
     try {
       actions.start();
       setInput(signature);
-      parseFieldTypeSignature(ParserPosition.TOP_LEVEL);
+      parseFieldTypeSignature();
       actions.stop();
     } catch (GenericSignatureFormatError e) {
       throw e;
@@ -142,11 +141,11 @@
     parseOptFormalTypeParameters();
 
     // SuperclassSignature ::= ClassTypeSignature.
-    parseClassTypeSignature(ParserPosition.TOP_LEVEL);
+    parseClassTypeSignature();
 
     while (symbol > 0) {
       // SuperinterfaceSignature ::= ClassTypeSignature.
-      parseClassTypeSignature(ParserPosition.TOP_LEVEL);
+      parseClassTypeSignature();
     }
   }
 
@@ -179,28 +178,28 @@
     expect(':');
 
     if (symbol == 'L' || symbol == '[' || symbol == 'T') {
-      parseFieldTypeSignature(ParserPosition.INNER_ENCLOSING_OR_TYPE_ARGUMENT);
+      parseFieldTypeSignature();
     }
 
     while (symbol == ':') {
       // InterfaceBound ::= ":" FieldTypeSignature.
       actions.parsedSymbol(symbol);
       scanSymbol();
-      parseFieldTypeSignature(ParserPosition.TOP_LEVEL);
+      parseFieldTypeSignature();
     }
   }
 
-  private void parseFieldTypeSignature(ParserPosition parserPosition) {
+  private void parseFieldTypeSignature() {
     // FieldTypeSignature ::= ClassTypeSignature | ArrayTypeSignature | TypeVariableSignature.
     switch (symbol) {
       case 'L':
-        parseClassTypeSignature(parserPosition);
+        parseClassTypeSignature();
         break;
       case '[':
-        // ArrayTypeSignature ::= "[" TypeSignature.
+        // ArrayTypeSignature ::= "[" TypSignature.
         actions.parsedSymbol(symbol);
         scanSymbol();
-        updateTypeSignature(parserPosition);
+        updateTypeSignature();
         break;
       case 'T':
         updateTypeVariableSignature();
@@ -210,7 +209,7 @@
     }
   }
 
-  private void parseClassTypeSignature(ParserPosition parserPosition) {
+  private void parseClassTypeSignature() {
     // ClassTypeSignature ::= "L" {Ident "/"} Ident OptTypeArguments {"." Ident OptTypeArguments}
     //  ";".
     actions.parsedSymbol(symbol);
@@ -227,22 +226,18 @@
     }
 
     qualIdent.append(this.identifier);
-    T parsedEnclosingType = actions.parsedTypeName(qualIdent.toString(), parserPosition);
+    T parsedEnclosingType = actions.parsedTypeName(qualIdent.toString());
 
-    if (parsedEnclosingType != null) {
-      // We should only parse any optional type arguments and member classes if we have not merged
-      // the class into the current subtype.
+    updateOptTypeArguments();
+
+    while (symbol == '.') {
+      // Deal with Member Classes:
+      actions.parsedSymbol(symbol);
+      scanSymbol();
+      scanIdentifier();
+      assert identifier != null;
+      parsedEnclosingType = actions.parsedInnerTypeName(parsedEnclosingType, identifier);
       updateOptTypeArguments();
-
-      while (symbol == '.') {
-        // Deal with Member Classes.
-        actions.parsedSymbol(symbol);
-        scanSymbol();
-        scanIdentifier();
-        assert identifier != null;
-        parsedEnclosingType = actions.parsedInnerTypeName(parsedEnclosingType, identifier);
-        updateOptTypeArguments();
-      }
     }
 
     actions.parsedSymbol(symbol);
@@ -273,13 +268,13 @@
     } else if (symbol == '+') {
       actions.parsedSymbol(symbol);
       scanSymbol();
-      parseFieldTypeSignature(ParserPosition.INNER_ENCLOSING_OR_TYPE_ARGUMENT);
+      parseFieldTypeSignature();
     } else if (symbol == '-') {
       actions.parsedSymbol(symbol);
       scanSymbol();
-      parseFieldTypeSignature(ParserPosition.INNER_ENCLOSING_OR_TYPE_ARGUMENT);
+      parseFieldTypeSignature();
     } else {
-      parseFieldTypeSignature(ParserPosition.INNER_ENCLOSING_OR_TYPE_ARGUMENT);
+      parseFieldTypeSignature();
     }
   }
 
@@ -296,7 +291,7 @@
     expect(';');
   }
 
-  private void updateTypeSignature(ParserPosition parserPosition) {
+  private void updateTypeSignature() {
     switch (symbol) {
       case 'B':
       case 'C':
@@ -311,7 +306,7 @@
         break;
       default:
         // Not an elementary type, but a FieldTypeSignature.
-        parseFieldTypeSignature(parserPosition);
+        parseFieldTypeSignature();
     }
   }
 
@@ -324,7 +319,7 @@
     expect('(');
 
     while (symbol != ')' && (symbol > 0)) {
-      updateTypeSignature(ParserPosition.TOP_LEVEL);
+      updateTypeSignature();
     }
 
     actions.parsedSymbol(symbol);
@@ -341,7 +336,7 @@
         if (symbol == 'T') {
           updateTypeVariableSignature();
         } else {
-          parseClassTypeSignature(ParserPosition.TOP_LEVEL);
+          parseClassTypeSignature();
         }
       } while (symbol == '^');
     }
@@ -350,7 +345,7 @@
   private void updateReturnType() {
     // ReturnType ::= TypeSignature | "V".
     if (symbol != 'V') {
-      updateTypeSignature(ParserPosition.TOP_LEVEL);
+      updateTypeSignature();
     } else {
       actions.parsedSymbol(symbol);
       scanSymbol();
diff --git a/src/main/java/com/android/tools/r8/naming/signature/GenericSignatureRewriter.java b/src/main/java/com/android/tools/r8/naming/signature/GenericSignatureRewriter.java
index 6a8d460..c3b7188 100644
--- a/src/main/java/com/android/tools/r8/naming/signature/GenericSignatureRewriter.java
+++ b/src/main/java/com/android/tools/r8/naming/signature/GenericSignatureRewriter.java
@@ -10,8 +10,8 @@
 import com.android.tools.r8.graph.AppView;
 import com.android.tools.r8.graph.DexAnnotation;
 import com.android.tools.r8.graph.DexAnnotationSet;
+import com.android.tools.r8.graph.DexClass;
 import com.android.tools.r8.graph.DexDefinition;
-import com.android.tools.r8.graph.DexProgramClass;
 import com.android.tools.r8.graph.DexString;
 import com.android.tools.r8.graph.DexType;
 import com.android.tools.r8.origin.Origin;
@@ -43,16 +43,15 @@
     this.reporter = appView.options().reporter;
   }
 
-  public void run(Iterable<? extends DexProgramClass> classes) {
+  public void run(Iterable<? extends DexClass> classes) {
     final GenericSignatureCollector genericSignatureCollector = new GenericSignatureCollector();
     final GenericSignatureParser<DexType> genericSignatureParser =
         new GenericSignatureParser<>(genericSignatureCollector);
-    // Classes may not be the same as appInfo().classes() if applymapping is used on classpath
+    // classes may not be the same as appInfo().classes() if applymapping is used on classpath
     // arguments. If that is the case, the ProguardMapMinifier will pass in all classes that is
     // either ProgramClass or has a mapping. This is then transitively called inside the
     // ClassNameMinifier.
-    for (DexProgramClass clazz : classes) {
-      genericSignatureCollector.setCurrentClassContext(clazz);
+    for (DexClass clazz : classes) {
       clazz.annotations =
           rewriteGenericSignatures(
               clazz.annotations,
@@ -153,22 +152,13 @@
 
   private class GenericSignatureCollector implements GenericSignatureAction<DexType> {
     private StringBuilder renamedSignature;
-    private DexProgramClass currentClassContext;
 
-    String getRenamedSignature() {
+    public String getRenamedSignature() {
       return renamedSignature.toString();
     }
 
-    void setCurrentClassContext(DexProgramClass clazz) {
-      currentClassContext = clazz;
-    }
-
     @Override
     public void parsedSymbol(char symbol) {
-      if (symbol == ';' && renamedSignature.charAt(renamedSignature.length() - 1) == ';') {
-        // The type was never written (maybe because it was merged with it's subtype)
-        return;
-      }
       renamedSignature.append(symbol);
     }
 
@@ -178,20 +168,13 @@
     }
 
     @Override
-    public DexType parsedTypeName(String name, ParserPosition parserPosition) {
+    public DexType parsedTypeName(String name) {
       DexType type = appView.dexItemFactory().createType(getDescriptorFromClassBinaryName(name));
       type = appView.graphLense().lookupType(type);
       if (appView.appInfo().wasPruned(type)) {
         type = appView.dexItemFactory().objectType;
       }
       DexString renamedDescriptor = renaming.getOrDefault(type, type.descriptor);
-      if (parserPosition == ParserPosition.TOP_LEVEL
-          && currentClassContext != null
-          && renamedDescriptor.equals(currentClassContext.type.descriptor)) {
-        // We are renaming an interface to the class where it was merged down.
-        renamedSignature.deleteCharAt(renamedSignature.length() - 1);
-        return null;
-      }
       renamedSignature.append(getClassBinaryNameFromDescriptor(renamedDescriptor.toString()));
       return type;
     }
@@ -214,7 +197,6 @@
       type = appView.graphLense().lookupType(type);
       DexString renamedDescriptor = renaming.get(type);
       if (renamedDescriptor != null) {
-        // TODO(b/147504070): If this is a merged class equal to the class context, do not add.
         // Pick the renamed inner class from the fully renamed binary name.
         String fullRenamedBinaryName =
             getClassBinaryNameFromDescriptor(renamedDescriptor.toString());
diff --git a/src/main/java/com/android/tools/r8/shaking/VerticalClassMerger.java b/src/main/java/com/android/tools/r8/shaking/VerticalClassMerger.java
index ab32bd5..ae8eb7e 100644
--- a/src/main/java/com/android/tools/r8/shaking/VerticalClassMerger.java
+++ b/src/main/java/com/android/tools/r8/shaking/VerticalClassMerger.java
@@ -383,7 +383,7 @@
       }
     }
     if (clazz.getEnclosingMethod() != null || !clazz.getInnerClasses().isEmpty()) {
-      // TODO(b/147504070): Consider merging of enclosing-method and inner-class attributes.
+      // TODO(herhut): Consider supporting merging of enclosing-method and inner-class attributes.
       if (Log.ENABLED) {
         AbortReason.UNSUPPORTED_ATTRIBUTES.printLogMessageForClass(clazz);
       }
@@ -440,7 +440,7 @@
       return false;
     }
     if (targetClass.getEnclosingMethod() != null || !targetClass.getInnerClasses().isEmpty()) {
-      // TODO(b/147504070): Consider merging of enclosing-method and inner-class attributes.
+      // TODO(herhut): Consider supporting merging of enclosing-method and inner-class attributes.
       if (Log.ENABLED) {
         AbortReason.UNSUPPORTED_ATTRIBUTES.printLogMessageForClass(clazz);
       }
diff --git a/src/main/java/com/android/tools/r8/utils/IteratorUtils.java b/src/main/java/com/android/tools/r8/utils/IteratorUtils.java
index f38c02a..7ffce35 100644
--- a/src/main/java/com/android/tools/r8/utils/IteratorUtils.java
+++ b/src/main/java/com/android/tools/r8/utils/IteratorUtils.java
@@ -16,8 +16,7 @@
 
 public class IteratorUtils {
 
-  public static <T, S extends T> Iterator<S> filter(
-      Iterator<? extends T> iterator, Predicate<T> predicate) {
+  public static <T, S extends T> Iterator<S> filter(Iterator<T> iterator, Predicate<T> predicate) {
     return new Iterator<S>() {
 
       private S next = advance();
diff --git a/src/test/java/com/android/tools/r8/naming/GenericSignatureParserTest.java b/src/test/java/com/android/tools/r8/naming/GenericSignatureParserTest.java
index 4489b75..b264ef5 100644
--- a/src/test/java/com/android/tools/r8/naming/GenericSignatureParserTest.java
+++ b/src/test/java/com/android/tools/r8/naming/GenericSignatureParserTest.java
@@ -22,7 +22,6 @@
 import org.junit.Test;
 
 public class GenericSignatureParserTest extends TestBase {
-
   private static class ReGenerateGenericSignatureRewriter
       implements GenericSignatureAction<String> {
 
@@ -43,7 +42,7 @@
     }
 
     @Override
-    public String parsedTypeName(String name, ParserPosition parserPosition) {
+    public String parsedTypeName(String name) {
       renamedSignature.append(name);
       return name;
     }
@@ -390,7 +389,7 @@
       }
 
       @Override
-      public String parsedTypeName(String name, ParserPosition parserPosition) {
+      public String parsedTypeName(String name) {
         throw exceptionSupplier.get();
       }
     }
diff --git a/src/test/java/com/android/tools/r8/naming/signature/SignatureOfMergedClassesTest.java b/src/test/java/com/android/tools/r8/naming/signature/SignatureOfMergedClassesTest.java
deleted file mode 100644
index a9fc20f..0000000
--- a/src/test/java/com/android/tools/r8/naming/signature/SignatureOfMergedClassesTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-// Copyright (c) 2020, the R8 project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-package com.android.tools.r8.naming.signature;
-
-import static com.android.tools.r8.utils.codeinspector.Matchers.isPresent;
-import static org.hamcrest.CoreMatchers.not;
-import static org.hamcrest.MatcherAssert.assertThat;
-
-import com.android.tools.r8.CompilationFailedException;
-import com.android.tools.r8.TestBase;
-import com.android.tools.r8.TestParameters;
-import com.android.tools.r8.TestParametersCollection;
-import com.android.tools.r8.naming.signature.merging.I;
-import com.android.tools.r8.naming.signature.merging.ImplI;
-import com.android.tools.r8.naming.signature.merging.ImplK;
-import com.android.tools.r8.naming.signature.merging.InterfaceToKeep;
-import com.android.tools.r8.naming.signature.merging.J;
-import com.android.tools.r8.naming.signature.merging.K;
-import java.io.IOException;
-import java.lang.invoke.LambdaConversionException;
-import java.lang.reflect.Type;
-import java.util.concurrent.ExecutionException;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-@RunWith(Parameterized.class)
-public class SignatureOfMergedClassesTest extends TestBase {
-
-  private final TestParameters parameters;
-
-  @Parameters(name = "{0}")
-  public static TestParametersCollection data() {
-    return getTestParameters().withAllRuntimesAndApiLevels().build();
-  }
-
-  public SignatureOfMergedClassesTest(TestParameters parameters) {
-    this.parameters = parameters;
-  }
-
-  @Test
-  public void testRemovalOfMergedInterfaceOnSameClass()
-      throws IOException, CompilationFailedException, ExecutionException,
-          LambdaConversionException {
-    testForR8(parameters.getBackend())
-        .addProgramClasses(
-            ImplI.class, ImplK.class, I.class, J.class, InterfaceToKeep.class, K.class, Main.class)
-        .addKeepMainRule(Main.class)
-        .addKeepClassRules(InterfaceToKeep.class)
-        .addKeepAttributes("Signature, InnerClasses, EnclosingMethod, *Annotation*")
-        .setMinApi(parameters.getApiLevel())
-        .noMinification()
-        .addOptionsModification(
-            internalOptions -> {
-              internalOptions.enableUnusedInterfaceRemoval = false;
-            })
-        .run(parameters.getRuntime(), Main.class)
-        .assertSuccessWithOutputLines(
-            "ImplI.foo",
-            "ImplI: com.android.tools.r8.naming.signature.merging.InterfaceToKeep<java.lang.Void>",
-            "K: com.android.tools.r8.naming.signature.merging.InterfaceToKeep<java.lang.Void>",
-            "ImplK.foo",
-            "ImplK.bar",
-            "ImplK: interface com.android.tools.r8.naming.signature.merging.K")
-        .inspect(
-            codeInspector -> {
-              assertThat(codeInspector.clazz(I.class), not(isPresent()));
-              assertThat(codeInspector.clazz(J.class), not(isPresent()));
-            });
-  }
-
-  @Test
-  public void testKeepingOneSelfOnInterface()
-      throws ExecutionException, CompilationFailedException, IOException {
-    testForR8(parameters.getBackend())
-        .addProgramClasses(Foo.class, InterfaceToKeep.class)
-        .addKeepMainRule(Foo.class)
-        .addKeepClassRules(InterfaceToKeep.class)
-        .addKeepAttributes("Signature, InnerClasses, EnclosingMethod, *Annotation*")
-        .setMinApi(parameters.getApiLevel())
-        .noMinification()
-        .addOptionsModification(
-            internalOptions -> {
-              internalOptions.enableUnusedInterfaceRemoval = false;
-            })
-        .run(parameters.getRuntime(), Foo.class)
-        .assertSuccessWithOutputLines(
-            "com.android.tools.r8.naming.signature.merging.InterfaceToKeep"
-                + "<com.android.tools.r8.naming.signature.SignatureOfMergedClassesTest$Foo>");
-  }
-
-  public static class Foo implements InterfaceToKeep<Foo> {
-
-    public static void main(String[] args) {
-      for (Type genericInterface : Foo.class.getGenericInterfaces()) {
-        System.out.println(genericInterface);
-      }
-    }
-  }
-
-  public static class Main {
-
-    public static void main(String[] args) {
-      new ImplI().foo();
-      for (Type genericInterface : ImplI.class.getGenericInterfaces()) {
-        System.out.println("ImplI: " + genericInterface);
-      }
-      for (Type genericInterface : K.class.getGenericInterfaces()) {
-        System.out.println("K: " + genericInterface);
-      }
-      K k = new ImplK();
-      k.foo();
-      k.bar();
-      for (Type genericInterface : ImplK.class.getGenericInterfaces()) {
-        System.out.println("ImplK: " + genericInterface);
-      }
-    }
-  }
-}
diff --git a/src/test/java/com/android/tools/r8/naming/signature/merging/I.java b/src/test/java/com/android/tools/r8/naming/signature/merging/I.java
deleted file mode 100644
index 237786c..0000000
--- a/src/test/java/com/android/tools/r8/naming/signature/merging/I.java
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright (c) 2020, the R8 project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-package com.android.tools.r8.naming.signature.merging;
-
-public interface I {
-  void foo();
-}
diff --git a/src/test/java/com/android/tools/r8/naming/signature/merging/ImplI.java b/src/test/java/com/android/tools/r8/naming/signature/merging/ImplI.java
deleted file mode 100644
index b842386..0000000
--- a/src/test/java/com/android/tools/r8/naming/signature/merging/ImplI.java
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright (c) 2020, the R8 project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-package com.android.tools.r8.naming.signature.merging;
-
-public class ImplI implements InterfaceToKeep<Void>, I {
-
-  @Override
-  public void foo() {
-    System.out.println("ImplI.foo");
-  }
-}
diff --git a/src/test/java/com/android/tools/r8/naming/signature/merging/ImplK.java b/src/test/java/com/android/tools/r8/naming/signature/merging/ImplK.java
deleted file mode 100644
index 3c23d56..0000000
--- a/src/test/java/com/android/tools/r8/naming/signature/merging/ImplK.java
+++ /dev/null
@@ -1,18 +0,0 @@
-// Copyright (c) 2020, the R8 project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-package com.android.tools.r8.naming.signature.merging;
-
-public class ImplK implements K {
-
-  @Override
-  public void foo() {
-    System.out.println("ImplK.foo");
-  }
-
-  @Override
-  public void bar() {
-    System.out.println("ImplK.bar");
-  }
-}
diff --git a/src/test/java/com/android/tools/r8/naming/signature/merging/InterfaceToKeep.java b/src/test/java/com/android/tools/r8/naming/signature/merging/InterfaceToKeep.java
deleted file mode 100644
index 6bebcd0..0000000
--- a/src/test/java/com/android/tools/r8/naming/signature/merging/InterfaceToKeep.java
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright (c) 2020, the R8 project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-package com.android.tools.r8.naming.signature.merging;
-
-public interface InterfaceToKeep<T> {}
diff --git a/src/test/java/com/android/tools/r8/naming/signature/merging/J.java b/src/test/java/com/android/tools/r8/naming/signature/merging/J.java
deleted file mode 100644
index 444a5e8..0000000
--- a/src/test/java/com/android/tools/r8/naming/signature/merging/J.java
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright (c) 2020, the R8 project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-package com.android.tools.r8.naming.signature.merging;
-
-public interface J {
-  void foo();
-}
diff --git a/src/test/java/com/android/tools/r8/naming/signature/merging/K.java b/src/test/java/com/android/tools/r8/naming/signature/merging/K.java
deleted file mode 100644
index 4b8ed50..0000000
--- a/src/test/java/com/android/tools/r8/naming/signature/merging/K.java
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright (c) 2020, the R8 project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-package com.android.tools.r8.naming.signature.merging;
-
-public interface K extends InterfaceToKeep<Void>, J {
-  void bar();
-}
diff --git a/src/test/java/com/android/tools/r8/utils/codeinspector/CodeInspector.java b/src/test/java/com/android/tools/r8/utils/codeinspector/CodeInspector.java
index 1a4dcc16..4aec544 100644
--- a/src/test/java/com/android/tools/r8/utils/codeinspector/CodeInspector.java
+++ b/src/test/java/com/android/tools/r8/utils/codeinspector/CodeInspector.java
@@ -423,7 +423,7 @@
     }
 
     @Override
-    public String parsedTypeName(String name, ParserPosition parserPosition) {
+    public String parsedTypeName(String name) {
       String type = name;
       if (obfuscatedToOriginalMapping != null) {
         String original = mapType(obfuscatedToOriginalMapping, name);