Chromium Code Reviews| Index: pkg/source_span/lib/src/source_span_exception.dart |
| diff --git a/pkg/source_span/lib/src/source_span_exception.dart b/pkg/source_span/lib/src/source_span_exception.dart |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..f76298dd98de3021bcec87ebeab5b637e01c531b |
| --- /dev/null |
| +++ b/pkg/source_span/lib/src/source_span_exception.dart |
| @@ -0,0 +1,39 @@ |
| +// Copyright (c) 2014, 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. |
| + |
| +library source_span.source_span_exception; |
| + |
| +import 'source_span.dart'; |
| + |
| +/// A class for exceptions that have source span information attached. |
| +class SourceSpanException implements Exception { |
| + /// A message describing the exception. |
| + final String message; |
| + |
| + /// The span associated with this exception. |
| + /// |
| + /// This may be `null` if the source location can't be determined. |
| + final SourceSpan span; |
| + |
| + SourceSpanException(this.message, this.span); |
| + |
| + /// Returns a string representation of [this]. |
| + /// |
| + /// [color] may either be a [String], a [bool], or `null`. If it's a string, |
| + /// it indicates an ANSII terminal color escape that should be used to |
| + /// highlight the span's text. If it's `true`, it indicates that the text |
| + /// should be highlighted using the default color. If it's `false` or `null`, |
| + /// it indicates that the text shouldn't be highlighted. |
| + String toString({color}) { |
| + if (span == null) return message; |
| + return "Error on " + span.message(message, color: color); |
| + } |
| +} |
| + |
| +/// A [SourceSpanException] that's also a [FormatException]. |
| +class SourceSpanFormatException extends SourceSpanException |
| + implements FormatException { |
| + SourceSpanFormatException(String message, SourceSpan span) |
| + : super(message, span); |
|
Siggi Cherem (dart-lang)
2014/07/16 21:26:10
there were some changes in the source_maps package
nweiz
2014/07/17 20:22:08
Done.
|
| +} |