| Index: pkg/compiler/lib/src/options.dart
|
| diff --git a/pkg/compiler/lib/src/options.dart b/pkg/compiler/lib/src/options.dart
|
| index 169fce92231597d20be679354286499a20f3abe3..057b6d17cb670615a1b882b57067cfa0167a4712 100644
|
| --- a/pkg/compiler/lib/src/options.dart
|
| +++ b/pkg/compiler/lib/src/options.dart
|
| @@ -200,11 +200,19 @@ class CompilerOptions implements DiagnosticOptions {
|
| final bool useContentSecurityPolicy;
|
|
|
| /// Whether to use kernel internally as part of compilation.
|
| - final bool useKernel;
|
| + final bool useKernelInSsa;
|
|
|
| - /// Read input from a .dill file rather than a .dart input (only to be used in
|
| - /// conjunction with useKernel = true).
|
| - final bool loadFromDill;
|
| + /// Preview the unified front-end and compilation from kernel.
|
| + ///
|
| + /// When enabled the compiler will use the unified front-end to compile
|
| + /// sources to kernel, and then continue compilation from the kernel
|
| + /// representation. Setting this flag will implicitly set [useKernelInSsa] to
|
| + /// true as well.
|
| + ///
|
| + /// When this flag is on, the compiler also acccepts reading .dill files from
|
| + /// disk. The compiler reads the sources differently depending on the
|
| + /// extension format.
|
| + final bool useKernel;
|
|
|
| // Whether to use kernel internally for global type inference calculations.
|
| // TODO(efortuna): Remove this and consolidate with useKernel.
|
| @@ -323,8 +331,8 @@ class CompilerOptions implements DiagnosticOptions {
|
| trustTypeAnnotations: _hasOption(options, Flags.trustTypeAnnotations),
|
| useContentSecurityPolicy:
|
| _hasOption(options, Flags.useContentSecurityPolicy),
|
| + useKernelInSsa: _hasOption(options, Flags.useKernelInSsa),
|
| useKernel: _hasOption(options, Flags.useKernel),
|
| - loadFromDill: _hasOption(options, Flags.loadFromDill),
|
| useFrequencyNamer:
|
| !_hasOption(options, Flags.noFrequencyBasedMinification),
|
| useMultiSourceInfo: _hasOption(options, Flags.useMultiSourceInfo),
|
| @@ -386,8 +394,8 @@ class CompilerOptions implements DiagnosticOptions {
|
| bool trustPrimitives: false,
|
| bool trustTypeAnnotations: false,
|
| bool useContentSecurityPolicy: false,
|
| + bool useKernelInSsa: false,
|
| bool useKernel: false,
|
| - bool loadFromDill: false,
|
| bool useFrequencyNamer: true,
|
| bool useMultiSourceInfo: false,
|
| bool useNewSourceInfo: false,
|
| @@ -432,8 +440,10 @@ class CompilerOptions implements DiagnosticOptions {
|
| suppressWarnings: suppressWarnings,
|
| suppressHints: suppressHints,
|
| shownPackageWarnings: shownPackageWarnings,
|
| - disableInlining: disableInlining,
|
| - disableTypeInference: disableTypeInference,
|
| + // TODO(sigmund): remove once we support inlining and type-inference
|
| + // with `useKernel`.
|
| + disableInlining: disableInlining || useKernel,
|
| + disableTypeInference: disableTypeInference || useKernel,
|
| dumpInfo: dumpInfo,
|
| enableAssertMessage: enableAssertMessage,
|
| enableExperimentalMirrors: enableExperimentalMirrors,
|
| @@ -443,7 +453,8 @@ class CompilerOptions implements DiagnosticOptions {
|
| enableUserAssertions: enableUserAssertions,
|
| experimentalTrackAllocations: experimentalTrackAllocations,
|
| experimentalAllocationsPath: experimentalAllocationsPath,
|
| - generateCodeWithCompileTimeErrors: generateCodeWithCompileTimeErrors,
|
| + generateCodeWithCompileTimeErrors:
|
| + generateCodeWithCompileTimeErrors && !useKernel,
|
| generateSourceMap: generateSourceMap,
|
| kernelGlobalInference: kernelGlobalInference,
|
| outputUri: outputUri,
|
| @@ -461,8 +472,8 @@ class CompilerOptions implements DiagnosticOptions {
|
| trustPrimitives: trustPrimitives,
|
| trustTypeAnnotations: trustTypeAnnotations,
|
| useContentSecurityPolicy: useContentSecurityPolicy,
|
| + useKernelInSsa: useKernelInSsa || useKernel,
|
| useKernel: useKernel,
|
| - loadFromDill: loadFromDill,
|
| useFrequencyNamer: useFrequencyNamer,
|
| useMultiSourceInfo: useMultiSourceInfo,
|
| useNewSourceInfo: useNewSourceInfo,
|
| @@ -514,8 +525,8 @@ class CompilerOptions implements DiagnosticOptions {
|
| this.trustPrimitives: false,
|
| this.trustTypeAnnotations: false,
|
| this.useContentSecurityPolicy: false,
|
| + this.useKernelInSsa: false,
|
| this.useKernel: false,
|
| - this.loadFromDill: false,
|
| this.useFrequencyNamer: false,
|
| this.useMultiSourceInfo: false,
|
| this.useNewSourceInfo: false,
|
| @@ -574,8 +585,8 @@ class CompilerOptions implements DiagnosticOptions {
|
| trustPrimitives,
|
| trustTypeAnnotations,
|
| useContentSecurityPolicy,
|
| + useKernelInSsa,
|
| useKernel,
|
| - loadFromDill,
|
| useFrequencyNamer,
|
| useMultiSourceInfo,
|
| useNewSourceInfo,
|
| @@ -646,8 +657,8 @@ class CompilerOptions implements DiagnosticOptions {
|
| trustTypeAnnotations ?? options.trustTypeAnnotations,
|
| useContentSecurityPolicy:
|
| useContentSecurityPolicy ?? options.useContentSecurityPolicy,
|
| + useKernelInSsa: useKernelInSsa ?? options.useKernelInSsa,
|
| useKernel: useKernel ?? options.useKernel,
|
| - loadFromDill: loadFromDill ?? options.loadFromDill,
|
| useFrequencyNamer: useFrequencyNamer ?? options.useFrequencyNamer,
|
| useMultiSourceInfo: useMultiSourceInfo ?? options.useMultiSourceInfo,
|
| useNewSourceInfo: useNewSourceInfo ?? options.useNewSourceInfo,
|
|
|