Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(309)

Unified Diff: compiler/java/com/google/dart/compiler/DartCompilationError.java

Issue 8395013: DartC User Warning Framework (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Use new ErrorCode enums in single onError() method. Created 9 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: compiler/java/com/google/dart/compiler/DartCompilationError.java
diff --git a/compiler/java/com/google/dart/compiler/DartCompilationError.java b/compiler/java/com/google/dart/compiler/DartCompilationError.java
index 13e203f49736dcb71b13fcb30914c1cd3bf56c61..c4c7c7740e69f91b1231e8569683ed247b720469 100644
--- a/compiler/java/com/google/dart/compiler/DartCompilationError.java
+++ b/compiler/java/com/google/dart/compiler/DartCompilationError.java
@@ -8,8 +8,6 @@ import com.google.dart.compiler.common.SourceInfo;
import com.google.dart.compiler.parser.DartScanner.Location;
import com.google.dart.compiler.parser.DartScanner.Position;
-import java.io.IOException;
-
/**
* Information about a compilation error.
*
@@ -57,92 +55,16 @@ public class DartCompilationError {
private Source source;
/**
- * The exception associated with this compilation error or <code>null</code>
- * if none.
- */
- private Exception exception;
-
- /**
- * Instantiate a new instance representing an {@link IOException} that
- * occurred when reading a source file.
- *
- * @param source the source file in which the exception occurred
- * @param exception the exception that occurred
- */
- public DartCompilationError(Source source, Exception exception) {
- setSource(source);
- setException(exception);
- message = exception.getMessage();
-
- // TODO (danrubel) Remove once JSON parsing is removed
- parseJSONException();
- }
-
- /**
- * This function is only necessary for processing a JSONException and can be
- * removed once ApplicationSourceFile and LibrarySourceFile no longer throw
- * JSONException
- */
- protected void parseJSONException() {
- if (message == null) {
- return;
- }
-
- // Strip filename off beginning of message
- if (message.startsWith("Error reading ")) {
- for (int i = 14; i < message.length(); i++) {
- if (!Character.isWhitespace(message.charAt(i)))
- continue;
- i++;
- if (i >= message.length() || Character.isWhitespace(message.charAt(i)))
- break;
- message = message.substring(i);
- break;
- }
- }
-
- // Strip " at character ###" off the end of the message
- for (int i = message.length() - 2; i > 0; i--) {
- if (Character.isDigit(message.charAt(i)))
- continue;
- i++;
- if (!message.substring(0, i).endsWith(" at character "))
- break;
- try {
- startPosition = Integer.valueOf(message.substring(i));
- message = message.substring(0, i - 14);
- } catch (NumberFormatException ignored) {
- // Fall through without modifying the error message
- }
- break;
- }
-
- // Strip JSON reference off beginning of error message
- if (message.startsWith("JSONObject[\"")) {
- int i = message.indexOf('"', 12);
- if (i > 12 && i + 2 < message.length())
- message = message.substring(11, i + 1) + message.substring(i + 2);
- }
- }
-
- /**
- * Instantiate a new instanced representing a compilation error at the
- * specified location.
+ * Instantiate a new instance representing an error for the specified {@link Source}.
*
- * @param location The source location reference..
- * @param message The compilation error message.
- * @deprecated use {@link #DartCompilationError(SourceInfo, ErrorCode, Object...)}
+ * @param source the {@link Source} for which the exception occurred
+ * @param errorCode the error code to be associated with this error
+ * @param arguments the arguments used to build the error message
*/
- @Deprecated
- public DartCompilationError(SourceInfo location, String message) {
- if (location != null) {
- this.lineNumber = location.getSourceLine();
- this.columnNumber = location.getSourceColumn();
- this.startPosition = location.getSourceStart();
- this.length = location.getSourceLength();
- }
- this.message = message;
- this.source = location.getSource();
+ public DartCompilationError(Source source, ErrorCode errorCode, Object... arguments) {
+ this.source = source;
+ this.errorCode = DartCompilerErrorCode.IO;
+ this.message = String.format(errorCode.getMessage(), arguments);
}
/**
@@ -153,13 +75,13 @@ public class DartCompilationError {
* @param arguments the arguments used to build the error message
*/
public DartCompilationError(SourceInfo location, ErrorCode errorCode, Object... arguments) {
+ this.source = location.getSource();
this.lineNumber = location.getSourceLine();
this.columnNumber = location.getSourceColumn();
this.startPosition = location.getSourceStart();
this.length = location.getSourceLength();
this.errorCode = errorCode;
this.message = String.format(errorCode.getMessage(), arguments);
- this.source = location.getSource();
}
/**
@@ -206,14 +128,6 @@ public class DartCompilationError {
}
/**
- * The exception associated with this compilation error or <code>null</code>
- * if none.
- */
- public Exception getException() {
- return exception;
- }
-
- /**
* The line number in the source (one based) where the error occurred.
*/
public int getLineNumber() {
@@ -259,14 +173,6 @@ public class DartCompilationError {
}
/**
- * Set the exception associated with this compilation error or
- * <code>null</code> if none.
- */
- public void setException(Exception exception) {
- this.exception = exception;
- }
-
- /**
* Set the source in which the error occurred or <code>null</code> if unknown.
*/
public void setSource(Source source) {

Powered by Google App Engine
This is Rietveld 408576698