Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(224)

Side by Side Diff: pkg/front_end/lib/compiler_options.dart

Issue 2982093003: Unifying compiler context (Closed)
Patch Set: revert change to kernel-service.dart Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, 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 front_end.compiler_options; 5 library front_end.compiler_options;
6 6
7 import 'package:front_end/src/base/performace_logger.dart'; 7 import 'package:front_end/src/base/performace_logger.dart';
8 import 'package:front_end/src/incremental/byte_store.dart'; 8 import 'package:front_end/src/incremental/byte_store.dart';
9 import 'package:kernel/target/targets.dart' show Target; 9 import 'package:kernel/target/targets.dart' show Target;
10 10
11 import 'compilation_error.dart'; 11 import 'compilation_message.dart';
12 import 'file_system.dart'; 12 import 'file_system.dart';
13 import 'physical_file_system.dart'; 13 import 'physical_file_system.dart';
14 14
15 /// Default error handler used by [CompilerOptions.onError].
16 void defaultErrorHandler(CompilationError error) => throw error;
17
18 /// Callback used to report errors encountered during compilation. 15 /// Callback used to report errors encountered during compilation.
19 typedef void ErrorHandler(CompilationError error); 16 typedef void ErrorHandler(CompilationMessage error);
20 17
21 /// Front-end options relevant to compiler back ends. 18 /// Front-end options relevant to compiler back ends.
22 /// 19 ///
23 /// Not intended to be implemented or extended by clients. 20 /// Not intended to be implemented or extended by clients.
24 class CompilerOptions { 21 class CompilerOptions {
25 /// The URI of the root of the Dart SDK (typically a "file:" URI). 22 /// The URI of the root of the Dart SDK (typically a "file:" URI).
26 /// 23 ///
27 /// If `null`, the SDK will be searched for using 24 /// If `null`, the SDK will be searched for using
28 /// [Platform.resolvedExecutable] as a starting point. 25 /// [Platform.resolvedExecutable] as a starting point.
29 Uri sdkRoot; 26 Uri sdkRoot;
30 27
31 /// Map of `dart:*` libraries to URIs in the [fileSystem]. 28 /// Map of `dart:*` libraries to URIs in the [fileSystem].
32 /// 29 ///
33 /// Keys in the map are the name of the library with no `dart:` prefix, for 30 /// Keys in the map are the name of the library with no `dart:` prefix, for
34 /// example: 31 /// example:
35 /// 32 ///
36 /// {'core': 'file:///sdk/lib/core/core.dart'} 33 /// {'core': 'file:///sdk/lib/core/core.dart'}
37 /// 34 ///
38 /// If `null`, the default set of libraries will be loaded from 35 /// If `null`, the default set of libraries will be loaded from
39 /// `sdkRoot/lib/libraries.json`. 36 /// `sdkRoot/lib/libraries.json`.
40 // TODO(sigmund): also provide an option to specify the .json file, then 37 // TODO(sigmund): also provide an option to specify the .json file, then
41 // consider dropping this option. 38 // consider dropping this option.
42 Map<String, Uri> dartLibraries; 39 Map<String, Uri> dartLibraries;
43 40
44 /// Callback to which compilation errors should be delivered. 41 /// Callback to which compilation errors should be delivered.
45 /// 42 ///
46 /// By default, the first error will be reported by throwing an exception of 43 /// By default, when no callback is provided, the compiler will report
47 /// type [CompilationError]. 44 /// messages on the console and will throw when fatal errors are discovered.
48 ErrorHandler onError = defaultErrorHandler; 45 ErrorHandler onError;
46
47 /// Whether messages should be reported using the compiler's internal
48 /// reporting mechanism.
49 ///
50 /// If no [onError] handler is provided, the default is true. If an [onError]
51 /// handler is provided, the default is false. Setting this to true will
52 /// ensure that error messages are printed in the console and that fatal
53 /// errors cause an exception.
54 // TODO(sigmund): add also an API for formatting errors and provide a default
55 // formatter. This way user can configure error style in the console and in
56 // generated code that contains error messages.
57 bool reportMessages;
49 58
50 /// URI of the ".packages" file (typically a "file:" URI). 59 /// URI of the ".packages" file (typically a "file:" URI).
51 /// 60 ///
52 /// If `null`, the ".packages" file will be found via the standard 61 /// If `null`, the ".packages" file will be found via the standard
53 /// package_config search algorithm. 62 /// package_config search algorithm.
54 /// 63 ///
55 /// If the URI's path component is empty (e.g. `new Uri()`), no packages file 64 /// If the URI's path component is empty (e.g. `new Uri()`), no packages file
56 /// will be used. 65 /// will be used.
57 Uri packagesFileUri; 66 Uri packagesFileUri;
58 67
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
190 199
191 /// Whether to dump generated programs in a text format (also mainly for 200 /// Whether to dump generated programs in a text format (also mainly for
192 /// debugging). 201 /// debugging).
193 /// 202 ///
194 /// Dumped data is printed in stdout. 203 /// Dumped data is printed in stdout.
195 bool debugDump = false; 204 bool debugDump = false;
196 205
197 /// Whether to set the exit code to non-zero if any problem (including 206 /// Whether to set the exit code to non-zero if any problem (including
198 /// warning, etc.) is encountered during compilation. 207 /// warning, etc.) is encountered during compilation.
199 bool setExitCodeOnProblem = false; 208 bool setExitCodeOnProblem = false;
209
210 /// Whether to embed the input sources in generated kernel programs.
211 ///
212 /// The kernel `Program` API includes a `uriToSource` map field that is used
213 /// to embed the entire contents of the source files. This part of the kernel
214 /// API is in flux and it is not necessary for some tools. Today it is used
215 /// for translating error locations and stack traces in the VM.
216 // TODO(sigmund): change the default.
217 bool embedSourceText = true;
218
219 /// Whether the compiler should throw as soon as it encounters a
220 /// compilation error.
221 // TODO(sigmund): change the default (issue #30194).
222 bool throwOnErrors = true;
223
224 /// Whether the compiler should throw as soon as it encounters a
225 /// compilation warning.
226 ///
227 /// Typically used by developers to debug internals of the compiler.
228 bool throwOnWarnings = false;
229
230 /// Whether the compiler should throw as soon as it encounters a
231 /// compilation nit.
232 ///
233 /// Typically used by developers to debug internals of the compiler.
234 bool throwOnNits = false;
200 } 235 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698