| Index: pkg/yaml/lib/src/utils.dart
|
| diff --git a/pkg/yaml/lib/src/utils.dart b/pkg/yaml/lib/src/utils.dart
|
| index 84c1113a0b5a830e9d05426a5c581c10dbae9e1c..445221fe4e93dba3f2ea5867f778da0703a8c846 100644
|
| --- a/pkg/yaml/lib/src/utils.dart
|
| +++ b/pkg/yaml/lib/src/utils.dart
|
| @@ -4,6 +4,8 @@
|
|
|
| library yaml.utils;
|
|
|
| +import 'package:source_span/source_span.dart';
|
| +
|
| /// A pair of values.
|
| class Pair<E, F> {
|
| final E first;
|
| @@ -13,3 +15,30 @@ class Pair<E, F> {
|
|
|
| String toString() => '($first, $last)';
|
| }
|
| +
|
| +/// Print a warning.
|
| +///
|
| +/// If [span] is passed, associates the warning with that span.
|
| +void warn(String message, [SourceSpan span]) =>
|
| + yamlWarningCallback(message, span);
|
| +
|
| +/// A callback for emitting a warning.
|
| +///
|
| +/// [message] is the text of the warning. If [span] is passed, it's the portion
|
| +/// of the document that the warning is associated with and should be included
|
| +/// in the printed warning.
|
| +typedef YamlWarningCallback(String message, [SourceSpan span]);
|
| +
|
| +/// A callback for emitting a warning.
|
| +///
|
| +/// In a very few cases, the YAML spec indicates that an implementation should
|
| +/// emit a warning. To do so, it calls this callback. The default implementation
|
| +/// prints a message using [print].
|
| +YamlWarningCallback yamlWarningCallback = (message, [span]) {
|
| + // TODO(nweiz): Print to stderr with color when issue 6943 is fixed and
|
| + // dart:io is available.
|
| + if (span != null) message = span.message(message);
|
| + print(message);
|
| +};
|
| +
|
| +
|
|
|