mirror of
https://github.com/dart-lang/sdk
synced 2024-09-16 03:07:49 +00:00
1aa139bc94
Changes in this CL: - Updated CompilerContext: - it now contains a ProcessedOptions object - it no longer depends on CompilerCommandLine/CommandLine - it delegates to ProcessedOptions.report so all error reporting goes to one single place. - use "withContext" term instead of "withGlobalOptions" to be more clear about the intent - Changes in public API - added more options that correspond to flags in command-line fasta tools - default onError is different: we now use the command_line_reporting report, which prints and throws on fatal messages, but doesn't throw eagerly on all messages as before. - introduced "printMessages" option: make it easy to have both onError + command_line_reporting (kernel-service.dart is the main use case at this time, other ideas welcome!) - renamed CompilationError to CompilationMessage - Other changes - set exit code is done on report, not on format - fixed corner cases not covered in previous CL - error reporting with missing-main needs to happen with a context - missing error cases when inferring .packages and input URIs are not file:* URIs Ideas for follow up after this CL: - combine ProcessedOptions and CompilerContext into a single class (or extend one from the other) - switch onError to a stream R=ahe@google.com Review-Url: https://codereview.chromium.org/2982093003 .
39 lines
1.3 KiB
Dart
39 lines
1.3 KiB
Dart
// Copyright (c) 2016, 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.
|
|
|
|
/// Defines the API for the front end to communicate information about
|
|
/// compilation messages to clients.
|
|
library front_end.compilation_message;
|
|
|
|
import 'package:source_span/source_span.dart' show SourceSpan;
|
|
|
|
import 'package:front_end/src/fasta/severity.dart' show Severity;
|
|
export 'package:front_end/src/fasta/severity.dart' show Severity;
|
|
|
|
/// A single message, typically an error, reported during compilation, and
|
|
/// information about where it occurred and suggestions on how to fix it.
|
|
///
|
|
/// Not intended to be implemented or extended by clients.
|
|
abstract class CompilationMessage {
|
|
/// A text description of the problem.
|
|
String get message;
|
|
|
|
/// A suggestion for how to fix the problem. May be `null`.
|
|
String get tip;
|
|
|
|
/// The source span where the error occurred.
|
|
SourceSpan get span;
|
|
|
|
/// The severity level of the error.
|
|
Severity get severity;
|
|
|
|
/// The corresponding analyzer error code, or null if there is no
|
|
/// corresponding message in analyzer.
|
|
String get analyzerCode;
|
|
|
|
/// The corresponding dart2js error code, or null if there is no corresponding
|
|
/// message in dart2js.
|
|
String get dart2jsCode;
|
|
}
|