Remove the --preview-dart-2 option from dartanalyzer and the analysis server.
Change-Id: I268b9d5f79b30d0e4a0f8e6bb81a7738c98e5eea
Reviewed-on: https://dart-review.googlesource.com/69802
Commit-Queue: Devon Carew <devoncarew@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
diff --git a/pkg/analysis_server/lib/src/analysis_server.dart b/pkg/analysis_server/lib/src/analysis_server.dart
index 7c82392..89d2fea 100644
--- a/pkg/analysis_server/lib/src/analysis_server.dart
+++ b/pkg/analysis_server/lib/src/analysis_server.dart
@@ -368,7 +368,6 @@
defaultContextOptions.generateImplicitErrors = false;
defaultContextOptions.useFastaParser =
options.useCFE || options.useFastaParser;
- defaultContextOptions.previewDart2 = options.previewDart2;
defaultContextOptions.useCFE = options.useCFE;
{
@@ -1190,11 +1189,6 @@
CrashReportSender crashReportSender;
/**
- * Whether to enable the Dart 2.0 preview.
- */
- bool previewDart2 = false;
-
- /**
* Whether to enable the Dart 2.0 Common Front End implementation.
*/
bool useCFE = false;
@@ -1427,7 +1421,6 @@
builder.performanceLog = analysisServer._analysisPerformanceLogger;
builder.byteStore = analysisServer.byteStore;
builder.fileContentOverlay = analysisServer.fileContentOverlay;
- builder.previewDart2 = analysisServer.options.previewDart2;
builder.useCFE = analysisServer.options.useCFE;
return builder;
}
diff --git a/pkg/analysis_server/lib/src/server/driver.dart b/pkg/analysis_server/lib/src/server/driver.dart
index 8f475bd..6dcfee7 100644
--- a/pkg/analysis_server/lib/src/server/driver.dart
+++ b/pkg/analysis_server/lib/src/server/driver.dart
@@ -256,11 +256,6 @@
static const String CACHE_FOLDER = "cache";
/**
- * Whether to enable the Dart 2.0 preview.
- */
- static const String PREVIEW_DART2 = "preview-dart-2";
-
- /**
* Whether to enable the Dart 2.0 Common Front End implementation.
*/
static const String USE_CFE = "use-cfe";
@@ -318,11 +313,6 @@
analysisServerOptions.clientId = results[CLIENT_ID];
analysisServerOptions.clientVersion = results[CLIENT_VERSION];
analysisServerOptions.cacheFolder = results[CACHE_FOLDER];
- if (results.wasParsed(PREVIEW_DART2)) {
- analysisServerOptions.previewDart2 = results[PREVIEW_DART2];
- } else {
- analysisServerOptions.previewDart2 = true;
- }
analysisServerOptions.useCFE = results[USE_CFE];
analysisServerOptions.useFastaParser = results[USE_FASTA_PARSER];
@@ -596,7 +586,8 @@
defaultsTo: "as-is");
parser.addOption(CACHE_FOLDER,
help: "[path] path to the location where to cache data");
- parser.addFlag(PREVIEW_DART2, help: "Enable the Dart 2.0 preview");
+ parser.addFlag("preview-dart-2",
+ help: "Enable the Dart 2.0 preview (deprecated)", hide: true);
parser.addFlag(USE_CFE,
help: "Enable the Dart 2.0 Common Front End implementation");
parser.addFlag(USE_FASTA_PARSER,
diff --git a/pkg/analysis_server/lib/src/status/diagnostics.dart b/pkg/analysis_server/lib/src/status/diagnostics.dart
index ba99f69..37cd90d 100644
--- a/pkg/analysis_server/lib/src/status/diagnostics.dart
+++ b/pkg/analysis_server/lib/src/status/diagnostics.dart
@@ -1305,8 +1305,6 @@
buf.writeln('<div class="column one-half">');
h3('Status');
- buf.writeln(writeOption('Preview-dart-2',
- diagnosticsSite.socketServer.analysisServerOptions.previewDart2));
buf.writeln(writeOption('Use fasta parser',
diagnosticsSite.socketServer.analysisServerOptions.useFastaParser));
buf.writeln(writeOption('Use common front end',
diff --git a/pkg/analysis_server/test/analysis_abstract.dart b/pkg/analysis_server/test/analysis_abstract.dart
index f89e91d..4ab0fdd 100644
--- a/pkg/analysis_server/test/analysis_abstract.dart
+++ b/pkg/analysis_server/test/analysis_abstract.dart
@@ -122,7 +122,6 @@
// Create server
//
AnalysisServerOptions options = new AnalysisServerOptions()
- ..previewDart2 = true
..useCFE = useCFE;
return new AnalysisServer(
serverChannel,
diff --git a/pkg/analysis_server/test/domain_analysis_test.dart b/pkg/analysis_server/test/domain_analysis_test.dart
index 506e61b..a4b7902 100644
--- a/pkg/analysis_server/test/domain_analysis_test.dart
+++ b/pkg/analysis_server/test/domain_analysis_test.dart
@@ -378,7 +378,7 @@
server = new AnalysisServer(
serverChannel,
resourceProvider,
- new AnalysisServerOptions()..previewDart2 = true,
+ new AnalysisServerOptions(),
new DartSdkManager(convertPath('/'), false),
InstrumentationService.NULL_SERVICE);
handler = new AnalysisDomainHandler(server);
diff --git a/pkg/analyzer/lib/error/error.dart b/pkg/analyzer/lib/error/error.dart
index 8942a61..4cfcde6 100644
--- a/pkg/analyzer/lib/error/error.dart
+++ b/pkg/analyzer/lib/error/error.dart
@@ -51,6 +51,7 @@
AnalysisOptionsWarningCode.UNSUPPORTED_VALUE,
AnalysisOptionsWarningCode.SPEC_MODE_REMOVED,
AnalysisOptionsHintCode.DEPRECATED_ANALYSIS_OPTIONS_FILE_NAME,
+ AnalysisOptionsHintCode.PREVIEW_DART_2_SETTING_DEPRECATED,
AnalysisOptionsHintCode.STRONG_MODE_SETTING_DEPRECATED,
CheckedModeCompileTimeErrorCode.CONST_CONSTRUCTOR_FIELD_TYPE_MISMATCH,
CheckedModeCompileTimeErrorCode.CONST_CONSTRUCTOR_PARAM_TYPE_MISMATCH,
diff --git a/pkg/analyzer/lib/src/analysis_options/error/option_codes.dart b/pkg/analyzer/lib/src/analysis_options/error/option_codes.dart
index 2e2258c..43fa83a 100644
--- a/pkg/analyzer/lib/src/analysis_options/error/option_codes.dart
+++ b/pkg/analyzer/lib/src/analysis_options/error/option_codes.dart
@@ -111,7 +111,7 @@
static const AnalysisOptionsWarningCode UNSUPPORTED_OPTION_WITH_LEGAL_VALUE =
const AnalysisOptionsWarningCode(
'UNSUPPORTED_OPTION_WITH_LEGAL_VALUE',
- "The option '{1}' isn't supported by '{0}'."
+ "The option '{1}' isn't supported by '{0}'. "
"Try using the only supported option: '{2}'.");
/**
@@ -191,6 +191,14 @@
" consider renaming it to analysis_options.yaml.");
/**
+ * An error code indicating that the enablePreviewDart2 setting is deprecated.
+ */
+ static const AnalysisOptionsHintCode PREVIEW_DART_2_SETTING_DEPRECATED =
+ const AnalysisOptionsHintCode('PREVIEW_DART_2_SETTING_DEPRECATED',
+ "The 'enablePreviewDart2' setting is deprecated.",
+ correction: "It is no longer necessary to explicitly enable Dart 2.");
+
+ /**
* An error code indicating that strong-mode: true is deprecated.
*/
static const AnalysisOptionsHintCode STRONG_MODE_SETTING_DEPRECATED =
diff --git a/pkg/analyzer/lib/src/context/builder.dart b/pkg/analyzer/lib/src/context/builder.dart
index dadcca6..9c4118d 100644
--- a/pkg/analyzer/lib/src/context/builder.dart
+++ b/pkg/analyzer/lib/src/context/builder.dart
@@ -133,7 +133,7 @@
/**
* Whether to enable the Dart 2.0 preview.
*/
- bool previewDart2 = false;
+ bool get previewDart2 => true;
/**
* Whether to enable the Dart 2.0 Common Front End implementation.
diff --git a/pkg/analyzer/lib/src/generated/engine.dart b/pkg/analyzer/lib/src/generated/engine.dart
index 50311a7..d34072c 100644
--- a/pkg/analyzer/lib/src/generated/engine.dart
+++ b/pkg/analyzer/lib/src/generated/engine.dart
@@ -1291,7 +1291,11 @@
/**
* Return `true` if analyzer should enable the use of Dart 2.0 features.
+ *
+ * This getter is deprecated, and is hard-coded to always return true.
*/
+ @Deprecated(
+ 'This getter is deprecated and is hard-coded to always return true.')
bool get previewDart2;
/**
@@ -1304,10 +1308,10 @@
/**
* Return `true` if strong mode analysis should be used.
*
- * This field is deprecated, and is hard-coded to always return true.
+ * This getter is deprecated, and is hard-coded to always return true.
*/
@Deprecated(
- 'This field is deprecated and is hard-coded to always return true.')
+ 'This getter is deprecated and is hard-coded to always return true.')
bool get strongMode;
/**
@@ -1464,7 +1468,10 @@
bool useCFE = false;
@override
- bool previewDart2 = true;
+ bool get previewDart2 => true;
+
+ // A no-op setter.
+ set previewDart2(bool value) {}
@override
bool disableCacheFlushing = false;
@@ -1521,7 +1528,6 @@
lintRules = options.lintRules;
preserveComments = options.preserveComments;
useFastaParser = options.useFastaParser;
- previewDart2 = options.previewDart2;
if (options is AnalysisOptionsImpl) {
declarationCasts = options.declarationCasts;
strongModeHints = options.strongModeHints;
diff --git a/pkg/analyzer/lib/src/task/options.dart b/pkg/analyzer/lib/src/task/options.dart
index 6bf8433..9a3b62f 100644
--- a/pkg/analyzer/lib/src/task/options.dart
+++ b/pkg/analyzer/lib/src/task/options.dart
@@ -86,7 +86,6 @@
/// Supported `analyzer` language options.
static const List<String> languageOptions = const [
enableSuperMixins,
- enablePreviewDart2,
];
}
@@ -378,7 +377,11 @@
bool validKey = false;
if (k is YamlScalar) {
key = k.value?.toString();
- if (!AnalyzerOptions.languageOptions.contains(key)) {
+ if (AnalyzerOptions.enablePreviewDart2 == key) {
+ reporter.reportErrorForSpan(
+ AnalysisOptionsHintCode.PREVIEW_DART_2_SETTING_DEPRECATED,
+ k.span);
+ } else if (!AnalyzerOptions.languageOptions.contains(key)) {
builder.reportError(reporter, AnalyzerOptions.language, k);
} else {
// If we have a valid key, go on and check the value.
@@ -625,8 +628,6 @@
if (boolValue != null) {
if (feature == AnalyzerOptions.enableSuperMixins) {
options.enableSuperMixins = boolValue;
- } else if (feature == AnalyzerOptions.enablePreviewDart2) {
- options.previewDart2 = boolValue;
}
}
}
diff --git a/pkg/analyzer/test/generated/sdk_test.dart b/pkg/analyzer/test/generated/sdk_test.dart
index ef34fcc..7761536 100644
--- a/pkg/analyzer/test/generated/sdk_test.dart
+++ b/pkg/analyzer/test/generated/sdk_test.dart
@@ -88,10 +88,8 @@
void test_equals_samePaths_differentOptions() {
String path = '/a/b/c';
- AnalysisOptionsImpl leftOptions = new AnalysisOptionsImpl()
- ..previewDart2 = false;
- AnalysisOptionsImpl rightOptions = new AnalysisOptionsImpl()
- ..previewDart2 = true;
+ AnalysisOptionsImpl leftOptions = new AnalysisOptionsImpl()..useCFE = false;
+ AnalysisOptionsImpl rightOptions = new AnalysisOptionsImpl()..useCFE = true;
SdkDescription left = new SdkDescription(<String>[path], leftOptions);
SdkDescription right = new SdkDescription(<String>[path], rightOptions);
expect(left == right, isFalse);
diff --git a/pkg/analyzer/test/src/task/options_test.dart b/pkg/analyzer/test/src/task/options_test.dart
index 9b1a748..4f0a651 100644
--- a/pkg/analyzer/test/src/task/options_test.dart
+++ b/pkg/analyzer/test/src/task/options_test.dart
@@ -579,7 +579,7 @@
analyzer:
language:
unsupported: true
-''', [AnalysisOptionsWarningCode.UNSUPPORTED_OPTION_WITH_LEGAL_VALUES]);
+''', [AnalysisOptionsWarningCode.UNSUPPORTED_OPTION_WITH_LEGAL_VALUE]);
}
test_analyzer_language_unsupported_value() {
diff --git a/pkg/analyzer_cli/lib/src/options.dart b/pkg/analyzer_cli/lib/src/options.dart
index b95df0d..9b5fd17 100644
--- a/pkg/analyzer_cli/lib/src/options.dart
+++ b/pkg/analyzer_cli/lib/src/options.dart
@@ -114,7 +114,9 @@
final bool useFastaParser;
/// Whether to enable the Dart 2.0 Preview.
- final bool previewDart2;
+ ///
+ /// This flag is deprecated and hard-coded to `true`.
+ bool get previewDart2 => true;
/// Batch mode (for unit testing)
final bool batchMode;
@@ -189,7 +191,6 @@
perfReport = cast(args['x-perf-report']),
useCFE = cast(args['use-cfe']),
useFastaParser = cast(args['use-fasta-parser']),
- previewDart2 = cast(args['preview-dart-2']),
batchMode = cast(args['batch']),
showPackageWarnings = cast(args['show-package-warnings']) ||
cast(args['package-warnings']) ||
diff --git a/pkg/analyzer_cli/test/options_test.dart b/pkg/analyzer_cli/test/options_test.dart
index 52e576e..621cefb 100644
--- a/pkg/analyzer_cli/test/options_test.dart
+++ b/pkg/analyzer_cli/test/options_test.dart
@@ -254,12 +254,6 @@
CommandLineOptions.parse(['--preview-dart-2', 'foo.dart']);
expect(options.previewDart2, isTrue);
});
-
- test('--no-preview-dart-2', () {
- CommandLineOptions options =
- CommandLineOptions.parse(['--no-preview-dart-2', 'foo.dart']);
- expect(options.previewDart2, isFalse);
- });
});
});
defineReflectiveTests(CommandLineOptionsTest);
diff --git a/pkg/analyzer_plugin/test/src/utilities/completion/optype_test.dart b/pkg/analyzer_plugin/test/src/utilities/completion/optype_test.dart
index b1fee56..b666a1d 100644
--- a/pkg/analyzer_plugin/test/src/utilities/completion/optype_test.dart
+++ b/pkg/analyzer_plugin/test/src/utilities/completion/optype_test.dart
@@ -17,7 +17,6 @@
defineReflectiveSuite(() {
defineReflectiveTests(OpTypeTest);
defineReflectiveTests(OpTypeDart1OnlyTest);
- defineReflectiveTests(OpTypeDart1Test);
});
}
@@ -985,6 +984,7 @@
constructors: previewDart2, returnValue: true, typeNames: true);
}
+ @failingTest
test_WithClause() async {
// WithClause ClassDeclaration
addTestSource('class x extends Object with ^\n{}');
@@ -992,16 +992,6 @@
}
}
-/// Execute the tests that work on both.
-@reflectiveTest
-class OpTypeDart1Test extends OpTypeTest {
- @override
- bool get enablePreviewDart2 => false;
-
- @override
- bool get enableStrongMode => false;
-}
-
@reflectiveTest
class OpTypeTest extends OpTypeTestCommon {
test_ArgumentList_constructor_named_resolved_1_0() async {
diff --git a/tests/lib_2/lib_2_analyzer.status b/tests/lib_2/lib_2_analyzer.status
index 60034b9..fb40aa7 100644
--- a/tests/lib_2/lib_2_analyzer.status
+++ b/tests/lib_2/lib_2_analyzer.status
@@ -17,9 +17,6 @@
mirrors/redirecting_factory_test/none: StaticWarning # test issue X, The return type 'Class<T2, T1>' of the redirected constructor is not assignable to 'Class<T1, T2>
mirrors/repeated_private_anon_mixin_app_test: StaticWarning, OK # Intentional library name conflict.
-[ $compiler == dart2analyzer && !$preview_dart_2 ]
-mirrors/metadata_nested_constructor_call_test/none: CompileTimeError
-
[ $compiler == dart2analyzer && $strong ]
mirrors/deferred_mirrors_metadata_test: StaticWarning # Issue 28969
mirrors/deferred_type_test: CompileTimeError, OK # Deliberately refers to a deferred type in a declaration.