Make StringScannerException extend SpanFormatException. R=rnystrom@google.com BUG= Review URL: https://codereview.chromium.org//343043002 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart/pkg/string_scanner@37619 260f80e4-7a28-3924-810f-c04153c831b5
diff --git a/pkgs/string_scanner/CHANGELOG.md b/pkgs/string_scanner/CHANGELOG.md index 2c41c9d..a5d5518 100644 --- a/pkgs/string_scanner/CHANGELOG.md +++ b/pkgs/string_scanner/CHANGELOG.md
@@ -1,3 +1,10 @@ +## 0.0.3 + +* Make `StringScannerException` inherit from source_map's + [`SpanFormatException`][]. + +[SpanFormatException]: (http://www.dartdocs.org/documentation/source_maps/0.9.2/index.html#source_maps/source_maps.SpanFormatException) + ## 0.0.2 * `new StringScanner()` now takes an optional `sourceUrl` argument that provides
diff --git a/pkgs/string_scanner/lib/src/exception.dart b/pkgs/string_scanner/lib/src/exception.dart index c398687..44ec9a3 100644 --- a/pkgs/string_scanner/lib/src/exception.dart +++ b/pkgs/string_scanner/lib/src/exception.dart
@@ -7,10 +7,7 @@ import 'package:source_maps/source_maps.dart'; /// An exception thrown by a [StringScanner] that failed to parse a string. -class StringScannerException implements FormatException { - /// The error message. - final String message; - +class StringScannerException extends SpanFormatException { /// The source string being parsed. final String string; @@ -19,19 +16,6 @@ /// This may be `null`, indicating that the source URL is unknown. final Uri sourceUrl; - /// The span within [string] that caused the exception. - final Span span; - - StringScannerException(this.message, this.string, this.sourceUrl, this.span); - - /// Returns a detailed description of this exception. - /// - /// If [useColors] is true, the section of the source that caused the - /// exception will be colored using ANSI color codes. By default, it's colored - /// red, but a different ANSI code may passed via [color]. - String toString({bool useColors: false, String color}) { - return "Error on " + span.getLocationMessage( - message, useColors: useColors, color: color); - } + StringScannerException(String message, this.string, this.sourceUrl, Span span) + : super(message, span); } -
diff --git a/pkgs/string_scanner/pubspec.yaml b/pkgs/string_scanner/pubspec.yaml index 86ae238..f6d7ab9 100644 --- a/pkgs/string_scanner/pubspec.yaml +++ b/pkgs/string_scanner/pubspec.yaml
@@ -1,12 +1,12 @@ name: string_scanner -version: 0.0.2 +version: 0.0.3 author: "Dart Team <misc@dartlang.org>" homepage: http://www.dartlang.org description: > A class for parsing strings using a sequence of patterns. dependencies: path: ">=1.2.0 <2.0.0" - source_maps: ">=0.9.0 <0.10.0" + source_maps: ">=0.9.2 <0.10.0" dev_dependencies: unittest: ">=0.10.0 <0.11.0" environment: