| OLD | NEW | 
|---|
|  | (Empty) | 
| 1 part of dart.core; |  | 
| 2  abstract class Exception {factory Exception([var message]) => new _ExceptionImp
    lementation(message); |  | 
| 3 } |  | 
| 4  class _ExceptionImplementation implements Exception {final message; |  | 
| 5  _ExceptionImplementation([this.message]); |  | 
| 6  String toString() { |  | 
| 7 if (message == null) return "Exception"; |  | 
| 8  return "Exception: $message"; |  | 
| 9 } |  | 
| 10 } |  | 
| 11  class FormatException implements Exception {final String message; |  | 
| 12  final source; |  | 
| 13  final int offset; |  | 
| 14  const FormatException([this.message = "", this.source, this.offset = -1]); |  | 
| 15  String toString() { |  | 
| 16 String report = "FormatException"; |  | 
| 17  if (message != null && "" != message) { |  | 
| 18 report = "$report: $message"; |  | 
| 19 } |  | 
| 20  int offset = this.offset; |  | 
| 21  if (source is! String) { |  | 
| 22 if (offset != -1) { |  | 
| 23   report += " (at offset $offset)"; |  | 
| 24   } |  | 
| 25  return report; |  | 
| 26 } |  | 
| 27  if (offset != -1 && (offset < 0 || offset > DEVC$RT.cast(source.length, dynamic
    , num, "DynamicCast", """line 108, column 49 of dart:core/exceptions.dart: """, 
    source.length is num, true))) { |  | 
| 28 offset = -1; |  | 
| 29 } |  | 
| 30  if (offset == -1) { |  | 
| 31 String source = ((__x3) => DEVC$RT.cast(__x3, dynamic, String, "DynamicCast", ""
    "line 113, column 23 of dart:core/exceptions.dart: """, __x3 is String, true))(t
    his.source); |  | 
| 32  if (source.length > 78) { |  | 
| 33   source = source.substring(0, 75) + "..."; |  | 
| 34   } |  | 
| 35  return "$report\n$source"; |  | 
| 36 } |  | 
| 37  int lineNum = 1; |  | 
| 38  int lineStart = 0; |  | 
| 39  bool lastWasCR; |  | 
| 40  for (int i = 0; i < offset; i++) { |  | 
| 41 int char = ((__x4) => DEVC$RT.cast(__x4, dynamic, int, "DynamicCast", """line 12
    3, column 18 of dart:core/exceptions.dart: """, __x4 is int, true))(source.codeU
    nitAt(i)); |  | 
| 42  if (char == 0x0a) { |  | 
| 43   if (lineStart != i || !lastWasCR) { |  | 
| 44     lineNum++; |  | 
| 45     } |  | 
| 46    lineStart = i + 1; |  | 
| 47    lastWasCR = false; |  | 
| 48   } |  | 
| 49  else if (char == 0x0d) { |  | 
| 50   lineNum++; |  | 
| 51    lineStart = i + 1; |  | 
| 52    lastWasCR = true; |  | 
| 53   } |  | 
| 54 } |  | 
| 55  if (lineNum > 1) { |  | 
| 56 report += " (at line $lineNum, character ${offset - lineStart + 1})\n"; |  | 
| 57 } |  | 
| 58  else { |  | 
| 59 report += " (at character ${offset + 1})\n"; |  | 
| 60 } |  | 
| 61  int lineEnd = DEVC$RT.cast(source.length, dynamic, int, "DynamicCast", """line 
    141, column 19 of dart:core/exceptions.dart: """, source.length is int, true); |  | 
| 62  for (int i = offset; i < DEVC$RT.cast(source.length, dynamic, num, "DynamicCast
    ", """line 142, column 30 of dart:core/exceptions.dart: """, source.length is nu
    m, true); i++) { |  | 
| 63 int char = ((__x5) => DEVC$RT.cast(__x5, dynamic, int, "DynamicCast", """line 14
    3, column 18 of dart:core/exceptions.dart: """, __x5 is int, true))(source.codeU
    nitAt(i)); |  | 
| 64  if (char == 0x0a || char == 0x0d) { |  | 
| 65   lineEnd = i; |  | 
| 66    break; |  | 
| 67   } |  | 
| 68 } |  | 
| 69  int length = lineEnd - lineStart; |  | 
| 70  int start = lineStart; |  | 
| 71  int end = lineEnd; |  | 
| 72  String prefix = ""; |  | 
| 73  String postfix = ""; |  | 
| 74  if (length > 78) { |  | 
| 75 int index = offset - lineStart; |  | 
| 76  if (index < 75) { |  | 
| 77   end = start + 75; |  | 
| 78    postfix = "..."; |  | 
| 79   } |  | 
| 80  else if (end - offset < 75) { |  | 
| 81   start = end - 75; |  | 
| 82    prefix = "..."; |  | 
| 83   } |  | 
| 84  else { |  | 
| 85   start = offset - 36; |  | 
| 86    end = offset + 36; |  | 
| 87    prefix = postfix = "..."; |  | 
| 88   } |  | 
| 89 } |  | 
| 90  String slice = ((__x6) => DEVC$RT.cast(__x6, dynamic, String, "DynamicCast", ""
    "line 171, column 20 of dart:core/exceptions.dart: """, __x6 is String, true))(s
    ource.substring(start, end)); |  | 
| 91  int markOffset = offset - start + prefix.length; |  | 
| 92  return "$report$prefix$slice$postfix\n${" " * markOffset}^\n"; |  | 
| 93 } |  | 
| 94 } |  | 
| 95  class IntegerDivisionByZeroException implements Exception {const IntegerDivisio
    nByZeroException(); |  | 
| 96  String toString() => "IntegerDivisionByZeroException"; |  | 
| 97 } |  | 
| OLD | NEW | 
|---|