Update type argument names representing DexMember and DexEncodedMember
Change-Id: Id8caf90f66c9716607a303567a7738fe6e3acbbf
diff --git a/src/main/java/com/android/tools/r8/dex/DexParser.java b/src/main/java/com/android/tools/r8/dex/DexParser.java
index 723d094..df91f96 100644
--- a/src/main/java/com/android/tools/r8/dex/DexParser.java
+++ b/src/main/java/com/android/tools/r8/dex/DexParser.java
@@ -570,21 +570,21 @@
return new DexDebugInfo(start, parameters, events.toArray(DexDebugEvent.EMPTY_ARRAY));
}
- private static class MemberAnnotationIterator<S extends DexMember<?, S>, T extends DexItem> {
+ private static class MemberAnnotationIterator<R extends DexMember<?, R>, T extends DexItem> {
private int index = 0;
- private final DexMemberAnnotation<S, T>[] annotations;
+ private final DexMemberAnnotation<R, T>[] annotations;
private final Supplier<T> emptyValue;
- private MemberAnnotationIterator(DexMemberAnnotation<S, T>[] annotations,
- Supplier<T> emptyValue) {
+ private MemberAnnotationIterator(
+ DexMemberAnnotation<R, T>[] annotations, Supplier<T> emptyValue) {
this.annotations = annotations;
this.emptyValue = emptyValue;
}
// Get the annotation set for an item. This method assumes that it is always called with
// an item that is higher in the sorting order than the last item.
- T getNextFor(S item) {
+ T getNextFor(R item) {
// TODO(ager): We could use the indices from the file to make this search faster using
// compareTo instead of slowCompareTo. That would require us to assign indices during
// reading. Those indices should be cleared after reading to make sure that we resort
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 48c7c39..8b0cd00 100644
--- a/src/main/java/com/android/tools/r8/dex/FileWriter.java
+++ b/src/main/java/com/android/tools/r8/dex/FileWriter.java
@@ -577,9 +577,9 @@
}
}
- private <S extends DexEncodedMember<S, T>, T extends DexMember<S, T>> void writeMemberAnnotations(
- List<S> items, ToIntFunction<S> getter) {
- for (S item : items) {
+ private <D extends DexEncodedMember<D, R>, R extends DexMember<D, R>> void writeMemberAnnotations(
+ List<D> items, ToIntFunction<D> getter) {
+ for (D item : items) {
dest.putInt(item.toReference().getOffset(mapping));
dest.putInt(getter.applyAsInt(item));
}
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 75ec9be..2d0667b 100644
--- a/src/main/java/com/android/tools/r8/graph/DexAnnotationDirectory.java
+++ b/src/main/java/com/android/tools/r8/graph/DexAnnotationDirectory.java
@@ -107,8 +107,8 @@
throw new Unreachable();
}
- private static <S extends DexEncodedMember<S, T>, T extends DexMember<S, T>> boolean isSorted(
- List<S> items) {
+ private static <D extends DexEncodedMember<D, R>, R extends DexMember<D, R>> boolean isSorted(
+ List<D> items) {
return isSorted(items, DexEncodedMember::toReference);
}
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 9ce30c1..6dac57d 100644
--- a/src/main/java/com/android/tools/r8/graph/DexClass.java
+++ b/src/main/java/com/android/tools/r8/graph/DexClass.java
@@ -611,9 +611,9 @@
&& method.method.proto.parameters.values[0] != factory.objectArrayType;
}
- private <T extends DexEncodedMember<T, S>, S extends DexMember<T, S>> T lookupTarget(
- T[] items, S descriptor) {
- for (T entry : items) {
+ private <D extends DexEncodedMember<D, R>, R extends DexMember<D, R>> D lookupTarget(
+ D[] items, R descriptor) {
+ for (D entry : items) {
if (descriptor.match(entry)) {
return entry;
}
diff --git a/src/main/java/com/android/tools/r8/graph/DexEncodedMember.java b/src/main/java/com/android/tools/r8/graph/DexEncodedMember.java
index c63aa9f..0e436d6 100644
--- a/src/main/java/com/android/tools/r8/graph/DexEncodedMember.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 DexEncodedMember<S extends DexEncodedMember<S, T>, T extends DexMember<S, T>>
+public abstract class DexEncodedMember<D extends DexEncodedMember<D, R>, R extends DexMember<D, R>>
extends DexDefinition {
public DexEncodedMember(DexAnnotationSet annotations) {
@@ -11,7 +11,7 @@
}
@Override
- public abstract T toReference();
+ public abstract R toReference();
@Override
public boolean isDexEncodedMember() {
@@ -19,7 +19,7 @@
}
@Override
- public DexEncodedMember<S, T> asDexEncodedMember() {
+ public DexEncodedMember<D, R> asDexEncodedMember() {
return this;
}
diff --git a/src/main/java/com/android/tools/r8/graph/DexMember.java b/src/main/java/com/android/tools/r8/graph/DexMember.java
index c1be814..96afd57 100644
--- a/src/main/java/com/android/tools/r8/graph/DexMember.java
+++ b/src/main/java/com/android/tools/r8/graph/DexMember.java
@@ -3,8 +3,8 @@
// BSD-style license that can be found in the LICENSE file.
package com.android.tools.r8.graph;
-public abstract class DexMember<T extends DexEncodedMember<T, S>, S extends DexMember<T, S>>
- extends DexReference implements PresortedComparable<S> {
+public abstract class DexMember<D extends DexEncodedMember<D, R>, R extends DexMember<D, R>>
+ extends DexReference implements PresortedComparable<R> {
public final DexType holder;
@@ -12,9 +12,9 @@
this.holder = holder;
}
- public abstract boolean match(S entry);
+ public abstract boolean match(R entry);
- public abstract boolean match(T entry);
+ public abstract boolean match(D entry);
@Override
public boolean isDexMember() {
@@ -22,7 +22,7 @@
}
@Override
- public DexMember<T, S> asDexMember() {
+ public DexMember<D, R> asDexMember() {
return this;
}
}
diff --git a/src/main/java/com/android/tools/r8/graph/DexMemberAnnotation.java b/src/main/java/com/android/tools/r8/graph/DexMemberAnnotation.java
index b44992a..d9868a5 100644
--- a/src/main/java/com/android/tools/r8/graph/DexMemberAnnotation.java
+++ b/src/main/java/com/android/tools/r8/graph/DexMemberAnnotation.java
@@ -6,12 +6,12 @@
import com.android.tools.r8.dex.IndexedItemCollection;
import com.android.tools.r8.dex.MixedSectionCollection;
-public class DexMemberAnnotation<T extends DexMember<?, ?>, S extends DexItem> extends DexItem {
+public class DexMemberAnnotation<R extends DexMember<?, R>, S extends DexItem> extends DexItem {
- public final T item;
+ public final R item;
public final S annotations;
- public DexMemberAnnotation(T item, S annotations) {
+ public DexMemberAnnotation(R item, S annotations) {
this.item = item;
this.annotations = annotations;
}
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 38aac2b..78a59c2 100644
--- a/src/main/java/com/android/tools/r8/graph/DexProgramClass.java
+++ b/src/main/java/com/android/tools/r8/graph/DexProgramClass.java
@@ -352,10 +352,10 @@
&& isSorted(instanceFields);
}
- private static <S extends DexEncodedMember<S, T>, T extends DexMember<S, T>> boolean isSorted(
- S[] items) {
+ private static <D extends DexEncodedMember<D, R>, R extends DexMember<D, R>> boolean isSorted(
+ D[] items) {
synchronized (items) {
- S[] sorted = items.clone();
+ D[] sorted = items.clone();
Arrays.sort(sorted, Comparator.comparing(DexEncodedMember::toReference));
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 2dc3a3b..075c187 100644
--- a/src/main/java/com/android/tools/r8/graph/PresortedComparable.java
+++ b/src/main/java/com/android/tools/r8/graph/PresortedComparable.java
@@ -10,8 +10,8 @@
public interface PresortedComparable<T> extends Presorted, Comparable<T> {
- static <T extends DexEncodedMember<T, S>, S extends DexMember<T, S>> boolean isSorted(
- List<? extends DexEncodedMember<T, S>> items) {
+ static <D extends DexEncodedMember<D, R>, R extends DexMember<D, R>> boolean isSorted(
+ List<? extends DexEncodedMember<D, R>> items) {
return isSorted(items, DexEncodedMember::toReference);
}
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/MemberPoolCollection.java b/src/main/java/com/android/tools/r8/ir/optimize/MemberPoolCollection.java
index 97a8de6..6e53d40 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/MemberPoolCollection.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/MemberPoolCollection.java
@@ -28,13 +28,13 @@
import java.util.function.Predicate;
// Per-class collection of member signatures.
-public abstract class MemberPoolCollection<T extends DexMember> {
+public abstract class MemberPoolCollection<R extends DexMember<?, R>> {
- final Equivalence<T> equivalence;
+ final Equivalence<R> equivalence;
final AppView<AppInfoWithLiveness> appView;
- final Map<DexClass, MemberPool<T>> memberPools = new ConcurrentHashMap<>();
+ final Map<DexClass, MemberPool<R>> memberPools = new ConcurrentHashMap<>();
- MemberPoolCollection(AppView<AppInfoWithLiveness> appView, Equivalence<T> equivalence) {
+ MemberPoolCollection(AppView<AppInfoWithLiveness> appView, Equivalence<R> equivalence) {
this.appView = appView;
this.equivalence = equivalence;
}
@@ -56,7 +56,7 @@
}
}
- public MemberPool<T> buildForHierarchy(
+ public MemberPool<R> buildForHierarchy(
DexClass clazz, ExecutorService executorService, Timing timing) throws ExecutionException {
timing.begin("Building member pool collection");
try {
@@ -75,14 +75,14 @@
return memberPools.containsKey(clazz);
}
- public MemberPool<T> get(DexClass clazz) {
+ public MemberPool<R> get(DexClass clazz) {
assert hasPool(clazz);
return memberPools.get(clazz);
}
- public boolean markIfNotSeen(DexClass clazz, T reference) {
- MemberPool<T> memberPool = get(clazz);
- Wrapper<T> key = equivalence.wrap(reference);
+ public boolean markIfNotSeen(DexClass clazz, R reference) {
+ MemberPool<R> memberPool = get(clazz);
+ Wrapper<R> key = equivalence.wrap(reference);
if (memberPool.hasSeen(key)) {
return true;
}
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 ac05da8..c0788fc 100644
--- a/src/main/java/com/android/tools/r8/shaking/Enqueuer.java
+++ b/src/main/java/com/android/tools/r8/shaking/Enqueuer.java
@@ -2714,11 +2714,11 @@
assert replaced == callSites.size();
}
- private static <S extends DexEncodedMember<S, T>, T extends DexMember<S, T>>
- SortedSet<T> toSortedDescriptorSet(Set<S> set) {
- ImmutableSortedSet.Builder<T> builder =
+ private static <D extends DexEncodedMember<D, R>, R extends DexMember<D, R>>
+ SortedSet<R> toSortedDescriptorSet(Set<D> set) {
+ ImmutableSortedSet.Builder<R> builder =
new ImmutableSortedSet.Builder<>(PresortedComparable::slowCompareTo);
- for (S item : set) {
+ for (D item : set) {
builder.add(item.toReference());
}
return builder.build();
@@ -3562,17 +3562,17 @@
}
}
- private static final class TargetWithContext<T extends DexMember<?, T>> {
+ private static final class TargetWithContext<R extends DexMember<?, R>> {
- private final T target;
+ private final R target;
private final DexEncodedMethod context;
- private TargetWithContext(T target, DexEncodedMethod context) {
+ private TargetWithContext(R target, DexEncodedMethod context) {
this.target = target;
this.context = context;
}
- public T getTarget() {
+ public R getTarget() {
return target;
}
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 d0d51aa..05d281b 100644
--- a/src/main/java/com/android/tools/r8/shaking/TreePruner.java
+++ b/src/main/java/com/android/tools/r8/shaking/TreePruner.java
@@ -243,8 +243,8 @@
return context == null || !isTypeLive(context);
}
- private <S extends DexEncodedMember<S, T>, T extends DexMember<S, T>> int firstUnreachableIndex(
- List<S> items, Predicate<S> live) {
+ private <D extends DexEncodedMember<D, R>, R extends DexMember<D, R>> int firstUnreachableIndex(
+ List<D> items, Predicate<D> 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 6646265..783862a 100644
--- a/src/main/java/com/android/tools/r8/shaking/VerticalClassMerger.java
+++ b/src/main/java/com/android/tools/r8/shaking/VerticalClassMerger.java
@@ -1269,14 +1269,14 @@
return null;
}
- private <S extends DexEncodedMember<S, T>, T extends DexMember<S, T>> void add(
- Map<Wrapper<T>, S> map, S item, Equivalence<T> equivalence) {
+ private <D extends DexEncodedMember<D, R>, R extends DexMember<D, R>> void add(
+ Map<Wrapper<R>, D> map, D item, Equivalence<R> equivalence) {
map.put(equivalence.wrap(item.toReference()), item);
}
- private <S extends DexEncodedMember<S, T>, T extends DexMember<S, T>> void addAll(
- Collection<Wrapper<T>> collection, Iterable<S> items, Equivalence<T> equivalence) {
- for (S item : items) {
+ private <D extends DexEncodedMember<D, R>, R extends DexMember<D, R>> void addAll(
+ Collection<Wrapper<R>> collection, Iterable<D> items, Equivalence<R> equivalence) {
+ for (D item : items) {
collection.add(equivalence.wrap(item.toReference()));
}
}
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 279f737..2458a64 100644
--- a/src/main/java/com/android/tools/r8/utils/OrderedMergingIterator.java
+++ b/src/main/java/com/android/tools/r8/utils/OrderedMergingIterator.java
@@ -10,20 +10,20 @@
import java.util.List;
import java.util.NoSuchElementException;
-public class OrderedMergingIterator<S extends DexEncodedMember<S, T>, T extends DexMember<S, T>>
- implements Iterator<S> {
+public class OrderedMergingIterator<D extends DexEncodedMember<D, R>, R extends DexMember<D, R>>
+ implements Iterator<D> {
- private final List<S> one;
- private final List<S> other;
+ private final List<D> one;
+ private final List<D> other;
private int oneIndex = 0;
private int otherIndex = 0;
- public OrderedMergingIterator(List<S> one, List<S> other) {
+ public OrderedMergingIterator(List<D> one, List<D> other) {
this.one = one;
this.other = other;
}
- private S getNextChecked(List<S> list, int position) {
+ private D getNextChecked(List<D> list, int position) {
if (position >= list.size()) {
throw new NoSuchElementException();
}
@@ -36,7 +36,7 @@
}
@Override
- public S next() {
+ public D next() {
if (oneIndex >= one.size()) {
return getNextChecked(other, otherIndex++);
}