Chromium Code Reviews| Index: pkg/compiler/lib/src/compiler.dart |
| diff --git a/pkg/compiler/lib/src/compiler.dart b/pkg/compiler/lib/src/compiler.dart |
| index e6b4f4c92b8bef96248f21eff940140ba9ab560c..f199a9c30babcf9b2367cca4a0b5c1f58f4655a0 100644 |
| --- a/pkg/compiler/lib/src/compiler.dart |
| +++ b/pkg/compiler/lib/src/compiler.dart |
| @@ -92,6 +92,7 @@ import 'null_compiler_output.dart' show |
| import 'parser/diet_parser_task.dart' show |
| DietParserTask; |
| import 'parser/element_listener.dart' show |
| + ParserOptions, |
| ScannerOptions; |
| import 'parser/parser_task.dart' show |
| ParserTask; |
| @@ -202,6 +203,8 @@ abstract class Compiler { |
| final bool useContentSecurityPolicy; |
| final bool enableExperimentalMirrors; |
| final bool enableAssertMessage; |
| + final bool enableConditionalDirectives; |
| + final bool enableGenericMethods; |
| /** |
| * The maximum size of a concrete type before it widens to dynamic during |
| @@ -454,7 +457,8 @@ abstract class Compiler { |
| this.deferredMapUri: null, |
| this.dumpInfo: false, |
| bool useStartupEmitter: false, |
| - bool enableConditionalDirectives: false, |
| + this.enableConditionalDirectives: false, |
| + this.enableGenericMethods: false, |
| this.useContentSecurityPolicy: false, |
| bool hasIncrementalSupport: false, |
| this.enableExperimentalMirrors: false, |
| @@ -517,11 +521,17 @@ abstract class Compiler { |
| serialization = new SerializationTask(this), |
| scanner = new ScannerTask(this), |
| dietParser = new DietParserTask( |
| - this, enableConditionalDirectives: enableConditionalDirectives), |
| + this, |
| + enableConditionalDirectives: enableConditionalDirectives, |
| + enableGenericMethods: enableGenericMethods), |
|
Johnni Winther
2016/02/29 10:18:45
Pass [parserOptions] instead. (Also below)
eernst
2016/03/09 16:28:13
Right, it is clearly better to keep multiple optio
|
| parser = new ParserTask( |
| - this, enableConditionalDirectives: enableConditionalDirectives), |
| + this, |
| + enableConditionalDirectives: enableConditionalDirectives, |
| + enableGenericMethods: enableGenericMethods), |
| patchParser = new PatchParserTask( |
| - this, enableConditionalDirectives: enableConditionalDirectives), |
| + this, |
| + enableConditionalDirectives: enableConditionalDirectives, |
| + enableGenericMethods: enableGenericMethods), |
| resolver = new ResolverTask(this, backend.constantCompilerTask), |
| closureToClassMapper = new closureMapping.ClosureTask(this), |
| checker = new TypeCheckerTask(this), |
| @@ -2184,6 +2194,13 @@ class _CompilerParsing implements Parsing { |
| return new ScannerOptions( |
| canUseNative: compiler.backend.canLibraryUseNative(element.library)); |
| } |
| + |
| + @override |
| + ParserOptions get parserOptions { |
| + return new ParserOptions( |
| + enableConditionalDirectives: compiler.enableConditionalDirectives, |
| + enableGenericMethods: compiler.enableGenericMethods); |
| + } |
| } |
| class GlobalDependencyRegistry extends EagerRegistry { |