Skip to content

Commit 8b3c5aa

Browse files
kallentuCommit Queue
authored and
Commit Queue
committed
Add experiment flag for enum shorthands.
This CL adds an experiment flag named `enum-shorthands`. We can start prototyping the work needed for the feature under the flag. Bug: #57037 Change-Id: I5d5e679b20f993e0af59ce5b2d28e47269ecaedb Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/393521 Reviewed-by: Johnni Winther <[email protected]> Reviewed-by: Nate Bosch <[email protected]> Reviewed-by: Paul Berry <[email protected]> Commit-Queue: Kallen Tu <[email protected]>
1 parent 073a700 commit 8b3c5aa

File tree

7 files changed

+96
-28
lines changed

7 files changed

+96
-28
lines changed

pkg/_fe_analyzer_shared/lib/src/experiments/flags.dart

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,14 @@ enum ExperimentalFlag {
8282
experimentReleasedVersion: const Version(3, 6),
8383
),
8484

85+
enumShorthands(
86+
name: 'enum-shorthands',
87+
isEnabledByDefault: false,
88+
isExpired: false,
89+
experimentEnabledVersion: defaultLanguageVersion,
90+
experimentReleasedVersion: defaultLanguageVersion,
91+
),
92+
8593
extensionMethods(
8694
name: 'extension-methods',
8795
isEnabledByDefault: true,

pkg/analyzer/lib/dart/analysis/features.dart

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ abstract class Feature {
3737
/// Feature information for enhanced parts.
3838
static final enhanced_parts = ExperimentalFeatures.enhanced_parts;
3939

40+
/// Feature information for enum shorthands.
41+
static final enum_shorthands = ExperimentalFeatures.enum_shorthands;
42+
4043
/// Feature information for extension methods.
4144
static final extension_methods = ExperimentalFeatures.extension_methods;
4245

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ import 'package:meta/meta.dart';
9999
// TODO(scheglov): Clean up the list of implicitly analyzed files.
100100
class AnalysisDriver {
101101
/// The version of data format, should be incremented on every format change.
102-
static const int DATA_VERSION = 416;
102+
static const int DATA_VERSION = 417;
103103

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

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

Lines changed: 50 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ final _knownFeatures = <String, ExperimentalFeature>{
2626
EnableString.digit_separators: ExperimentalFeatures.digit_separators,
2727
EnableString.enhanced_enums: ExperimentalFeatures.enhanced_enums,
2828
EnableString.enhanced_parts: ExperimentalFeatures.enhanced_parts,
29+
EnableString.enum_shorthands: ExperimentalFeatures.enum_shorthands,
2930
EnableString.extension_methods: ExperimentalFeatures.extension_methods,
3031
EnableString.generic_metadata: ExperimentalFeatures.generic_metadata,
3132
EnableString.inference_update_1: ExperimentalFeatures.inference_update_1,
@@ -88,6 +89,9 @@ class EnableString {
8889
/// String to enable the experiment "enhanced-parts"
8990
static const String enhanced_parts = 'enhanced-parts';
9091

92+
/// String to enable the experiment "enum-shorthands"
93+
static const String enum_shorthands = 'enum-shorthands';
94+
9195
/// String to enable the experiment "extension-methods"
9296
static const String extension_methods = 'extension-methods';
9397

@@ -263,8 +267,18 @@ class ExperimentalFeatures {
263267
releaseVersion: null,
264268
);
265269

266-
static final extension_methods = ExperimentalFeature(
270+
static final enum_shorthands = ExperimentalFeature(
267271
index: 9,
272+
enableString: EnableString.enum_shorthands,
273+
isEnabledByDefault: IsEnabledByDefault.enum_shorthands,
274+
isExpired: IsExpired.enum_shorthands,
275+
documentation: 'Shorter dot syntax for enum values.',
276+
experimentalReleaseVersion: null,
277+
releaseVersion: null,
278+
);
279+
280+
static final extension_methods = ExperimentalFeature(
281+
index: 10,
268282
enableString: EnableString.extension_methods,
269283
isEnabledByDefault: IsEnabledByDefault.extension_methods,
270284
isExpired: IsExpired.extension_methods,
@@ -274,7 +288,7 @@ class ExperimentalFeatures {
274288
);
275289

276290
static final generic_metadata = ExperimentalFeature(
277-
index: 10,
291+
index: 11,
278292
enableString: EnableString.generic_metadata,
279293
isEnabledByDefault: IsEnabledByDefault.generic_metadata,
280294
isExpired: IsExpired.generic_metadata,
@@ -285,7 +299,7 @@ class ExperimentalFeatures {
285299
);
286300

287301
static final inference_update_1 = ExperimentalFeature(
288-
index: 11,
302+
index: 12,
289303
enableString: EnableString.inference_update_1,
290304
isEnabledByDefault: IsEnabledByDefault.inference_update_1,
291305
isExpired: IsExpired.inference_update_1,
@@ -296,7 +310,7 @@ class ExperimentalFeatures {
296310
);
297311

298312
static final inference_update_2 = ExperimentalFeature(
299-
index: 12,
313+
index: 13,
300314
enableString: EnableString.inference_update_2,
301315
isEnabledByDefault: IsEnabledByDefault.inference_update_2,
302316
isExpired: IsExpired.inference_update_2,
@@ -306,7 +320,7 @@ class ExperimentalFeatures {
306320
);
307321

308322
static final inference_update_3 = ExperimentalFeature(
309-
index: 13,
323+
index: 14,
310324
enableString: EnableString.inference_update_3,
311325
isEnabledByDefault: IsEnabledByDefault.inference_update_3,
312326
isExpired: IsExpired.inference_update_3,
@@ -317,7 +331,7 @@ class ExperimentalFeatures {
317331
);
318332

319333
static final inference_update_4 = ExperimentalFeature(
320-
index: 14,
334+
index: 15,
321335
enableString: EnableString.inference_update_4,
322336
isEnabledByDefault: IsEnabledByDefault.inference_update_4,
323337
isExpired: IsExpired.inference_update_4,
@@ -327,7 +341,7 @@ class ExperimentalFeatures {
327341
);
328342

329343
static final inference_using_bounds = ExperimentalFeature(
330-
index: 15,
344+
index: 16,
331345
enableString: EnableString.inference_using_bounds,
332346
isEnabledByDefault: IsEnabledByDefault.inference_using_bounds,
333347
isExpired: IsExpired.inference_using_bounds,
@@ -338,7 +352,7 @@ class ExperimentalFeatures {
338352
);
339353

340354
static final inline_class = ExperimentalFeature(
341-
index: 16,
355+
index: 17,
342356
enableString: EnableString.inline_class,
343357
isEnabledByDefault: IsEnabledByDefault.inline_class,
344358
isExpired: IsExpired.inline_class,
@@ -348,7 +362,7 @@ class ExperimentalFeatures {
348362
);
349363

350364
static final macros = ExperimentalFeature(
351-
index: 17,
365+
index: 18,
352366
enableString: EnableString.macros,
353367
isEnabledByDefault: IsEnabledByDefault.macros,
354368
isExpired: IsExpired.macros,
@@ -358,7 +372,7 @@ class ExperimentalFeatures {
358372
);
359373

360374
static final named_arguments_anywhere = ExperimentalFeature(
361-
index: 18,
375+
index: 19,
362376
enableString: EnableString.named_arguments_anywhere,
363377
isEnabledByDefault: IsEnabledByDefault.named_arguments_anywhere,
364378
isExpired: IsExpired.named_arguments_anywhere,
@@ -368,7 +382,7 @@ class ExperimentalFeatures {
368382
);
369383

370384
static final native_assets = ExperimentalFeature(
371-
index: 19,
385+
index: 20,
372386
enableString: EnableString.native_assets,
373387
isEnabledByDefault: IsEnabledByDefault.native_assets,
374388
isExpired: IsExpired.native_assets,
@@ -378,7 +392,7 @@ class ExperimentalFeatures {
378392
);
379393

380394
static final non_nullable = ExperimentalFeature(
381-
index: 20,
395+
index: 21,
382396
enableString: EnableString.non_nullable,
383397
isEnabledByDefault: IsEnabledByDefault.non_nullable,
384398
isExpired: IsExpired.non_nullable,
@@ -388,7 +402,7 @@ class ExperimentalFeatures {
388402
);
389403

390404
static final nonfunction_type_aliases = ExperimentalFeature(
391-
index: 21,
405+
index: 22,
392406
enableString: EnableString.nonfunction_type_aliases,
393407
isEnabledByDefault: IsEnabledByDefault.nonfunction_type_aliases,
394408
isExpired: IsExpired.nonfunction_type_aliases,
@@ -398,7 +412,7 @@ class ExperimentalFeatures {
398412
);
399413

400414
static final null_aware_elements = ExperimentalFeature(
401-
index: 22,
415+
index: 23,
402416
enableString: EnableString.null_aware_elements,
403417
isEnabledByDefault: IsEnabledByDefault.null_aware_elements,
404418
isExpired: IsExpired.null_aware_elements,
@@ -408,7 +422,7 @@ class ExperimentalFeatures {
408422
);
409423

410424
static final patterns = ExperimentalFeature(
411-
index: 23,
425+
index: 24,
412426
enableString: EnableString.patterns,
413427
isEnabledByDefault: IsEnabledByDefault.patterns,
414428
isExpired: IsExpired.patterns,
@@ -418,7 +432,7 @@ class ExperimentalFeatures {
418432
);
419433

420434
static final record_use = ExperimentalFeature(
421-
index: 24,
435+
index: 25,
422436
enableString: EnableString.record_use,
423437
isEnabledByDefault: IsEnabledByDefault.record_use,
424438
isExpired: IsExpired.record_use,
@@ -428,7 +442,7 @@ class ExperimentalFeatures {
428442
);
429443

430444
static final records = ExperimentalFeature(
431-
index: 25,
445+
index: 26,
432446
enableString: EnableString.records,
433447
isEnabledByDefault: IsEnabledByDefault.records,
434448
isExpired: IsExpired.records,
@@ -438,7 +452,7 @@ class ExperimentalFeatures {
438452
);
439453

440454
static final sealed_class = ExperimentalFeature(
441-
index: 26,
455+
index: 27,
442456
enableString: EnableString.sealed_class,
443457
isEnabledByDefault: IsEnabledByDefault.sealed_class,
444458
isExpired: IsExpired.sealed_class,
@@ -448,7 +462,7 @@ class ExperimentalFeatures {
448462
);
449463

450464
static final set_literals = ExperimentalFeature(
451-
index: 27,
465+
index: 28,
452466
enableString: EnableString.set_literals,
453467
isEnabledByDefault: IsEnabledByDefault.set_literals,
454468
isExpired: IsExpired.set_literals,
@@ -458,7 +472,7 @@ class ExperimentalFeatures {
458472
);
459473

460474
static final spread_collections = ExperimentalFeature(
461-
index: 28,
475+
index: 29,
462476
enableString: EnableString.spread_collections,
463477
isEnabledByDefault: IsEnabledByDefault.spread_collections,
464478
isExpired: IsExpired.spread_collections,
@@ -468,7 +482,7 @@ class ExperimentalFeatures {
468482
);
469483

470484
static final super_parameters = ExperimentalFeature(
471-
index: 29,
485+
index: 30,
472486
enableString: EnableString.super_parameters,
473487
isEnabledByDefault: IsEnabledByDefault.super_parameters,
474488
isExpired: IsExpired.super_parameters,
@@ -478,7 +492,7 @@ class ExperimentalFeatures {
478492
);
479493

480494
static final test_experiment = ExperimentalFeature(
481-
index: 30,
495+
index: 31,
482496
enableString: EnableString.test_experiment,
483497
isEnabledByDefault: IsEnabledByDefault.test_experiment,
484498
isExpired: IsExpired.test_experiment,
@@ -489,7 +503,7 @@ class ExperimentalFeatures {
489503
);
490504

491505
static final triple_shift = ExperimentalFeature(
492-
index: 31,
506+
index: 32,
493507
enableString: EnableString.triple_shift,
494508
isEnabledByDefault: IsEnabledByDefault.triple_shift,
495509
isExpired: IsExpired.triple_shift,
@@ -499,7 +513,7 @@ class ExperimentalFeatures {
499513
);
500514

501515
static final unnamed_libraries = ExperimentalFeature(
502-
index: 32,
516+
index: 33,
503517
enableString: EnableString.unnamed_libraries,
504518
isEnabledByDefault: IsEnabledByDefault.unnamed_libraries,
505519
isExpired: IsExpired.unnamed_libraries,
@@ -509,7 +523,7 @@ class ExperimentalFeatures {
509523
);
510524

511525
static final unquoted_imports = ExperimentalFeature(
512-
index: 33,
526+
index: 34,
513527
enableString: EnableString.unquoted_imports,
514528
isEnabledByDefault: IsEnabledByDefault.unquoted_imports,
515529
isExpired: IsExpired.unquoted_imports,
@@ -519,7 +533,7 @@ class ExperimentalFeatures {
519533
);
520534

521535
static final variance = ExperimentalFeature(
522-
index: 34,
536+
index: 35,
523537
enableString: EnableString.variance,
524538
isEnabledByDefault: IsEnabledByDefault.variance,
525539
isExpired: IsExpired.variance,
@@ -529,7 +543,7 @@ class ExperimentalFeatures {
529543
);
530544

531545
static final wildcard_variables = ExperimentalFeature(
532-
index: 35,
546+
index: 36,
533547
enableString: EnableString.wildcard_variables,
534548
isEnabledByDefault: IsEnabledByDefault.wildcard_variables,
535549
isExpired: IsExpired.wildcard_variables,
@@ -570,6 +584,9 @@ class IsEnabledByDefault {
570584
/// Default state of the experiment "enhanced-parts"
571585
static const bool enhanced_parts = false;
572586

587+
/// Default state of the experiment "enum-shorthands"
588+
static const bool enum_shorthands = false;
589+
573590
/// Default state of the experiment "extension-methods"
574591
static const bool extension_methods = true;
575592

@@ -683,6 +700,9 @@ class IsExpired {
683700
/// Expiration status of the experiment "enhanced-parts"
684701
static const bool enhanced_parts = false;
685702

703+
/// Expiration status of the experiment "enum-shorthands"
704+
static const bool enum_shorthands = false;
705+
686706
/// Expiration status of the experiment "extension-methods"
687707
static const bool extension_methods = true;
688708

@@ -796,6 +816,9 @@ mixin _CurrentState {
796816
/// Current state for the flag "enhanced-parts"
797817
bool get enhanced_parts => isEnabled(ExperimentalFeatures.enhanced_parts);
798818

819+
/// Current state for the flag "enum-shorthands"
820+
bool get enum_shorthands => isEnabled(ExperimentalFeatures.enum_shorthands);
821+
799822
/// Current state for the flag "extension-methods"
800823
bool get extension_methods =>
801824
isEnabled(ExperimentalFeatures.extension_methods);

0 commit comments

Comments
 (0)