Rename KeyedDexItem to DexEncodedMember

Change-Id: I88657b18a1b665ae76d0100ac55abbec8bfdb499
diff --git a/src/main/java/com/android/tools/r8/dex/FileWriter.java b/src/main/java/com/android/tools/r8/dex/FileWriter.java
index 5cbd975..c235e19 100644
--- a/src/main/java/com/android/tools/r8/dex/FileWriter.java
+++ b/src/main/java/com/android/tools/r8/dex/FileWriter.java
@@ -25,6 +25,7 @@
 import com.android.tools.r8.graph.DexEncodedAnnotation;
 import com.android.tools.r8.graph.DexEncodedArray;
 import com.android.tools.r8.graph.DexEncodedField;
+import com.android.tools.r8.graph.DexEncodedMember;
 import com.android.tools.r8.graph.DexEncodedMethod;
 import com.android.tools.r8.graph.DexField;
 import com.android.tools.r8.graph.DexItem;
@@ -38,7 +39,6 @@
 import com.android.tools.r8.graph.DexTypeList;
 import com.android.tools.r8.graph.DexValue;
 import com.android.tools.r8.graph.IndexedDexItem;
-import com.android.tools.r8.graph.KeyedDexItem;
 import com.android.tools.r8.graph.ObjectToOffsetMapping;
 import com.android.tools.r8.graph.ParameterAnnotationsList;
 import com.android.tools.r8.graph.PresortedComparable;
@@ -577,7 +577,7 @@
     }
   }
 
