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