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, |