Index: pkg/dev_compiler/tool/input_sdk/lib/core/exceptions.dart |
diff --git a/pkg/dev_compiler/tool/input_sdk/lib/core/exceptions.dart b/pkg/dev_compiler/tool/input_sdk/lib/core/exceptions.dart |
deleted file mode 100644 |
index 7484ed567dedb603eeccc30741a25abb37bd94a1..0000000000000000000000000000000000000000 |
--- a/pkg/dev_compiler/tool/input_sdk/lib/core/exceptions.dart |
+++ /dev/null |
@@ -1,181 +0,0 @@ |
-// Copyright (c) 2012, the Dart 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. |
- |
-part of dart.core; |
- |
-// Exceptions are thrown either by the VM or from Dart code. |
- |
-/** |
- * A marker interface implemented by all core library exceptions. |
- * |
- * An [Exception] is intended to convey information to the user about a failure, |
- * so that the error can be addressed programmatically. It is intended to be |
- * caught, and it should contain useful data fields. |
- * |
- * Creating instances of [Exception] directly with [:new Exception("message"):] |
- * is discouraged, and only included as a temporary measure during development, |
- * until the actual exceptions used by a library are done. |
- */ |
-abstract class Exception { |
- factory Exception([var message]) => new _Exception(message); |
-} |
- |
- |
-/** Default implementation of [Exception] which carries a message. */ |
-class _Exception implements Exception { |
- final message; |
- |
- _Exception([this.message]); |
- |
- String toString() { |
- if (message == null) return "Exception"; |
- return "Exception: $message"; |
- } |
-} |
- |
- |
-/** |
- * Exception thrown when a string or some other data does not have an expected |
- * format and cannot be parsed or processed. |
- */ |
-class FormatException implements Exception { |
- /** |
- * A message describing the format error. |
- */ |
- final String message; |
- |
- /** |
- * The actual source input which caused the error. |
- * |
- * This is usually a [String], but can be other types too. |
- * If it is a string, parts of it may be included in the [toString] message. |
- * |
- * The source is `null` if omitted or unknown. |
- */ |
- final source; |
- |
- /** |
- * The offset in [source] where the error was detected. |
- * |
- * A zero-based offset into the source that marks the format error causing |
- * this exception to be created. If `source` is a string, this should be a |
- * string index in the range `0 <= offset <= source.length`. |
- * |
- * If input is a string, the [toString] method may represent this offset as |
- * a line and character position. The offset should be inside the string, |
- * or at the end of the string. |
- * |
- * May be omitted. If present, [source] should also be present if possible. |
- */ |
- final int offset; |
- |
- /** |
- * Creates a new FormatException with an optional error [message]. |
- * |
- * Optionally also supply the actual [source] with the incorrect format, |
- * and the [offset] in the format where a problem was detected. |
- */ |
- const FormatException([this.message = "", this.source, this.offset]); |
- |
- /** |
- * Returns a description of the format exception. |
- * |
- * The description always contains the [message]. |
- * |
- * If [source] is present and is a string, the description will contain |
- * (at least a part of) the source. |
- * If [offset] is also provided, the part of the source included will |
- * contain that offset, and the offset will be marked. |
- * |
- * If the source is a string and it contains a line break before offset, |
- * only the line containing offset will be included, and its line number |
- * will also be part of the description. Line and character offsets are |
- * 1-based. |
- */ |
- String toString() { |
- String report = "FormatException"; |
- if (message != null && "" != message) { |
- report = "$report: $message"; |
- } |
- int offset = this.offset; |
- if (source is! String) { |
- if (offset != null) { |
- report += " (at offset $offset)"; |
- } |
- return report; |
- } |
- if (offset != null && (offset < 0 || offset > source.length)) { |
- offset = null; |
- } |
- // Source is string and offset is null or valid. |
- if (offset == null) { |
- String source = this.source; |
- if (source.length > 78) { |
- source = source.substring(0, 75) + "..."; |
- } |
- return "$report\n$source"; |
- } |
- int lineNum = 1; |
- int lineStart = 0; |
- bool lastWasCR; |
- for (int i = 0; i < offset; i++) { |
- int char = source.codeUnitAt(i); |
- if (char == 0x0a) { |
- if (lineStart != i || !lastWasCR) { |
- lineNum++; |
- } |
- lineStart = i + 1; |
- lastWasCR = false; |
- } else if (char == 0x0d) { |
- lineNum++; |
- lineStart = i + 1; |
- lastWasCR = true; |
- } |
- } |
- if (lineNum > 1) { |
- report += " (at line $lineNum, character ${offset - lineStart + 1})\n"; |
- } else { |
- report += " (at character ${offset + 1})\n"; |
- } |
- int lineEnd = source.length; |
- for (int i = offset; i < source.length; i++) { |
- int char = source.codeUnitAt(i); |
- if (char == 0x0a || char == 0x0d) { |
- lineEnd = i; |
- break; |
- } |
- } |
- int length = lineEnd - lineStart; |
- int start = lineStart; |
- int end = lineEnd; |
- String prefix = ""; |
- String postfix = ""; |
- if (length > 78) { |
- // Can't show entire line. Try to anchor at the nearest end, if |
- // one is within reach. |
- int index = offset - lineStart; |
- if (index < 75) { |
- end = start + 75; |
- postfix = "..."; |
- } else if (end - offset < 75) { |
- start = end - 75; |
- prefix = "..."; |
- } else { |
- // Neither end is near, just pick an area around the offset. |
- start = offset - 36; |
- end = offset + 36; |
- prefix = postfix = "..."; |
- } |
- } |
- String slice = source.substring(start, end); |
- int markOffset = offset - start + prefix.length; |
- return "$report$prefix$slice$postfix\n${" " * markOffset}^\n"; |
- } |
-} |
- |
-// Exception thrown when doing integer division with a zero divisor. |
-class IntegerDivisionByZeroException implements Exception { |
- const IntegerDivisionByZeroException(); |
- String toString() => "IntegerDivisionByZeroException"; |
-} |