Merge "Clean up use of isConstructor getter."
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/LambdaClass.java b/src/main/java/com/android/tools/r8/ir/desugar/LambdaClass.java
index 55e6296..81c13db 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/LambdaClass.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/LambdaClass.java
@@ -81,6 +81,9 @@
: factory.createMethod(lambdaClassType, constructorProto, rewriter.classConstructorName);
this.instanceField = !stateless ? null
: factory.createField(lambdaClassType, lambdaClassType, rewriter.instanceFieldName);
+
+ // We have to register this new class as a subtype of object.
+ factory.objectType.addDirectSubtype(type);
}
// Generate unique lambda class type for lambda descriptor and instantiation point context.
diff --git a/src/test/java/com/android/tools/r8/shaking/PrintUsageTest.java b/src/test/java/com/android/tools/r8/shaking/PrintUsageTest.java
index c9b476a..89f0f3b 100644
--- a/src/test/java/com/android/tools/r8/shaking/PrintUsageTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/PrintUsageTest.java
@@ -74,6 +74,8 @@
.addLibraryFiles(Paths.get(ANDROID_JAR))
.build();
ToolHelper.runR8(command, options -> {
+ // Disable inlining to make this test not depend on inlining decisions.
+ options.inlineAccessors = false;
options.printUsage = true;
options.printUsageFile = out.resolve(test + PRINT_USAGE_FILE_SUFFIX);
});
@@ -152,12 +154,11 @@
private static void inspectShaking9(PrintUsageInspector inspector) {
Optional<ClassSubject> superClass = inspector.clazz("shaking9.Superclass");
- assertTrue(superClass.isPresent());
- assertTrue(superClass.get().method("void", "<init>", Collections.emptyList()));
+ assertFalse(superClass.isPresent());
Optional<ClassSubject> subClass = inspector.clazz("shaking9.Subclass");
assertTrue(subClass.isPresent());
assertTrue(subClass.get().method("void", "aMethod", Collections.emptyList()));
- assertTrue(subClass.get().method("void", "<init>", Collections.emptyList()));
+ assertFalse(subClass.get().method("void", "<init>", Collections.emptyList()));
}
private static void inspectShaking12(PrintUsageInspector inspector) {