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