Rename ClassSubject.getDexClass() to getDexProgramClass()
Change-Id: I08f94b7ae17f46485128a896e2131792762a4de7
diff --git a/src/test/java/com/android/tools/r8/accessrelaxation/ConstructorRelaxationTest.java b/src/test/java/com/android/tools/r8/accessrelaxation/ConstructorRelaxationTest.java
index 11c5285..972d058 100644
--- a/src/test/java/com/android/tools/r8/accessrelaxation/ConstructorRelaxationTest.java
+++ b/src/test/java/com/android/tools/r8/accessrelaxation/ConstructorRelaxationTest.java
@@ -205,9 +205,12 @@
for (Class clazz : CLASSES) {
ClassSubject classSubject = codeInspector.clazz(clazz);
assertThat(classSubject, isPresent());
- classSubject.getDexClass().forEachMethod(m -> {
- assertTrue(!m.isInstanceInitializer() || m.isPublicMethod());
- });
+ classSubject
+ .getDexProgramClass()
+ .forEachMethod(
+ m -> {
+ assertTrue(!m.isInstanceInitializer() || m.isPublicMethod());
+ });
}
}
diff --git a/src/test/java/com/android/tools/r8/accessrelaxation/InnerClassAttributePublicizerTest.java b/src/test/java/com/android/tools/r8/accessrelaxation/InnerClassAttributePublicizerTest.java
index 9322844..24ba1cd 100644
--- a/src/test/java/com/android/tools/r8/accessrelaxation/InnerClassAttributePublicizerTest.java
+++ b/src/test/java/com/android/tools/r8/accessrelaxation/InnerClassAttributePublicizerTest.java
@@ -54,7 +54,7 @@
assertThat(classSubject, isPresent());
InnerClassAttribute innerClassAttribute =
- classSubject.getDexClass().getInnerClassAttributeForThisClass();
+ classSubject.getDexProgramClass().getInnerClassAttributeForThisClass();
assertNotNull(innerClassAttribute);
ClassAccessFlags accessFlags =
diff --git a/src/test/java/com/android/tools/r8/androidapi/GenerateAvailableApiExceptions.java b/src/test/java/com/android/tools/r8/androidapi/GenerateAvailableApiExceptions.java
index 83821f8..b6a1c72 100644
--- a/src/test/java/com/android/tools/r8/androidapi/GenerateAvailableApiExceptions.java
+++ b/src/test/java/com/android/tools/r8/androidapi/GenerateAvailableApiExceptions.java
@@ -92,14 +92,14 @@
if (!clazz.isPresent()) {
return false;
}
- if (clazz.getDexClass().type == inspector.getFactory().objectType) {
+ if (clazz.getDexProgramClass().type == inspector.getFactory().objectType) {
return false;
}
- if (clazz.getDexClass().type == inspector.getFactory().throwableType) {
+ if (clazz.getDexProgramClass().type == inspector.getFactory().throwableType) {
return true;
}
return cache.computeIfAbsent(
- clazz.getDexClass(),
+ clazz.getDexProgramClass(),
c -> {
return c.superType != null
&& isThrowable(inspector.clazz(c.superType.toSourceString()), cache, inspector);
diff --git a/src/test/java/com/android/tools/r8/bridgeremoval/B77836766.java b/src/test/java/com/android/tools/r8/bridgeremoval/B77836766.java
index 2c46b40..6a0cf4d 100644
--- a/src/test/java/com/android/tools/r8/bridgeremoval/B77836766.java
+++ b/src/test/java/com/android/tools/r8/bridgeremoval/B77836766.java
@@ -151,7 +151,7 @@
DexCode code = fooFromCls2InAbsCls.getMethod().getCode().asDexCode();
checkInstructions(code, ImmutableList.of(InvokeVirtual.class, ReturnVoid.class));
InvokeVirtual invoke = (InvokeVirtual) code.instructions[0];
- assertEquals(absSubject.getDexClass().type, invoke.getMethod().holder);
+ assertEquals(absSubject.getDexProgramClass().type, invoke.getMethod().holder);
// Cls1#foo has been moved to AbsCls#foo as a result of bridge hoisting.
MethodSubject fooInCls1 = cls1Subject.method("void", "foo", "java.lang.String");
@@ -162,7 +162,7 @@
code = fooFromCls1InAbsCls.getMethod().getCode().asDexCode();
checkInstructions(code, ImmutableList.of(InvokeVirtual.class, ReturnVoid.class));
invoke = (InvokeVirtual) code.instructions[0];
- assertEquals(absSubject.getDexClass().type, invoke.getMethod().holder);
+ assertEquals(absSubject.getDexProgramClass().type, invoke.getMethod().holder);
}
/**
@@ -259,7 +259,7 @@
DexCode code = barInCls2.getMethod().getCode().asDexCode();
checkInstructions(code, ImmutableList.of(InvokeVirtual.class, ReturnVoid.class));
InvokeVirtual invoke = (InvokeVirtual) code.instructions[0];
- assertEquals(baseSubject.getDexClass().type, invoke.getMethod().holder);
+ assertEquals(baseSubject.getDexProgramClass().type, invoke.getMethod().holder);
// Cls1#foo has been moved to Base#foo as a result of bridge hoisting.
MethodSubject fooInCls1 = cls1Subject.method("void", "foo", "java.lang.Integer");
@@ -270,7 +270,7 @@
code = fooInBase.getMethod().getCode().asDexCode();
checkInstructions(code, ImmutableList.of(InvokeVirtual.class, ReturnVoid.class));
invoke = (InvokeVirtual) code.instructions[0];
- assertEquals(baseSubject.getDexClass().type, invoke.getMethod().holder);
+ assertEquals(baseSubject.getDexProgramClass().type, invoke.getMethod().holder);
}
/**
@@ -355,7 +355,7 @@
DexCode code = barInSub.getMethod().getCode().asDexCode();
checkInstructions(code, ImmutableList.of(InvokeVirtual.class, ReturnVoid.class));
InvokeVirtual invoke = (InvokeVirtual) code.instructions[0];
- assertEquals(baseSubject.getDexClass().type, invoke.getMethod().holder);
+ assertEquals(baseSubject.getDexProgramClass().type, invoke.getMethod().holder);
}
/*
@@ -428,7 +428,7 @@
DexCode code = barInSub.getMethod().getCode().asDexCode();
checkInstructions(code, ImmutableList.of(InvokeVirtual.class, ReturnVoid.class));
InvokeVirtual invoke = (InvokeVirtual) code.instructions[0];
- assertEquals(baseSubject.getDexClass().type, invoke.getMethod().holder);
+ assertEquals(baseSubject.getDexProgramClass().type, invoke.getMethod().holder);
}
private AndroidApp runAndVerifyOnJvmAndArt(
diff --git a/src/test/java/com/android/tools/r8/bridgeremoval/hoisting/NonSuperclassBridgeHoistingTest.java b/src/test/java/com/android/tools/r8/bridgeremoval/hoisting/NonSuperclassBridgeHoistingTest.java
index 353a9b9..9c4a0d6 100644
--- a/src/test/java/com/android/tools/r8/bridgeremoval/hoisting/NonSuperclassBridgeHoistingTest.java
+++ b/src/test/java/com/android/tools/r8/bridgeremoval/hoisting/NonSuperclassBridgeHoistingTest.java
@@ -55,7 +55,7 @@
private void inspect(CodeInspector inspector) {
ClassSubject aClassSubject = inspector.clazz(A.class);
assertThat(aClassSubject, isPresent());
- assertEquals(0, aClassSubject.getDexClass().virtualMethods().size());
+ assertEquals(0, aClassSubject.getDexProgramClass().virtualMethods().size());
ClassSubject b1ClassSubject = inspector.clazz(B.class);
assertThat(b1ClassSubject, isPresent());
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/EmulatedInterfacesTest.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/EmulatedInterfacesTest.java
index 451a255..d767975 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/EmulatedInterfacesTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/EmulatedInterfacesTest.java
@@ -84,7 +84,7 @@
}
private void assertCollectionMethodsPresentWithCorrectDispatch(CodeInspector inspector) {
- DexClass collectionDispatch = inspector.clazz("j$.util.Collection$-EL").getDexClass();
+ DexClass collectionDispatch = inspector.clazz("j$.util.Collection$-EL").getDexProgramClass();
for (DexEncodedMethod method : collectionDispatch.methods()) {
int numCheckCast =
(int)
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/conversiontests/ConversionIntroduceInterfaceMethodTest.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/conversiontests/ConversionIntroduceInterfaceMethodTest.java
index 835d1cb..83dc73e 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/conversiontests/ConversionIntroduceInterfaceMethodTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/conversiontests/ConversionIntroduceInterfaceMethodTest.java
@@ -10,7 +10,6 @@
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.desugar.desugaredlibrary.DesugaredLibraryTestBase;
-import com.android.tools.r8.graph.DexClass;
import com.android.tools.r8.utils.AndroidApiLevel;
import com.android.tools.r8.utils.BooleanUtils;
import com.android.tools.r8.utils.StringUtils;
@@ -99,12 +98,12 @@
"com.android.tools.r8.desugar.desugaredlibrary.conversiontests")
&& !c.getOriginalName().contains("Executor")
&& !c.getOriginalName().contains("$-CC")
- && !c.getDexClass().isInterface())
+ && !c.getDexProgramClass().isInterface())
.collect(toSingle());
assertEquals(
"Missing duplicated forEach",
2,
- myCollection.getDexClass().virtualMethods().stream()
+ myCollection.getDexProgramClass().virtualMethods().stream()
.filter(m -> m.method.name.toString().equals("forEach"))
.count());
}
diff --git a/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/FullNestOnProgramPathTest.java b/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/FullNestOnProgramPathTest.java
index 55f40c4..e4447b53 100644
--- a/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/FullNestOnProgramPathTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/FullNestOnProgramPathTest.java
@@ -168,7 +168,7 @@
ImmutableList.of("NeverInline", "OutsideInliningNoAccess", "OutsideInliningWithAccess");
inspector.forAllClasses(
classSubject -> {
- DexClass dexClass = classSubject.getDexClass();
+ DexClass dexClass = classSubject.getDexProgramClass();
if (!nonNestClasses.contains(dexClass.type.getName())) {
assertTrue(dexClass.isInANest());
if (outerClassNames.contains(dexClass.type.getName())) {
diff --git a/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/Java11D8CompilationTest.java b/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/Java11D8CompilationTest.java
index adbaddc..6fdfe97 100644
--- a/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/Java11D8CompilationTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/Java11D8CompilationTest.java
@@ -32,7 +32,8 @@
}
private static void assertNoNests(CodeInspector inspector) {
- assertTrue(inspector.allClasses().stream().noneMatch(subj -> subj.getDexClass().isInANest()));
+ assertTrue(
+ inspector.allClasses().stream().noneMatch(subj -> subj.getDexProgramClass().isInANest()));
}
@Test
diff --git a/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/Java11R8BootstrapTest.java b/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/Java11R8BootstrapTest.java
index a4cc603..5a788bf 100644
--- a/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/Java11R8BootstrapTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/Java11R8BootstrapTest.java
@@ -75,9 +75,11 @@
private static void assertNests(CodeInspector inspector, boolean desugar) {
if (desugar) {
- assertTrue(inspector.allClasses().stream().noneMatch(subj -> subj.getDexClass().isInANest()));
+ assertTrue(
+ inspector.allClasses().stream().noneMatch(subj -> subj.getDexProgramClass().isInANest()));
} else {
- assertTrue(inspector.allClasses().stream().anyMatch(subj -> subj.getDexClass().isInANest()));
+ assertTrue(
+ inspector.allClasses().stream().anyMatch(subj -> subj.getDexProgramClass().isInANest()));
}
}
diff --git a/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/Java11R8CompilationTest.java b/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/Java11R8CompilationTest.java
index 06112f5..762916e 100644
--- a/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/Java11R8CompilationTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/Java11R8CompilationTest.java
@@ -41,7 +41,8 @@
private static final Path MAIN_KEEP = Paths.get("src/main/keep.txt");
private static void assertNoNests(CodeInspector inspector) {
- assertTrue(inspector.allClasses().stream().noneMatch(subj -> subj.getDexClass().isInANest()));
+ assertTrue(
+ inspector.allClasses().stream().noneMatch(subj -> subj.getDexProgramClass().isInANest()));
}
@Test
diff --git a/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestAttributesUpdateTest.java b/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestAttributesUpdateTest.java
index e0c7e12..816a233 100644
--- a/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestAttributesUpdateTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestAttributesUpdateTest.java
@@ -107,7 +107,7 @@
public static void assertNestAttributesCorrect(CodeInspector inspector) {
assertTrue(inspector.allClasses().size() > 0);
for (FoundClassSubject classSubject : inspector.allClasses()) {
- DexClass clazz = classSubject.getDexClass();
+ DexClass clazz = classSubject.getDexProgramClass();
if (clazz.isInANest()) {
if (clazz.isNestHost()) {
// All members are present with the clazz as host
@@ -116,8 +116,8 @@
ClassSubject inner = inspector.clazz(PACKAGE_NAME + memberName);
assertNotNull(
"The nest member " + memberName + " of " + clazz.type.getName() + " is missing",
- inner.getDexClass());
- assertSame(inner.getDexClass().getNestHost(), clazz.type);
+ inner.getDexProgramClass());
+ assertSame(inner.getDexProgramClass().getNestHost(), clazz.type);
}
} else {
// Nest host is present and with the clazz as member
@@ -125,9 +125,9 @@
ClassSubject host = inspector.clazz(PACKAGE_NAME + hostName);
assertNotNull(
"The nest host " + hostName + " of " + clazz.type.getName() + " is missing",
- host.getDexClass());
+ host.getDexProgramClass());
assertTrue(
- host.getDexClass().getNestMembersClassAttributes().stream()
+ host.getDexProgramClass().getNestMembersClassAttributes().stream()
.anyMatch(attr -> attr.getNestMember() == clazz.type));
}
}
diff --git a/src/test/java/com/android/tools/r8/dexfilemerger/DexMergeChecksumsFileWithNoClassesTest.java b/src/test/java/com/android/tools/r8/dexfilemerger/DexMergeChecksumsFileWithNoClassesTest.java
index 57fe4b3..c987370 100644
--- a/src/test/java/com/android/tools/r8/dexfilemerger/DexMergeChecksumsFileWithNoClassesTest.java
+++ b/src/test/java/com/android/tools/r8/dexfilemerger/DexMergeChecksumsFileWithNoClassesTest.java
@@ -65,7 +65,7 @@
inspector.getMarkers().forEach(m -> assertTrue(m.getHasChecksums()));
// It may be prudent to check that the dex file also has the encoding string, but that is
// not easily accessed.
- inspector.allClasses().forEach(c -> c.getDexClass().asProgramClass().getChecksum());
+ inspector.allClasses().forEach(c -> c.getDexProgramClass().asProgramClass().getChecksum());
}
public static class TestClass {
diff --git a/src/test/java/com/android/tools/r8/dexfilemerger/NonAsciiClassNameChecksumTest.java b/src/test/java/com/android/tools/r8/dexfilemerger/NonAsciiClassNameChecksumTest.java
index 8e4700b..b91a645 100644
--- a/src/test/java/com/android/tools/r8/dexfilemerger/NonAsciiClassNameChecksumTest.java
+++ b/src/test/java/com/android/tools/r8/dexfilemerger/NonAsciiClassNameChecksumTest.java
@@ -83,7 +83,7 @@
private void checkIncludesChecksum(CodeInspector inspector, Class<?> clazz) {
ClassSubject classSubject = inspector.clazz(getTransformedName(clazz));
assertThat(classSubject, isPresent());
- assertTrue(classSubject.getDexClass().asProgramClass().getChecksum() > 0);
+ assertTrue(classSubject.getDexProgramClass().asProgramClass().getChecksum() > 0);
}
static class TaestClass {
diff --git a/src/test/java/com/android/tools/r8/enumunboxing/FailingEnumUnboxingTest.java b/src/test/java/com/android/tools/r8/enumunboxing/FailingEnumUnboxingTest.java
index ad16ee1..0441cbf 100644
--- a/src/test/java/com/android/tools/r8/enumunboxing/FailingEnumUnboxingTest.java
+++ b/src/test/java/com/android/tools/r8/enumunboxing/FailingEnumUnboxingTest.java
@@ -82,12 +82,13 @@
}
private void assertEnumsAsExpected(CodeInspector inspector) {
- assertEquals(1, inspector.clazz(EnumInterface.class).getDexClass().interfaces.size());
+ assertEquals(1, inspector.clazz(EnumInterface.class).getDexProgramClass().interfaces.size());
assertTrue(inspector.clazz(EnumStaticField.class).uniqueFieldWithName("X").isPresent());
assertTrue(inspector.clazz(EnumInstanceField.class).uniqueFieldWithName("a").isPresent());
- assertEquals(5, inspector.clazz(EnumStaticMethod.class).getDexClass().directMethods().size());
+ assertEquals(
+ 5, inspector.clazz(EnumStaticMethod.class).getDexProgramClass().directMethods().size());
assertEquals(1, inspector.clazz(EnumVirtualMethod.class).virtualMethods().size());
}
diff --git a/src/test/java/com/android/tools/r8/enumunboxing/FailingMethodEnumUnboxingTest.java b/src/test/java/com/android/tools/r8/enumunboxing/FailingMethodEnumUnboxingTest.java
index 8e7be57..411a747 100644
--- a/src/test/java/com/android/tools/r8/enumunboxing/FailingMethodEnumUnboxingTest.java
+++ b/src/test/java/com/android/tools/r8/enumunboxing/FailingMethodEnumUnboxingTest.java
@@ -85,9 +85,10 @@
// Check all as expected (else we test nothing)
assertEquals(
- 1, inspector.clazz(InstanceFieldPutObject.class).getDexClass().instanceFields().size());
+ 1,
+ inspector.clazz(InstanceFieldPutObject.class).getDexProgramClass().instanceFields().size());
assertEquals(
- 1, inspector.clazz(StaticFieldPutObject.class).getDexClass().staticFields().size());
+ 1, inspector.clazz(StaticFieldPutObject.class).getDexProgramClass().staticFields().size());
assertTrue(inspector.clazz(FailingPhi.class).uniqueMethodWithName("switchOn").isPresent());
}
diff --git a/src/test/java/com/android/tools/r8/enumunboxing/FieldPutEnumUnboxingTest.java b/src/test/java/com/android/tools/r8/enumunboxing/FieldPutEnumUnboxingTest.java
index eedc8f1..8ab4bcf 100644
--- a/src/test/java/com/android/tools/r8/enumunboxing/FieldPutEnumUnboxingTest.java
+++ b/src/test/java/com/android/tools/r8/enumunboxing/FieldPutEnumUnboxingTest.java
@@ -56,9 +56,10 @@
.inspect(
i -> {
assertEquals(
- 1, i.clazz(InstanceFieldPut.class).getDexClass().instanceFields().size());
+ 1,
+ i.clazz(InstanceFieldPut.class).getDexProgramClass().instanceFields().size());
assertEquals(
- 1, i.clazz(StaticFieldPut.class).getDexClass().staticFields().size());
+ 1, i.clazz(StaticFieldPut.class).getDexProgramClass().staticFields().size());
});
for (Class<?> input : INPUTS) {
diff --git a/src/test/java/com/android/tools/r8/graph/GenericSignatureTest.java b/src/test/java/com/android/tools/r8/graph/GenericSignatureTest.java
index 088b075..5001645 100644
--- a/src/test/java/com/android/tools/r8/graph/GenericSignatureTest.java
+++ b/src/test/java/com/android/tools/r8/graph/GenericSignatureTest.java
@@ -101,7 +101,7 @@
//
// class <T:GenericSignatureTestClassA<T>.Y>CYY<T extends A<T>.Y> extends CY<T>
- DexClass clazz = cyy.getDexClass();
+ DexClass clazz = cyy.getDexProgramClass();
assertNotNull(clazz);
classSignature = Parser.toClassSignature(clazz, appView);
assertNotNull(classSignature);
@@ -112,14 +112,14 @@
assertNull(formalTypeParameter.interfaceBounds);
assertTrue(formalTypeParameter.classBound.isClassTypeSignature());
ClassTypeSignature classBoundSignature = formalTypeParameter.classBound.asClassTypeSignature();
- assertEquals(y.getDexClass().type, classBoundSignature.innerTypeSignature.type);
+ assertEquals(y.getDexProgramClass().type, classBoundSignature.innerTypeSignature.type);
assertEquals(1, classBoundSignature.typeArguments.size());
assertEquals(
"T", classBoundSignature.typeArguments.get(0).asTypeVariableSignature().typeVariable);
assertTrue(classSignature.superInterfaceSignatures.isEmpty());
classTypeSignature = classSignature.superClassSignature;
- assertEquals(cy.getDexClass().type, classTypeSignature.type);
+ assertEquals(cy.getDexProgramClass().type, classTypeSignature.type);
typeArguments = classTypeSignature.typeArguments;
assertEquals(1, typeArguments.size());
typeArgument = typeArguments.get(0);
@@ -159,13 +159,13 @@
FormalTypeParameter methodFormalParameter = methodTypeSignature.formalTypeParameters.get(0);
assertTrue(methodFormalParameter.classBound.isClassTypeSignature());
assertEquals(
- y.getDexClass().getType(),
+ y.getDexProgramClass().getType(),
methodFormalParameter.classBound.asClassTypeSignature().innerTypeSignature.type);
assertNotNull(methodFormalParameter.interfaceBounds);
assertEquals(1, methodFormalParameter.interfaceBounds.size());
FieldTypeSignature interfaceBound = methodFormalParameter.interfaceBounds.get(0);
assertTrue(interfaceBound.isClassTypeSignature());
- assertEquals(i.getDexClass().getType(), interfaceBound.asClassTypeSignature().type);
+ assertEquals(i.getDexProgramClass().getType(), interfaceBound.asClassTypeSignature().type);
// return type: A$Y$YY
returnType = methodTypeSignature.returnType();
@@ -186,7 +186,7 @@
assertTrue(elementSignature.isFieldTypeSignature());
assertTrue(elementSignature.asFieldTypeSignature().isClassTypeSignature());
classTypeSignature = elementSignature.asFieldTypeSignature().asClassTypeSignature();
- assertEquals(b.getDexClass().type, classTypeSignature.type);
+ assertEquals(b.getDexProgramClass().type, classTypeSignature.type);
// Function<A$Y$ZZ<TT>, A$Y$YY> convertToYY(Supplier<A$Y$ZZ<TT>>
MethodSubject convertToYY = zz.uniqueMethodWithName("convertToYY");
@@ -246,26 +246,27 @@
}
private void check_A_Y(ClassSubject a, ClassSubject y, ClassTypeSignature signature) {
- assertEquals(a.getDexClass().type, signature.type);
+ assertEquals(a.getDexProgramClass().type, signature.type);
List<FieldTypeSignature> typeArguments = signature.typeArguments;
assertEquals(1, typeArguments.size());
FieldTypeSignature typeArgument = typeArguments.get(0);
assertTrue(typeArgument.isTypeVariableSignature());
assertEquals("T", typeArgument.asTypeVariableSignature().typeVariable);
- assertEquals(y.getDexClass().type, signature.innerTypeSignature.type);
+ assertEquals(y.getDexProgramClass().type, signature.innerTypeSignature.type);
}
private void check_A_Y_YY(
ClassSubject a, ClassSubject y, ClassSubject yy, ClassTypeSignature signature) {
check_A_Y(a, y, signature);
- assertEquals(yy.getDexClass().type, signature.innerTypeSignature.innerTypeSignature.type);
+ assertEquals(
+ yy.getDexProgramClass().type, signature.innerTypeSignature.innerTypeSignature.type);
}
private void check_A_Y_ZZ(
ClassSubject a, ClassSubject y, ClassSubject zz, ClassTypeSignature signature) {
check_A_Y(a, y, signature);
ClassTypeSignature innerMost = signature.innerTypeSignature.innerTypeSignature;
- assertEquals(zz.getDexClass().type, innerMost.type);
+ assertEquals(zz.getDexProgramClass().type, innerMost.type);
List<FieldTypeSignature> typeArguments = innerMost.typeArguments;
assertEquals(1, typeArguments.size());
FieldTypeSignature typeArgument = typeArguments.get(0);
diff --git a/src/test/java/com/android/tools/r8/internal/proto/Proto2BuilderShrinkingTest.java b/src/test/java/com/android/tools/r8/internal/proto/Proto2BuilderShrinkingTest.java
index 23dc574..8c98b46 100644
--- a/src/test/java/com/android/tools/r8/internal/proto/Proto2BuilderShrinkingTest.java
+++ b/src/test/java/com/android/tools/r8/internal/proto/Proto2BuilderShrinkingTest.java
@@ -186,7 +186,8 @@
}
private void verifyMethodToInvokeValuesAreAbsent(CodeInspector outputInspector) {
- DexType methodToInvokeType = outputInspector.clazz(METHOD_TO_INVOKE_ENUM).getDexClass().type;
+ DexType methodToInvokeType =
+ outputInspector.clazz(METHOD_TO_INVOKE_ENUM).getDexProgramClass().type;
for (String main : mains) {
MethodSubject mainMethodSubject = outputInspector.clazz(main).mainMethod();
assertThat(mainMethodSubject, isPresent());
diff --git a/src/test/java/com/android/tools/r8/invalid/DuplicateDefinitionsTest.java b/src/test/java/com/android/tools/r8/invalid/DuplicateDefinitionsTest.java
index 60975b5..3c3aee6 100644
--- a/src/test/java/com/android/tools/r8/invalid/DuplicateDefinitionsTest.java
+++ b/src/test/java/com/android/tools/r8/invalid/DuplicateDefinitionsTest.java
@@ -59,11 +59,11 @@
assertThat(clazz, isPresent());
// There are two direct methods, but only because one is <init>.
- assertEquals(2, clazz.getDexClass().directMethods().size());
+ assertEquals(2, clazz.getDexProgramClass().directMethods().size());
assertThat(clazz.method("void", "<init>", ImmutableList.of()), isPresent());
// There is only one virtual method.
- assertEquals(1, clazz.getDexClass().virtualMethods().size());
+ assertEquals(1, clazz.getDexProgramClass().virtualMethods().size());
}
@Test
@@ -94,7 +94,7 @@
assertThat(clazz, isPresent());
// Redundant fields have been removed.
- assertEquals(1, clazz.getDexClass().instanceFields().size());
- assertEquals(1, clazz.getDexClass().staticFields().size());
+ assertEquals(1, clazz.getDexProgramClass().instanceFields().size());
+ assertEquals(1, clazz.getDexProgramClass().staticFields().size());
}
}
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/outliner/b111893131/B111893131.java b/src/test/java/com/android/tools/r8/ir/optimize/outliner/b111893131/B111893131.java
index cebcd05..ed54024 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/outliner/b111893131/B111893131.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/outliner/b111893131/B111893131.java
@@ -89,7 +89,7 @@
CodeInspector inspector = new CodeInspector(app);
ClassSubject classSubject = inspector.clazz(TestClass.class);
assertThat(classSubject, isPresent());
- DexClass clazz = classSubject.getDexClass();
+ DexClass clazz = classSubject.getDexProgramClass();
clazz.forEachMethod(encodedMethod -> {
Code code = encodedMethod.getCode();
assertTrue(code.isDexCode());
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/staticizer/ClassStaticizerTest.java b/src/test/java/com/android/tools/r8/ir/optimize/staticizer/ClassStaticizerTest.java
index b5ad06f..fc87e9b 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/staticizer/ClassStaticizerTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/staticizer/ClassStaticizerTest.java
@@ -346,7 +346,7 @@
private List<String> instanceMethods(ClassSubject clazz) {
assertNotNull(clazz);
assertThat(clazz, isPresent());
- return Streams.stream(clazz.getDexClass().methods())
+ return Streams.stream(clazz.getDexProgramClass().methods())
.filter(method -> !method.isStatic())
.map(method -> method.method.toSourceString())
.sorted()
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/unusedinterfaces/UnusedInterfaceRemovalTest.java b/src/test/java/com/android/tools/r8/ir/optimize/unusedinterfaces/UnusedInterfaceRemovalTest.java
index d2fa3f8..8b2c2a1 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/unusedinterfaces/UnusedInterfaceRemovalTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/unusedinterfaces/UnusedInterfaceRemovalTest.java
@@ -59,11 +59,13 @@
ClassSubject aClassSubject = inspector.clazz(A.class);
assertThat(aClassSubject, isPresent());
- assertEquals(2, aClassSubject.getDexClass().interfaces.size());
+ assertEquals(2, aClassSubject.getDexProgramClass().interfaces.size());
assertEquals(
- aClassSubject.getDexClass().interfaces.values[0], iClassSubject.getDexClass().type);
+ aClassSubject.getDexProgramClass().interfaces.values[0],
+ iClassSubject.getDexProgramClass().type);
assertEquals(
- aClassSubject.getDexClass().interfaces.values[1], jClassSubject.getDexClass().type);
+ aClassSubject.getDexProgramClass().interfaces.values[1],
+ jClassSubject.getDexProgramClass().type);
}
static class TestClass {
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/unusedinterfaces/UnusedInterfaceWithDefaultMethodTest.java b/src/test/java/com/android/tools/r8/ir/optimize/unusedinterfaces/UnusedInterfaceWithDefaultMethodTest.java
index 90761db..9a342e1 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/unusedinterfaces/UnusedInterfaceWithDefaultMethodTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/unusedinterfaces/UnusedInterfaceWithDefaultMethodTest.java
@@ -60,9 +60,10 @@
// Verify that J is not considered an unused interface, since it provides an implementation of
// m() that happens to be used.
- assertEquals(1, aClassSubject.getDexClass().interfaces.size());
+ assertEquals(1, aClassSubject.getDexProgramClass().interfaces.size());
assertEquals(
- jClassSubject.getDexClass().type, aClassSubject.getDexClass().interfaces.values[0]);
+ jClassSubject.getDexProgramClass().type,
+ aClassSubject.getDexProgramClass().interfaces.values[0]);
}
static class TestClass {
diff --git a/src/test/java/com/android/tools/r8/kotlin/KotlinClassInlinerTest.java b/src/test/java/com/android/tools/r8/kotlin/KotlinClassInlinerTest.java
index 5d55ba2..d8419ca 100644
--- a/src/test/java/com/android/tools/r8/kotlin/KotlinClassInlinerTest.java
+++ b/src/test/java/com/android/tools/r8/kotlin/KotlinClassInlinerTest.java
@@ -66,10 +66,11 @@
}
private static Predicate<DexType> createLambdaCheck(CodeInspector inspector) {
- Set<DexType> lambdaClasses = inspector.allClasses().stream()
- .filter(clazz -> isLambda(clazz.getDexClass()))
- .map(clazz -> clazz.getDexClass().type)
- .collect(Collectors.toSet());
+ Set<DexType> lambdaClasses =
+ inspector.allClasses().stream()
+ .filter(clazz -> isLambda(clazz.getDexProgramClass()))
+ .map(clazz -> clazz.getDexProgramClass().type)
+ .collect(Collectors.toSet());
return lambdaClasses::contains;
}
diff --git a/src/test/java/com/android/tools/r8/kotlin/lambda/KotlinLambdaMergingTest.java b/src/test/java/com/android/tools/r8/kotlin/lambda/KotlinLambdaMergingTest.java
index 031163f..6aac431 100644
--- a/src/test/java/com/android/tools/r8/kotlin/lambda/KotlinLambdaMergingTest.java
+++ b/src/test/java/com/android/tools/r8/kotlin/lambda/KotlinLambdaMergingTest.java
@@ -182,16 +182,17 @@
}
private void initGroupsAndLambdas() {
- codeInspector.forAllClasses(clazz -> {
- DexClass dexClass = clazz.getDexClass();
- if (isLambdaOrGroup(dexClass)) {
- if (isLambdaGroupClass(dexClass)) {
- groups.add(dexClass);
- } else {
- lambdas.add(dexClass);
- }
- }
- });
+ codeInspector.forAllClasses(
+ clazz -> {
+ DexClass dexClass = clazz.getDexProgramClass();
+ if (isLambdaOrGroup(dexClass)) {
+ if (isLambdaGroupClass(dexClass)) {
+ groups.add(dexClass);
+ } else {
+ lambdas.add(dexClass);
+ }
+ }
+ });
}
void assertLambdaGroups(Group... groups) {
diff --git a/src/test/java/com/android/tools/r8/kotlin/metadata/MetadataRewriteInTypeAliasTest.java b/src/test/java/com/android/tools/r8/kotlin/metadata/MetadataRewriteInTypeAliasTest.java
index 51854f7..26ea8de 100644
--- a/src/test/java/com/android/tools/r8/kotlin/metadata/MetadataRewriteInTypeAliasTest.java
+++ b/src/test/java/com/android/tools/r8/kotlin/metadata/MetadataRewriteInTypeAliasTest.java
@@ -185,8 +185,8 @@
// Check that typealias API = Itf has been rewritten correctly.
KmTypeAliasSubject api = kmPackage.kmTypeAliasWithUniqueName("API");
assertThat(api, isPresent());
- assertThat(api.expandedType(), isDexClass(itf.getDexClass()));
- assertThat(api.underlyingType(), isDexClass(itf.getDexClass()));
+ assertThat(api.expandedType(), isDexClass(itf.getDexProgramClass()));
+ assertThat(api.underlyingType(), isDexClass(itf.getDexProgramClass()));
// Check that the type-alias APIs exist and that the expanded type is renamed.
KmTypeAliasSubject apIs = kmPackage.kmTypeAliasWithUniqueName("APIs");
@@ -194,7 +194,7 @@
assertEquals(arrayDescriptor, apIs.expandedType().descriptor());
assertEquals(1, apIs.expandedType().typeArguments().size());
KmTypeProjectionSubject expandedArgument = apIs.expandedType().typeArguments().get(0);
- assertThat(expandedArgument.type(), isDexClass(itf.getDexClass()));
+ assertThat(expandedArgument.type(), isDexClass(itf.getDexProgramClass()));
assertEquals(myAliasedArray.descriptor(packageName), apIs.underlyingType().descriptor());
assertEquals(1, apIs.underlyingType().typeArguments().size());
@@ -219,15 +219,15 @@
// typealias Arr1D<K> = Arr<K>
KmTypeAliasSubject arr1D = kmPackage.kmTypeAliasWithUniqueName("Arr1D");
assertThat(arr1D, isPresent());
- assertThat(arr1D.expandedType(), isDexClass(arr.getDexClass()));
+ assertThat(arr1D.expandedType(), isDexClass(arr.getDexProgramClass()));
// typealias Arr2D<K> = Arr1D<Arr1D<K>>
KmTypeAliasSubject arr2D = kmPackage.kmTypeAliasWithUniqueName("Arr2D");
assertThat(arr2D, isPresent());
- assertThat(arr2D.expandedType(), isDexClass(arr.getDexClass()));
+ assertThat(arr2D.expandedType(), isDexClass(arr.getDexProgramClass()));
assertEquals(1, arr2D.expandedType().typeArguments().size());
KmTypeProjectionSubject arr2DexpandedArg = arr2D.expandedType().typeArguments().get(0);
- assertThat(arr2DexpandedArg.type(), isDexClass(arr.getDexClass()));
+ assertThat(arr2DexpandedArg.type(), isDexClass(arr.getDexProgramClass()));
assertEquals(arr1D.descriptor(packageName), arr2D.underlyingType().descriptor());
assertEquals(1, arr2D.underlyingType().typeArguments().size());
@@ -282,6 +282,6 @@
assertThat(classWithCompanionC, isPresent());
ClassSubject companionClazz = inspector.clazz(packageName + ".ClassWithCompanion$Companion");
- assertThat(classWithCompanionC.expandedType(), isDexClass(companionClazz.getDexClass()));
+ assertThat(classWithCompanionC.expandedType(), isDexClass(companionClazz.getDexProgramClass()));
}
}
diff --git a/src/test/java/com/android/tools/r8/kotlin/metadata/MetadataRewriteInTypeArgumentsTest.java b/src/test/java/com/android/tools/r8/kotlin/metadata/MetadataRewriteInTypeArgumentsTest.java
index a158b99..2e3dd21 100644
--- a/src/test/java/com/android/tools/r8/kotlin/metadata/MetadataRewriteInTypeArgumentsTest.java
+++ b/src/test/java/com/android/tools/r8/kotlin/metadata/MetadataRewriteInTypeArgumentsTest.java
@@ -213,12 +213,13 @@
KmTypeParameterSubject methodTypeParameter = funGenericsWithUpperBounds.typeParameters().get(0);
List<KmTypeSubject> upperBounds = methodTypeParameter.upperBounds();
assertEquals(2, upperBounds.size());
- assertThat(upperBounds.get(0), isDexClass(someClass.getDexClass()));
+ assertThat(upperBounds.get(0), isDexClass(someClass.getDexProgramClass()));
assertEquals(KT_COMPARABLE, upperBounds.get(1).descriptor());
// Check that the upper bound has a type argument.
assertEquals(1, upperBounds.get(1).typeArguments().size());
assertThat(
- upperBounds.get(1).typeArguments().get(0).type(), isDexClass(someClass.getDexClass()));
+ upperBounds.get(1).typeArguments().get(0).type(),
+ isDexClass(someClass.getDexProgramClass()));
}
private void inspectCoVariant(CodeInspector inspector) {
diff --git a/src/test/java/com/android/tools/r8/naming/IdentifierMinifierTest.java b/src/test/java/com/android/tools/r8/naming/IdentifierMinifierTest.java
index 627a059..ad8c526 100644
--- a/src/test/java/com/android/tools/r8/naming/IdentifierMinifierTest.java
+++ b/src/test/java/com/android/tools/r8/naming/IdentifierMinifierTest.java
@@ -148,7 +148,7 @@
assertEquals(countInABar, renamedYetFoundIdentifierCount);
renamedYetFoundIdentifierCount =
- countRenamedClassIdentifier(inspector, aClass.getDexClass().staticFields());
+ countRenamedClassIdentifier(inspector, aClass.getDexProgramClass().staticFields());
assertEquals(countInAFields, renamedYetFoundIdentifierCount);
}
@@ -208,7 +208,7 @@
assertEquals(0, renamedYetFoundIdentifierCount);
renamedYetFoundIdentifierCount =
- countRenamedClassIdentifier(inspector, aClass.getDexClass().staticFields());
+ countRenamedClassIdentifier(inspector, aClass.getDexProgramClass().staticFields());
assertEquals(0, renamedYetFoundIdentifierCount);
}
@@ -229,7 +229,7 @@
assertEquals(1, renamedYetFoundIdentifierCount);
renamedYetFoundIdentifierCount =
- countRenamedClassIdentifier(inspector, aClass.getDexClass().staticFields());
+ countRenamedClassIdentifier(inspector, aClass.getDexProgramClass().staticFields());
assertEquals(2, renamedYetFoundIdentifierCount);
}
diff --git a/src/test/java/com/android/tools/r8/naming/NonMemberClassTest.java b/src/test/java/com/android/tools/r8/naming/NonMemberClassTest.java
index 04c39b4..f777cda 100644
--- a/src/test/java/com/android/tools/r8/naming/NonMemberClassTest.java
+++ b/src/test/java/com/android/tools/r8/naming/NonMemberClassTest.java
@@ -117,9 +117,12 @@
}
assertEquals(
expectedNumberOfNonMemberInnerClasses,
- inspector.allClasses().stream().filter(classSubject ->
- classSubject.getDexClass().isLocalClass()
- || classSubject.getDexClass().isAnonymousClass()).count());
+ inspector.allClasses().stream()
+ .filter(
+ classSubject ->
+ classSubject.getDexProgramClass().isLocalClass()
+ || classSubject.getDexProgramClass().isAnonymousClass())
+ .count());
}
}
diff --git a/src/test/java/com/android/tools/r8/naming/RenameSourceFileRetraceTest.java b/src/test/java/com/android/tools/r8/naming/RenameSourceFileRetraceTest.java
index 4de8e4b..6f5aade 100644
--- a/src/test/java/com/android/tools/r8/naming/RenameSourceFileRetraceTest.java
+++ b/src/test/java/com/android/tools/r8/naming/RenameSourceFileRetraceTest.java
@@ -125,7 +125,7 @@
private void inspectSourceFileForClass(CodeInspector inspector, Class<?> clazz, String expected) {
ClassSubject classToBeMinifiedSubject = inspector.clazz(clazz);
assertThat(classToBeMinifiedSubject, isPresent());
- DexClass dexClass = classToBeMinifiedSubject.getDexClass();
+ DexClass dexClass = classToBeMinifiedSubject.getDexProgramClass();
String actualString = dexClass.sourceFile == null ? null : dexClass.sourceFile.toString();
assertEquals(expected, actualString);
}
diff --git a/src/test/java/com/android/tools/r8/regress/B76025099.java b/src/test/java/com/android/tools/r8/regress/B76025099.java
index 5c5f494..59cfbe8 100644
--- a/src/test/java/com/android/tools/r8/regress/B76025099.java
+++ b/src/test/java/com/android/tools/r8/regress/B76025099.java
@@ -143,7 +143,7 @@
FieldAccessInstructionSubject fieldAccessInstruction =
(FieldAccessInstructionSubject) instruction;
assertEquals("name", fieldAccessInstruction.name());
- assertTrue(fieldAccessInstruction.holder().is(impl.getDexClass().type.toString()));
+ assertTrue(fieldAccessInstruction.holder().is(impl.getDexProgramClass().type.toString()));
assertNotNull(findInstructionOrNull(iterator, InstructionSubject::isReturnVoid));
diff --git a/src/test/java/com/android/tools/r8/regress/Regress37740372.java b/src/test/java/com/android/tools/r8/regress/Regress37740372.java
index 34e4f3e..8047716 100644
--- a/src/test/java/com/android/tools/r8/regress/Regress37740372.java
+++ b/src/test/java/com/android/tools/r8/regress/Regress37740372.java
@@ -126,7 +126,7 @@
private void assertIsJavaLangObjet(ClassSubject clazz) {
assertTrue(clazz.getOriginalDescriptor().equals("Ljava/lang/Object;"));
- assertNull(clazz.getDexClass().superType);
+ assertNull(clazz.getDexProgramClass().superType);
}
private void checkApplicationOnlyHasJavaLangObject(AndroidApp app) throws Throwable {
diff --git a/src/test/java/com/android/tools/r8/relocator/RelocatorTest.java b/src/test/java/com/android/tools/r8/relocator/RelocatorTest.java
index b47b279..9690ea6 100644
--- a/src/test/java/com/android/tools/r8/relocator/RelocatorTest.java
+++ b/src/test/java/com/android/tools/r8/relocator/RelocatorTest.java
@@ -110,7 +110,8 @@
for (FoundClassSubject clazz : originalInspector.allClasses()) {
ClassSubject relocatedClass = relocatedInspector.clazz(clazz.getFinalName());
assertThat(relocatedClass, isPresent());
- assertEquals(clazz.getDexClass().sourceFile, relocatedClass.getDexClass().sourceFile);
+ assertEquals(
+ clazz.getDexProgramClass().sourceFile, relocatedClass.getDexProgramClass().sourceFile);
for (FoundMethodSubject originalMethod : clazz.allMethods()) {
MethodSubject relocatedMethod = relocatedClass.method(originalMethod.asMethodReference());
assertThat(relocatedMethod, isPresent());
@@ -195,7 +196,7 @@
int packageNameCounter = 0;
// Generate a mapping for each package name directly below com.android.tools.r8.
for (FoundClassSubject clazz : inspector.allClasses()) {
- String packageName = clazz.getDexClass().getType().getPackageName();
+ String packageName = clazz.getDexProgramClass().getType().getPackageName();
String prefix = "com.android.tools.r8.";
if (!packageName.startsWith(prefix)) {
continue;
@@ -280,8 +281,8 @@
for (FoundClassSubject originalSubject : originalInspector.allClasses()) {
ClassSubject relocatedSubject = relocatedInspector.clazz(originalSubject.getFinalName());
assertThat(relocatedSubject, isPresent());
- DexClass originalClass = originalSubject.getDexClass();
- DexClass relocatedClass = relocatedSubject.getDexClass();
+ DexClass originalClass = originalSubject.getDexProgramClass();
+ DexClass relocatedClass = relocatedSubject.getDexProgramClass();
assertEquals(originalClass.isNestHost(), relocatedClass.isNestHost());
assertEquals(originalClass.isNestMember(), relocatedClass.isNestMember());
if (originalClass.isInANest()) {
diff --git a/src/test/java/com/android/tools/r8/shaking/AsterisksTest.java b/src/test/java/com/android/tools/r8/shaking/AsterisksTest.java
index 795ec4d..7261198 100644
--- a/src/test/java/com/android/tools/r8/shaking/AsterisksTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/AsterisksTest.java
@@ -99,7 +99,7 @@
ClassSubject classSubject = codeInspector.clazz(B111974287.class);
assertThat(classSubject, isPresent());
assertThat(classSubject, not(isRenamed()));
- DexClass clazz = classSubject.getDexClass();
+ DexClass clazz = classSubject.getDexProgramClass();
assertEquals(3, clazz.virtualMethods().size());
for (DexEncodedMethod encodedMethod : clazz.virtualMethods()) {
assertTrue(encodedMethod.method.name.toString().startsWith("foo"));
@@ -140,7 +140,7 @@
ClassSubject classSubject = codeInspector.clazz(B111974287.class);
assertThat(classSubject, isPresent());
assertThat(classSubject, not(isRenamed()));
- DexClass clazz = classSubject.getDexClass();
+ DexClass clazz = classSubject.getDexProgramClass();
assertEquals(3, clazz.virtualMethods().size());
for (DexEncodedMethod encodedMethod : clazz.virtualMethods()) {
assertTrue(encodedMethod.method.name.toString().startsWith("foo"));
@@ -162,7 +162,7 @@
ClassSubject classSubject = codeInspector.clazz(B111974287.class);
assertThat(classSubject, isPresent());
assertThat(classSubject, not(isRenamed()));
- DexClass clazz = classSubject.getDexClass();
+ DexClass clazz = classSubject.getDexProgramClass();
assertEquals(3, clazz.virtualMethods().size());
for (DexEncodedMethod encodedMethod : clazz.virtualMethods()) {
assertTrue(encodedMethod.method.name.toString().startsWith("foo"));
diff --git a/src/test/java/com/android/tools/r8/shaking/TreeShakingTest.java b/src/test/java/com/android/tools/r8/shaking/TreeShakingTest.java
index 0b246a5..8365345 100644
--- a/src/test/java/com/android/tools/r8/shaking/TreeShakingTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/TreeShakingTest.java
@@ -135,8 +135,10 @@
}
protected static void checkSameStructure(CodeInspector ref, CodeInspector inspector) {
- ref.forAllClasses(refClazz -> checkSameStructure(refClazz,
- inspector.clazz(refClazz.getDexClass().toSourceString())));
+ ref.forAllClasses(
+ refClazz ->
+ checkSameStructure(
+ refClazz, inspector.clazz(refClazz.getDexProgramClass().toSourceString())));
}
private static void checkSameStructure(ClassSubject refClazz, ClassSubject clazz) {
@@ -149,7 +151,10 @@
MethodSignature signature = refMethod.getOriginalSignature();
// Don't check for existence of class initializers, as the code optimization can remove them.
if (!refMethod.isClassInitializer()) {
- Assert.assertTrue("Missing Method: " + clazz.getDexClass().toSourceString() + "."
+ Assert.assertTrue(
+ "Missing Method: "
+ + clazz.getDexProgramClass().toSourceString()
+ + "."
+ signature.toString(),
clazz.method(signature).isPresent());
}
diff --git a/src/test/java/com/android/tools/r8/shaking/annotations/PrunedOrMergedAnnotationTest.java b/src/test/java/com/android/tools/r8/shaking/annotations/PrunedOrMergedAnnotationTest.java
index 9b11b86..16c7d4f 100644
--- a/src/test/java/com/android/tools/r8/shaking/annotations/PrunedOrMergedAnnotationTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/annotations/PrunedOrMergedAnnotationTest.java
@@ -59,7 +59,7 @@
.inspect(
inspector -> {
assertThat(inspector.clazz(A.class), not(isPresent()));
- DexType mergedType = inspector.clazz(B.class).getDexClass().type;
+ DexType mergedType = inspector.clazz(B.class).getDexProgramClass().type;
ClassSubject classC = inspector.clazz(C.class);
assertThat(classC, isPresent());
DexEncodedAnnotation annotation =
diff --git a/src/test/java/com/android/tools/r8/shaking/attributes/KeepAttributesDotsTest.java b/src/test/java/com/android/tools/r8/shaking/attributes/KeepAttributesDotsTest.java
index 5a978c6..1caf4f2 100644
--- a/src/test/java/com/android/tools/r8/shaking/attributes/KeepAttributesDotsTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/attributes/KeepAttributesDotsTest.java
@@ -69,12 +69,14 @@
private void inspect(CodeInspector inspector) {
ClassSubject clazz = inspector.clazz(Main.class);
- assertTrue(clazz.getDexClass().annotations().isEmpty());
+ assertTrue(clazz.getDexProgramClass().annotations().isEmpty());
MethodSubject main = clazz.uniqueMethodWithName("main");
assertTrue(main.getMethod().annotations().isEmpty());
FieldSubject field = clazz.uniqueFieldWithName("field");
assertTrue(field.getField().annotations().isEmpty());
- assertTrue(clazz.getDexClass().sourceFile == null || clazz.getDexClass().sourceFile.size == 0);
+ assertTrue(
+ clazz.getDexProgramClass().sourceFile == null
+ || clazz.getDexProgramClass().sourceFile.size == 0);
assertNull(main.getLineNumberTable());
assertTrue(main.getLocalVariableTable().isEmpty());
}
diff --git a/src/test/java/com/android/tools/r8/shaking/examples/TreeShaking15Test.java b/src/test/java/com/android/tools/r8/shaking/examples/TreeShaking15Test.java
index 49af47a..2b5cd16 100644
--- a/src/test/java/com/android/tools/r8/shaking/examples/TreeShaking15Test.java
+++ b/src/test/java/com/android/tools/r8/shaking/examples/TreeShaking15Test.java
@@ -55,7 +55,7 @@
ImmutableList.of("pqr", "vw$", "abc", "def", "stu", "ghi", "jkl", "ea", "xyz_", "mno");
private static void checkClassAndMemberInDictionary(ClassSubject clazz) {
- String name = clazz.getDexClass().type.getName();
+ String name = clazz.getDexProgramClass().type.getName();
if (!names.contains(name) && !name.equals("Shaking")) {
throw new AssertionError();
}
diff --git a/src/test/java/com/android/tools/r8/shaking/examples/TreeShakingAnnotationremovalTest.java b/src/test/java/com/android/tools/r8/shaking/examples/TreeShakingAnnotationremovalTest.java
index 52a756b..198b253 100644
--- a/src/test/java/com/android/tools/r8/shaking/examples/TreeShakingAnnotationremovalTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/examples/TreeShakingAnnotationremovalTest.java
@@ -70,25 +70,25 @@
private void annotationRemovalHasNoInnerClassAnnotations(CodeInspector inspector) {
ClassSubject outer = inspector.clazz("annotationremoval.OuterClass");
Assert.assertTrue(outer.isPresent());
- Assert.assertTrue(outer.getDexClass().getInnerClasses().isEmpty());
+ Assert.assertTrue(outer.getDexProgramClass().getInnerClasses().isEmpty());
ClassSubject inner = inspector.clazz("annotationremoval.OuterClass$InnerClass");
Assert.assertTrue(inner.isPresent());
- Assert.assertNull(inner.getDexClass().getEnclosingMethod());
- Assert.assertTrue(inner.getDexClass().getInnerClasses().isEmpty());
+ Assert.assertNull(inner.getDexProgramClass().getEnclosingMethod());
+ Assert.assertTrue(inner.getDexProgramClass().getInnerClasses().isEmpty());
ClassSubject anonymous = inspector.clazz("annotationremoval.OuterClass$1");
Assert.assertTrue(anonymous.isPresent());
- Assert.assertNull(anonymous.getDexClass().getEnclosingMethod());
- Assert.assertTrue(anonymous.getDexClass().getInnerClasses().isEmpty());
+ Assert.assertNull(anonymous.getDexProgramClass().getEnclosingMethod());
+ Assert.assertTrue(anonymous.getDexProgramClass().getInnerClasses().isEmpty());
ClassSubject local = inspector.clazz("annotationremoval.OuterClass$1LocalMagic");
Assert.assertTrue(local.isPresent());
- Assert.assertNull(local.getDexClass().getEnclosingMethod());
- Assert.assertTrue(local.getDexClass().getInnerClasses().isEmpty());
+ Assert.assertNull(local.getDexProgramClass().getEnclosingMethod());
+ Assert.assertTrue(local.getDexProgramClass().getInnerClasses().isEmpty());
}
private void annotationRemovalHasAllInnerClassAnnotations(CodeInspector inspector) {
ClassSubject outer = inspector.clazz("annotationremoval.OuterClass");
Assert.assertTrue(outer.isPresent());
- Assert.assertFalse(outer.getDexClass().getInnerClasses().isEmpty());
+ Assert.assertFalse(outer.getDexProgramClass().getInnerClasses().isEmpty());
ClassSubject inner = inspector.clazz("annotationremoval.OuterClass$InnerClass");
Assert.assertTrue(inner.isPresent());
Assert.assertTrue(inner.isMemberClass());
diff --git a/src/test/java/com/android/tools/r8/shaking/forceproguardcompatibility/ForceProguardCompatibilityTest.java b/src/test/java/com/android/tools/r8/shaking/forceproguardcompatibility/ForceProguardCompatibilityTest.java
index ee8629f..91cd90c 100644
--- a/src/test/java/com/android/tools/r8/shaking/forceproguardcompatibility/ForceProguardCompatibilityTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/forceproguardcompatibility/ForceProguardCompatibilityTest.java
@@ -119,8 +119,7 @@
// The test contains only a member class so the enclosing-method attribute will be null.
assertEquals(
- forceProguardCompatibility,
- !clazz.getDexClass().getInnerClasses().isEmpty());
+ forceProguardCompatibility, !clazz.getDexProgramClass().getInnerClasses().isEmpty());
assertEquals(forceProguardCompatibility || keepAnnotations,
clazz.annotation(annotationClass.getCanonicalName()).isPresent());
}
@@ -447,9 +446,9 @@
ClassSubject clazz = inspector.clazz(TestKeepAttributes.class);
assertThat(clazz, isPresent());
if (innerClasses || enclosingMethod) {
- assertFalse(clazz.getDexClass().getInnerClasses().isEmpty());
+ assertFalse(clazz.getDexProgramClass().getInnerClasses().isEmpty());
} else {
- assertTrue(clazz.getDexClass().getInnerClasses().isEmpty());
+ assertTrue(clazz.getDexProgramClass().getInnerClasses().isEmpty());
}
}
diff --git a/src/test/java/com/android/tools/r8/shaking/ifrule/ConsequentRootSetWithSatisfiedDependentItemsTest.java b/src/test/java/com/android/tools/r8/shaking/ifrule/ConsequentRootSetWithSatisfiedDependentItemsTest.java
index f65d00b..040b2d4 100644
--- a/src/test/java/com/android/tools/r8/shaking/ifrule/ConsequentRootSetWithSatisfiedDependentItemsTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/ifrule/ConsequentRootSetWithSatisfiedDependentItemsTest.java
@@ -50,7 +50,7 @@
private void inspect(CodeInspector inspector) {
ClassSubject aClassSubject = inspector.clazz(A.class);
assertThat(aClassSubject, isPresent());
- assertFalse(aClassSubject.getDexClass().isAbstract());
+ assertFalse(aClassSubject.getDexProgramClass().isAbstract());
}
static class TestClass {
diff --git a/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/ExtendsMergedTypeDirectlyTest.java b/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/ExtendsMergedTypeDirectlyTest.java
index caa6f59..b6ab4b4 100644
--- a/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/ExtendsMergedTypeDirectlyTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/ExtendsMergedTypeDirectlyTest.java
@@ -51,7 +51,8 @@
// Check that TestClass no longer extends C.
ClassSubject testClassSubject = inspector.clazz(TestClass.class);
assertThat(testClassSubject, isPresent());
- assertEquals("java.lang.Object", testClassSubject.getDexClass().superType.toSourceString());
+ assertEquals(
+ "java.lang.Object", testClassSubject.getDexProgramClass().superType.toSourceString());
// Check that C is no longer present.
assertThat(inspector.clazz(C.class), not(isPresent()));
diff --git a/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/ExtendsMergedTypeIndirectlyTest.java b/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/ExtendsMergedTypeIndirectlyTest.java
index 7f6a1c6..ad6678c 100644
--- a/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/ExtendsMergedTypeIndirectlyTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/ExtendsMergedTypeIndirectlyTest.java
@@ -47,6 +47,7 @@
// Verify that TestClass still inherits from B.
ClassSubject testClassSubject = inspector.clazz(TestClass.class);
- assertEquals(B.class.getTypeName(), testClassSubject.getDexClass().superType.toSourceString());
+ assertEquals(
+ B.class.getTypeName(), testClassSubject.getDexProgramClass().superType.toSourceString());
}
}
diff --git a/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/ImplementsMergedTypeDirectlyTest.java b/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/ImplementsMergedTypeDirectlyTest.java
index ec06ebc..5c23b99 100644
--- a/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/ImplementsMergedTypeDirectlyTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/ImplementsMergedTypeDirectlyTest.java
@@ -62,7 +62,7 @@
// Check that TestClass no longer implements K.
ClassSubject testClassSubject = inspector.clazz(TestClass.class);
assertThat(testClassSubject, isPresent());
- assertTrue(testClassSubject.getDexClass().interfaces.isEmpty());
+ assertTrue(testClassSubject.getDexProgramClass().interfaces.isEmpty());
// Check that K is no longer present.
assertThat(inspector.clazz(K.class), not(isPresent()));
diff --git a/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/ImplementsMergedTypeIndirectlyTest.java b/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/ImplementsMergedTypeIndirectlyTest.java
index 2b76994..2f59834 100644
--- a/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/ImplementsMergedTypeIndirectlyTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/ImplementsMergedTypeIndirectlyTest.java
@@ -63,6 +63,7 @@
// Verify that TestClass still implements J.
ClassSubject testClassSubject = inspector.clazz(TestClass.class);
- assertEquals(J.class.getTypeName(), testClassSubject.getDexClass().interfaces.toSourceString());
+ assertEquals(
+ J.class.getTypeName(), testClassSubject.getDexProgramClass().interfaces.toSourceString());
}
}
diff --git a/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/MergedFieldTypeTest.java b/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/MergedFieldTypeTest.java
index fd4a6a7..7ea419c 100644
--- a/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/MergedFieldTypeTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/MergedFieldTypeTest.java
@@ -102,7 +102,8 @@
if (enableVerticalClassMerging) {
// Verify that SuperTestClass has been merged into TestClass.
assertThat(inspector.clazz(SuperTestClass.class), not(isPresent()));
- assertEquals("java.lang.Object", testClassSubject.getDexClass().superType.toSourceString());
+ assertEquals(
+ "java.lang.Object", testClassSubject.getDexProgramClass().superType.toSourceString());
// Verify that TestClass.field has been removed.
assertEquals(1, testClassSubject.allFields().size());
diff --git a/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/MergedParameterTypeTest.java b/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/MergedParameterTypeTest.java
index 99897fc..3961905 100644
--- a/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/MergedParameterTypeTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/MergedParameterTypeTest.java
@@ -104,7 +104,8 @@
if (enableVerticalClassMerging) {
// Verify that SuperTestClass has been merged into TestClass.
assertThat(inspector.clazz(SuperTestClass.class), not(isPresent()));
- assertEquals("java.lang.Object", testClassSubject.getDexClass().superType.toSourceString());
+ assertEquals(
+ "java.lang.Object", testClassSubject.getDexProgramClass().superType.toSourceString());
// Verify that TestClass.method has been removed.
List<FoundMethodSubject> methods =
diff --git a/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/MergedReturnTypeTest.java b/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/MergedReturnTypeTest.java
index 47f1c08..9173e66 100644
--- a/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/MergedReturnTypeTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/MergedReturnTypeTest.java
@@ -120,7 +120,8 @@
if (enableVerticalClassMerging) {
// Verify that SuperTestClass has been merged into TestClass.
assertThat(inspector.clazz(SuperTestClass.class), not(isPresent()));
- assertEquals("java.lang.Object", testClassSubject.getDexClass().superType.toSourceString());
+ assertEquals(
+ "java.lang.Object", testClassSubject.getDexProgramClass().superType.toSourceString());
// Verify that TestClass.method has been removed.
List<FoundMethodSubject> methods =
diff --git a/src/test/java/com/android/tools/r8/smali/OutlineTest.java b/src/test/java/com/android/tools/r8/smali/OutlineTest.java
index e736ea7..09c1356 100644
--- a/src/test/java/com/android/tools/r8/smali/OutlineTest.java
+++ b/src/test/java/com/android/tools/r8/smali/OutlineTest.java
@@ -865,13 +865,13 @@
CodeInspector inspector = new CodeInspector(processedApplication);
ClassSubject clazz = inspector.clazz(OutlineOptions.CLASS_NAME);
assertTrue(clazz.isPresent());
- assertEquals(3, clazz.getDexClass().directMethods().size());
+ assertEquals(3, clazz.getDexProgramClass().directMethods().size());
// Collect the return types of the putlines for the body of method1 and method2.
List<DexType> r = new ArrayList<>();
- for (int i = 0; i < clazz.getDexClass().directMethods().size(); i++) {
- if (clazz.getDexClass().directMethods().get(i).getCode().asDexCode().instructions[0]
+ for (int i = 0; i < clazz.getDexProgramClass().directMethods().size(); i++) {
+ if (clazz.getDexProgramClass().directMethods().get(i).getCode().asDexCode().instructions[0]
instanceof InvokeVirtual) {
- r.add(clazz.getDexClass().directMethods().get(i).method.proto.returnType);
+ r.add(clazz.getDexProgramClass().directMethods().get(i).method.proto.returnType);
}
}
assert r.size() == 2;
diff --git a/src/test/java/com/android/tools/r8/smali/SmaliTestBase.java b/src/test/java/com/android/tools/r8/smali/SmaliTestBase.java
index 6aad725..36c7766 100644
--- a/src/test/java/com/android/tools/r8/smali/SmaliTestBase.java
+++ b/src/test/java/com/android/tools/r8/smali/SmaliTestBase.java
@@ -112,7 +112,7 @@
CodeInspector inspector = new CodeInspector(application);
ClassSubject clazz = inspector.clazz(className);
assertTrue(clazz.isPresent());
- return clazz.getDexClass();
+ return clazz.getDexProgramClass();
}
protected DexClass getClass(DexApplication application, MethodSignature signature) {
@@ -124,7 +124,7 @@
CodeInspector inspector = new CodeInspector(appPath);
ClassSubject clazz = inspector.clazz(className);
assertTrue(clazz.isPresent());
- return clazz.getDexClass();
+ return clazz.getDexProgramClass();
} catch (IOException | ExecutionException e) {
throw new RuntimeException(e);
}
diff --git a/src/test/java/com/android/tools/r8/utils/codeinspector/AbsentClassSubject.java b/src/test/java/com/android/tools/r8/utils/codeinspector/AbsentClassSubject.java
index 8786f30..92e0e10 100644
--- a/src/test/java/com/android/tools/r8/utils/codeinspector/AbsentClassSubject.java
+++ b/src/test/java/com/android/tools/r8/utils/codeinspector/AbsentClassSubject.java
@@ -5,7 +5,7 @@
package com.android.tools.r8.utils.codeinspector;
import com.android.tools.r8.errors.Unreachable;
-import com.android.tools.r8.graph.DexClass;
+import com.android.tools.r8.graph.DexProgramClass;
import java.util.List;
import java.util.function.Consumer;
import kotlinx.metadata.jvm.KotlinClassMetadata;
@@ -73,7 +73,7 @@
}
@Override
- public DexClass getDexClass() {
+ public DexProgramClass getDexProgramClass() {
return null;
}
diff --git a/src/test/java/com/android/tools/r8/utils/codeinspector/ClassSubject.java b/src/test/java/com/android/tools/r8/utils/codeinspector/ClassSubject.java
index c8c6142..a234c36 100644
--- a/src/test/java/com/android/tools/r8/utils/codeinspector/ClassSubject.java
+++ b/src/test/java/com/android/tools/r8/utils/codeinspector/ClassSubject.java
@@ -4,7 +4,7 @@
package com.android.tools.r8.utils.codeinspector;
-import com.android.tools.r8.graph.DexClass;
+import com.android.tools.r8.graph.DexProgramClass;
import com.android.tools.r8.naming.MemberNaming.MethodSignature;
import com.android.tools.r8.references.MethodReference;
import com.android.tools.r8.references.TypeReference;
@@ -156,7 +156,7 @@
return dump.toString();
}
- public abstract DexClass getDexClass();
+ public abstract DexProgramClass getDexProgramClass();
public abstract AnnotationSubject annotation(String name);
diff --git a/src/test/java/com/android/tools/r8/utils/codeinspector/FoundClassSubject.java b/src/test/java/com/android/tools/r8/utils/codeinspector/FoundClassSubject.java
index fc5c38f..00d00ca 100644
--- a/src/test/java/com/android/tools/r8/utils/codeinspector/FoundClassSubject.java
+++ b/src/test/java/com/android/tools/r8/utils/codeinspector/FoundClassSubject.java
@@ -14,6 +14,7 @@
import com.android.tools.r8.graph.DexField;
import com.android.tools.r8.graph.DexItemFactory;
import com.android.tools.r8.graph.DexMethod;
+import com.android.tools.r8.graph.DexProgramClass;
import com.android.tools.r8.graph.DexProto;
import com.android.tools.r8.graph.DexType;
import com.android.tools.r8.naming.ClassNamingForNameMapper;
@@ -221,8 +222,9 @@
}
@Override
- public DexClass getDexClass() {
- return dexClass;
+ public DexProgramClass getDexProgramClass() {
+ assert dexClass.isProgramClass();
+ return dexClass.asProgramClass();
}
public ClassSubject getSuperClass() {
@@ -334,7 +336,7 @@
}
public TypeSubject asTypeSubject() {
- return new TypeSubject(codeInspector, getDexClass().type);
+ return new TypeSubject(codeInspector, getDexProgramClass().type);
}
@Override
@@ -348,7 +350,7 @@
codeInspector.getFactory().kotlin, annotationSubject.getAnnotation());
assertTrue(metadata instanceof KotlinClassMetadata.Class);
KotlinClassMetadata.Class kClass = (KotlinClassMetadata.Class) metadata;
- return new FoundKmClassSubject(codeInspector, getDexClass(), kClass.toKmClass());
+ return new FoundKmClassSubject(codeInspector, getDexProgramClass(), kClass.toKmClass());
}
@Override
@@ -364,11 +366,11 @@
|| metadata instanceof KotlinClassMetadata.MultiFileClassPart);
if (metadata instanceof KotlinClassMetadata.FileFacade) {
KotlinClassMetadata.FileFacade kFile = (KotlinClassMetadata.FileFacade) metadata;
- return new FoundKmPackageSubject(codeInspector, getDexClass(), kFile.toKmPackage());
+ return new FoundKmPackageSubject(codeInspector, getDexProgramClass(), kFile.toKmPackage());
} else {
KotlinClassMetadata.MultiFileClassPart kPart =
(KotlinClassMetadata.MultiFileClassPart) metadata;
- return new FoundKmPackageSubject(codeInspector, getDexClass(), kPart.toKmPackage());
+ return new FoundKmPackageSubject(codeInspector, getDexProgramClass(), kPart.toKmPackage());
}
}
diff --git a/src/test/java/com/android/tools/r8/utils/codeinspector/TypeSubject.java b/src/test/java/com/android/tools/r8/utils/codeinspector/TypeSubject.java
index ae59c47..357c777 100644
--- a/src/test/java/com/android/tools/r8/utils/codeinspector/TypeSubject.java
+++ b/src/test/java/com/android/tools/r8/utils/codeinspector/TypeSubject.java
@@ -41,7 +41,7 @@
}
public boolean is(ClassSubject type) {
- return dexType == type.getDexClass().type;
+ return dexType == type.getDexProgramClass().type;
}
@Override
diff --git a/src/test/java/com/android/tools/r8/utils/codeinspector/analysis/ProtoApplicationStats.java b/src/test/java/com/android/tools/r8/utils/codeinspector/analysis/ProtoApplicationStats.java
index 28075e6..4d4c84b 100644
--- a/src/test/java/com/android/tools/r8/utils/codeinspector/analysis/ProtoApplicationStats.java
+++ b/src/test/java/com/android/tools/r8/utils/codeinspector/analysis/ProtoApplicationStats.java
@@ -147,7 +147,7 @@
private void computeStats() {
for (FoundClassSubject classSubject : inspector.allClasses()) {
DexType originalType = classSubject.getOriginalDexType(dexItemFactory);
- if (classSubject.getDexClass().isEnum()) {
+ if (classSubject.getDexProgramClass().isEnum()) {
enumStats.enums.add(originalType);
}