Add reference suffix to retraced item references.

Change-Id: I05b56581b0b2f626cfa7caa33f60a2dd3ae13aa8
diff --git a/src/main/java/com/android/tools/r8/retrace/RetraceClassElement.java b/src/main/java/com/android/tools/r8/retrace/RetraceClassElement.java
index 76874f7..8fdf47d 100644
--- a/src/main/java/com/android/tools/r8/retrace/RetraceClassElement.java
+++ b/src/main/java/com/android/tools/r8/retrace/RetraceClassElement.java
@@ -10,7 +10,7 @@
 @Keep
 public interface RetraceClassElement extends RetraceElement<RetraceClassResult> {
 
-  RetracedClass getRetracedClass();
+  RetracedClassReference getRetracedClass();
 
   RetraceSourceFileResult retraceSourceFile(String sourceFile);
 
diff --git a/src/main/java/com/android/tools/r8/retrace/RetraceFieldElement.java b/src/main/java/com/android/tools/r8/retrace/RetraceFieldElement.java
index 5646b31..ec8dfb9 100644
--- a/src/main/java/com/android/tools/r8/retrace/RetraceFieldElement.java
+++ b/src/main/java/com/android/tools/r8/retrace/RetraceFieldElement.java
@@ -10,7 +10,7 @@
 
   boolean isUnknown();
 
-  RetracedField getField();
+  RetracedFieldReference getField();
 
   RetraceClassElement getClassElement();
 
diff --git a/src/main/java/com/android/tools/r8/retrace/RetraceFrameElement.java b/src/main/java/com/android/tools/r8/retrace/RetraceFrameElement.java
index cf1fa87..de298f0 100644
--- a/src/main/java/com/android/tools/r8/retrace/RetraceFrameElement.java
+++ b/src/main/java/com/android/tools/r8/retrace/RetraceFrameElement.java
@@ -12,13 +12,13 @@
 
   boolean isUnknown();
 
-  RetracedMethod getTopFrame();
+  RetracedMethodReference getTopFrame();
 
   RetraceClassElement getClassElement();
 
-  void visitFrames(BiConsumer<RetracedMethod, Integer> consumer);
+  void visitFrames(BiConsumer<RetracedMethodReference, Integer> consumer);
 
-  RetraceSourceFileResult retraceSourceFile(RetracedClassMember frame, String sourceFile);
+  RetraceSourceFileResult retraceSourceFile(RetracedClassMemberReference frame, String sourceFile);
 
-  List<? extends RetracedMethod> getOuterFrames();
+  List<? extends RetracedMethodReference> getOuterFrames();
 }
diff --git a/src/main/java/com/android/tools/r8/retrace/RetraceMethodElement.java b/src/main/java/com/android/tools/r8/retrace/RetraceMethodElement.java
index 967f863..d4eb53b 100644
--- a/src/main/java/com/android/tools/r8/retrace/RetraceMethodElement.java
+++ b/src/main/java/com/android/tools/r8/retrace/RetraceMethodElement.java
@@ -10,7 +10,7 @@
 
   boolean isUnknown();
 
-  RetracedMethod getRetracedMethod();
+  RetracedMethodReference getRetracedMethod();
 
   RetraceClassElement getClassElement();
 
diff --git a/src/main/java/com/android/tools/r8/retrace/RetraceStackTraceProxy.java b/src/main/java/com/android/tools/r8/retrace/RetraceStackTraceProxy.java
index 4eef2fc..d326609d 100644
--- a/src/main/java/com/android/tools/r8/retrace/RetraceStackTraceProxy.java
+++ b/src/main/java/com/android/tools/r8/retrace/RetraceStackTraceProxy.java
@@ -31,15 +31,15 @@
 
   ST getOriginalItem();
 
-  RetracedClass getRetracedClass();
+  RetracedClassReference getRetracedClass();
 
-  RetracedMethod getRetracedMethod();
+  RetracedMethodReference getRetracedMethod();
 
-  RetracedField getRetracedField();
+  RetracedFieldReference getRetracedField();
 
-  RetracedType getRetracedFieldOrReturnType();
+  RetracedTypeReference getRetracedFieldOrReturnType();
 
-  List<RetracedType> getMethodArguments();
+  List<RetracedTypeReference> getMethodArguments();
 
   String getSourceFile();
 
diff --git a/src/main/java/com/android/tools/r8/retrace/RetraceTypeResult.java b/src/main/java/com/android/tools/r8/retrace/RetraceTypeResult.java
index 2c0c1fa..30a4c5c 100644
--- a/src/main/java/com/android/tools/r8/retrace/RetraceTypeResult.java
+++ b/src/main/java/com/android/tools/r8/retrace/RetraceTypeResult.java
@@ -20,6 +20,6 @@
   @Keep
   interface Element {
 
-    RetracedType getType();
+    RetracedTypeReference getType();
   }
 }
diff --git a/src/main/java/com/android/tools/r8/retrace/RetracedClassMember.java b/src/main/java/com/android/tools/r8/retrace/RetracedClassMemberReference.java
similarity index 76%
rename from src/main/java/com/android/tools/r8/retrace/RetracedClassMember.java
rename to src/main/java/com/android/tools/r8/retrace/RetracedClassMemberReference.java
index f28b87e..b4067b7 100644
--- a/src/main/java/com/android/tools/r8/retrace/RetracedClassMember.java
+++ b/src/main/java/com/android/tools/r8/retrace/RetracedClassMemberReference.java
@@ -7,7 +7,7 @@
 import com.android.tools.r8.Keep;
 
 @Keep
