CLI support for `enableConditionalDirectives`.
BUG=
R=brianwilkerson@google.com
Review URL: https://codereview.chromium.org/1778683004 .
diff --git a/pkg/analyzer_cli/lib/src/driver.dart b/pkg/analyzer_cli/lib/src/driver.dart
index 85c53ee..dc40c0d 100644
--- a/pkg/analyzer_cli/lib/src/driver.dart
+++ b/pkg/analyzer_cli/lib/src/driver.dart
@@ -271,6 +271,10 @@
if (options.enableSuperMixins != _previousOptions.enableSuperMixins) {
return false;
}
+ if (options.enableConditionalDirectives !=
+ _previousOptions.enableConditionalDirectives) {
+ return false;
+ }
return true;
}
@@ -579,6 +583,8 @@
contextOptions.hint = !options.disableHints;
contextOptions.enableStrictCallChecks = options.enableStrictCallChecks;
contextOptions.enableSuperMixins = options.enableSuperMixins;
+ contextOptions.enableConditionalDirectives =
+ options.enableConditionalDirectives;
contextOptions.generateImplicitErrors = options.showPackageWarnings;
contextOptions.generateSdkErrors = options.showSdkWarnings;
contextOptions.lint = options.lints;
diff --git a/pkg/analyzer_cli/lib/src/options.dart b/pkg/analyzer_cli/lib/src/options.dart
index 111650e..ec62ce3 100644
--- a/pkg/analyzer_cli/lib/src/options.dart
+++ b/pkg/analyzer_cli/lib/src/options.dart
@@ -45,6 +45,9 @@
/// Whether to display version information
final bool displayVersion;
+ /// Whether to enable conditional directives (DEP 40).
+ final bool enableConditionalDirectives;
+
/// Whether to enable null-aware operators (DEP 9).
final bool enableNullAwareOperators;
@@ -128,6 +131,7 @@
analysisOptionsFile = args['options'],
disableHints = args['no-hints'],
displayVersion = args['version'],
+ enableConditionalDirectives = args['enable-conditional-directives'],
enableNullAwareOperators = args['enable-null-aware-operators'],
enableStrictCallChecks = args['enable-strict-call-checks'],
enableSuperMixins = args['supermixin'],
@@ -335,6 +339,11 @@
defaultsTo: false,
negatable: false,
hide: true)
+ ..addFlag('enable-conditional-directives',
+ help: 'Enable support for conditional directives (DEP 40).',
+ defaultsTo: false,
+ negatable: false,
+ hide: true)
..addFlag('enable-null-aware-operators',
help: 'Enable support for null-aware operators (DEP 9).',
defaultsTo: false,
diff --git a/pkg/analyzer_cli/test/options_test.dart b/pkg/analyzer_cli/test/options_test.dart
index 1c6aa76..39e863a 100644
--- a/pkg/analyzer_cli/test/options_test.dart
+++ b/pkg/analyzer_cli/test/options_test.dart
@@ -25,6 +25,7 @@
expect(options.displayVersion, isFalse);
expect(options.enableStrictCallChecks, isFalse);
expect(options.enableSuperMixins, isFalse);
+ expect(options.enableConditionalDirectives, isFalse);
expect(options.enableTypeChecks, isFalse);
expect(options.hintsAreFatal, isFalse);
expect(options.ignoreUnrecognizedFlags, isFalse);