Remove missing definition set from trace references result
Change-Id: I7e2248ee04f8d7c637d64f8da8206e7780a0e391
diff --git a/src/main/java/com/android/tools/r8/tracereferences/Formatter.java b/src/main/java/com/android/tools/r8/tracereferences/Formatter.java
index b572f26..fd188c0 100644
--- a/src/main/java/com/android/tools/r8/tracereferences/Formatter.java
+++ b/src/main/java/com/android/tools/r8/tracereferences/Formatter.java
@@ -76,20 +76,14 @@
protected abstract void printTypeFooter();
void format(TraceReferencesResult result) {
- print(
- result.types,
- result.keepPackageNames,
- result.fields,
- result.methods,
- result.missingDefinition);
+ print(result.types, result.keepPackageNames, result.fields, result.methods);
}
private void print(
Set<TracedClass> types,
Set<PackageReference> keepPackageNames,
Map<ClassReference, Set<TracedField>> fields,
- Map<ClassReference, Set<TracedMethod>> methods,
- Set<Object> missingDefinition) {
+ Map<ClassReference, Set<TracedMethod>> methods) {
List<TracedClass> sortedTypes = new ArrayList<>(types);
sortedTypes.sort(Comparator.comparing(tracedClass -> tracedClass.getReference().getTypeName()));
for (TracedClass type : sortedTypes) {
@@ -97,7 +91,7 @@
methods.getOrDefault(type.getReference(), Collections.emptySet());
Set<TracedField> fieldsForClass =
fields.getOrDefault(type.getReference(), Collections.emptySet());
- if (missingDefinition.contains(type.getReference())) {
+ if (type.isMissingDefinition()) {
continue;
}
printTypeHeader(type);
diff --git a/src/main/java/com/android/tools/r8/tracereferences/TraceReferencesResult.java b/src/main/java/com/android/tools/r8/tracereferences/TraceReferencesResult.java
index e40f3d7..e0ce86a 100644
--- a/src/main/java/com/android/tools/r8/tracereferences/TraceReferencesResult.java
+++ b/src/main/java/com/android/tools/r8/tracereferences/TraceReferencesResult.java
@@ -16,25 +16,22 @@
import java.util.Map;
import java.util.Set;
-class TraceReferencesResult {
+public class TraceReferencesResult {
final Set<TracedClass> types;
final Map<ClassReference, Set<TracedField>> fields;
final Map<ClassReference, Set<TracedMethod>> methods;
final Set<PackageReference> keepPackageNames;
- final Set<Object> missingDefinition;
TraceReferencesResult(
Set<TracedClass> types,
Map<ClassReference, Set<TracedField>> fields,
Map<ClassReference, Set<TracedMethod>> methods,
- Set<PackageReference> keepPackageNames,
- Set<Object> missingDefinition) {
+ Set<PackageReference> keepPackageNames) {
this.types = types;
this.fields = fields;
this.methods = methods;
this.keepPackageNames = keepPackageNames;
- this.missingDefinition = missingDefinition;
}
static Builder builder() {
@@ -45,33 +42,23 @@
private final Set<TracedClass> types = new HashSet<>();
private final Map<ClassReference, Set<TracedField>> fields = new HashMap<>();
private final Map<ClassReference, Set<TracedMethod>> methods = new HashMap<>();
- private final Set<Object> missingDefinition = new HashSet<>();
private final Set<PackageReference> keepPackageNames = new HashSet<>();
@Override
public void acceptType(TracedClass tracedClass, DiagnosticsHandler handler) {
types.add(tracedClass);
- if (tracedClass.isMissingDefinition()) {
- this.missingDefinition.add(tracedClass.getReference());
- }
}
@Override
public void acceptField(TracedField tracedField, DiagnosticsHandler handler) {
FieldReference field = tracedField.getReference();
fields.computeIfAbsent(field.getHolderClass(), k -> new HashSet<>()).add(tracedField);
- if (tracedField.isMissingDefinition()) {
- this.missingDefinition.add(field);
- }
}
@Override
public void acceptMethod(TracedMethod tracedMethod, DiagnosticsHandler handler) {
MethodReference method = tracedMethod.getReference();
methods.computeIfAbsent(method.getHolderClass(), k -> new HashSet<>()).add(tracedMethod);
- if (tracedMethod.isMissingDefinition()) {
- this.missingDefinition.add(method);
- }
}
@Override
@@ -83,13 +70,7 @@
public void finished(DiagnosticsHandler handler) {}
TraceReferencesResult build() {
- missingDefinition.forEach(
- missingDefinition -> {
- assert missingDefinition instanceof ClassReference
- || missingDefinition instanceof FieldReference
- || missingDefinition instanceof MethodReference;
- });
- return new TraceReferencesResult(types, fields, methods, keepPackageNames, missingDefinition);
+ return new TraceReferencesResult(types, fields, methods, keepPackageNames);
}
}
}