Merge "Don't mark identifier name strings if not minifying"
diff --git a/src/main/java/com/android/tools/r8/ArchiveClassFileProvider.java b/src/main/java/com/android/tools/r8/ArchiveClassFileProvider.java
index ae022a5..aec690d 100644
--- a/src/main/java/com/android/tools/r8/ArchiveClassFileProvider.java
+++ b/src/main/java/com/android/tools/r8/ArchiveClassFileProvider.java
@@ -7,8 +7,9 @@
 import static com.android.tools.r8.utils.FileUtils.isArchive;
 import static com.android.tools.r8.utils.FileUtils.isClassFile;
 
-import com.android.tools.r8.Resource.Origin;
+import com.android.tools.r8.origin.Origin;
 import com.android.tools.r8.errors.CompilationError;
+import com.android.tools.r8.origin.PathOrigin;
 import com.android.tools.r8.shaking.FilteredClassPath;
 import com.android.tools.r8.utils.DescriptorUtils;
 import com.google.common.io.ByteStreams;
@@ -56,7 +57,7 @@
 
   private ArchiveClassFileProvider(FilteredClassPath archive) throws IOException {
     assert isArchive(archive.getPath());
-    origin = new Resource.PathOrigin(archive.getPath(), Origin.root());
+    origin = new PathOrigin(archive.getPath(), Origin.root());
     zipFile = new ZipFile(archive.getPath().toFile());
     final Enumeration<? extends ZipEntry> entries = zipFile.entries();
     while (entries.hasMoreElements()) {
diff --git a/src/main/java/com/android/tools/r8/Diagnostic.java b/src/main/java/com/android/tools/r8/Diagnostic.java
index 1c1961d..b0868cc 100644
--- a/src/main/java/com/android/tools/r8/Diagnostic.java
+++ b/src/main/java/com/android/tools/r8/Diagnostic.java
@@ -3,7 +3,7 @@
 // BSD-style license that can be found in the LICENSE file.
 package com.android.tools.r8;
 
-import com.android.tools.r8.Resource.Origin;
+import com.android.tools.r8.origin.Origin;
 
 /**
  * Interface for all diagnostic message produced by D8 and R8.
diff --git a/src/main/java/com/android/tools/r8/DiagnosticsHandler.java b/src/main/java/com/android/tools/r8/DiagnosticsHandler.java
index 8e69699..10f24f5 100644
--- a/src/main/java/com/android/tools/r8/DiagnosticsHandler.java
+++ b/src/main/java/com/android/tools/r8/DiagnosticsHandler.java
@@ -3,7 +3,7 @@
 // BSD-style license that can be found in the LICENSE file.
 package com.android.tools.r8;
 
-import com.android.tools.r8.Resource.Origin;
+import com.android.tools.r8.origin.Origin;
 
 /**
  * A DiagnosticsHandler can be provided to customize handling of diagnostics information.
diff --git a/src/main/java/com/android/tools/r8/Resource.java b/src/main/java/com/android/tools/r8/Resource.java
index b2bc53d..bbd5954 100644
--- a/src/main/java/com/android/tools/r8/Resource.java
+++ b/src/main/java/com/android/tools/r8/Resource.java
@@ -4,161 +4,18 @@
 
 package com.android.tools.r8;
 
+import com.android.tools.r8.origin.Origin;
+import com.android.tools.r8.origin.PathOrigin;
 import java.io.ByteArrayInputStream;
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.nio.file.Path;
-import java.util.ArrayList;
-import java.util.List;
 import java.util.Set;
 
 /** Represents application resources. */
 public abstract class Resource {
 
-  /**
-   * Origin description of a resource.
-   *
-   * <p>An origin is a list of parts that describe where a resource originates from. The first part
-   * is the most recent part and is associated with the present resource, each successive part is
-   * then associated with the context of the previous part.
-   *
-   * <p>For example, for a class file, say {@code my/class/Foo.class}, that is contained within a
-   * jar archive, say {@code myjar.jar}, the Origin of of this resource will be {@code
-   * myjar.jar:my/class/Foo.class} where each part is separated by a colon.
-   *
-   * <p>There are two top-most origins which have no parent: {@code Origin.root()} and {@code
-   * Origin.unknown()}. The former is the parent of any file path, while the latter is an unknown
-   * origin (e.g., for generated resources of raw bytes).
-   */
-  public abstract static class Origin implements Comparable<Origin> {
-
-    private static final Origin ROOT =
-        new Origin() {
-          @Override
-          public String part() {
-            return "";
-          }
-
-          @Override
-          List<String> buildParts(int size) {
-            return new ArrayList<>(size);
-          }
-        };
-
-    private static final Origin UNKNOWN =
-        new Origin() {
-          @Override
-          public String part() {
-            return "<unknown>";
-          }
-
-          @Override
-          List<String> buildParts(int size) {
-            List<String> parts = new ArrayList<>(size + 1);
-            parts.add(part());
-            return parts;
-          }
-        };
-
-    public static Origin root() {
-      return ROOT;
-    }
-
-    public static Origin unknown() {
-      return UNKNOWN;
-    }
-
-    private final Origin parent;
-
-    private Origin() {
-      this.parent = null;
-    }
-
-    protected Origin(Origin parent) {
-      assert parent != null;
-      this.parent = parent;
-    }
-
-    public abstract String part();
-
-    public Origin parent() {
-      return parent;
-    }
-
-    public List<String> parts() {
-      return buildParts(0);
-    }
-
-    List<String> buildParts(int size) {
-      List<String> parts = parent().buildParts(size + 1);
-      parts.add(part());
-      return parts;
-    }
-
-    @Override
-    public boolean equals(Object obj) {
-      if (obj == this) {
-        return true;
-      }
-      if (!(obj instanceof Origin)) {
-        return false;
-      }
-      Origin self = this;
-      Origin other = (Origin) obj;
-      while (self != null && other != null && self.part().equals(other.part())) {
-        self = self.parent();
-        other = other.parent();
-      }
-      return self == other;
-    }
-
-    @Override
-    public int compareTo(Origin other) {
-      // Lexicographic ordering from root to leaf.
-      List<String> thisParts = parts();
-      List<String> otherParts = other.parts();
-      int len = Math.min(thisParts.size(), otherParts.size());
-      for (int i = 0; i < len; i++) {
-        int compare = thisParts.get(i).compareTo(otherParts.get(i));
-        if (compare != 0) {
-          return compare;
-        }
-      }
-      return Integer.compare(thisParts.size(), otherParts.size());
-    }
-
-    @Override
-    public int hashCode() {
-      int hash = 1;
-      for (String part : parts()) {
-        hash = 31 * hash + part.hashCode();
-      }
-      return hash;
-    }
-
-    @Override
-    public String toString() {
-      return String.join(":", parts());
-    }
-  }
-
-  /** Path component in an origin description. */
-  public static class PathOrigin extends Origin {
-    private final Path path;
-
-    public PathOrigin(Path path, Origin parent) {
-      super(parent);
-      assert path != null;
-      this.path = path;
-    }
-
-    @Override
-    public String part() {
-      return path.toString();
-    }
-  }
-
   /** Origin of the resource. */
   public final Origin origin;
 
diff --git a/src/main/java/com/android/tools/r8/benchmarks/FrameworkIncrementalDexingBenchmark.java b/src/main/java/com/android/tools/r8/benchmarks/FrameworkIncrementalDexingBenchmark.java
index e904e53..948178a 100644
--- a/src/main/java/com/android/tools/r8/benchmarks/FrameworkIncrementalDexingBenchmark.java
+++ b/src/main/java/com/android/tools/r8/benchmarks/FrameworkIncrementalDexingBenchmark.java
@@ -12,8 +12,8 @@
 import com.android.tools.r8.D8Command;
 import com.android.tools.r8.D8Output;
 import com.android.tools.r8.Resource;
-import com.android.tools.r8.Resource.Origin;
-import com.android.tools.r8.Resource.PathOrigin;
+import com.android.tools.r8.origin.Origin;
+import com.android.tools.r8.origin.PathOrigin;
 import com.android.tools.r8.utils.DescriptorUtils;
 import com.android.tools.r8.utils.FileUtils;
 import com.android.tools.r8.utils.OutputMode;
diff --git a/src/main/java/com/android/tools/r8/dex/DexFileReader.java b/src/main/java/com/android/tools/r8/dex/DexFileReader.java
index 4b0d6e2..17d634b 100644
--- a/src/main/java/com/android/tools/r8/dex/DexFileReader.java
+++ b/src/main/java/com/android/tools/r8/dex/DexFileReader.java
@@ -8,8 +8,8 @@
 import static com.android.tools.r8.utils.EncodedValueUtils.parseSigned;
 import static com.android.tools.r8.utils.EncodedValueUtils.parseUnsigned;
 
-import com.android.tools.r8.Resource.Origin;
-import com.android.tools.r8.Resource.PathOrigin;
+import com.android.tools.r8.origin.Origin;
+import com.android.tools.r8.origin.PathOrigin;
 import com.android.tools.r8.code.Instruction;
 import com.android.tools.r8.code.InstructionFactory;
 import com.android.tools.r8.graph.ClassAccessFlags;
diff --git a/src/main/java/com/android/tools/r8/graph/ClassKind.java b/src/main/java/com/android/tools/r8/graph/ClassKind.java
index f8c4cbd..a526c3f 100644
--- a/src/main/java/com/android/tools/r8/graph/ClassKind.java
+++ b/src/main/java/com/android/tools/r8/graph/ClassKind.java
@@ -1,6 +1,6 @@
 package com.android.tools.r8.graph;
 
-import com.android.tools.r8.Resource.Origin;
+import com.android.tools.r8.origin.Origin;
 import com.android.tools.r8.utils.ProgramResource;
 import java.util.function.Consumer;
 import java.util.function.Predicate;
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 d5fc0be..82cdbe1 100644
--- a/src/main/java/com/android/tools/r8/graph/DexClass.java
+++ b/src/main/java/com/android/tools/r8/graph/DexClass.java
@@ -3,7 +3,7 @@
 // BSD-style license that can be found in the LICENSE file.
 package com.android.tools.r8.graph;
 
-import com.android.tools.r8.Resource.Origin;
+import com.android.tools.r8.origin.Origin;
 import com.android.tools.r8.dex.MixedSectionCollection;
 import com.android.tools.r8.errors.CompilationError;
 import com.android.tools.r8.errors.Unreachable;
diff --git a/src/main/java/com/android/tools/r8/graph/DexClasspathClass.java b/src/main/java/com/android/tools/r8/graph/DexClasspathClass.java
index 292b368..4094453 100644
--- a/src/main/java/com/android/tools/r8/graph/DexClasspathClass.java
+++ b/src/main/java/com/android/tools/r8/graph/DexClasspathClass.java
@@ -3,7 +3,7 @@
 // BSD-style license that can be found in the LICENSE file.
 package com.android.tools.r8.graph;
 
-import com.android.tools.r8.Resource.Origin;
+import com.android.tools.r8.origin.Origin;
 import com.android.tools.r8.dex.IndexedItemCollection;
 import com.android.tools.r8.dex.MixedSectionCollection;
 import com.android.tools.r8.errors.Unreachable;
diff --git a/src/main/java/com/android/tools/r8/graph/DexLibraryClass.java b/src/main/java/com/android/tools/r8/graph/DexLibraryClass.java
index f2e262b..a38c01d 100644
--- a/src/main/java/com/android/tools/r8/graph/DexLibraryClass.java
+++ b/src/main/java/com/android/tools/r8/graph/DexLibraryClass.java
@@ -3,7 +3,7 @@
 // BSD-style license that can be found in the LICENSE file.
 package com.android.tools.r8.graph;
 
-import com.android.tools.r8.Resource.Origin;
+import com.android.tools.r8.origin.Origin;
 import com.android.tools.r8.dex.IndexedItemCollection;
 import com.android.tools.r8.dex.MixedSectionCollection;
 import com.android.tools.r8.errors.Unreachable;
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 4d16548..c96ee92 100644
--- a/src/main/java/com/android/tools/r8/graph/DexProgramClass.java
+++ b/src/main/java/com/android/tools/r8/graph/DexProgramClass.java
@@ -3,7 +3,7 @@
 // BSD-style license that can be found in the LICENSE file.
 package com.android.tools.r8.graph;
 
-import com.android.tools.r8.Resource.Origin;
+import com.android.tools.r8.origin.Origin;
 import com.android.tools.r8.dex.IndexedItemCollection;
 import com.android.tools.r8.dex.MixedSectionCollection;
 import com.android.tools.r8.utils.ProgramResource;
diff --git a/src/main/java/com/android/tools/r8/graph/JarClassFileReader.java b/src/main/java/com/android/tools/r8/graph/JarClassFileReader.java
index 2c573f4..1985869 100644
--- a/src/main/java/com/android/tools/r8/graph/JarClassFileReader.java
+++ b/src/main/java/com/android/tools/r8/graph/JarClassFileReader.java
@@ -7,7 +7,7 @@
 import static org.objectweb.asm.Opcodes.ACC_DEPRECATED;
 import static org.objectweb.asm.Opcodes.ASM6;
 
-import com.android.tools.r8.Resource.Origin;
+import com.android.tools.r8.origin.Origin;
 import com.android.tools.r8.dex.Constants;
 import com.android.tools.r8.errors.Unreachable;
 import com.android.tools.r8.graph.DexValue.DexValueAnnotation;
diff --git a/src/main/java/com/android/tools/r8/graph/JarCode.java b/src/main/java/com/android/tools/r8/graph/JarCode.java
index ce2de41..06eeeea 100644
--- a/src/main/java/com/android/tools/r8/graph/JarCode.java
+++ b/src/main/java/com/android/tools/r8/graph/JarCode.java
@@ -4,7 +4,7 @@
 package com.android.tools.r8.graph;
 
 import com.android.tools.r8.ApiLevelException;
-import com.android.tools.r8.Resource.Origin;
+import com.android.tools.r8.origin.Origin;
 import com.android.tools.r8.errors.InvalidDebugInfoException;
 import com.android.tools.r8.ir.code.IRCode;
 import com.android.tools.r8.ir.code.Position;
diff --git a/src/main/java/com/android/tools/r8/origin/Origin.java b/src/main/java/com/android/tools/r8/origin/Origin.java
new file mode 100644
index 0000000..79efa54
--- /dev/null
+++ b/src/main/java/com/android/tools/r8/origin/Origin.java
@@ -0,0 +1,136 @@
+// Copyright (c) 2017, 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.origin;
+
+import com.android.tools.r8.Resource;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Origin description of a resource.
+ *
+ * <p>An origin is a list of parts that describe where a resource originates from. The first part
+ * is the most recent part and is associated with the present resource, each successive part is
+ * then associated with the context of the previous part.
+ *
+ * <p>For example, for a class file, say {@code my/class/Foo.class}, that is contained within a
+ * jar archive, say {@code myjar.jar}, the Origin of of this resource will be {@code
+ * myjar.jar:my/class/Foo.class} where each part is separated by a colon.
+ *
+ * <p>There are two top-most origins which have no parent: {@code Origin.root()} and {@code
+ * Origin.unknown()}. The former is the parent of any file path, while the latter is an unknown
+ * origin (e.g., for generated resources of raw bytes).
+ */
+public abstract class Origin implements Comparable<Origin> {
+
+  private static final Origin ROOT =
+      new Origin() {
+        @Override
+        public String part() {
+          return "";
+        }
+
+        @Override
+        List<String> buildParts(int size) {
+          return new ArrayList<>(size);
+        }
+      };
+
+  private static final Origin UNKNOWN =
+      new Origin() {
+        @Override
+        public String part() {
+          return "<unknown>";
+        }
+
+        @Override
+        List<String> buildParts(int size) {
+          List<String> parts = new ArrayList<>(size + 1);
+          parts.add(part());
+          return parts;
+        }
+      };
+
+  public static Origin root() {
+    return ROOT;
+  }
+
+  public static Origin unknown() {
+    return UNKNOWN;
+  }
+
+  private final Origin parent;
+
+  private Origin() {
+    this.parent = null;
+  }
+
+  protected Origin(Origin parent) {
+    assert parent != null;
+    this.parent = parent;
+  }
+
+  public abstract String part();
+
+  public Origin parent() {
+    return parent;
+  }
+
+  public List<String> parts() {
+    return buildParts(0);
+  }
+
+  List<String> buildParts(int size) {
+    List<String> parts = parent().buildParts(size + 1);
+    parts.add(part());
+    return parts;
+  }
+
+  @Override
+  public boolean equals(Object obj) {
+    if (obj == this) {
+      return true;
+    }
+    if (!(obj instanceof Origin)) {
+      return false;
+    }
+    Origin self = this;
+    Origin other = (Origin) obj;
+    while (self != null && other != null && self.part().equals(other.part())) {
+      self = self.parent();
+      other = other.parent();
+    }
+    return self == other;
+  }
+
+  @Override
+  public int compareTo(Origin other) {
+    // Lexicographic ordering from root to leaf.
+    List<String> thisParts = parts();
+    List<String> otherParts = other.parts();
+    int len = Math.min(thisParts.size(), otherParts.size());
+    for (int i = 0; i < len; i++) {
+      int compare = thisParts.get(i).compareTo(otherParts.get(i));
+      if (compare != 0) {
+        return compare;
+      }
+    }
+    return Integer.compare(thisParts.size(), otherParts.size());
+  }
+
+  @Override
+  public int hashCode() {
+    int hash = 1;
+    for (String part : parts()) {
+      hash = 31 * hash + part.hashCode();
+    }
+    return hash;
+  }
+
+  @Override
+  public String toString() {
+    return String.join(":", parts());
+  }
+}
diff --git a/src/main/java/com/android/tools/r8/origin/PathOrigin.java b/src/main/java/com/android/tools/r8/origin/PathOrigin.java
new file mode 100644
index 0000000..919c4f6
--- /dev/null
+++ b/src/main/java/com/android/tools/r8/origin/PathOrigin.java
@@ -0,0 +1,23 @@
+// Copyright (c) 2017, 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.origin;
+
+import java.nio.file.Path;
+
+/** Path component in an origin description. */
+public class PathOrigin extends Origin {
+  private final Path path;
+
+  public PathOrigin(Path path, Origin parent) {
+    super(parent);
+    assert path != null;
+    this.path = path;
+  }
+
+  @Override
+  public String part() {
+    return path.toString();
+  }
+}
diff --git a/src/main/java/com/android/tools/r8/utils/AndroidApp.java b/src/main/java/com/android/tools/r8/utils/AndroidApp.java
index ddac51f..f9f3f01 100644
--- a/src/main/java/com/android/tools/r8/utils/AndroidApp.java
+++ b/src/main/java/com/android/tools/r8/utils/AndroidApp.java
@@ -11,7 +11,7 @@
 import com.android.tools.r8.ArchiveClassFileProvider;
 import com.android.tools.r8.ClassFileResourceProvider;
 import com.android.tools.r8.Resource;
-import com.android.tools.r8.Resource.Origin;
+import com.android.tools.r8.origin.Origin;
 import com.android.tools.r8.dex.VDexFile;
 import com.android.tools.r8.dex.VDexFileReader;
 import com.android.tools.r8.errors.CompilationError;
diff --git a/src/main/java/com/android/tools/r8/utils/AndroidAppOutputSink.java b/src/main/java/com/android/tools/r8/utils/AndroidAppOutputSink.java
index 0f85cac..62a5e76 100644
--- a/src/main/java/com/android/tools/r8/utils/AndroidAppOutputSink.java
+++ b/src/main/java/com/android/tools/r8/utils/AndroidAppOutputSink.java
@@ -4,7 +4,7 @@
 package com.android.tools.r8.utils;
 
 import com.android.tools.r8.OutputSink;
-import com.android.tools.r8.Resource.Origin;
+import com.android.tools.r8.origin.Origin;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
diff --git a/src/main/java/com/android/tools/r8/utils/InternalOptions.java b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
index 8bb1514..1616a71 100644
--- a/src/main/java/com/android/tools/r8/utils/InternalOptions.java
+++ b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
@@ -4,7 +4,7 @@
 package com.android.tools.r8.utils;
 
 import com.android.tools.r8.DiagnosticsHandler;
-import com.android.tools.r8.Resource.Origin;
+import com.android.tools.r8.origin.Origin;
 import com.android.tools.r8.dex.Marker;
 import com.android.tools.r8.errors.InvalidDebugInfoException;
 import com.android.tools.r8.graph.DexEncodedMethod;
diff --git a/src/main/java/com/android/tools/r8/utils/OneShotByteResource.java b/src/main/java/com/android/tools/r8/utils/OneShotByteResource.java
index cc9c1e3..e64ebfb 100644
--- a/src/main/java/com/android/tools/r8/utils/OneShotByteResource.java
+++ b/src/main/java/com/android/tools/r8/utils/OneShotByteResource.java
@@ -4,6 +4,7 @@
 package com.android.tools.r8.utils;
 
 import com.android.tools.r8.Resource;
+import com.android.tools.r8.origin.Origin;
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.InputStream;
diff --git a/src/main/java/com/android/tools/r8/utils/PreloadedClassFileProvider.java b/src/main/java/com/android/tools/r8/utils/PreloadedClassFileProvider.java
index 01ea7ba..ec5fccb 100644
--- a/src/main/java/com/android/tools/r8/utils/PreloadedClassFileProvider.java
+++ b/src/main/java/com/android/tools/r8/utils/PreloadedClassFileProvider.java
@@ -5,7 +5,7 @@
 
 import com.android.tools.r8.ClassFileResourceProvider;
 import com.android.tools.r8.Resource;
-import com.android.tools.r8.Resource.Origin;
+import com.android.tools.r8.origin.Origin;
 import com.google.common.collect.Sets;
 import java.util.Collections;
 import java.util.HashMap;
diff --git a/src/main/java/com/android/tools/r8/utils/ProgramFileArchiveReader.java b/src/main/java/com/android/tools/r8/utils/ProgramFileArchiveReader.java
index 2cce6da..f2290b3 100644
--- a/src/main/java/com/android/tools/r8/utils/ProgramFileArchiveReader.java
+++ b/src/main/java/com/android/tools/r8/utils/ProgramFileArchiveReader.java
@@ -8,8 +8,8 @@
 import static com.android.tools.r8.utils.FileUtils.isDexFile;
 
 import com.android.tools.r8.Resource;
-import com.android.tools.r8.Resource.Origin;
-import com.android.tools.r8.Resource.PathOrigin;
+import com.android.tools.r8.origin.Origin;
+import com.android.tools.r8.origin.PathOrigin;
 import com.android.tools.r8.errors.CompilationError;
 import com.android.tools.r8.shaking.FilteredClassPath;
 import com.google.common.io.ByteStreams;
diff --git a/src/main/java/com/android/tools/r8/utils/StringDiagnostic.java b/src/main/java/com/android/tools/r8/utils/StringDiagnostic.java
index d2c6560..cd5bbcd 100644
--- a/src/main/java/com/android/tools/r8/utils/StringDiagnostic.java
+++ b/src/main/java/com/android/tools/r8/utils/StringDiagnostic.java
@@ -4,7 +4,7 @@
 package com.android.tools.r8.utils;
 
 import com.android.tools.r8.Diagnostic;
-import com.android.tools.r8.Resource.Origin;
+import com.android.tools.r8.origin.Origin;
 
 public class StringDiagnostic implements Diagnostic {
 
diff --git a/src/test/java/com/android/tools/r8/jasmin/JasminBuilder.java b/src/test/java/com/android/tools/r8/jasmin/JasminBuilder.java
index 94f53f4..6e03828 100644
--- a/src/test/java/com/android/tools/r8/jasmin/JasminBuilder.java
+++ b/src/test/java/com/android/tools/r8/jasmin/JasminBuilder.java
@@ -5,8 +5,8 @@
 
 import static com.android.tools.r8.utils.DescriptorUtils.getPathFromDescriptor;
 
-import com.android.tools.r8.Resource.Origin;
-import com.android.tools.r8.Resource.PathOrigin;
+import com.android.tools.r8.origin.Origin;
+import com.android.tools.r8.origin.PathOrigin;
 import com.android.tools.r8.dex.ApplicationReader;
 import com.android.tools.r8.graph.DexApplication;
 import com.android.tools.r8.naming.MemberNaming.FieldSignature;