Merge "Fix some raw types"
diff --git a/src/main/java/com/android/tools/r8/dex/Marker.java b/src/main/java/com/android/tools/r8/dex/Marker.java
index 9e76f31..ef17aa7 100644
--- a/src/main/java/com/android/tools/r8/dex/Marker.java
+++ b/src/main/java/com/android/tools/r8/dex/Marker.java
@@ -34,7 +34,7 @@
content = new TreeMap<>();
// This loop is necessary to make the type checker to shut up.
for (Object e : object.entrySet()) {
- Map.Entry entry = (Map.Entry) e;
+ Map.Entry<?,?> entry = (Map.Entry<?,?>) e;
content.put(String.valueOf(entry.getKey()), entry.getValue());
}
}
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 820e49d..9ec288c 100644
--- a/src/main/java/com/android/tools/r8/graph/AppInfo.java
+++ b/src/main/java/com/android/tools/r8/graph/AppInfo.java
@@ -18,7 +18,7 @@
public final DexApplication app;
public final DexItemFactory dexItemFactory;
- private final ConcurrentHashMap<DexType, Map<Descriptor, KeyedDexItem>> definitions =
+ private final ConcurrentHashMap<DexType, Map<Descriptor<?,?>, KeyedDexItem<?>>> definitions =
new ConcurrentHashMap<>();
public AppInfo(DexApplication application) {
@@ -40,8 +40,8 @@
this(application);
}
- private Map<Descriptor, KeyedDexItem> computeDefinitions(DexType type) {
- Builder<Descriptor, KeyedDexItem> builder = ImmutableMap.builder();
+ private Map<Descriptor<?,?>, KeyedDexItem<?>> computeDefinitions(DexType type) {
+ Builder<Descriptor<?,?>, KeyedDexItem<?>> builder = ImmutableMap.builder();
DexClass clazz = app.definitionFor(type);
if (clazz != null) {
clazz.forEachMethod(method -> builder.put(method.getKey(), method));
@@ -66,14 +66,14 @@
return (DexEncodedField) getDefinitions(field.getHolder()).get(field);
}
- private Map<Descriptor, KeyedDexItem> getDefinitions(DexType type) {
- Map<Descriptor, KeyedDexItem> typeDefinitions = definitions.get(type);
+ private Map<Descriptor<?,?>, KeyedDexItem<?>> getDefinitions(DexType type) {
+ Map<Descriptor<?,?>, KeyedDexItem<?>> typeDefinitions = definitions.get(type);
if (typeDefinitions != null) {
return typeDefinitions;
}
typeDefinitions = computeDefinitions(type);
- Map<Descriptor, KeyedDexItem> existing = definitions.putIfAbsent(type, typeDefinitions);
+ Map<Descriptor<?,?>, KeyedDexItem<?>> existing = definitions.putIfAbsent(type, typeDefinitions);
return existing != null ? existing : typeDefinitions;
}
diff --git a/src/main/java/com/android/tools/r8/graph/AppInfoWithSubtyping.java b/src/main/java/com/android/tools/r8/graph/AppInfoWithSubtyping.java
index a98ec9e..093442b 100644
--- a/src/main/java/com/android/tools/r8/graph/AppInfoWithSubtyping.java
+++ b/src/main/java/com/android/tools/r8/graph/AppInfoWithSubtyping.java
@@ -188,7 +188,7 @@
return result;
}
- private boolean holderIsAbstract(Descriptor desc) {
+ private boolean holderIsAbstract(Descriptor<?,?> desc) {
DexClass holder = definitionFor(desc.getHolder());
return holder.accessFlags.isAbstract();
}
diff --git a/src/main/java/com/android/tools/r8/graph/Descriptor.java b/src/main/java/com/android/tools/r8/graph/Descriptor.java
index 9065839..c49dabd 100644
--- a/src/main/java/com/android/tools/r8/graph/Descriptor.java
+++ b/src/main/java/com/android/tools/r8/graph/Descriptor.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 Descriptor<T extends DexItem, S extends Descriptor>
+public abstract class Descriptor<T extends DexItem, S extends Descriptor<T,S>>
extends IndexedDexItem implements PresortedComparable<S> {
public abstract boolean match(T entry);
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 7defdaa..6f959c7 100644
--- a/src/main/java/com/android/tools/r8/graph/DexMemberAnnotation.java
+++ b/src/main/java/com/android/tools/r8/graph/DexMemberAnnotation.java
@@ -6,7 +6,7 @@
import com.android.tools.r8.dex.IndexedItemCollection;
import com.android.tools.r8.dex.MixedSectionCollection;
-public class DexMemberAnnotation<T extends Descriptor, S extends DexItem> extends DexItem {
+public class DexMemberAnnotation<T extends Descriptor<?,?>, S extends DexItem> extends DexItem {
public final T item;
public final S annotations;
diff --git a/src/main/java/com/android/tools/r8/logging/Log.java b/src/main/java/com/android/tools/r8/logging/Log.java
index 8869bf0..6cb91b4 100644
--- a/src/main/java/com/android/tools/r8/logging/Log.java
+++ b/src/main/java/com/android/tools/r8/logging/Log.java
@@ -12,35 +12,35 @@
static private final boolean DEBUG_ENABLED = true;
static private final boolean WARN_ENABLED = true;
- public static void verbose(Class from, String message, Object... arguments) {
+ public static void verbose(Class<?> from, String message, Object... arguments) {
if (ENABLED && VERBOSE_ENABLED && isClassEnabled(from)) {
log("VERB", from, message, arguments);
}
}
- public static void info(Class from, String message, Object... arguments) {
+ public static void info(Class<?> from, String message, Object... arguments) {
if (ENABLED && INFO_ENABLED && isClassEnabled(from)) {
log("INFO", from, message, arguments);
}
}
- public static void debug(Class from, String message, Object... arguments) {
+ public static void debug(Class<?> from, String message, Object... arguments) {
if (ENABLED && DEBUG_ENABLED && isClassEnabled(from)) {
log("DBG", from, message, arguments);
}
}
- public static void warn(Class from, String message, Object... arguments) {
+ public static void warn(Class<?> from, String message, Object... arguments) {
if (ENABLED && WARN_ENABLED && isClassEnabled(from)) {
log("WARN", from, message, arguments);
}
}
- private static boolean isClassEnabled(Class clazz) {
+ private static boolean isClassEnabled(Class<?> clazz) {
return true;
}
- synchronized private static void log(String kind, Class from, String message, Object... args) {
+ synchronized private static void log(String kind, Class<?> from, String message, Object... args) {
if (args.length > 0) {
message = String.format(message, args);
}
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 ed4d34d..39aadcb 100644
--- a/src/main/java/com/android/tools/r8/shaking/Enqueuer.java
+++ b/src/main/java/com/android/tools/r8/shaking/Enqueuer.java
@@ -85,7 +85,7 @@
private Map<DexType, Set<DexField>> staticFieldsWritten = Maps.newIdentityHashMap();
private final List<SemanticsProvider> extensions = new ArrayList<>();
- private final Map<Class, Object> extensionsState = new HashMap<>();
+ private final Map<Class<?>, Object> extensionsState = new HashMap<>();
/**
* This map keeps a view of all virtual methods that are reachable from virtual invokes. A method
@@ -921,22 +921,22 @@
SortedSet<DexField> collectInstanceFieldsRead() {
return ImmutableSortedSet.copyOf(
- PresortedComparable::slowCompareTo, collectFields(instanceFieldsRead));
+ PresortedComparable<DexField>::slowCompareTo, collectFields(instanceFieldsRead));
}
SortedSet<DexField> collectInstanceFieldsWritten() {
return ImmutableSortedSet.copyOf(
- PresortedComparable::slowCompareTo, collectFields(instanceFieldsWritten));
+ PresortedComparable<DexField>::slowCompareTo, collectFields(instanceFieldsWritten));
}
SortedSet<DexField> collectStaticFieldsRead() {
return ImmutableSortedSet.copyOf(
- PresortedComparable::slowCompareTo, collectFields(staticFieldsRead));
+ PresortedComparable<DexField>::slowCompareTo, collectFields(staticFieldsRead));
}
SortedSet<DexField> collectStaticFieldsWritten() {
return ImmutableSortedSet.copyOf(
- PresortedComparable::slowCompareTo, collectFields(staticFieldsWritten));
+ PresortedComparable<DexField>::slowCompareTo, collectFields(staticFieldsWritten));
}
private Set<DexField> collectReachedFields(Map<DexType, Set<DexField>> map,
@@ -956,13 +956,13 @@
}
SortedSet<DexField> collectFieldsRead() {
- return ImmutableSortedSet.copyOf(PresortedComparable::slowCompareTo,
+ return ImmutableSortedSet.copyOf(PresortedComparable<DexField>::slowCompareTo,
Sets.union(collectReachedFields(instanceFieldsRead, this::tryLookupInstanceField),
collectReachedFields(staticFieldsRead, this::tryLookupStaticField)));
}
SortedSet<DexField> collectFieldsWritten() {
- return ImmutableSortedSet.copyOf(PresortedComparable::slowCompareTo,
+ return ImmutableSortedSet.copyOf(PresortedComparable<DexField>::slowCompareTo,
Sets.union(collectReachedFields(instanceFieldsWritten, this::tryLookupInstanceField),
collectReachedFields(staticFieldsWritten, this::tryLookupStaticField)));
}
@@ -1129,7 +1129,7 @@
/**
* Map from the class of an extension to the state it produced.
*/
- final Map<Class, Object> extensions;
+ final Map<Class<?>, Object> extensions;
/**
* A set of types that have been removed by the {@link TreePruner}.
*/
@@ -1137,10 +1137,10 @@
private AppInfoWithLiveness(AppInfoWithSubtyping appInfo, Enqueuer enqueuer) {
super(appInfo);
- this.liveTypes =
- ImmutableSortedSet.copyOf(PresortedComparable::slowCompareTo, enqueuer.liveTypes);
+ this.liveTypes = ImmutableSortedSet.copyOf(
+ PresortedComparable<DexType>::slowCompareTo, enqueuer.liveTypes);
this.instantiatedTypes = ImmutableSortedSet.copyOf(
- PresortedComparable::slowCompareTo, enqueuer.instantiatedTypes.getItems());
+ PresortedComparable<DexType>::slowCompareTo, enqueuer.instantiatedTypes.getItems());
this.targetedMethods = toSortedDescriptorSet(enqueuer.targetedMethods.getItems());
this.liveMethods = toSortedDescriptorSet(enqueuer.liveMethods.getItems());
this.liveFields = toSortedDescriptorSet(enqueuer.liveFields.getItems());
@@ -1275,7 +1275,7 @@
private <T extends PresortedComparable<T>> SortedSet<T> toSortedDescriptorSet(
Set<? extends KeyedDexItem<T>> set) {
ImmutableSortedSet.Builder<T> builder =
- new ImmutableSortedSet.Builder<>(PresortedComparable::slowCompareTo);
+ new ImmutableSortedSet.Builder<>(PresortedComparable<T>::slowCompareTo);
for (KeyedDexItem<T> item : set) {
builder.add(item.getKey());
}
@@ -1335,7 +1335,7 @@
}
@SuppressWarnings("unchecked")
- public <T> T getExtension(Class extension, T defaultValue) {
+ public <T> T getExtension(Class<?> extension, T defaultValue) {
if (extensions.containsKey(extension)) {
return (T) extensions.get(extension);
} else {
@@ -1343,7 +1343,7 @@
}
}
- public <T> void setExtension(Class extension, T value) {
+ public <T> void setExtension(Class<?> extension, T value) {
assert !extensions.containsKey(extension);
extensions.put(extension, value);
}