From 3fc0bf7e595e9c57c659bf92ccaff58f12d34090 Mon Sep 17 00:00:00 2001 From: "Lasse R.H. Nielsen" Date: Mon, 11 Jul 2022 13:02:22 +0000 Subject: [PATCH] Retire the 2.17 language feature experiment flags. Remove them from tests. (They should have been removed from tests before launcing 2.17.) Change-Id: I546f6cb90fdf9e6ed1bb560f3715f9db163b7c68 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/250384 Reviewed-by: Konstantin Shcheglov Reviewed-by: Johnni Winther Reviewed-by: Devon Carew Commit-Queue: Lasse Nielsen --- .../test/analysis_server_base.dart | 18 +++++++-------- .../analysis_options/remove_setting_test.dart | 12 +++++----- .../lib/src/dart/analysis/experiments.g.dart | 6 ++--- pkg/dartdev/test/commands/analyze_test.dart | 11 ---------- pkg/dartdev/test/experiments_test.dart | 2 +- ...xpression_compiler_e2e_dart_2_17_test.dart | 9 +++----- .../experimental_flags_generated.dart | 6 ++--- .../testcases/enhanced_enums/folder.options | 1 - .../named_arguments_anywhere/folder.options | 1 - .../super_parameters/folder.options | 1 - .../named_arguments_anywhere/folder.options | 1 - .../testcases/super_parameters/folder.options | 1 - .../breakpoint_in_enhanced_enums_test.dart | 5 +---- pkg/vm_service/test/enhanced_enum_test.dart | 18 ++++++++------- .../test/eval_named_args_anywhere_test.dart | 1 - .../super_constructor_invocation_test.dart | 22 +++++++++---------- tools/experimental_features.yaml | 3 +++ 17 files changed, 50 insertions(+), 68 deletions(-) diff --git a/pkg/analysis_server/test/analysis_server_base.dart b/pkg/analysis_server/test/analysis_server_base.dart index 6aec365e42c..140a7762bee 100644 --- a/pkg/analysis_server/test/analysis_server_base.dart +++ b/pkg/analysis_server/test/analysis_server_base.dart @@ -13,7 +13,6 @@ import 'package:analysis_server/src/utilities/mocks.dart'; import 'package:analyzer/dart/analysis/analysis_options.dart' as analysis; import 'package:analyzer/file_system/file_system.dart'; import 'package:analyzer/instrumentation/service.dart'; -import 'package:analyzer/src/dart/analysis/experiments.dart'; import 'package:analyzer/src/generated/sdk.dart'; import 'package:analyzer/src/test_utilities/mock_sdk.dart'; import 'package:analyzer/src/test_utilities/package_config_file_builder.dart'; @@ -48,9 +47,11 @@ class AnalysisOptionsFileConfig { var buffer = StringBuffer(); buffer.writeln('analyzer:'); - buffer.writeln(' enable-experiment:'); - for (var experiment in experiments) { - buffer.writeln(' - $experiment'); + if (experiments.isNotEmpty) { + buffer.writeln(' enable-experiment:'); + for (var experiment in experiments) { + buffer.writeln(' - $experiment'); + } } buffer.writeln(' language:'); buffer.writeln(' strict-casts: $strictCasts'); @@ -206,11 +207,10 @@ class ContextResolutionTest with ResourceProviderMixin { } class PubPackageAnalysisServerTest extends ContextResolutionTest { - List get experiments => [ - EnableString.enhanced_enums, - EnableString.named_arguments_anywhere, - EnableString.super_parameters, - ]; + // If experiments are needed, + // add `import 'package:analyzer/src/dart/analysis/experiments.dart';` + // and list the necessary experiments here. + List get experiments => []; /// The path that is not in [workspaceRootPath], contains external packages. String get packagesRootPath => '/packages'; diff --git a/pkg/analysis_server/test/src/services/correction/fix/analysis_options/remove_setting_test.dart b/pkg/analysis_server/test/src/services/correction/fix/analysis_options/remove_setting_test.dart index 9276b71d4bf..2f014ab4562 100644 --- a/pkg/analysis_server/test/src/services/correction/fix/analysis_options/remove_setting_test.dart +++ b/pkg/analysis_server/test/src/services/correction/fix/analysis_options/remove_setting_test.dart @@ -18,13 +18,13 @@ class RemoveSettingTest extends AnalysisOptionsFixTest { await assertHasFix(''' analyzer: enable-experiment: - - super-parameters + - test-experiment language: enableSuperMixins: true ''', ''' analyzer: enable-experiment: - - super-parameters + - test-experiment '''); } @@ -33,11 +33,11 @@ analyzer: analyzer: enable-experiment: - not-an-experiment - - super-parameters + - test-experiment ''', ''' analyzer: enable-experiment: - - super-parameters + - test-experiment '''); } @@ -45,12 +45,12 @@ analyzer: await assertHasFix(''' analyzer: enable-experiment: - - super-parameters + - test-experiment - not-an-experiment ''', ''' analyzer: enable-experiment: - - super-parameters + - test-experiment '''); } diff --git a/pkg/analyzer/lib/src/dart/analysis/experiments.g.dart b/pkg/analyzer/lib/src/dart/analysis/experiments.g.dart index de04c117c84..616f487d48f 100644 --- a/pkg/analyzer/lib/src/dart/analysis/experiments.g.dart +++ b/pkg/analyzer/lib/src/dart/analysis/experiments.g.dart @@ -406,7 +406,7 @@ class IsExpired { static const bool control_flow_collections = true; /// Expiration status of the experiment "enhanced-enums" - static const bool enhanced_enums = false; + static const bool enhanced_enums = true; /// Expiration status of the experiment "extension-methods" static const bool extension_methods = true; @@ -427,7 +427,7 @@ class IsExpired { static const bool macros = false; /// Expiration status of the experiment "named-arguments-anywhere" - static const bool named_arguments_anywhere = false; + static const bool named_arguments_anywhere = true; /// Expiration status of the experiment "non-nullable" static const bool non_nullable = true; @@ -442,7 +442,7 @@ class IsExpired { static const bool spread_collections = true; /// Expiration status of the experiment "super-parameters" - static const bool super_parameters = false; + static const bool super_parameters = true; /// Expiration status of the experiment "test-experiment" static const bool test_experiment = false; diff --git a/pkg/dartdev/test/commands/analyze_test.dart b/pkg/dartdev/test/commands/analyze_test.dart index 4da2ec8aab3..1750ad6098a 100644 --- a/pkg/dartdev/test/commands/analyze_test.dart +++ b/pkg/dartdev/test/commands/analyze_test.dart @@ -421,17 +421,6 @@ void defineAnalyze() { expect(result.stderr, isEmpty); }); - test('--enable-experiment', () async { - p = project(mainSrc: 'final x = List.filled(growable: true, 7, "");'); - var result = await p - .run(['analyze', '--enable-experiment=no-named-arguments-anywhere']); - - expect(result.exitCode, 3); - expect(result.stdout, - contains('Positional arguments must occur before named arguments.')); - expect(result.stderr, isEmpty); - }); - test('--enable-experiment with a bad experiment', () async { p = project(); var result = await p.run(['analyze', '--enable-experiment=bad']); diff --git a/pkg/dartdev/test/experiments_test.dart b/pkg/dartdev/test/experiments_test.dart index 5608ac7540c..0e730463f1a 100644 --- a/pkg/dartdev/test/experiments_test.dart +++ b/pkg/dartdev/test/experiments_test.dart @@ -11,7 +11,7 @@ void main() { expect(experimentalFeatures, isNotEmpty); expect( experimentalFeatures.map((experiment) => experiment.enableString), - contains('super-parameters'), + contains('test-experiment'), ); }); }); diff --git a/pkg/dev_compiler/test/expression_compiler/expression_compiler_e2e_dart_2_17_test.dart b/pkg/dev_compiler/test/expression_compiler/expression_compiler_e2e_dart_2_17_test.dart index 7ba607ea75c..e63cff394ae 100644 --- a/pkg/dev_compiler/test/expression_compiler/expression_compiler_e2e_dart_2_17_test.dart +++ b/pkg/dev_compiler/test/expression_compiler/expression_compiler_e2e_dart_2_17_test.dart @@ -92,8 +92,7 @@ void runSharedTests(SetupCompilerOptions setup, TestDriver driver) { '''; setUpAll(() async { - await driver.initSource(setup, source, - experiments: {'named-arguments-anywhere': true}); + await driver.initSource(setup, source, experiments: const {}); }); tearDownAll(() async { @@ -162,8 +161,7 @@ void runSharedTests(SetupCompilerOptions setup, TestDriver driver) { '''; setUpAll(() async { - await driver - .initSource(setup, source, experiments: {'super-parameters': true}); + await driver.initSource(setup, source, experiments: const {}); }); tearDownAll(() async { @@ -229,8 +227,7 @@ void runSharedTests(SetupCompilerOptions setup, TestDriver driver) { '''; setUpAll(() async { - await driver - .initSource(setup, source, experiments: {'enhanced-enums': true}); + await driver.initSource(setup, source, experiments: const {}); }); tearDownAll(() async { diff --git a/pkg/front_end/lib/src/api_prototype/experimental_flags_generated.dart b/pkg/front_end/lib/src/api_prototype/experimental_flags_generated.dart index 56b13ce13e1..71d843ea86f 100644 --- a/pkg/front_end/lib/src/api_prototype/experimental_flags_generated.dart +++ b/pkg/front_end/lib/src/api_prototype/experimental_flags_generated.dart @@ -94,7 +94,7 @@ class ExperimentalFlag { static const ExperimentalFlag enhancedEnums = const ExperimentalFlag( name: 'enhanced-enums', isEnabledByDefault: true, - isExpired: false, + isExpired: true, enabledVersion: const Version(2, 17), experimentEnabledVersion: const Version(2, 17), experimentReleasedVersion: const Version(2, 17)); @@ -150,7 +150,7 @@ class ExperimentalFlag { static const ExperimentalFlag namedArgumentsAnywhere = const ExperimentalFlag( name: 'named-arguments-anywhere', isEnabledByDefault: true, - isExpired: false, + isExpired: true, enabledVersion: const Version(2, 17), experimentEnabledVersion: const Version(2, 17), experimentReleasedVersion: const Version(2, 17)); @@ -190,7 +190,7 @@ class ExperimentalFlag { static const ExperimentalFlag superParameters = const ExperimentalFlag( name: 'super-parameters', isEnabledByDefault: true, - isExpired: false, + isExpired: true, enabledVersion: const Version(2, 17), experimentEnabledVersion: const Version(2, 17), experimentReleasedVersion: const Version(2, 17)); diff --git a/pkg/front_end/testcases/enhanced_enums/folder.options b/pkg/front_end/testcases/enhanced_enums/folder.options index ecd97dbf1c1..e69de29bb2d 100644 --- a/pkg/front_end/testcases/enhanced_enums/folder.options +++ b/pkg/front_end/testcases/enhanced_enums/folder.options @@ -1 +0,0 @@ ---enable-experiment=enhanced-enums \ No newline at end of file diff --git a/pkg/front_end/testcases/enhanced_enums/named_arguments_anywhere/folder.options b/pkg/front_end/testcases/enhanced_enums/named_arguments_anywhere/folder.options index c0139f78ec2..e69de29bb2d 100644 --- a/pkg/front_end/testcases/enhanced_enums/named_arguments_anywhere/folder.options +++ b/pkg/front_end/testcases/enhanced_enums/named_arguments_anywhere/folder.options @@ -1 +0,0 @@ ---enable-experiment=enhanced-enums,named-arguments-anywhere \ No newline at end of file diff --git a/pkg/front_end/testcases/enhanced_enums/super_parameters/folder.options b/pkg/front_end/testcases/enhanced_enums/super_parameters/folder.options index 3bea431c23c..e69de29bb2d 100644 --- a/pkg/front_end/testcases/enhanced_enums/super_parameters/folder.options +++ b/pkg/front_end/testcases/enhanced_enums/super_parameters/folder.options @@ -1 +0,0 @@ ---enable-experiment=enhanced-enums,super-parameters \ No newline at end of file diff --git a/pkg/front_end/testcases/named_arguments_anywhere/folder.options b/pkg/front_end/testcases/named_arguments_anywhere/folder.options index b97203bfc48..e69de29bb2d 100644 --- a/pkg/front_end/testcases/named_arguments_anywhere/folder.options +++ b/pkg/front_end/testcases/named_arguments_anywhere/folder.options @@ -1 +0,0 @@ ---enable-experiment=named-arguments-anywhere \ No newline at end of file diff --git a/pkg/front_end/testcases/super_parameters/folder.options b/pkg/front_end/testcases/super_parameters/folder.options index b69b691ba65..e69de29bb2d 100644 --- a/pkg/front_end/testcases/super_parameters/folder.options +++ b/pkg/front_end/testcases/super_parameters/folder.options @@ -1 +0,0 @@ ---enable-experiment=super-parameters \ No newline at end of file diff --git a/pkg/vm_service/test/breakpoint_in_enhanced_enums_test.dart b/pkg/vm_service/test/breakpoint_in_enhanced_enums_test.dart index 8607c58eb6e..bfb747d7732 100644 --- a/pkg/vm_service/test/breakpoint_in_enhanced_enums_test.dart +++ b/pkg/vm_service/test/breakpoint_in_enhanced_enums_test.dart @@ -1,15 +1,13 @@ // Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. -// -// SharedOptions=--enable-experiment=enhanced-enums // @dart=2.17 import 'common/service_test_common.dart'; import 'common/test_helper.dart'; -const int LINE_A = 23; +const int LINE_A = 21; const int LINE_B = LINE_A + 11; const int LINE_C = LINE_B + 4; const int LINE_D = LINE_C + 4; @@ -106,5 +104,4 @@ main([args = const []]) => runIsolateTests( testeeConcurrent: testMain, pause_on_start: true, pause_on_exit: true, - experiments: ['enhanced-enums'], ); diff --git a/pkg/vm_service/test/enhanced_enum_test.dart b/pkg/vm_service/test/enhanced_enum_test.dart index bde52216148..beda4daa556 100644 --- a/pkg/vm_service/test/enhanced_enum_test.dart +++ b/pkg/vm_service/test/enhanced_enum_test.dart @@ -1,8 +1,6 @@ // Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. -// -// SharedOptions=--enable-experiment=enhanced-enums // @dart=2.17 @@ -193,7 +191,8 @@ final tests = [ expect(e1, isA()); final e1Id = e1.id!; - dynamic result = await service.evaluate(isolateId, e1Id, 'interfaceGetter1'); + dynamic result = + await service.evaluate(isolateId, e1Id, 'interfaceGetter1'); expect(result, isA()); expect(result.valueAsString, '42'); @@ -219,7 +218,8 @@ final tests = [ }, (VmService service, _) async { // Ensure we can evaluate static getters and methods. - dynamic result = await service.evaluate(isolateId, enumEClsId, 'staticGetter'); + dynamic result = + await service.evaluate(isolateId, enumEClsId, 'staticGetter'); expect(result, isA()); expect(result.valueAsString, '0'); @@ -233,7 +233,8 @@ final tests = [ expect(e1, isA()); final e1Id = e1.id!; - dynamic result = await service.invoke(isolateId, e1Id, 'interfaceMethod1', []); + dynamic result = + await service.invoke(isolateId, e1Id, 'interfaceMethod1', []); expect(result, isA()); expect(result.valueAsString, '42'); @@ -251,7 +252,8 @@ final tests = [ }, (VmService service, _) async { // Ensure we can invoke static methods. - dynamic result = await service.evaluate(isolateId, enumEClsId, 'staticMethod()'); + dynamic result = + await service.evaluate(isolateId, enumEClsId, 'staticMethod()'); expect(result, isA()); expect(result.valueAsString, '42'); }, @@ -278,7 +280,8 @@ final tests = [ resumeIsolate, hasStoppedAtBreakpoint, (VmService service, _) async { - dynamic result = await service.evaluateInFrame(isolateId, 0, 'T.toString()'); + dynamic result = + await service.evaluateInFrame(isolateId, 0, 'T.toString()'); expect(result.valueAsString, 'int'); result = await service.evaluateInFrame(isolateId, 0, 'value'); @@ -291,5 +294,4 @@ main([args = const []]) => runIsolateTests( tests, 'enhanced_enum_test.dart', testeeConcurrent: testMain, - experiments: ['enhanced-enums'], ); diff --git a/pkg/vm_service/test/eval_named_args_anywhere_test.dart b/pkg/vm_service/test/eval_named_args_anywhere_test.dart index ad01d4680fd..47a0e21f1a8 100644 --- a/pkg/vm_service/test/eval_named_args_anywhere_test.dart +++ b/pkg/vm_service/test/eval_named_args_anywhere_test.dart @@ -68,5 +68,4 @@ main([args = const []]) => runIsolateTests( tests, 'eval_named_args_anywhere_test.dart', testeeConcurrent: testFunction, - experiments: ['named-arguments-anywhere'], ); diff --git a/pkg/vm_service/test/super_constructor_invocation_test.dart b/pkg/vm_service/test/super_constructor_invocation_test.dart index ae8239f8b5b..d6da0e9ac85 100644 --- a/pkg/vm_service/test/super_constructor_invocation_test.dart +++ b/pkg/vm_service/test/super_constructor_invocation_test.dart @@ -1,8 +1,6 @@ // Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. -// -// SharedOptions=--enable-experiment=super-parameters // @dart=2.17 @@ -55,11 +53,11 @@ late final String rootLibId; createInstance(VmService service, String expr) async { return await service.evaluate( - isolateId, - rootLibId, - expr, - disableBreakpoints: true, - ); + isolateId, + rootLibId, + expr, + disableBreakpoints: true, + ); } evaluateGetter(VmService service, String instanceId, String getter) async { @@ -96,7 +94,8 @@ final tests = [ expect(result.json['name'], 'String'); }, (VmService service, _) async { - dynamic instance = await createInstance(service, 'C.constr2(1, "abc", n: 3.14)'); + dynamic instance = + await createInstance(service, 'C.constr2(1, "abc", n: 3.14)'); dynamic result = await evaluateGetter(service, instance.id, 'n'); expect(result.valueAsString, '3.14'); result = await evaluateGetter(service, instance.id, 't'); @@ -117,7 +116,8 @@ final tests = [ expect(result.json['name'], 'dynamic'); }, (VmService service, _) async { - dynamic instance = await createInstance(service, 'C.constr3(1, "abc", n: 42, t: 3.14)'); + dynamic instance = + await createInstance(service, 'C.constr3(1, "abc", n: 42, t: 3.14)'); dynamic result = await evaluateGetter(service, instance.id, 'n'); expect(result.valueAsString, '42'); result = await evaluateGetter(service, instance.id, 't'); @@ -127,7 +127,8 @@ final tests = [ result = await service.evaluate(isolateId, instance.id, 'T'); expect(result.json['name'], 'double'); - instance = await createInstance(service, 'C.constr3(1, "abc", n: 3.14, t: 42)'); + instance = + await createInstance(service, 'C.constr3(1, "abc", n: 3.14, t: 42)'); result = await evaluateGetter(service, instance.id, 'n'); expect(result.valueAsString, '3.14'); result = await evaluateGetter(service, instance.id, 't'); @@ -177,5 +178,4 @@ main([args = const []]) => runIsolateTests( tests, 'super_constructor_invocation_test.dart', testeeConcurrent: testMain, - experiments: ['super-parameters'], ); diff --git a/tools/experimental_features.yaml b/tools/experimental_features.yaml index dec610cf0b3..7ac7dbb7d89 100644 --- a/tools/experimental_features.yaml +++ b/tools/experimental_features.yaml @@ -233,6 +233,7 @@ features: void main() { T.t.test(); } + expired: true named-arguments-anywhere: help: "Named Arguments Anywhere" @@ -246,6 +247,7 @@ features: void main() { test(enabled : true, 'feature enabled'); } + expired: true super-parameters: help: "Super-Initializer Parameters" @@ -261,6 +263,7 @@ features: void main(){ print(C('feature enabled').foo); } + expired: true inference-update-1: help: "Horizontal type inference for function expressions passed to generic invocations."