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