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