Skip to content

Commit 29e0c5e

Browse files
Chloe Stefantsovacommit-bot@chromium.org
Chloe Stefantsova
authored andcommitted
Add "super-parameters" experiment flag
Part of #47525. Change-Id: If7bf6f39b9b3ade1769f158ea1ca45515f859a2a Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/217640 Auto-Submit: Chloe Stefantsova <[email protected]> Commit-Queue: Johnni Winther <[email protected]> Reviewed-by: Konstantin Shcheglov <[email protected]> Reviewed-by: Johnni Winther <[email protected]>
1 parent 7d8459d commit 29e0c5e

File tree

4 files changed

+39
-5
lines changed

4 files changed

+39
-5
lines changed

pkg/analyzer/lib/src/dart/analysis/driver.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ import 'package:meta/meta.dart';
8080
/// TODO(scheglov) Clean up the list of implicitly analyzed files.
8181
class AnalysisDriver implements AnalysisDriverGeneric {
8282
/// The version of data format, should be incremented on every format change.
83-
static const int DATA_VERSION = 189;
83+
static const int DATA_VERSION = 190;
8484

8585
/// The number of exception contexts allowed to write. Once this field is
8686
/// zero, we stop writing any new exception contexts in this process.

pkg/analyzer/lib/src/dart/analysis/experiments.g.dart

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ final _knownFeatures = <String, ExperimentalFeature>{
2828
ExperimentalFeatures.nonfunction_type_aliases,
2929
EnableString.set_literals: ExperimentalFeatures.set_literals,
3030
EnableString.spread_collections: ExperimentalFeatures.spread_collections,
31+
EnableString.super_parameters: ExperimentalFeatures.super_parameters,
3132
EnableString.test_experiment: ExperimentalFeatures.test_experiment,
3233
EnableString.triple_shift: ExperimentalFeatures.triple_shift,
3334
EnableString.value_class: ExperimentalFeatures.value_class,
@@ -76,6 +77,9 @@ class EnableString {
7677
/// String to enable the experiment "spread-collections"
7778
static const String spread_collections = 'spread-collections';
7879

80+
/// String to enable the experiment "super-parameters"
81+
static const String super_parameters = 'super-parameters';
82+
7983
/// String to enable the experiment "test-experiment"
8084
static const String test_experiment = 'test-experiment';
8185

@@ -223,8 +227,18 @@ class ExperimentalFeatures {
223227
releaseVersion: Version.parse('2.0.0'),
224228
);
225229

226-
static final test_experiment = ExperimentalFeature(
230+
static final super_parameters = ExperimentalFeature(
227231
index: 13,
232+
enableString: EnableString.super_parameters,
233+
isEnabledByDefault: IsEnabledByDefault.super_parameters,
234+
isExpired: IsExpired.super_parameters,
235+
documentation: 'Super-Initializer Parameters',
236+
experimentalReleaseVersion: null,
237+
releaseVersion: null,
238+
);
239+
240+
static final test_experiment = ExperimentalFeature(
241+
index: 14,
228242
enableString: EnableString.test_experiment,
229243
isEnabledByDefault: IsEnabledByDefault.test_experiment,
230244
isExpired: IsExpired.test_experiment,
@@ -235,7 +249,7 @@ class ExperimentalFeatures {
235249
);
236250

237251
static final triple_shift = ExperimentalFeature(
238-
index: 14,
252+
index: 15,
239253
enableString: EnableString.triple_shift,
240254
isEnabledByDefault: IsEnabledByDefault.triple_shift,
241255
isExpired: IsExpired.triple_shift,
@@ -245,7 +259,7 @@ class ExperimentalFeatures {
245259
);
246260

247261
static final value_class = ExperimentalFeature(
248-
index: 15,
262+
index: 16,
249263
enableString: EnableString.value_class,
250264
isEnabledByDefault: IsEnabledByDefault.value_class,
251265
isExpired: IsExpired.value_class,
@@ -255,7 +269,7 @@ class ExperimentalFeatures {
255269
);
256270

257271
static final variance = ExperimentalFeature(
258-
index: 16,
272+
index: 17,
259273
enableString: EnableString.variance,
260274
isEnabledByDefault: IsEnabledByDefault.variance,
261275
isExpired: IsExpired.variance,
@@ -307,6 +321,9 @@ class IsEnabledByDefault {
307321
/// Default state of the experiment "spread-collections"
308322
static const bool spread_collections = true;
309323

324+
/// Default state of the experiment "super-parameters"
325+
static const bool super_parameters = false;
326+
310327
/// Default state of the experiment "test-experiment"
311328
static const bool test_experiment = false;
312329

@@ -363,6 +380,9 @@ class IsExpired {
363380
/// Expiration status of the experiment "spread-collections"
364381
static const bool spread_collections = true;
365382

383+
/// Expiration status of the experiment "super-parameters"
384+
static const bool super_parameters = false;
385+
366386
/// Expiration status of the experiment "test-experiment"
367387
static const bool test_experiment = false;
368388

@@ -423,6 +443,9 @@ mixin _CurrentState {
423443
bool get spread_collections =>
424444
isEnabled(ExperimentalFeatures.spread_collections);
425445

446+
/// Current state for the flag "super-parameters"
447+
bool get super_parameters => isEnabled(ExperimentalFeatures.super_parameters);
448+
426449
/// Current state for the flag "test-experiment"
427450
bool get test_experiment => isEnabled(ExperimentalFeatures.test_experiment);
428451

pkg/front_end/lib/src/api_prototype/experimental_flags_generated.dart

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ enum ExperimentalFlag {
2424
nonfunctionTypeAliases,
2525
setLiterals,
2626
spreadCollections,
27+
superParameters,
2728
testExperiment,
2829
tripleShift,
2930
valueClass,
@@ -45,6 +46,7 @@ const Version enableNonNullableVersion = const Version(2, 12);
4546
const Version enableNonfunctionTypeAliasesVersion = const Version(2, 13);
4647
const Version enableSetLiteralsVersion = const Version(2, 0);
4748
const Version enableSpreadCollectionsVersion = const Version(2, 0);
49+
const Version enableSuperParametersVersion = const Version(2, 15);
4850
const Version enableTestExperimentVersion = const Version(2, 15);
4951
const Version enableTripleShiftVersion = const Version(2, 14);
5052
const Version enableValueClassVersion = const Version(2, 15);
@@ -80,6 +82,8 @@ ExperimentalFlag? parseExperimentalFlag(String flag) {
8082
return ExperimentalFlag.setLiterals;
8183
case "spread-collections":
8284
return ExperimentalFlag.spreadCollections;
85+
case "super-parameters":
86+
return ExperimentalFlag.superParameters;
8387
case "test-experiment":
8488
return ExperimentalFlag.testExperiment;
8589
case "triple-shift":
@@ -107,6 +111,7 @@ const Map<ExperimentalFlag, bool> defaultExperimentalFlags = {
107111
ExperimentalFlag.nonfunctionTypeAliases: true,
108112
ExperimentalFlag.setLiterals: true,
109113
ExperimentalFlag.spreadCollections: true,
114+
ExperimentalFlag.superParameters: false,
110115
ExperimentalFlag.testExperiment: false,
111116
ExperimentalFlag.tripleShift: true,
112117
ExperimentalFlag.valueClass: false,
@@ -128,6 +133,7 @@ const Map<ExperimentalFlag, bool> expiredExperimentalFlags = {
128133
ExperimentalFlag.nonfunctionTypeAliases: false,
129134
ExperimentalFlag.setLiterals: true,
130135
ExperimentalFlag.spreadCollections: true,
136+
ExperimentalFlag.superParameters: false,
131137
ExperimentalFlag.testExperiment: false,
132138
ExperimentalFlag.tripleShift: false,
133139
ExperimentalFlag.valueClass: false,
@@ -149,6 +155,7 @@ const Map<ExperimentalFlag, Version> experimentEnabledVersion = {
149155
ExperimentalFlag.nonfunctionTypeAliases: const Version(2, 13),
150156
ExperimentalFlag.setLiterals: const Version(2, 0),
151157
ExperimentalFlag.spreadCollections: const Version(2, 0),
158+
ExperimentalFlag.superParameters: const Version(2, 15),
152159
ExperimentalFlag.testExperiment: const Version(2, 15),
153160
ExperimentalFlag.tripleShift: const Version(2, 14),
154161
ExperimentalFlag.valueClass: const Version(2, 15),
@@ -170,6 +177,7 @@ const Map<ExperimentalFlag, Version> experimentReleasedVersion = {
170177
ExperimentalFlag.nonfunctionTypeAliases: const Version(2, 13),
171178
ExperimentalFlag.setLiterals: const Version(2, 0),
172179
ExperimentalFlag.spreadCollections: const Version(2, 0),
180+
ExperimentalFlag.superParameters: const Version(2, 15),
173181
ExperimentalFlag.testExperiment: const Version(2, 15),
174182
ExperimentalFlag.tripleShift: const Version(2, 14),
175183
ExperimentalFlag.valueClass: const Version(2, 15),

tools/experimental_features.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,9 @@ features:
128128
named-arguments-anywhere:
129129
help: "Named Arguments Anywhere"
130130

131+
super-parameters:
132+
help: "Super-Initializer Parameters"
133+
131134
# Experiment flag only used for testing.
132135
test-experiment:
133136
help: >-

0 commit comments

Comments
 (0)