-  private <S extends Descriptor<T, S>, T extends KeyedDexItem<S>> void writeMemberAnnotations(
+  private <S extends Descriptor<T, S>, T extends DexEncodedMember<S>> void writeMemberAnnotations(
       List<T> items, ToIntFunction<T> getter) {
     for (T item : items) {
       dest.putInt(item.getKey().getOffset(mapping));
diff --git a/src/main/java/com/android/tools/r8/graph/AppInfo.java b/src/main/java/com/android/tools/r8/graph/AppInfo.java
index feb71dc..29a5995 100644
--- a/src/main/java/com/android/tools/r8/graph/AppInfo.java
+++ b/src/main/java/com/android/tools/r8/graph/AppInfo.java
@@ -29,7 +29,7 @@
 
   private final DexApplication app;
   private final DexItemFactory dexItemFactory;
-  private final ConcurrentHashMap<DexType, Map<Descriptor<?,?>, KeyedDexItem<?>>> definitions =
+  private final ConcurrentHashMap<DexType, Map<Descriptor<?, ?>, DexEncodedMember<?>>> definitions =
       new ConcurrentHashMap<>();
   // For some optimizations, e.g. optimizing synthetic classes, we may need to resolve the current
   // class being optimized.
@@ -101,8 +101,8 @@
     return Collections.unmodifiableCollection(synthesizedClasses.values());
   }
 
-  private Map<Descriptor<?,?>, KeyedDexItem<?>> computeDefinitions(DexType type) {
-    Builder<Descriptor<?,?>, KeyedDexItem<?>> builder = ImmutableMap.builder();
+  private Map<Descriptor<?, ?>, DexEncodedMember<?>> computeDefinitions(DexType type) {
+    Builder<Descriptor<?, ?>, DexEncodedMember<?>> builder = ImmutableMap.builder();
     DexClass clazz = definitionFor(type);
     if (clazz != null) {
       clazz.forEachMethod(method -> builder.put(method.getKey(), method));
@@ -186,14 +186,15 @@
     return (DexEncodedField) getDefinitions(field.holder).get(field);
   }
 
-  private Map<Descriptor<?,?>, KeyedDexItem<?>> getDefinitions(DexType type) {
-    Map<Descriptor<?,?>, KeyedDexItem<?>> typeDefinitions = definitions.get(type);
+  private Map<Descriptor<?, ?>, DexEncodedMember<?>> getDefinitions(DexType type) {
+    Map<Descriptor<?, ?>, DexEncodedMember<?>> typeDefinitions = definitions.get(type);
     if (typeDefinitions != null) {
       return typeDefinitions;
     }
 
     typeDefinitions = computeDefinitions(type);
-    Map<Descriptor<?,?>, KeyedDexItem<?>> existing = definitions.putIfAbsent(type, typeDefinitions);
+    Map<Descriptor<?, ?>, DexEncodedMember<?>> existing =
+        definitions.putIfAbsent(type, typeDefinitions);
     return existing != null ? existing : typeDefinitions;
   }
 
diff --git a/src/main/java/com/android/tools/r8/graph/DexAnnotationDirectory.java b/src/main/java/com/android/tools/r8/graph/DexAnnotationDirectory.java
index 1f2d9f1..ebd5c91 100644
--- a/src/main/java/com/android/tools/r8/graph/DexAnnotationDirectory.java
+++ b/src/main/java/com/android/tools/r8/graph/DexAnnotationDirectory.java
@@ -108,8 +108,8 @@
   }
 
   private static <T extends PresortedComparable<T>> boolean isSorted(
-      List<? extends KeyedDexItem<T>> items) {
-    return isSorted(items, KeyedDexItem::getKey);
+      List<? extends DexEncodedMember<T>> items) {
+    return isSorted(items, DexEncodedMember::getKey);
   }
 
   private static <S, T extends Comparable<T>> boolean isSorted(
diff --git a/src/main/java/com/android/tools/r8/graph/DexEncodedField.java b/src/main/java/com/android/tools/r8/graph/DexEncodedField.java
index a920005..819dcde 100644
--- a/src/main/java/com/android/tools/r8/graph/DexEncodedField.java
+++ b/src/main/java/com/android/tools/r8/graph/DexEncodedField.java
@@ -19,7 +19,7 @@
 import com.android.tools.r8.kotlin.KotlinMemberInfo;
 import com.android.tools.r8.shaking.AppInfoWithLiveness;
 
-public class DexEncodedField extends KeyedDexItem<DexField> {
+public class DexEncodedField extends DexEncodedMember<DexField> {
   public static final DexEncodedField[] EMPTY_ARRAY = {};
 
   public final DexField field;
diff --git a/src/main/java/com/android/tools/r8/graph/KeyedDexItem.java b/src/main/java/com/android/tools/r8/graph/DexEncodedMember.java
similarity index 69%
rename from src/main/java/com/android/tools/r8/graph/KeyedDexItem.java
rename to src/main/java/com/android/tools/r8/graph/DexEncodedMember.java
index 239a85d..591d807 100644
--- a/src/main/java/com/android/tools/r8/graph/KeyedDexItem.java
+++ b/src/main/java/com/android/tools/r8/graph/DexEncodedMember.java
@@ -3,7 +3,7 @@
 // BSD-style license that can be found in the LICENSE file.
 package com.android.tools.r8.graph;
 
-public abstract class KeyedDexItem<T extends PresortedComparable<T>> extends DexDefinition {
+public abstract class DexEncodedMember<T extends PresortedComparable<T>> extends DexDefinition {
 
   public abstract T getKey();
 
@@ -12,7 +12,8 @@
     if (other == this) {
       return true;
     }
-    return (other.getClass() == getClass()) && ((KeyedDexItem<?>) other).getKey().equals(getKey());
+    return other.getClass() == getClass()
+        && ((DexEncodedMember<?>) other).getKey().equals(getKey());
   }
 
   @Override
diff --git a/src/main/java/com/android/tools/r8/graph/DexEncodedMethod.java b/src/main/java/com/android/tools/r8/graph/DexEncodedMethod.java
index d6dd805..a6ba743 100644
--- a/src/main/java/com/android/tools/r8/graph/DexEncodedMethod.java
+++ b/src/main/java/com/android/tools/r8/graph/DexEncodedMethod.java
@@ -76,7 +76,7 @@
 import java.util.function.IntPredicate;
 import org.objectweb.asm.Opcodes;
 
-public class DexEncodedMethod extends KeyedDexItem<DexMethod> {
+public class DexEncodedMethod extends DexEncodedMember<DexMethod> {
 
   public static final String CONFIGURATION_DEBUGGING_PREFIX = "Shaking error: Missing method in ";
 
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 5904f98..12253c0 100644
--- a/src/main/java/com/android/tools/r8/graph/DexProgramClass.java
+++ b/src/main/java/com/android/tools/r8/graph/DexProgramClass.java
@@ -357,11 +357,11 @@
         && isSorted(instanceFields);
   }
 
-  private static <T extends KeyedDexItem<S>, S extends PresortedComparable<S>> boolean isSorted(
+  private static <T extends DexEncodedMember<S>, S extends PresortedComparable<S>> boolean isSorted(
       T[] items) {
     synchronized (items) {
       T[] sorted = items.clone();
-      Arrays.sort(sorted, Comparator.comparing(KeyedDexItem::getKey));
+      Arrays.sort(sorted, Comparator.comparing(DexEncodedMember::getKey));
       return Arrays.equals(items, sorted);
     }
   }
diff --git a/src/main/java/com/android/tools/r8/graph/PresortedComparable.java b/src/main/java/com/android/tools/r8/graph/PresortedComparable.java
index 563b40a..81e6d56 100644
--- a/src/main/java/com/android/tools/r8/graph/PresortedComparable.java
+++ b/src/main/java/com/android/tools/r8/graph/PresortedComparable.java
@@ -11,8 +11,8 @@
 public interface PresortedComparable<T> extends Presorted, Comparable<T> {
 
   static <T extends PresortedComparable<T>> boolean isSorted(
-      List<? extends KeyedDexItem<T>> items) {
-    return isSorted(items, KeyedDexItem::getKey);
+      List<? extends DexEncodedMember<T>> items) {
+    return isSorted(items, DexEncodedMember::getKey);
   }
 
   static <S, T extends Comparable<T>> boolean isSorted(S[] items, Function<S, T> getter) {
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 04c6c72..b55b96e 100644
--- a/src/main/java/com/android/tools/r8/shaking/Enqueuer.java
+++ b/src/main/java/com/android/tools/r8/shaking/Enqueuer.java
@@ -33,6 +33,7 @@
 import com.android.tools.r8.graph.DexClasspathClass;
 import com.android.tools.r8.graph.DexDefinition;
 import com.android.tools.r8.graph.DexEncodedField;
+import com.android.tools.r8.graph.DexEncodedMember;
 import com.android.tools.r8.graph.DexEncodedMethod;
 import com.android.tools.r8.graph.DexField;
 import com.android.tools.r8.graph.DexItem;
@@ -50,7 +51,6 @@
 import com.android.tools.r8.graph.FieldAccessInfoCollectionImpl;
 import com.android.tools.r8.graph.FieldAccessInfoImpl;
 import com.android.tools.r8.graph.InnerClassAttribute;
-import com.android.tools.r8.graph.KeyedDexItem;
 import com.android.tools.r8.graph.LookupResult;
 import com.android.tools.r8.graph.PresortedComparable;
 import com.android.tools.r8.graph.ProgramMethod;
@@ -2660,10 +2660,10 @@
   }
 
   private static <T extends PresortedComparable<T>> SortedSet<T> toSortedDescriptorSet(
-      Set<? extends KeyedDexItem<T>> set) {
+      Set<? extends DexEncodedMember<T>> set) {
     ImmutableSortedSet.Builder<T> builder =
         new ImmutableSortedSet.Builder<>(PresortedComparable::slowCompareTo);
-    for (KeyedDexItem<T> item : set) {
+    for (DexEncodedMember<T> item : set) {
       builder.add(item.getKey());
     }
     return builder.build();
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 dc66249..cea0720 100644
--- a/src/main/java/com/android/tools/r8/shaking/TreePruner.java
+++ b/src/main/java/com/android/tools/r8/shaking/TreePruner.java
@@ -6,6 +6,7 @@
 import com.android.tools.r8.graph.AppView;
 import com.android.tools.r8.graph.DexClass;
 import com.android.tools.r8.graph.DexEncodedField;
+import com.android.tools.r8.graph.DexEncodedMember;
 import com.android.tools.r8.graph.DexEncodedMethod;
 import com.android.tools.r8.graph.DexMethod;
 import com.android.tools.r8.graph.DexProgramClass;
@@ -15,7 +16,6 @@
 import com.android.tools.r8.graph.DirectMappedDexApplication;
 import com.android.tools.r8.graph.EnclosingMethodAttribute;
 import com.android.tools.r8.graph.InnerClassAttribute;
-import com.android.tools.r8.graph.KeyedDexItem;
 import com.android.tools.r8.graph.NestMemberClassAttribute;
 import com.android.tools.r8.graph.PresortedComparable;
 import com.android.tools.r8.logging.Log;
@@ -243,8 +243,8 @@
     return context == null || !isTypeLive(context);
   }
 
-  private <S extends PresortedComparable<S>, T extends KeyedDexItem<S>> int firstUnreachableIndex(
-      List<T> items, Predicate<T> live) {
+  private <S extends PresortedComparable<S>, T extends DexEncodedMember<S>>
+      int firstUnreachableIndex(List<T> items, Predicate<T> live) {
     for (int i = 0; i < items.size(); i++) {
       if (!live.test(items.get(i))) {
         return i;
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 4e17ad6..1706c8c 100644
--- a/src/main/java/com/android/tools/r8/shaking/VerticalClassMerger.java
+++ b/src/main/java/com/android/tools/r8/shaking/VerticalClassMerger.java
@@ -15,6 +15,7 @@
 import com.android.tools.r8.graph.DexClass.FieldSetter;
 import com.android.tools.r8.graph.DexClass.MethodSetter;
 import com.android.tools.r8.graph.DexEncodedField;
+import com.android.tools.r8.graph.DexEncodedMember;
 import com.android.tools.r8.graph.DexEncodedMethod;
 import com.android.tools.r8.graph.DexField;
 import com.android.tools.r8.graph.DexMethod;
@@ -26,7 +27,6 @@
 import com.android.tools.r8.graph.DexTypeList;
 import com.android.tools.r8.graph.GraphLense;
 import com.android.tools.r8.graph.GraphLense.GraphLenseLookupResult;
-import com.android.tools.r8.graph.KeyedDexItem;
 import com.android.tools.r8.graph.LookupResult;
 import com.android.tools.r8.graph.MethodAccessFlags;
 import com.android.tools.r8.graph.ParameterAnnotationsList;
@@ -335,7 +335,7 @@
     }
 
     assert Streams.stream(Iterables.concat(clazz.fields(), clazz.methods()))
-        .map(KeyedDexItem::getKey)
+        .map(DexEncodedMember::getKey)
         .noneMatch(appInfo::isPinned);
 
     if (appView.options().featureSplitConfiguration != null &&
@@ -1269,12 +1269,12 @@
       return null;
     }
 
-    private <T extends KeyedDexItem<S>, S extends PresortedComparable<S>> void add(
+    private <T extends DexEncodedMember<S>, S extends PresortedComparable<S>> void add(
         Map<Wrapper<S>, T> map, T item, Equivalence<S> equivalence) {
       map.put(equivalence.wrap(item.getKey()), item);
     }
 
-    private <T extends KeyedDexItem<S>, S extends PresortedComparable<S>> void addAll(
+    private <T extends DexEncodedMember<S>, S extends PresortedComparable<S>> void addAll(
         Collection<Wrapper<S>> collection, Iterable<T> items, Equivalence<S> equivalence) {
       for (T item : items) {
         collection.add(equivalence.wrap(item.getKey()));
diff --git a/src/main/java/com/android/tools/r8/utils/OrderedMergingIterator.java b/src/main/java/com/android/tools/r8/utils/OrderedMergingIterator.java
index 33f9d7c..40fa54f 100644
--- a/src/main/java/com/android/tools/r8/utils/OrderedMergingIterator.java
+++ b/src/main/java/com/android/tools/r8/utils/OrderedMergingIterator.java
@@ -4,13 +4,13 @@
 package com.android.tools.r8.utils;
 
 import com.android.tools.r8.errors.InternalCompilerError;
-import com.android.tools.r8.graph.KeyedDexItem;
+import com.android.tools.r8.graph.DexEncodedMember;
 import com.android.tools.r8.graph.PresortedComparable;
 import java.util.Iterator;
 import java.util.List;
 import java.util.NoSuchElementException;
 
-public class OrderedMergingIterator<T extends KeyedDexItem<S>, S extends PresortedComparable<S>>
+public class OrderedMergingIterator<T extends DexEncodedMember<S>, S extends PresortedComparable<S>>
     implements Iterator<T> {
 
   private final List<T> one;