Remove Location and use only Origin

Because:
- Location has added no simplification in using the API, the change to
PathOrigin was in fact the helping point.
- API user needs to instanceof PathOrigin and TextRangeXxxx anyway so
TextRange can just be an Origin with no change to Origin API.
- In the end, as it was, Location was adding supplementary code and
instances for no benefit.
- Location vs Origin was not very simple API to understand because the
concept were too close.
Change-Id: I1a5af41893a9b2687f71ec02ed6831cfd59c0167
diff --git a/src/test/apiUsageSample/com/android/tools/apiusagesample/D8DiagnosticsHandler.java b/src/test/apiUsageSample/com/android/tools/apiusagesample/D8DiagnosticsHandler.java
index 87c738c..3dca445 100644
--- a/src/test/apiUsageSample/com/android/tools/apiusagesample/D8DiagnosticsHandler.java
+++ b/src/test/apiUsageSample/com/android/tools/apiusagesample/D8DiagnosticsHandler.java
@@ -6,11 +6,10 @@
 
 import com.android.tools.r8.Diagnostic;
 import com.android.tools.r8.DiagnosticsHandler;
-import com.android.tools.r8.Location;
-import com.android.tools.r8.TextRangeLocation;
 import com.android.tools.r8.origin.ArchiveEntryOrigin;
 import com.android.tools.r8.origin.Origin;
 import com.android.tools.r8.origin.PathOrigin;
+import com.android.tools.r8.origin.TextRangeOrigin;
 import java.nio.file.Files;
 import java.nio.file.Path;
 
@@ -45,19 +44,19 @@
   protected void convertToMessage(Diagnostic diagnostic) {
     String textMessage = diagnostic.getDiagnosticMessage();
 
-    Location location = diagnostic.getLocation();
+    Origin origin = diagnostic.getOrigin();
     String position;
-    if (location instanceof TextRangeLocation && location.getOrigin() instanceof PathOrigin) {
-      TextRangeLocation textRange = (TextRangeLocation) location;
-      position = ((PathOrigin) location.getOrigin()).getPath().toFile() + ": "
+    if (origin instanceof TextRangeOrigin && origin.parent() instanceof PathOrigin) {
+      TextRangeOrigin textRange = (TextRangeOrigin) origin;
+      position = ((PathOrigin) origin.parent()).getPath().toFile() + ": "
           + textRange.getStart().getLine() + "," + textRange.getStart().getColumn()
           + " - " + textRange.getEnd().getLine() + "," + textRange.getEnd().getColumn();
-    } else if (location.getOrigin() instanceof PathOrigin) {
-      position = ((PathOrigin) location.getOrigin()).getPath().toFile().toString();
+    } else if (origin.parent() instanceof PathOrigin) {
+      position = ((PathOrigin) origin.parent()).getPath().toFile().toString();
     } else {
       position = "UNKNOWN";
-      if (location != Location.UNKNOWN) {
-        textMessage = location.getDescription() + ": " + textMessage;
+      if (origin != Origin.unknown()) {
+        textMessage = origin.toString() + ": " + textMessage;
       }
     }