Rename xxxEnclosingMethod to xxxEnclosingMethodAttribute
Otherwise, the code reads weird like:
clazz.getEnclosingMethod().getEnclosingMethod()
Change-Id: Ica5ab2826bf97fa3bc4a24033b3f2d19f17f6c62
diff --git a/src/main/java/com/android/tools/r8/dex/ApplicationWriter.java b/src/main/java/com/android/tools/r8/dex/ApplicationWriter.java
index 8ee86f3..5d102bdf 100644
--- a/src/main/java/com/android/tools/r8/dex/ApplicationWriter.java
+++ b/src/main/java/com/android/tools/r8/dex/ApplicationWriter.java
@@ -455,7 +455,7 @@
private void insertAttributeAnnotations() {
// Convert inner-class attributes to DEX annotations
for (DexProgramClass clazz : application.classes()) {
- EnclosingMethodAttribute enclosingMethod = clazz.getEnclosingMethod();
+ EnclosingMethodAttribute enclosingMethod = clazz.getEnclosingMethodAttribute();
List<InnerClassAttribute> innerClasses = clazz.getInnerClasses();
if (enclosingMethod == null && innerClasses.isEmpty()) {
continue;
@@ -521,7 +521,7 @@
}
// Clear the attribute structures now that they are represented in annotations.
- clazz.clearEnclosingMethod();
+ clazz.clearEnclosingMethodAttribute();
clazz.clearInnerClasses();
}
}
diff --git a/src/main/java/com/android/tools/r8/graph/DexClass.java b/src/main/java/com/android/tools/r8/graph/DexClass.java
index 5e18e05..c201290 100644
--- a/src/main/java/com/android/tools/r8/graph/DexClass.java
+++ b/src/main/java/com/android/tools/r8/graph/DexClass.java
@@ -709,15 +709,15 @@
return innerClasses;
}
- public EnclosingMethodAttribute getEnclosingMethod() {
+ public EnclosingMethodAttribute getEnclosingMethodAttribute() {
return enclosingMethod;
}
- public void clearEnclosingMethod() {
+ public void clearEnclosingMethodAttribute() {
enclosingMethod = null;
}
- public void removeEnclosingMethod(Predicate<EnclosingMethodAttribute> predicate) {
+ public void removeEnclosingMethodAttribute(Predicate<EnclosingMethodAttribute> predicate) {
if (enclosingMethod != null && predicate.test(enclosingMethod)) {
enclosingMethod = null;
}
@@ -761,7 +761,7 @@
public boolean isMemberClass() {
InnerClassAttribute innerClass = getInnerClassAttributeForThisClass();
boolean isMember = innerClass != null && innerClass.getOuter() != null && innerClass.isNamed();
- assert !isMember || getEnclosingMethod() == null;
+ assert !isMember || getEnclosingMethodAttribute() == null;
return isMember;
}
diff --git a/src/main/java/com/android/tools/r8/graph/DexProgramClass.java b/src/main/java/com/android/tools/r8/graph/DexProgramClass.java
index 0fe1d69..423acef 100644
--- a/src/main/java/com/android/tools/r8/graph/DexProgramClass.java
+++ b/src/main/java/com/android/tools/r8/graph/DexProgramClass.java
@@ -246,8 +246,8 @@
if (interfaces != null) {
interfaces.collectIndexedItems(indexedItems, method, instructionOffset);
}
- if (getEnclosingMethod() != null) {
- getEnclosingMethod().collectIndexedItems(indexedItems);
+ if (getEnclosingMethodAttribute() != null) {
+ getEnclosingMethodAttribute().collectIndexedItems(indexedItems);
}
for (InnerClassAttribute attribute : getInnerClasses()) {
attribute.collectIndexedItems(indexedItems);
@@ -273,7 +273,7 @@
@Override
void collectMixedSectionItems(MixedSectionCollection mixedItems) {
- assert getEnclosingMethod() == null;
+ assert getEnclosingMethodAttribute() == null;
assert getInnerClasses().isEmpty();
if (hasAnnotations()) {
mixedItems.setAnnotationsDirectoryForClass(this, new DexAnnotationDirectory(this));
@@ -282,7 +282,7 @@
@Override
public void addDependencies(MixedSectionCollection collector) {
- assert getEnclosingMethod() == null;
+ assert getEnclosingMethodAttribute() == null;
assert getInnerClasses().isEmpty();
// We only have a class data item if there are methods or fields.
if (hasMethodsOrFields()) {
diff --git a/src/main/java/com/android/tools/r8/graph/InnerClassAttribute.java b/src/main/java/com/android/tools/r8/graph/InnerClassAttribute.java
index b40f328..74f9880 100644
--- a/src/main/java/com/android/tools/r8/graph/InnerClassAttribute.java
+++ b/src/main/java/com/android/tools/r8/graph/InnerClassAttribute.java
@@ -85,8 +85,8 @@
DexType context = getOuter();
if (context == null) {
DexClass inner = appInfo.definitionFor(getInner());
- if (inner != null && inner.getEnclosingMethod() != null) {
- EnclosingMethodAttribute enclosingMethodAttribute = inner.getEnclosingMethod();
+ if (inner != null && inner.getEnclosingMethodAttribute() != null) {
+ EnclosingMethodAttribute enclosingMethodAttribute = inner.getEnclosingMethodAttribute();
if (enclosingMethodAttribute.getEnclosingClass() != null) {
context = enclosingMethodAttribute.getEnclosingClass();
} else {
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/lambda/kotlin/JStyleLambdaGroupIdFactory.java b/src/main/java/com/android/tools/r8/ir/optimize/lambda/kotlin/JStyleLambdaGroupIdFactory.java
index e392112..e9ab954 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/lambda/kotlin/JStyleLambdaGroupIdFactory.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/lambda/kotlin/JStyleLambdaGroupIdFactory.java
@@ -49,7 +49,7 @@
genericSignature,
mainMethod,
innerClass,
- lambda.getEnclosingMethod());
+ lambda.getEnclosingMethodAttribute());
}
@Override
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/lambda/kotlin/KStyleLambdaGroupIdFactory.java b/src/main/java/com/android/tools/r8/ir/optimize/lambda/kotlin/KStyleLambdaGroupIdFactory.java
index ea39dce..495ab0b 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/lambda/kotlin/KStyleLambdaGroupIdFactory.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/lambda/kotlin/KStyleLambdaGroupIdFactory.java
@@ -49,7 +49,7 @@
genericSignature,
mainMethod,
innerClass,
- lambda.getEnclosingMethod());
+ lambda.getEnclosingMethodAttribute());
}
@Override
diff --git a/src/main/java/com/android/tools/r8/jar/CfApplicationWriter.java b/src/main/java/com/android/tools/r8/jar/CfApplicationWriter.java
index 18de3c5..01c3daa 100644
--- a/src/main/java/com/android/tools/r8/jar/CfApplicationWriter.java
+++ b/src/main/java/com/android/tools/r8/jar/CfApplicationWriter.java
@@ -172,8 +172,8 @@
writeAnnotations(writer::visitAnnotation, clazz.annotations().annotations);
ImmutableMap<DexString, DexValue> defaults = getAnnotationDefaults(clazz.annotations());
- if (clazz.getEnclosingMethod() != null) {
- clazz.getEnclosingMethod().write(writer, namingLens);
+ if (clazz.getEnclosingMethodAttribute() != null) {
+ clazz.getEnclosingMethodAttribute().write(writer, namingLens);
}
if (clazz.getNestHostClassAttribute() != null) {
diff --git a/src/main/java/com/android/tools/r8/kotlin/KotlinMetadataEnqueuerExtension.java b/src/main/java/com/android/tools/r8/kotlin/KotlinMetadataEnqueuerExtension.java
index c326f61..ba814e9 100644
--- a/src/main/java/com/android/tools/r8/kotlin/KotlinMetadataEnqueuerExtension.java
+++ b/src/main/java/com/android/tools/r8/kotlin/KotlinMetadataEnqueuerExtension.java
@@ -59,14 +59,15 @@
appView.options().reporter,
onlyProcessLambdas,
method -> keepByteCodeFunctions.add(method.method)));
- if (clazz.getEnclosingMethod() != null
- && clazz.getEnclosingMethod().getEnclosingMethod() != null) {
+ if (clazz.getEnclosingMethodAttribute() != null
+ && clazz.getEnclosingMethodAttribute().getEnclosingMethod() != null) {
localOrAnonymousClasses.add(clazz);
}
});
appView.setCfByteCodePassThrough(keepByteCodeFunctions);
for (DexProgramClass localOrAnonymousClass : localOrAnonymousClasses) {
- EnclosingMethodAttribute enclosingAttribute = localOrAnonymousClass.getEnclosingMethod();
+ EnclosingMethodAttribute enclosingAttribute =
+ localOrAnonymousClass.getEnclosingMethodAttribute();
DexClass holder =
definitionSupplier.definitionForHolder(enclosingAttribute.getEnclosingMethod());
if (holder == null) {
diff --git a/src/main/java/com/android/tools/r8/shaking/AnnotationRemover.java b/src/main/java/com/android/tools/r8/shaking/AnnotationRemover.java
index 02aca6b..3c0d9dd 100644
--- a/src/main/java/com/android/tools/r8/shaking/AnnotationRemover.java
+++ b/src/main/java/com/android/tools/r8/shaking/AnnotationRemover.java
@@ -258,9 +258,9 @@
}
private boolean enclosingMethodPinned(DexClass clazz) {
- return clazz.getEnclosingMethod() != null
- && clazz.getEnclosingMethod().getEnclosingClass() != null
- && appView.appInfo().isPinned(clazz.getEnclosingMethod().getEnclosingClass());
+ return clazz.getEnclosingMethodAttribute() != null
+ && clazz.getEnclosingMethodAttribute().getEnclosingClass() != null
+ && appView.appInfo().isPinned(clazz.getEnclosingMethodAttribute().getEnclosingClass());
}
private static boolean hasInnerClassesFromSet(DexProgramClass clazz, Set<DexType> innerClasses) {
@@ -292,7 +292,7 @@
}
if (keptAnyway || keepForThisInnerClass || keepForThisEnclosingClass) {
if (!keep.enclosingMethod) {
- clazz.clearEnclosingMethod();
+ clazz.clearEnclosingMethodAttribute();
}
if (!keep.innerClasses) {
clazz.clearInnerClasses();
@@ -323,7 +323,7 @@
} else {
// These attributes are only relevant for reflection, and this class is not used for
// reflection. (Note that clearing these attributes can enable more vertical class merging.)
- clazz.clearEnclosingMethod();
+ clazz.clearEnclosingMethodAttribute();
clazz.clearInnerClasses();
}
}
diff --git a/src/main/java/com/android/tools/r8/shaking/Enqueuer.java b/src/main/java/com/android/tools/r8/shaking/Enqueuer.java
index ff991cf..a0a1924 100644
--- a/src/main/java/com/android/tools/r8/shaking/Enqueuer.java
+++ b/src/main/java/com/android/tools/r8/shaking/Enqueuer.java
@@ -1517,7 +1517,7 @@
recordTypeReference(innerClassAttribute.getInner());
recordTypeReference(innerClassAttribute.getOuter());
}
- EnclosingMethodAttribute enclosingMethodAttribute = holder.getEnclosingMethod();
+ EnclosingMethodAttribute enclosingMethodAttribute = holder.getEnclosingMethodAttribute();
if (enclosingMethodAttribute != null) {
DexMethod enclosingMethod = enclosingMethodAttribute.getEnclosingMethod();
if (enclosingMethod != null) {
diff --git a/src/main/java/com/android/tools/r8/shaking/TreePruner.java b/src/main/java/com/android/tools/r8/shaking/TreePruner.java
index 346caa4..74a79ce 100644
--- a/src/main/java/com/android/tools/r8/shaking/TreePruner.java
+++ b/src/main/java/com/android/tools/r8/shaking/TreePruner.java
@@ -178,7 +178,7 @@
clazz.setStaticFields(reachableStaticFields);
}
clazz.removeInnerClasses(this::isAttributeReferencingPrunedType);
- clazz.removeEnclosingMethod(this::isAttributeReferencingPrunedItem);
+ clazz.removeEnclosingMethodAttribute(this::isAttributeReferencingPrunedItem);
rewriteNestAttributes(clazz);
usagePrinter.visited();
assert verifyNoDeadFields(clazz);
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 1b69bc7..6940dde 100644
--- a/src/main/java/com/android/tools/r8/shaking/VerticalClassMerger.java
+++ b/src/main/java/com/android/tools/r8/shaking/VerticalClassMerger.java
@@ -401,7 +401,8 @@
if (result.shouldBreak()) {
return false;
}
- if (sourceClass.getEnclosingMethod() != null || !sourceClass.getInnerClasses().isEmpty()) {
+ if (sourceClass.getEnclosingMethodAttribute() != null
+ || !sourceClass.getInnerClasses().isEmpty()) {
// TODO(b/147504070): Consider merging of enclosing-method and inner-class attributes.
if (Log.ENABLED) {
AbortReason.UNSUPPORTED_ATTRIBUTES.printLogMessageForClass(sourceClass);
@@ -459,7 +460,8 @@
}
return false;
}
- if (targetClass.getEnclosingMethod() != null || !targetClass.getInnerClasses().isEmpty()) {
+ if (targetClass.getEnclosingMethodAttribute() != null
+ || !targetClass.getInnerClasses().isEmpty()) {
// TODO(b/147504070): Consider merging of enclosing-method and inner-class attributes.
if (Log.ENABLED) {
AbortReason.UNSUPPORTED_ATTRIBUTES.printLogMessageForClass(sourceClass);
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 198b253..1c9a3d0 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
@@ -73,15 +73,15 @@
Assert.assertTrue(outer.getDexProgramClass().getInnerClasses().isEmpty());
ClassSubject inner = inspector.clazz("annotationremoval.OuterClass$InnerClass");
Assert.assertTrue(inner.isPresent());
- Assert.assertNull(inner.getDexProgramClass().getEnclosingMethod());
+ Assert.assertNull(inner.getDexProgramClass().getEnclosingMethodAttribute());
Assert.assertTrue(inner.getDexProgramClass().getInnerClasses().isEmpty());
ClassSubject anonymous = inspector.clazz("annotationremoval.OuterClass$1");
Assert.assertTrue(anonymous.isPresent());
- Assert.assertNull(anonymous.getDexProgramClass().getEnclosingMethod());
+ Assert.assertNull(anonymous.getDexProgramClass().getEnclosingMethodAttribute());
Assert.assertTrue(anonymous.getDexProgramClass().getInnerClasses().isEmpty());
ClassSubject local = inspector.clazz("annotationremoval.OuterClass$1LocalMagic");
Assert.assertTrue(local.isPresent());
- Assert.assertNull(local.getDexProgramClass().getEnclosingMethod());
+ Assert.assertNull(local.getDexProgramClass().getEnclosingMethodAttribute());
Assert.assertTrue(local.getDexProgramClass().getInnerClasses().isEmpty());
}