OLD | NEW |
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 library string_scanner.exception; | 5 library string_scanner.exception; |
6 | 6 |
7 import 'package:source_maps/source_maps.dart'; | 7 import 'package:source_span/source_span.dart'; |
8 | 8 |
9 /// An exception thrown by a [StringScanner] that failed to parse a string. | 9 /// An exception thrown by a [StringScanner] that failed to parse a string. |
10 class StringScannerException extends SpanFormatException { | 10 class StringScannerException extends SourceSpanFormatException { |
11 /// The source string being parsed. | 11 String get source => super.source; |
12 final String string; | |
13 | 12 |
14 /// The URL of the source file being parsed. | 13 /// The URL of the source file being parsed. |
15 /// | 14 /// |
16 /// This may be `null`, indicating that the source URL is unknown. | 15 /// This may be `null`, indicating that the source URL is unknown. |
17 final Uri sourceUrl; | 16 Uri get sourceUrl => span.sourceUrl; |
18 | 17 |
19 StringScannerException(String message, this.string, this.sourceUrl, Span span) | 18 StringScannerException(String message, SourceSpan span, String source) |
20 : super(message, span); | 19 : super(message, span, source); |
21 } | 20 } |
OLD | NEW |