-public interface RetracedClassMember {
+public interface RetracedClassMemberReference {
 
-  RetracedClass getHolderClass();
+  RetracedClassReference getHolderClass();
 }
diff --git a/src/main/java/com/android/tools/r8/retrace/RetracedClass.java b/src/main/java/com/android/tools/r8/retrace/RetracedClassReference.java
similarity index 83%
rename from src/main/java/com/android/tools/r8/retrace/RetracedClass.java
rename to src/main/java/com/android/tools/r8/retrace/RetracedClassReference.java
index 23b5842..99e85be 100644
--- a/src/main/java/com/android/tools/r8/retrace/RetracedClass.java
+++ b/src/main/java/com/android/tools/r8/retrace/RetracedClassReference.java
@@ -8,13 +8,13 @@
 import com.android.tools.r8.references.ClassReference;
 
 @Keep
-public interface RetracedClass {
+public interface RetracedClassReference {
 
   String getTypeName();
 
   String getBinaryName();
 
-  RetracedType getRetracedType();
+  RetracedTypeReference getRetracedType();
 
   ClassReference getClassReference();
 }
diff --git a/src/main/java/com/android/tools/r8/retrace/RetracedField.java b/src/main/java/com/android/tools/r8/retrace/RetracedFieldReference.java
similarity index 74%
rename from src/main/java/com/android/tools/r8/retrace/RetracedField.java
rename to src/main/java/com/android/tools/r8/retrace/RetracedFieldReference.java
index 2af8c71..1e942d7 100644
--- a/src/main/java/com/android/tools/r8/retrace/RetracedField.java
+++ b/src/main/java/com/android/tools/r8/retrace/RetracedFieldReference.java
@@ -9,18 +9,18 @@
 import com.android.tools.r8.references.TypeReference;
 
 @Keep
-public interface RetracedField extends RetracedClassMember {
+public interface RetracedFieldReference extends RetracedClassMemberReference {
 
   boolean isUnknown();
 
   boolean isKnown();
 
-  KnownRetracedField asKnown();
+  KnownRetracedFieldReference asKnown();
 
   String getFieldName();
 
   @Keep
-  interface KnownRetracedField extends RetracedField {
+  interface KnownRetracedFieldReference extends RetracedFieldReference {
 
     TypeReference getFieldType();
 
diff --git a/src/main/java/com/android/tools/r8/retrace/RetracedMethod.java b/src/main/java/com/android/tools/r8/retrace/RetracedMethodReference.java
similarity index 75%
rename from src/main/java/com/android/tools/r8/retrace/RetracedMethod.java
rename to src/main/java/com/android/tools/r8/retrace/RetracedMethodReference.java
index 936ea3e..d6644cb 100644
--- a/src/main/java/com/android/tools/r8/retrace/RetracedMethod.java
+++ b/src/main/java/com/android/tools/r8/retrace/RetracedMethodReference.java
@@ -10,13 +10,14 @@
 import java.util.List;
 
 @Keep
-public interface RetracedMethod extends RetracedClassMember, Comparable<RetracedMethod> {
+public interface RetracedMethodReference
+    extends RetracedClassMemberReference, Comparable<RetracedMethodReference> {
 
   boolean isUnknown();
 
   boolean isKnown();
 
-  KnownRetracedMethod asKnown();
+  KnownRetracedMethodReference asKnown();
 
   String getMethodName();
 
@@ -25,7 +26,7 @@
   int getOriginalPositionOrDefault(int defaultPosition);
 
   @Keep
-  interface KnownRetracedMethod extends RetracedMethod {
+  interface KnownRetracedMethodReference extends RetracedMethodReference {
 
     boolean isVoid();
 
diff --git a/src/main/java/com/android/tools/r8/retrace/RetracedType.java b/src/main/java/com/android/tools/r8/retrace/RetracedTypeReference.java
similarity index 91%
rename from src/main/java/com/android/tools/r8/retrace/RetracedType.java
rename to src/main/java/com/android/tools/r8/retrace/RetracedTypeReference.java
index 7d5baa1..f167483 100644
--- a/src/main/java/com/android/tools/r8/retrace/RetracedType.java
+++ b/src/main/java/com/android/tools/r8/retrace/RetracedTypeReference.java
@@ -8,7 +8,7 @@
 import com.android.tools.r8.references.TypeReference;
 
 @Keep
-public interface RetracedType {
+public interface RetracedTypeReference {
 
   boolean isVoid();
 
diff --git a/src/main/java/com/android/tools/r8/retrace/internal/RetraceClassResultImpl.java b/src/main/java/com/android/tools/r8/retrace/internal/RetraceClassResultImpl.java
index 2a88d14..1e9397a 100644
--- a/src/main/java/com/android/tools/r8/retrace/internal/RetraceClassResultImpl.java
+++ b/src/main/java/com/android/tools/r8/retrace/internal/RetraceClassResultImpl.java
@@ -179,7 +179,7 @@
   private RetraceClassElementImpl createElement() {
     return new RetraceClassElementImpl(
         this,
-        RetracedClassImpl.create(
+        RetracedClassReferenceImpl.create(
             mapper == null
                 ? obfuscatedReference
                 : Reference.classFromTypeName(mapper.originalName)),
@@ -197,12 +197,12 @@
   public static class RetraceClassElementImpl implements RetraceClassElement {
 
     private final RetraceClassResultImpl classResult;
-    private final RetracedClassImpl classReference;
+    private final RetracedClassReferenceImpl classReference;
     private final ClassNamingForNameMapper mapper;
 
     public RetraceClassElementImpl(
         RetraceClassResultImpl classResult,
-        RetracedClassImpl classReference,
+        RetracedClassReferenceImpl classReference,
         ClassNamingForNameMapper mapper) {
       this.classResult = classResult;
       this.classReference = classReference;
@@ -210,7 +210,7 @@
     }
 
     @Override
-    public RetracedClassImpl getRetracedClass() {
+    public RetracedClassReferenceImpl getRetracedClass() {
       return classReference;
     }
 
diff --git a/src/main/java/com/android/tools/r8/retrace/internal/RetraceFieldResultImpl.java b/src/main/java/com/android/tools/r8/retrace/internal/RetraceFieldResultImpl.java
index 0d4ee80..34c5206 100644
--- a/src/main/java/com/android/tools/r8/retrace/internal/RetraceFieldResultImpl.java
+++ b/src/main/java/com/android/tools/r8/retrace/internal/RetraceFieldResultImpl.java
@@ -49,7 +49,7 @@
                     new ElementImpl(
                         this,
                         classElement,
-                        RetracedFieldImpl.create(
+                        RetracedFieldReferenceImpl.create(
                             fieldDefinition.substituteHolder(
                                 classElement.getRetracedClass().getClassReference()))));
               }
@@ -58,9 +58,9 @@
                       memberNaming -> {
                         FieldSignature fieldSignature =
                             memberNaming.getOriginalSignature().asFieldSignature();
-                        RetracedClassImpl holder =
+                        RetracedClassReferenceImpl holder =
                             fieldSignature.isQualified()
-                                ? RetracedClassImpl.create(
+                                ? RetracedClassReferenceImpl.create(
                                     Reference.classFromDescriptor(
                                         DescriptorUtils.javaTypeToDescriptor(
                                             fieldSignature.toHolderFromQualified())))
@@ -68,7 +68,7 @@
                         return new ElementImpl(
                             this,
                             classElement,
-                            RetracedFieldImpl.create(
+                            RetracedFieldReferenceImpl.create(
                                 Reference.field(
                                     holder.getClassReference(),
                                     fieldSignature.isQualified()
@@ -93,14 +93,14 @@
 
   public static class ElementImpl implements RetraceFieldElement {
 
-    private final RetracedFieldImpl fieldReference;
+    private final RetracedFieldReferenceImpl fieldReference;
     private final RetraceFieldResultImpl retraceFieldResult;
     private final RetraceClassElementImpl classElement;
 
     private ElementImpl(
         RetraceFieldResultImpl retraceFieldResult,
         RetraceClassElementImpl classElement,
-        RetracedFieldImpl fieldReference) {
+        RetracedFieldReferenceImpl fieldReference) {
       this.classElement = classElement;
       this.fieldReference = fieldReference;
       this.retraceFieldResult = retraceFieldResult;
@@ -112,7 +112,7 @@
     }
 
     @Override
-    public RetracedFieldImpl getField() {
+    public RetracedFieldReferenceImpl getField() {
       return fieldReference;
     }
 
diff --git a/src/main/java/com/android/tools/r8/retrace/internal/RetraceFrameResultImpl.java b/src/main/java/com/android/tools/r8/retrace/internal/RetraceFrameResultImpl.java
index b380d56..178bf9e 100644
--- a/src/main/java/com/android/tools/r8/retrace/internal/RetraceFrameResultImpl.java
+++ b/src/main/java/com/android/tools/r8/retrace/internal/RetraceFrameResultImpl.java
@@ -12,8 +12,8 @@
 import com.android.tools.r8.retrace.RetraceFrameElement;
 import com.android.tools.r8.retrace.RetraceFrameResult;
 import com.android.tools.r8.retrace.RetraceSourceFileResult;
-import com.android.tools.r8.retrace.RetracedClassMember;
-import com.android.tools.r8.retrace.RetracedMethod;
+import com.android.tools.r8.retrace.RetracedClassMemberReference;
+import com.android.tools.r8.retrace.RetracedMethodReference;
 import com.android.tools.r8.retrace.Retracer;
 import com.android.tools.r8.retrace.internal.RetraceClassResultImpl.RetraceClassElementImpl;
 import com.android.tools.r8.utils.Pair;
@@ -78,7 +78,7 @@
                     new ElementImpl(
                         this,
                         classElement,
-                        RetracedMethodImpl.create(
+                        RetracedMethodReferenceImpl.create(
                             methodDefinition.substituteHolder(
                                 classElement.getRetracedClass().getClassReference())),
                         ImmutableList.of(),
@@ -117,23 +117,23 @@
         obfuscatedPosition);
   }
 
-  private RetracedMethodImpl getRetracedMethod(
+  private RetracedMethodReferenceImpl getRetracedMethod(
       MethodReference methodReference, MappedRange mappedRange, int obfuscatedPosition) {
     if (mappedRange.minifiedRange == null) {
       int originalLineNumber = mappedRange.getFirstLineNumberOfOriginalRange();
-      return RetracedMethodImpl.create(
+      return RetracedMethodReferenceImpl.create(
           methodReference, originalLineNumber > 0 ? originalLineNumber : obfuscatedPosition);
     }
     if (obfuscatedPosition == -1 || !mappedRange.minifiedRange.contains(obfuscatedPosition)) {
-      return RetracedMethodImpl.create(methodReference);
+      return RetracedMethodReferenceImpl.create(methodReference);
     }
-    return RetracedMethodImpl.create(
+    return RetracedMethodReferenceImpl.create(
         methodReference, mappedRange.getOriginalLineNumber(obfuscatedPosition));
   }
 
   public static class ElementImpl implements RetraceFrameElement {
 
-    private final RetracedMethodImpl methodReference;
+    private final RetracedMethodReferenceImpl methodReference;
     private final RetraceFrameResultImpl retraceFrameResult;
     private final RetraceClassElementImpl classElement;
     private final List<MappedRange> mappedRanges;
@@ -142,7 +142,7 @@
     public ElementImpl(
         RetraceFrameResultImpl retraceFrameResult,
         RetraceClassElementImpl classElement,
-        RetracedMethodImpl methodReference,
+        RetracedMethodReferenceImpl methodReference,
         List<MappedRange> mappedRanges,
         int obfuscatedPosition) {
       this.methodReference = methodReference;
@@ -163,7 +163,7 @@
     }
 
     @Override
-    public RetracedMethodImpl getTopFrame() {
+    public RetracedMethodReferenceImpl getTopFrame() {
       return methodReference;
     }
 
@@ -173,26 +173,27 @@
     }
 
     @Override
-    public void visitFrames(BiConsumer<RetracedMethod, Integer> consumer) {
+    public void visitFrames(BiConsumer<RetracedMethodReference, Integer> consumer) {
       int counter = 0;
       consumer.accept(getTopFrame(), counter++);
-      for (RetracedMethodImpl outerFrame : getOuterFrames()) {
+      for (RetracedMethodReferenceImpl outerFrame : getOuterFrames()) {
         consumer.accept(outerFrame, counter++);
       }
     }
 
     @Override
-    public RetraceSourceFileResult retraceSourceFile(RetracedClassMember frame, String sourceFile) {
+    public RetraceSourceFileResult retraceSourceFile(
+        RetracedClassMemberReference frame, String sourceFile) {
       return RetraceUtils.getSourceFile(
           classElement, frame.getHolderClass(), sourceFile, retraceFrameResult.retracer);
     }
 
     @Override
-    public List<RetracedMethodImpl> getOuterFrames() {
+    public List<RetracedMethodReferenceImpl> getOuterFrames() {
       if (mappedRanges == null) {
         return Collections.emptyList();
       }
-      List<RetracedMethodImpl> outerFrames = new ArrayList<>();
+      List<RetracedMethodReferenceImpl> outerFrames = new ArrayList<>();
       for (int i = 1; i < mappedRanges.size(); i++) {
         MappedRange mappedRange = mappedRanges.get(i);
         MethodReference methodReference =
diff --git a/src/main/java/com/android/tools/r8/retrace/internal/RetraceMethodResultImpl.java b/src/main/java/com/android/tools/r8/retrace/internal/RetraceMethodResultImpl.java
index 7de56d7..167390d 100644
--- a/src/main/java/com/android/tools/r8/retrace/internal/RetraceMethodResultImpl.java
+++ b/src/main/java/com/android/tools/r8/retrace/internal/RetraceMethodResultImpl.java
@@ -9,6 +9,7 @@
 import com.android.tools.r8.references.MethodReference;
 import com.android.tools.r8.retrace.RetraceMethodElement;
 import com.android.tools.r8.retrace.RetraceMethodResult;
+import com.android.tools.r8.retrace.RetracedMethodReference;
 import com.android.tools.r8.retrace.Retracer;
 import com.android.tools.r8.retrace.internal.RetraceClassResultImpl.RetraceClassElementImpl;
 import com.android.tools.r8.utils.Pair;
@@ -105,7 +106,7 @@
                     new ElementImpl(
                         this,
                         classElement,
-                        RetracedMethodImpl.create(
+                        RetracedMethodReferenceImpl.create(
                             methodDefinition.substituteHolder(
                                 classElement.getRetracedClass().getClassReference()))));
               }
@@ -116,21 +117,23 @@
                             RetraceUtils.methodReferenceFromMappedRange(
                                 mappedRange, classElement.getRetracedClass().getClassReference());
                         return new ElementImpl(
-                            this, classElement, RetracedMethodImpl.create(methodReference));
+                            this,
+                            classElement,
+                            RetracedMethodReferenceImpl.create(methodReference));
                       });
             });
   }
 
   public static class ElementImpl implements RetraceMethodElement {
 
-    private final RetracedMethodImpl methodReference;
+    private final RetracedMethodReferenceImpl methodReference;
     private final RetraceMethodResultImpl retraceMethodResult;
     private final RetraceClassElementImpl classElement;
 
     private ElementImpl(
         RetraceMethodResultImpl retraceMethodResult,
         RetraceClassElementImpl classElement,
-        RetracedMethodImpl methodReference) {
+        RetracedMethodReferenceImpl methodReference) {
       this.classElement = classElement;
       this.retraceMethodResult = retraceMethodResult;
       this.methodReference = methodReference;
@@ -142,7 +145,7 @@
     }
 
     @Override
-    public com.android.tools.r8.retrace.RetracedMethod getRetracedMethod() {
+    public RetracedMethodReference getRetracedMethod() {
       return null;
     }
 
diff --git a/src/main/java/com/android/tools/r8/retrace/internal/RetraceTypeResultImpl.java b/src/main/java/com/android/tools/r8/retrace/internal/RetraceTypeResultImpl.java
index 2ec0529..6242c3b 100644
--- a/src/main/java/com/android/tools/r8/retrace/internal/RetraceTypeResultImpl.java
+++ b/src/main/java/com/android/tools/r8/retrace/internal/RetraceTypeResultImpl.java
@@ -6,7 +6,7 @@
 
 import com.android.tools.r8.references.TypeReference;
 import com.android.tools.r8.retrace.RetraceTypeResult;
-import com.android.tools.r8.retrace.RetracedType;
+import com.android.tools.r8.retrace.RetracedTypeReference;
 import com.android.tools.r8.retrace.Retracer;
 import java.util.function.Consumer;
 import java.util.stream.Stream;
@@ -29,7 +29,7 @@
   public Stream<Element> stream() {
     // Handle void and primitive types as single element results.
     if (obfuscatedType == null || obfuscatedType.isPrimitive()) {
-      return Stream.of(new ElementImpl(RetracedTypeImpl.create(obfuscatedType)));
+      return Stream.of(new ElementImpl(RetracedTypeReferenceImpl.create(obfuscatedType)));
     }
     if (obfuscatedType.isArray()) {
       int dimensions = obfuscatedType.asArray().getDimensions();
@@ -37,7 +37,7 @@
           .map(
               baseElement ->
                   new ElementImpl(
-                      RetracedTypeImpl.create(baseElement.getType().toArray(dimensions))));
+                      RetracedTypeReferenceImpl.create(baseElement.getType().toArray(dimensions))));
     }
     return retracer.retraceClass(obfuscatedType.asClass()).stream()
         .map(classElement -> new ElementImpl(classElement.getRetracedClass().getRetracedType()));
@@ -56,14 +56,14 @@
 
   public static class ElementImpl implements RetraceTypeResult.Element {
 
-    private final RetracedType retracedType;
+    private final RetracedTypeReference retracedType;
 
-    public ElementImpl(RetracedType retracedType) {
+    public ElementImpl(RetracedTypeReference retracedType) {
       this.retracedType = retracedType;
     }
 
     @Override
-    public RetracedType getType() {
+    public RetracedTypeReference getType() {
       return retracedType;
     }
   }
diff --git a/src/main/java/com/android/tools/r8/retrace/internal/RetraceUtils.java b/src/main/java/com/android/tools/r8/retrace/internal/RetraceUtils.java
index f45b9b3..38a8c47 100644
--- a/src/main/java/com/android/tools/r8/retrace/internal/RetraceUtils.java
+++ b/src/main/java/com/android/tools/r8/retrace/internal/RetraceUtils.java
@@ -15,9 +15,9 @@
 import com.android.tools.r8.retrace.RetraceClassElement;
 import com.android.tools.r8.retrace.RetraceClassResult;
 import com.android.tools.r8.retrace.RetraceSourceFileResult;
-import com.android.tools.r8.retrace.RetracedClass;
-import com.android.tools.r8.retrace.RetracedMethod;
-import com.android.tools.r8.retrace.RetracedMethod.KnownRetracedMethod;
+import com.android.tools.r8.retrace.RetracedClassReference;
+import com.android.tools.r8.retrace.RetracedMethodReference;
+import com.android.tools.r8.retrace.RetracedMethodReference.KnownRetracedMethodReference;
 import com.android.tools.r8.retrace.Retracer;
 import com.android.tools.r8.utils.Box;
 import com.android.tools.r8.utils.DescriptorUtils;
@@ -33,7 +33,7 @@
   private static final Set<String> KEEP_SOURCEFILE_NAMES = Sets.newHashSet("Native Method");
 
   public static String methodDescriptionFromRetraceMethod(
-      RetracedMethod methodReference, boolean appendHolder, boolean verbose) {
+      RetracedMethodReference methodReference, boolean appendHolder, boolean verbose) {
     StringBuilder sb = new StringBuilder();
     if (appendHolder) {
       sb.append(methodReference.getHolderClass().getTypeName());
@@ -43,7 +43,7 @@
       return sb.append(methodReference.getMethodName()).toString();
     }
     assert methodReference.isKnown();
-    KnownRetracedMethod knownRef = methodReference.asKnown();
+    KnownRetracedMethodReference knownRef = methodReference.asKnown();
     sb.append(knownRef.isVoid() ? "void" : knownRef.getReturnType().getTypeName());
     sb.append(" ");
     sb.append(methodReference.getMethodName());
@@ -77,7 +77,7 @@
 
   static RetraceSourceFileResult getSourceFile(
       RetraceClassElement classElement,
-      RetracedClass context,
+      RetracedClassReference context,
       String sourceFile,
       Retracer retracer) {
     // If no context is specified always retrace using the found class element.
diff --git a/src/main/java/com/android/tools/r8/retrace/internal/RetracedClassImpl.java b/src/main/java/com/android/tools/r8/retrace/internal/RetracedClassReferenceImpl.java
similarity index 64%
rename from src/main/java/com/android/tools/r8/retrace/internal/RetracedClassImpl.java
rename to src/main/java/com/android/tools/r8/retrace/internal/RetracedClassReferenceImpl.java
index 47c41b9..ef23ef1 100644
--- a/src/main/java/com/android/tools/r8/retrace/internal/RetracedClassImpl.java
+++ b/src/main/java/com/android/tools/r8/retrace/internal/RetracedClassReferenceImpl.java
@@ -5,19 +5,19 @@
 package com.android.tools.r8.retrace.internal;
 
 import com.android.tools.r8.references.ClassReference;
-import com.android.tools.r8.retrace.RetracedClass;
+import com.android.tools.r8.retrace.RetracedClassReference;
 
-public final class RetracedClassImpl implements RetracedClass {
+public final class RetracedClassReferenceImpl implements RetracedClassReference {
 
   private final ClassReference classReference;
 
-  private RetracedClassImpl(ClassReference classReference) {
+  private RetracedClassReferenceImpl(ClassReference classReference) {
     assert classReference != null;
     this.classReference = classReference;
   }
 
-  public static RetracedClassImpl create(ClassReference classReference) {
-    return new RetracedClassImpl(classReference);
+  public static RetracedClassReferenceImpl create(ClassReference classReference) {
+    return new RetracedClassReferenceImpl(classReference);
   }
 
   @Override
@@ -31,8 +31,8 @@
   }
 
   @Override
-  public RetracedTypeImpl getRetracedType() {
-    return RetracedTypeImpl.create(classReference);
+  public RetracedTypeReferenceImpl getRetracedType() {
+    return RetracedTypeReferenceImpl.create(classReference);
   }
 
   @Override
@@ -48,7 +48,7 @@
     if (o == null || getClass() != o.getClass()) {
       return false;
     }
-    return classReference.equals(((RetracedClassImpl) o).classReference);
+    return classReference.equals(((RetracedClassReferenceImpl) o).classReference);
   }
 
   @Override
diff --git a/src/main/java/com/android/tools/r8/retrace/internal/RetracedFieldImpl.java b/src/main/java/com/android/tools/r8/retrace/internal/RetracedFieldImpl.java
deleted file mode 100644
index 9dd96c8..0000000
--- a/src/main/java/com/android/tools/r8/retrace/internal/RetracedFieldImpl.java
+++ /dev/null
@@ -1,131 +0,0 @@
-// Copyright (c) 2020, the R8 project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-package com.android.tools.r8.retrace.internal;
-
-import com.android.tools.r8.references.FieldReference;
-import com.android.tools.r8.references.TypeReference;
-import com.android.tools.r8.retrace.RetracedField;
-import java.util.Objects;
-
-public abstract class RetracedFieldImpl implements RetracedField {
-
-  private RetracedFieldImpl() {}
-
-  @Override
-  public boolean isUnknown() {
-    return true;
-  }
-
-  @Override
-  public final boolean isKnown() {
-    return !isUnknown();
-  }
-
-  @Override
-  public KnownRetracedFieldImpl asKnown() {
-    return null;
-  }
-
-  public static final class KnownRetracedFieldImpl extends RetracedFieldImpl
-      implements KnownRetracedField {
-
-    private final FieldReference fieldReference;
-
-    private KnownRetracedFieldImpl(FieldReference fieldReference) {
-      this.fieldReference = fieldReference;
-    }
-
-    @Override
-    public boolean isUnknown() {
-      return false;
-    }
-
-    @Override
-    public KnownRetracedFieldImpl asKnown() {
-      return this;
-    }
-
-    @Override
-    public RetracedClassImpl getHolderClass() {
-      return RetracedClassImpl.create(fieldReference.getHolderClass());
-    }
-
-    @Override
-    public String getFieldName() {
-      return fieldReference.getFieldName();
-    }
-
-    @Override
-    public TypeReference getFieldType() {
-      return fieldReference.getFieldType();
-    }
-
-    @Override
-    public FieldReference getFieldReference() {
-      return fieldReference;
-    }
-
-    @Override
-    public boolean equals(Object o) {
-      if (this == o) {
-        return true;
-      }
-      if (o == null || getClass() != o.getClass()) {
-        return false;
-      }
-      KnownRetracedFieldImpl that = (KnownRetracedFieldImpl) o;
-      return fieldReference.equals(that.fieldReference);
-    }
-
-    @Override
-    public int hashCode() {
-      return Objects.hash(fieldReference);
-    }
-  }
-
-  public static final class UnknownRetracedField extends RetracedFieldImpl {
-
-    private final FieldDefinition fieldDefinition;
-
-    private UnknownRetracedField(FieldDefinition fieldDefinition) {
-      this.fieldDefinition = fieldDefinition;
-    }
-
-    @Override
-    public RetracedClassImpl getHolderClass() {
-      return RetracedClassImpl.create(fieldDefinition.getHolderClass());
-    }
-
-    @Override
-    public String getFieldName() {
-      return fieldDefinition.getName();
-    }
-
-    @Override
-    public boolean equals(Object o) {
-      if (this == o) {
-        return true;
-      }
-      if (o == null || getClass() != o.getClass()) {
-        return false;
-      }
-      UnknownRetracedField that = (UnknownRetracedField) o;
-      return fieldDefinition.equals(that.fieldDefinition);
-    }
-
-    @Override
-    public int hashCode() {
-      return Objects.hash(fieldDefinition);
-    }
-  }
-
-  static RetracedFieldImpl create(FieldReference fieldReference) {
-    return new KnownRetracedFieldImpl(fieldReference);
-  }
-
-  static RetracedFieldImpl create(FieldDefinition fieldDefinition) {
-    return new UnknownRetracedField(fieldDefinition);
-  }
-}
diff --git a/src/main/java/com/android/tools/r8/retrace/internal/RetracedFieldReferenceImpl.java b/src/main/java/com/android/tools/r8/retrace/internal/RetracedFieldReferenceImpl.java
new file mode 100644
index 0000000..8316a3b
--- /dev/null
+++ b/src/main/java/com/android/tools/r8/retrace/internal/RetracedFieldReferenceImpl.java
@@ -0,0 +1,131 @@
+// Copyright (c) 2020, the R8 project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+package com.android.tools.r8.retrace.internal;
+
+import com.android.tools.r8.references.FieldReference;
+import com.android.tools.r8.references.TypeReference;
+import com.android.tools.r8.retrace.RetracedFieldReference;
+import java.util.Objects;
+
+public abstract class RetracedFieldReferenceImpl implements RetracedFieldReference {
+
+  private RetracedFieldReferenceImpl() {}
+
+  @Override
+  public boolean isUnknown() {
+    return true;
+  }
+
+  @Override
+  public final boolean isKnown() {
+    return !isUnknown();
+  }
+
+  @Override
+  public KnownRetracedFieldReferenceImpl asKnown() {
+    return null;
+  }
+
+  public static final class KnownRetracedFieldReferenceImpl extends RetracedFieldReferenceImpl
+      implements KnownRetracedFieldReference {
+
+    private final FieldReference fieldReference;
+
+    private KnownRetracedFieldReferenceImpl(FieldReference fieldReference) {
+      this.fieldReference = fieldReference;
+    }
+
+    @Override
+    public boolean isUnknown() {
+      return false;
+    }
+
+    @Override
+    public KnownRetracedFieldReferenceImpl asKnown() {
+      return this;
+    }
+
+    @Override
+    public RetracedClassReferenceImpl getHolderClass() {
+      return RetracedClassReferenceImpl.create(fieldReference.getHolderClass());
+    }
+
+    @Override
+    public String getFieldName() {
+      return fieldReference.getFieldName();
+    }
+
+    @Override
+    public TypeReference getFieldType() {
+      return fieldReference.getFieldType();
+    }
+
+    @Override
+    public FieldReference getFieldReference() {
+      return fieldReference;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+      if (this == o) {
+        return true;
+      }
+      if (o == null || getClass() != o.getClass()) {
+        return false;
+      }
+      KnownRetracedFieldReferenceImpl that = (KnownRetracedFieldReferenceImpl) o;
+      return fieldReference.equals(that.fieldReference);
+    }
+
+    @Override
+    public int hashCode() {
+      return Objects.hash(fieldReference);
+    }
+  }
+
+  public static final class UnknownRetracedFieldReferenceImpl extends RetracedFieldReferenceImpl {
+
+    private final FieldDefinition fieldDefinition;
+
+    private UnknownRetracedFieldReferenceImpl(FieldDefinition fieldDefinition) {
+      this.fieldDefinition = fieldDefinition;
+    }
+
+    @Override
+    public RetracedClassReferenceImpl getHolderClass() {
+      return RetracedClassReferenceImpl.create(fieldDefinition.getHolderClass());
+    }
+
+    @Override
+    public String getFieldName() {
+      return fieldDefinition.getName();
+    }
+
+    @Override
+    public boolean equals(Object o) {
+      if (this == o) {
+        return true;
+      }
+      if (o == null || getClass() != o.getClass()) {
+        return false;
+      }
+      UnknownRetracedFieldReferenceImpl that = (UnknownRetracedFieldReferenceImpl) o;
+      return fieldDefinition.equals(that.fieldDefinition);
+    }
+
+    @Override
+    public int hashCode() {
+      return Objects.hash(fieldDefinition);
+    }
+  }
+
+  static RetracedFieldReferenceImpl create(FieldReference fieldReference) {
+    return new KnownRetracedFieldReferenceImpl(fieldReference);
+  }
+
+  static RetracedFieldReferenceImpl create(FieldDefinition fieldDefinition) {
+    return new UnknownRetracedFieldReferenceImpl(fieldDefinition);
+  }
+}
diff --git a/src/main/java/com/android/tools/r8/retrace/internal/RetracedMethodImpl.java b/src/main/java/com/android/tools/r8/retrace/internal/RetracedMethodReferenceImpl.java
similarity index 65%
rename from src/main/java/com/android/tools/r8/retrace/internal/RetracedMethodImpl.java
rename to src/main/java/com/android/tools/r8/retrace/internal/RetracedMethodReferenceImpl.java
index ec4ff42..9ac65be 100644
--- a/src/main/java/com/android/tools/r8/retrace/internal/RetracedMethodImpl.java
+++ b/src/main/java/com/android/tools/r8/retrace/internal/RetracedMethodReferenceImpl.java
@@ -6,18 +6,18 @@
 
 import com.android.tools.r8.references.MethodReference;
 import com.android.tools.r8.references.TypeReference;
-import com.android.tools.r8.retrace.RetracedMethod;
+import com.android.tools.r8.retrace.RetracedMethodReference;
 import com.android.tools.r8.utils.ComparatorUtils;
 import java.util.Comparator;
 import java.util.List;
 import java.util.Objects;
 import java.util.Optional;
 
-public abstract class RetracedMethodImpl implements RetracedMethod {
+public abstract class RetracedMethodReferenceImpl implements RetracedMethodReference {
 
   private static final int NO_POSITION = -1;
 
-  private RetracedMethodImpl() {}
+  private RetracedMethodReferenceImpl() {}
 
   @Override
   public boolean isUnknown() {
@@ -30,38 +30,38 @@
   }
 
   @Override
-  public KnownRetracedMethodImpl asKnown() {
+  public KnownRetracedMethodReferenceImpl asKnown() {
     return null;
   }
 
   @Override
-  public int compareTo(RetracedMethod other) {
-    return Comparator.comparing(RetracedMethod::getMethodName)
-        .thenComparing(RetracedMethod::isKnown)
+  public int compareTo(RetracedMethodReference other) {
+    return Comparator.comparing(RetracedMethodReference::getMethodName)
+        .thenComparing(RetracedMethodReference::isKnown)
         .thenComparing(
-            RetracedMethod::asKnown,
+            RetracedMethodReference::asKnown,
             Comparator.nullsFirst(
                     Comparator.comparing(
-                        (KnownRetracedMethod m) -> {
+                        (KnownRetracedMethodReference m) -> {
                           if (m == null) {
                             return null;
                           }
                           return m.isVoid() ? "void" : m.getReturnType().getTypeName();
                         }))
                 .thenComparing(
-                    KnownRetracedMethod::getFormalTypes,
+                    KnownRetracedMethodReference::getFormalTypes,
                     ComparatorUtils.listComparator(
                         Comparator.comparing(TypeReference::getTypeName))))
         .compare(this, other);
   }
 
-  public static final class KnownRetracedMethodImpl extends RetracedMethodImpl
-      implements KnownRetracedMethod {
+  public static final class KnownRetracedMethodReferenceImpl extends RetracedMethodReferenceImpl
+      implements KnownRetracedMethodReference {
 
     private final MethodReference methodReference;
     private final int position;
 
-    private KnownRetracedMethodImpl(MethodReference methodReference, int position) {
+    private KnownRetracedMethodReferenceImpl(MethodReference methodReference, int position) {
       assert methodReference != null;
       this.methodReference = methodReference;
       this.position = position;
@@ -78,13 +78,13 @@
     }
 
     @Override
-    public KnownRetracedMethodImpl asKnown() {
+    public KnownRetracedMethodReferenceImpl asKnown() {
       return this;
     }
 
     @Override
-    public RetracedClassImpl getHolderClass() {
-      return RetracedClassImpl.create(methodReference.getHolderClass());
+    public RetracedClassReferenceImpl getHolderClass() {
+      return RetracedClassReferenceImpl.create(methodReference.getHolderClass());
     }
 
     @Override
@@ -126,7 +126,7 @@
       if (o == null || getClass() != o.getClass()) {
         return false;
       }
-      KnownRetracedMethodImpl that = (KnownRetracedMethodImpl) o;
+      KnownRetracedMethodReferenceImpl that = (KnownRetracedMethodReferenceImpl) o;
       return position == that.position && methodReference.equals(that.methodReference);
     }
 
@@ -136,19 +136,19 @@
     }
   }
 
-  public static final class UnknownRetracedMethodImpl extends RetracedMethodImpl {
+  public static final class UnknownRetracedMethodReferenceImpl extends RetracedMethodReferenceImpl {
 
     private final MethodDefinition methodDefinition;
     private final int position;
 
-    private UnknownRetracedMethodImpl(MethodDefinition methodDefinition, int position) {
+    private UnknownRetracedMethodReferenceImpl(MethodDefinition methodDefinition, int position) {
       this.methodDefinition = methodDefinition;
       this.position = position;
     }
 
     @Override
-    public RetracedClassImpl getHolderClass() {
-      return RetracedClassImpl.create(methodDefinition.getHolderClass());
+    public RetracedClassReferenceImpl getHolderClass() {
+      return RetracedClassReferenceImpl.create(methodDefinition.getHolderClass());
     }
 
     @Override
@@ -174,23 +174,23 @@
     }
   }
 
-  static RetracedMethodImpl create(MethodDefinition methodDefinition) {
+  static RetracedMethodReferenceImpl create(MethodDefinition methodDefinition) {
     return create(methodDefinition, NO_POSITION);
   }
 
-  static RetracedMethodImpl create(MethodDefinition methodDefinition, int position) {
+  static RetracedMethodReferenceImpl create(MethodDefinition methodDefinition, int position) {
     if (methodDefinition.isFullMethodDefinition()) {
-      return new KnownRetracedMethodImpl(
+      return new KnownRetracedMethodReferenceImpl(
           methodDefinition.asFullMethodDefinition().getMethodReference(), position);
     }
-    return new UnknownRetracedMethodImpl(methodDefinition, position);
+    return new UnknownRetracedMethodReferenceImpl(methodDefinition, position);
   }
 
-  static RetracedMethodImpl create(MethodReference methodReference) {
+  static RetracedMethodReferenceImpl create(MethodReference methodReference) {
     return create(methodReference, NO_POSITION);
   }
 
-  static RetracedMethodImpl create(MethodReference methodReference, int position) {
-    return new KnownRetracedMethodImpl(methodReference, position);
+  static RetracedMethodReferenceImpl create(MethodReference methodReference, int position) {
+    return new KnownRetracedMethodReferenceImpl(methodReference, position);
   }
 }
diff --git a/src/main/java/com/android/tools/r8/retrace/internal/RetracedTypeImpl.java b/src/main/java/com/android/tools/r8/retrace/internal/RetracedTypeReferenceImpl.java
similarity index 69%
rename from src/main/java/com/android/tools/r8/retrace/internal/RetracedTypeImpl.java
rename to src/main/java/com/android/tools/r8/retrace/internal/RetracedTypeReferenceImpl.java
index 38d1a83..c1e7bcd 100644
--- a/src/main/java/com/android/tools/r8/retrace/internal/RetracedTypeImpl.java
+++ b/src/main/java/com/android/tools/r8/retrace/internal/RetracedTypeReferenceImpl.java
@@ -6,23 +6,23 @@
 
 import com.android.tools.r8.references.Reference;
 import com.android.tools.r8.references.TypeReference;
-import com.android.tools.r8.retrace.RetracedType;
+import com.android.tools.r8.retrace.RetracedTypeReference;
 import java.util.Objects;
 
-public final class RetracedTypeImpl implements RetracedType {
+public final class RetracedTypeReferenceImpl implements RetracedTypeReference {
 
   private final TypeReference typeReference;
 
-  private RetracedTypeImpl(TypeReference typeReference) {
+  private RetracedTypeReferenceImpl(TypeReference typeReference) {
     this.typeReference = typeReference;
   }
 
-  static RetracedTypeImpl create(TypeReference typeReference) {
-    return new RetracedTypeImpl(typeReference);
+  static RetracedTypeReferenceImpl create(TypeReference typeReference) {
+    return new RetracedTypeReferenceImpl(typeReference);
   }
 
-  static RetracedType createVoid() {
-    return new RetracedTypeImpl(null);
+  static RetracedTypeReference createVoid() {
+    return new RetracedTypeReferenceImpl(null);
   }
 
   @Override
@@ -54,7 +54,7 @@
     if (o == null || getClass() != o.getClass()) {
       return false;
     }
-    return typeReference.equals(((RetracedTypeImpl) o).typeReference);
+    return typeReference.equals(((RetracedTypeReferenceImpl) o).typeReference);
   }
 
   @Override
diff --git a/src/main/java/com/android/tools/r8/retrace/internal/StackTraceElementProxyRetracerImpl.java b/src/main/java/com/android/tools/r8/retrace/internal/StackTraceElementProxyRetracerImpl.java
index ad01ee2..937bf8e 100644
--- a/src/main/java/com/android/tools/r8/retrace/internal/StackTraceElementProxyRetracerImpl.java
+++ b/src/main/java/com/android/tools/r8/retrace/internal/StackTraceElementProxyRetracerImpl.java
@@ -11,10 +11,10 @@
 import com.android.tools.r8.retrace.RetraceFrameResult;
 import com.android.tools.r8.retrace.RetraceStackTraceProxy;
 import com.android.tools.r8.retrace.RetraceTypeResult;
-import com.android.tools.r8.retrace.RetracedClass;
-import com.android.tools.r8.retrace.RetracedField;
-import com.android.tools.r8.retrace.RetracedMethod;
-import com.android.tools.r8.retrace.RetracedType;
+import com.android.tools.r8.retrace.RetracedClassReference;
+import com.android.tools.r8.retrace.RetracedFieldReference;
+import com.android.tools.r8.retrace.RetracedMethodReference;
+import com.android.tools.r8.retrace.RetracedTypeReference;
 import com.android.tools.r8.retrace.Retracer;
 import com.android.tools.r8.retrace.StackTraceElementProxy;
 import com.android.tools.r8.retrace.StackTraceElementProxyRetracer;
@@ -168,7 +168,8 @@
     }
     String elementOrReturnType = element.getFieldOrReturnType();
     if (elementOrReturnType.equals("void")) {
-      return Stream.of(proxy -> proxy.setRetracedFieldOrReturnType(RetracedTypeImpl.createVoid()));
+      return Stream.of(
+          proxy -> proxy.setRetracedFieldOrReturnType(RetracedTypeReferenceImpl.createVoid()));
     } else {
       TypeReference typeReference = Reference.typeFromTypeName(elementOrReturnType);
       RetraceTypeResult retraceTypeResult = retracer.retraceType(typeReference);
@@ -193,10 +194,10 @@
         Arrays.stream(element.getMethodArguments().split(","))
             .map(typeName -> retracer.retraceType(Reference.typeFromTypeName(typeName)))
             .collect(Collectors.toList());
-    List<List<RetracedType>> initial = new ArrayList<>();
+    List<List<RetracedTypeReference>> initial = new ArrayList<>();
     initial.add(new ArrayList<>());
     Box<Boolean> isAmbiguous = new Box<>(false);
-    List<List<RetracedType>> retracedArguments =
+    List<List<RetracedTypeReference>> retracedArguments =
         ListUtils.fold(
             retracedResults,
             initial,
@@ -204,12 +205,12 @@
               if (retracedTypeResult.isAmbiguous()) {
                 isAmbiguous.set(true);
               }
-              List<List<RetracedType>> newResult = new ArrayList<>();
+              List<List<RetracedTypeReference>> newResult = new ArrayList<>();
               retracedTypeResult.forEach(
                   retracedElement -> {
                     acc.forEach(
                         oldResult -> {
-                          List<RetracedType> newList = new ArrayList<>(oldResult);
+                          List<RetracedTypeReference> newList = new ArrayList<>(oldResult);
                           newList.add(retracedElement.getType());
                           newResult.add(newList);
                         });
@@ -231,11 +232,11 @@
       implements RetraceStackTraceProxy<T, ST> {
 
     private final ST originalItem;
-    private final RetracedClass retracedClass;
-    private final RetracedMethod retracedMethod;
-    private final RetracedField retracedField;
-    private final RetracedType fieldOrReturnType;
-    private final List<RetracedType> methodArguments;
+    private final RetracedClassReference retracedClass;
+    private final RetracedMethodReference retracedMethod;
+    private final RetracedFieldReference retracedField;
+    private final RetracedTypeReference fieldOrReturnType;
+    private final List<RetracedTypeReference> methodArguments;
     private final String sourceFile;
     private final int lineNumber;
     private final boolean isAmbiguous;
@@ -243,11 +244,11 @@
 
     private RetraceStackTraceProxyImpl(
         ST originalItem,
-        RetracedClass retracedClass,
-        RetracedMethod retracedMethod,
-        RetracedField retracedField,
-        RetracedType fieldOrReturnType,
-        List<RetracedType> methodArguments,
+        RetracedClassReference retracedClass,
+        RetracedMethodReference retracedMethod,
+        RetracedFieldReference retracedField,
+        RetracedTypeReference fieldOrReturnType,
+        List<RetracedTypeReference> methodArguments,
         String sourceFile,
         int lineNumber,
         boolean isAmbiguous,
@@ -316,27 +317,27 @@
     }
 
     @Override
-    public RetracedClass getRetracedClass() {
+    public RetracedClassReference getRetracedClass() {
       return retracedClass;
     }
 
     @Override
-    public RetracedMethod getRetracedMethod() {
+    public RetracedMethodReference getRetracedMethod() {
       return retracedMethod;
     }
 
     @Override
-    public RetracedField getRetracedField() {
+    public RetracedFieldReference getRetracedField() {
       return retracedField;
     }
 
     @Override
-    public RetracedType getRetracedFieldOrReturnType() {
+    public RetracedTypeReference getRetracedFieldOrReturnType() {
       return fieldOrReturnType;
     }
 
     @Override
-    public List<RetracedType> getMethodArguments() {
+    public List<RetracedTypeReference> getMethodArguments() {
       return methodArguments;
     }
 
@@ -401,11 +402,11 @@
     private static class Builder<T, ST extends StackTraceElementProxy<T, ST>> {
 
       private final ST originalElement;
-      private RetracedClass classContext;
-      private RetracedMethod methodContext;
-      private RetracedField retracedField;
-      private RetracedType fieldOrReturnType;
-      private List<RetracedType> methodArguments;
+      private RetracedClassReference classContext;
+      private RetracedMethodReference methodContext;
+      private RetracedFieldReference retracedField;
+      private RetracedTypeReference fieldOrReturnType;
+      private List<RetracedTypeReference> methodArguments;
       private String sourceFile;
       private int lineNumber = -1;
       private boolean isAmbiguous;
@@ -415,27 +416,27 @@
         this.originalElement = originalElement;
       }
 
-      private Builder<T, ST> setRetracedClass(RetracedClass retracedClass) {
+      private Builder<T, ST> setRetracedClass(RetracedClassReference retracedClass) {
         this.classContext = retracedClass;
         return this;
       }
 
-      private Builder<T, ST> setRetracedMethod(RetracedMethod methodElement) {
+      private Builder<T, ST> setRetracedMethod(RetracedMethodReference methodElement) {
         this.methodContext = methodElement;
         return this;
       }
 
-      private Builder<T, ST> setRetracedField(RetracedField retracedField) {
+      private Builder<T, ST> setRetracedField(RetracedFieldReference retracedField) {
         this.retracedField = retracedField;
         return this;
       }
 
-      private Builder<T, ST> setRetracedFieldOrReturnType(RetracedType retracedType) {
+      private Builder<T, ST> setRetracedFieldOrReturnType(RetracedTypeReference retracedType) {
         this.fieldOrReturnType = retracedType;
         return this;
       }
 
-      private Builder<T, ST> setRetracedMethodArguments(List<RetracedType> arguments) {
+      private Builder<T, ST> setRetracedMethodArguments(List<RetracedTypeReference> arguments) {
         this.methodArguments = arguments;
         return this;
       }
@@ -461,7 +462,7 @@
       }
 
       private RetraceStackTraceProxy<T, ST> build() {
-        RetracedClass retracedClass = classContext;
+        RetracedClassReference retracedClass = classContext;
         if (methodContext != null) {
           retracedClass = methodContext.getHolderClass();
         }
diff --git a/src/main/java/com/android/tools/r8/retrace/internal/StackTraceElementStringProxy.java b/src/main/java/com/android/tools/r8/retrace/internal/StackTraceElementStringProxy.java
index 272f19d..33a0ea1 100644
--- a/src/main/java/com/android/tools/r8/retrace/internal/StackTraceElementStringProxy.java
+++ b/src/main/java/com/android/tools/r8/retrace/internal/StackTraceElementStringProxy.java
@@ -11,9 +11,9 @@
 import com.android.tools.r8.references.ClassReference;
 import com.android.tools.r8.references.Reference;
 import com.android.tools.r8.retrace.RetraceStackTraceProxy;
-import com.android.tools.r8.retrace.RetracedClass;
-import com.android.tools.r8.retrace.RetracedField;
-import com.android.tools.r8.retrace.RetracedType;
+import com.android.tools.r8.retrace.RetracedClassReference;
+import com.android.tools.r8.retrace.RetracedFieldReference;
+import com.android.tools.r8.retrace.RetracedTypeReference;
 import com.android.tools.r8.retrace.StackTraceElementProxy;
 import com.android.tools.r8.utils.StringUtils;
 import com.android.tools.r8.utils.TriFunction;
@@ -189,7 +189,7 @@
               endIndex,
               (retraced, original, verbose) -> {
                 assert retraced.hasRetracedClass();
-                RetracedClass retracedClass = retraced.getRetracedClass();
+                RetracedClassReference retracedClass = retraced.getRetracedClass();
                 return classNameType == ClassNameType.BINARY
                     ? retracedClass.getBinaryName()
                     : retracedClass.getTypeName();
@@ -248,7 +248,7 @@
                 if (!retraced.hasRetracedField()) {
                   return original.getFieldName();
                 }
-                RetracedField retracedField = retraced.getRetracedField();
+                RetracedFieldReference retracedField = retraced.getRetracedField();
                 if (!verbose || retracedField.isUnknown()) {
                   return retracedField.getFieldName();
                 }
@@ -289,7 +289,7 @@
                   return original.getMethodArguments();
                 }
                 return StringUtils.join(
-                    ",", retraced.getMethodArguments(), RetracedType::getTypeName);
+                    ",", retraced.getMethodArguments(), RetracedTypeReference::getTypeName);
               });
       orderedIndices.add(methodArguments);
       return this;
diff --git a/src/test/java/com/android/tools/r8/utils/codeinspector/FoundClassSubject.java b/src/test/java/com/android/tools/r8/utils/codeinspector/FoundClassSubject.java
index 769760b..40deb3d 100644
--- a/src/test/java/com/android/tools/r8/utils/codeinspector/FoundClassSubject.java
+++ b/src/test/java/com/android/tools/r8/utils/codeinspector/FoundClassSubject.java
@@ -34,7 +34,7 @@
 import com.android.tools.r8.references.Reference;
 import com.android.tools.r8.references.TypeReference;
 import com.android.tools.r8.retrace.RetraceTypeResult;
-import com.android.tools.r8.retrace.RetracedField;
+import com.android.tools.r8.retrace.RetracedFieldReference;
 import com.android.tools.r8.retrace.Retracer;
 import com.android.tools.r8.synthesis.SyntheticItemsTestUtils;
 import com.android.tools.r8.utils.DescriptorUtils;
@@ -233,7 +233,7 @@
           .retraceField(fieldReference)
           .forEach(
               element -> {
-                RetracedField field = element.getField();
+                RetracedFieldReference field = element.getField();
                 if (!element.isUnknown() && field.getFieldName().equals(name)) {
                   candidates.add(candidate);
                   // TODO(b/169953605): There should not be a need for mapping the final type.