Rename 'views' experimental flag to 'inline-class'

This feature is about to be renamed from Views to Inline Classes and
we adjust the flag name accordingly. The rename PR hasn't landed yet,
but we update the flag now to unblock work on co19 tests.

Change-Id: Ib6981b99f8541ed75f3315059a8bbca02f3a4579
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/275000
Reviewed-by: Erik Ernst <eernst@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Michael Thomsen <mit@google.com>
This commit is contained in:
Johnni Winther 2022-12-12 22:22:39 +00:00 committed by Commit Queue
parent 783642d594
commit aa51913101
14 changed files with 102 additions and 101 deletions

View file

@ -79,6 +79,13 @@ enum ExperimentalFlag {
experimentEnabledVersion: const Version(3, 0), experimentEnabledVersion: const Version(3, 0),
experimentReleasedVersion: const Version(3, 0)), experimentReleasedVersion: const Version(3, 0)),
inlineClass(
name: 'inline-class',
isEnabledByDefault: false,
isExpired: false,
experimentEnabledVersion: const Version(3, 0),
experimentReleasedVersion: const Version(3, 0)),
macros( macros(
name: 'macros', name: 'macros',
isEnabledByDefault: false, isEnabledByDefault: false,
@ -183,13 +190,6 @@ enum ExperimentalFlag {
isExpired: false, isExpired: false,
experimentEnabledVersion: const Version(3, 0), experimentEnabledVersion: const Version(3, 0),
experimentReleasedVersion: const Version(3, 0)), experimentReleasedVersion: const Version(3, 0)),
views(
name: 'views',
isEnabledByDefault: false,
isExpired: false,
experimentEnabledVersion: const Version(3, 0),
experimentReleasedVersion: const Version(3, 0)),
; ;
final String name; final String name;

View file

@ -40,6 +40,9 @@ abstract class Feature {
/// Feature information for inference-update-2. /// Feature information for inference-update-2.
static final inference_update_2 = ExperimentalFeatures.inference_update_2; static final inference_update_2 = ExperimentalFeatures.inference_update_2;
/// Feature information for inline classes.
static final inline_class = ExperimentalFeatures.inline_class;
/// Feature information for macros. /// Feature information for macros.
static final macros = ExperimentalFeatures.macros; static final macros = ExperimentalFeatures.macros;
@ -75,9 +78,6 @@ abstract class Feature {
/// Feature information for unnamed libraries. /// Feature information for unnamed libraries.
static final unnamedLibraries = ExperimentalFeatures.unnamed_libraries; static final unnamedLibraries = ExperimentalFeatures.unnamed_libraries;
/// Feature information for views.
static final views = ExperimentalFeatures.views;
/// Feature information for variance. /// Feature information for variance.
static final variance = ExperimentalFeatures.variance; static final variance = ExperimentalFeatures.variance;

View file

@ -85,7 +85,7 @@ import 'package:analyzer/src/util/performance/operation_performance.dart';
/// TODO(scheglov) Clean up the list of implicitly analyzed files. /// TODO(scheglov) Clean up the list of implicitly analyzed files.
class AnalysisDriver implements AnalysisDriverGeneric { class AnalysisDriver implements AnalysisDriverGeneric {
/// The version of data format, should be incremented on every format change. /// The version of data format, should be incremented on every format change.
static const int DATA_VERSION = 252; static const int DATA_VERSION = 253;
/// The number of exception contexts allowed to write. Once this field is /// The number of exception contexts allowed to write. Once this field is
/// zero, we stop writing any new exception contexts in this process. /// zero, we stop writing any new exception contexts in this process.

View file

@ -27,6 +27,7 @@ final _knownFeatures = <String, ExperimentalFeature>{
EnableString.generic_metadata: ExperimentalFeatures.generic_metadata, EnableString.generic_metadata: ExperimentalFeatures.generic_metadata,
EnableString.inference_update_1: ExperimentalFeatures.inference_update_1, EnableString.inference_update_1: ExperimentalFeatures.inference_update_1,
EnableString.inference_update_2: ExperimentalFeatures.inference_update_2, EnableString.inference_update_2: ExperimentalFeatures.inference_update_2,
EnableString.inline_class: ExperimentalFeatures.inline_class,
EnableString.macros: ExperimentalFeatures.macros, EnableString.macros: ExperimentalFeatures.macros,
EnableString.named_arguments_anywhere: EnableString.named_arguments_anywhere:
ExperimentalFeatures.named_arguments_anywhere, ExperimentalFeatures.named_arguments_anywhere,
@ -44,7 +45,6 @@ final _knownFeatures = <String, ExperimentalFeature>{
EnableString.unnamed_libraries: ExperimentalFeatures.unnamed_libraries, EnableString.unnamed_libraries: ExperimentalFeatures.unnamed_libraries,
EnableString.value_class: ExperimentalFeatures.value_class, EnableString.value_class: ExperimentalFeatures.value_class,
EnableString.variance: ExperimentalFeatures.variance, EnableString.variance: ExperimentalFeatures.variance,
EnableString.views: ExperimentalFeatures.views,
}; };
/// Constant strings for enabling each of the currently known experimental /// Constant strings for enabling each of the currently known experimental
@ -80,6 +80,9 @@ class EnableString {
/// String to enable the experiment "inference-update-2" /// String to enable the experiment "inference-update-2"
static const String inference_update_2 = 'inference-update-2'; static const String inference_update_2 = 'inference-update-2';
/// String to enable the experiment "inline-class"
static const String inline_class = 'inline-class';
/// String to enable the experiment "macros" /// String to enable the experiment "macros"
static const String macros = 'macros'; static const String macros = 'macros';
@ -124,9 +127,6 @@ class EnableString {
/// String to enable the experiment "variance" /// String to enable the experiment "variance"
static const String variance = 'variance'; static const String variance = 'variance';
/// String to enable the experiment "views"
static const String views = 'views';
} }
class ExperimentalFeatures { class ExperimentalFeatures {
@ -234,8 +234,18 @@ class ExperimentalFeatures {
releaseVersion: null, releaseVersion: null,
); );
static final macros = ExperimentalFeature( static final inline_class = ExperimentalFeature(
index: 10, index: 10,
enableString: EnableString.inline_class,
isEnabledByDefault: IsEnabledByDefault.inline_class,
isExpired: IsExpired.inline_class,
documentation: 'Inline class',
experimentalReleaseVersion: null,
releaseVersion: null,
);
static final macros = ExperimentalFeature(
index: 11,
enableString: EnableString.macros, enableString: EnableString.macros,
isEnabledByDefault: IsEnabledByDefault.macros, isEnabledByDefault: IsEnabledByDefault.macros,
isExpired: IsExpired.macros, isExpired: IsExpired.macros,
@ -245,7 +255,7 @@ class ExperimentalFeatures {
); );
static final named_arguments_anywhere = ExperimentalFeature( static final named_arguments_anywhere = ExperimentalFeature(
index: 11, index: 12,
enableString: EnableString.named_arguments_anywhere, enableString: EnableString.named_arguments_anywhere,
isEnabledByDefault: IsEnabledByDefault.named_arguments_anywhere, isEnabledByDefault: IsEnabledByDefault.named_arguments_anywhere,
isExpired: IsExpired.named_arguments_anywhere, isExpired: IsExpired.named_arguments_anywhere,
@ -255,7 +265,7 @@ class ExperimentalFeatures {
); );
static final non_nullable = ExperimentalFeature( static final non_nullable = ExperimentalFeature(
index: 12, index: 13,
enableString: EnableString.non_nullable, enableString: EnableString.non_nullable,
isEnabledByDefault: IsEnabledByDefault.non_nullable, isEnabledByDefault: IsEnabledByDefault.non_nullable,
isExpired: IsExpired.non_nullable, isExpired: IsExpired.non_nullable,
@ -265,7 +275,7 @@ class ExperimentalFeatures {
); );
static final nonfunction_type_aliases = ExperimentalFeature( static final nonfunction_type_aliases = ExperimentalFeature(
index: 13, index: 14,
enableString: EnableString.nonfunction_type_aliases, enableString: EnableString.nonfunction_type_aliases,
isEnabledByDefault: IsEnabledByDefault.nonfunction_type_aliases, isEnabledByDefault: IsEnabledByDefault.nonfunction_type_aliases,
isExpired: IsExpired.nonfunction_type_aliases, isExpired: IsExpired.nonfunction_type_aliases,
@ -275,7 +285,7 @@ class ExperimentalFeatures {
); );
static final patterns = ExperimentalFeature( static final patterns = ExperimentalFeature(
index: 14, index: 15,
enableString: EnableString.patterns, enableString: EnableString.patterns,
isEnabledByDefault: IsEnabledByDefault.patterns, isEnabledByDefault: IsEnabledByDefault.patterns,
isExpired: IsExpired.patterns, isExpired: IsExpired.patterns,
@ -285,7 +295,7 @@ class ExperimentalFeatures {
); );
static final records = ExperimentalFeature( static final records = ExperimentalFeature(
index: 15, index: 16,
enableString: EnableString.records, enableString: EnableString.records,
isEnabledByDefault: IsEnabledByDefault.records, isEnabledByDefault: IsEnabledByDefault.records,
isExpired: IsExpired.records, isExpired: IsExpired.records,
@ -295,7 +305,7 @@ class ExperimentalFeatures {
); );
static final sealed_class = ExperimentalFeature( static final sealed_class = ExperimentalFeature(
index: 16, index: 17,
enableString: EnableString.sealed_class, enableString: EnableString.sealed_class,
isEnabledByDefault: IsEnabledByDefault.sealed_class, isEnabledByDefault: IsEnabledByDefault.sealed_class,
isExpired: IsExpired.sealed_class, isExpired: IsExpired.sealed_class,
@ -305,7 +315,7 @@ class ExperimentalFeatures {
); );
static final set_literals = ExperimentalFeature( static final set_literals = ExperimentalFeature(
index: 17, index: 18,
enableString: EnableString.set_literals, enableString: EnableString.set_literals,
isEnabledByDefault: IsEnabledByDefault.set_literals, isEnabledByDefault: IsEnabledByDefault.set_literals,
isExpired: IsExpired.set_literals, isExpired: IsExpired.set_literals,
@ -315,7 +325,7 @@ class ExperimentalFeatures {
); );
static final spread_collections = ExperimentalFeature( static final spread_collections = ExperimentalFeature(
index: 18, index: 19,
enableString: EnableString.spread_collections, enableString: EnableString.spread_collections,
isEnabledByDefault: IsEnabledByDefault.spread_collections, isEnabledByDefault: IsEnabledByDefault.spread_collections,
isExpired: IsExpired.spread_collections, isExpired: IsExpired.spread_collections,
@ -325,7 +335,7 @@ class ExperimentalFeatures {
); );
static final super_parameters = ExperimentalFeature( static final super_parameters = ExperimentalFeature(
index: 19, index: 20,
enableString: EnableString.super_parameters, enableString: EnableString.super_parameters,
isEnabledByDefault: IsEnabledByDefault.super_parameters, isEnabledByDefault: IsEnabledByDefault.super_parameters,
isExpired: IsExpired.super_parameters, isExpired: IsExpired.super_parameters,
@ -335,7 +345,7 @@ class ExperimentalFeatures {
); );
static final test_experiment = ExperimentalFeature( static final test_experiment = ExperimentalFeature(
index: 20, index: 21,
enableString: EnableString.test_experiment, enableString: EnableString.test_experiment,
isEnabledByDefault: IsEnabledByDefault.test_experiment, isEnabledByDefault: IsEnabledByDefault.test_experiment,
isExpired: IsExpired.test_experiment, isExpired: IsExpired.test_experiment,
@ -346,7 +356,7 @@ class ExperimentalFeatures {
); );
static final triple_shift = ExperimentalFeature( static final triple_shift = ExperimentalFeature(
index: 21, index: 22,
enableString: EnableString.triple_shift, enableString: EnableString.triple_shift,
isEnabledByDefault: IsEnabledByDefault.triple_shift, isEnabledByDefault: IsEnabledByDefault.triple_shift,
isExpired: IsExpired.triple_shift, isExpired: IsExpired.triple_shift,
@ -356,7 +366,7 @@ class ExperimentalFeatures {
); );
static final unnamed_libraries = ExperimentalFeature( static final unnamed_libraries = ExperimentalFeature(
index: 22, index: 23,
enableString: EnableString.unnamed_libraries, enableString: EnableString.unnamed_libraries,
isEnabledByDefault: IsEnabledByDefault.unnamed_libraries, isEnabledByDefault: IsEnabledByDefault.unnamed_libraries,
isExpired: IsExpired.unnamed_libraries, isExpired: IsExpired.unnamed_libraries,
@ -366,7 +376,7 @@ class ExperimentalFeatures {
); );
static final value_class = ExperimentalFeature( static final value_class = ExperimentalFeature(
index: 23, index: 24,
enableString: EnableString.value_class, enableString: EnableString.value_class,
isEnabledByDefault: IsEnabledByDefault.value_class, isEnabledByDefault: IsEnabledByDefault.value_class,
isExpired: IsExpired.value_class, isExpired: IsExpired.value_class,
@ -376,7 +386,7 @@ class ExperimentalFeatures {
); );
static final variance = ExperimentalFeature( static final variance = ExperimentalFeature(
index: 24, index: 25,
enableString: EnableString.variance, enableString: EnableString.variance,
isEnabledByDefault: IsEnabledByDefault.variance, isEnabledByDefault: IsEnabledByDefault.variance,
isExpired: IsExpired.variance, isExpired: IsExpired.variance,
@ -384,16 +394,6 @@ class ExperimentalFeatures {
experimentalReleaseVersion: null, experimentalReleaseVersion: null,
releaseVersion: null, releaseVersion: null,
); );
static final views = ExperimentalFeature(
index: 25,
enableString: EnableString.views,
isEnabledByDefault: IsEnabledByDefault.views,
isExpired: IsExpired.views,
documentation: 'Views',
experimentalReleaseVersion: null,
releaseVersion: null,
);
} }
/// Constant bools indicating whether each experimental flag is currently /// Constant bools indicating whether each experimental flag is currently
@ -429,6 +429,9 @@ class IsEnabledByDefault {
/// Default state of the experiment "inference-update-2" /// Default state of the experiment "inference-update-2"
static const bool inference_update_2 = false; static const bool inference_update_2 = false;
/// Default state of the experiment "inline-class"
static const bool inline_class = false;
/// Default state of the experiment "macros" /// Default state of the experiment "macros"
static const bool macros = false; static const bool macros = false;
@ -473,9 +476,6 @@ class IsEnabledByDefault {
/// Default state of the experiment "variance" /// Default state of the experiment "variance"
static const bool variance = false; static const bool variance = false;
/// Default state of the experiment "views"
static const bool views = false;
} }
/// Constant bools indicating whether each experimental flag is currently /// Constant bools indicating whether each experimental flag is currently
@ -512,6 +512,9 @@ class IsExpired {
/// Expiration status of the experiment "inference-update-2" /// Expiration status of the experiment "inference-update-2"
static const bool inference_update_2 = false; static const bool inference_update_2 = false;
/// Expiration status of the experiment "inline-class"
static const bool inline_class = false;
/// Expiration status of the experiment "macros" /// Expiration status of the experiment "macros"
static const bool macros = false; static const bool macros = false;
@ -556,9 +559,6 @@ class IsExpired {
/// Expiration status of the experiment "variance" /// Expiration status of the experiment "variance"
static const bool variance = false; static const bool variance = false;
/// Expiration status of the experiment "views"
static const bool views = false;
} }
mixin _CurrentState { mixin _CurrentState {
@ -598,6 +598,9 @@ mixin _CurrentState {
bool get inference_update_2 => bool get inference_update_2 =>
isEnabled(ExperimentalFeatures.inference_update_2); isEnabled(ExperimentalFeatures.inference_update_2);
/// Current state for the flag "inline-class"
bool get inline_class => isEnabled(ExperimentalFeatures.inline_class);
/// Current state for the flag "macros" /// Current state for the flag "macros"
bool get macros => isEnabled(ExperimentalFeatures.macros); bool get macros => isEnabled(ExperimentalFeatures.macros);
@ -647,8 +650,5 @@ mixin _CurrentState {
/// Current state for the flag "variance" /// Current state for the flag "variance"
bool get variance => isEnabled(ExperimentalFeatures.variance); bool get variance => isEnabled(ExperimentalFeatures.variance);
/// Current state for the flag "views"
bool get views => isEnabled(ExperimentalFeatures.views);
bool isEnabled(covariant ExperimentalFeature feature); bool isEnabled(covariant ExperimentalFeature feature);
} }

View file

@ -144,7 +144,7 @@ class AstBuilder extends StackListener {
final bool enableUnnamedLibraries; final bool enableUnnamedLibraries;
/// `true` if views are enabled /// `true` if views are enabled
final bool enableViews; final bool enableInlineClass;
/// `true` if sealed-class is enabled /// `true` if sealed-class is enabled
final bool enableSealedClass; final bool enableSealedClass;
@ -173,7 +173,7 @@ class AstBuilder extends StackListener {
enableRecords = _featureSet.isEnabled(Feature.records), enableRecords = _featureSet.isEnabled(Feature.records),
enableUnnamedLibraries = enableUnnamedLibraries =
_featureSet.isEnabled(Feature.unnamedLibraries), _featureSet.isEnabled(Feature.unnamedLibraries),
enableViews = _featureSet.isEnabled(Feature.views), enableInlineClass = _featureSet.isEnabled(Feature.inline_class),
enableSealedClass = _featureSet.isEnabled(Feature.sealed_class), enableSealedClass = _featureSet.isEnabled(Feature.sealed_class),
uri = uri ?? fileUri; uri = uri ?? fileUri;
@ -236,10 +236,10 @@ class AstBuilder extends StackListener {
macroToken = null; macroToken = null;
} }
} }
if (!enableViews) { if (!enableInlineClass) {
if (viewToken != null) { if (viewToken != null) {
_reportFeatureNotEnabled( _reportFeatureNotEnabled(
feature: ExperimentalFeatures.views, feature: ExperimentalFeatures.inline_class,
startToken: viewToken, startToken: viewToken,
); );
// Pretend that 'view' didn't occur while this feature is incomplete. // Pretend that 'view' didn't occur while this feature is incomplete.
@ -417,10 +417,10 @@ class AstBuilder extends StackListener {
macroToken = null; macroToken = null;
} }
} }
if (!enableViews) { if (!enableInlineClass) {
if (viewToken != null) { if (viewToken != null) {
_reportFeatureNotEnabled( _reportFeatureNotEnabled(
feature: ExperimentalFeatures.views, feature: ExperimentalFeatures.inline_class,
startToken: viewToken, startToken: viewToken,
); );
// Pretend that 'view' didn't occur while this feature is incomplete. // Pretend that 'view' didn't occur while this feature is incomplete.

View file

@ -49,6 +49,7 @@ class FeatureSets {
flags: [ flags: [
EnableString.enhanced_enums, EnableString.enhanced_enums,
EnableString.extension_types, EnableString.extension_types,
EnableString.inline_class,
EnableString.macros, EnableString.macros,
EnableString.named_arguments_anywhere, EnableString.named_arguments_anywhere,
EnableString.patterns, EnableString.patterns,
@ -56,7 +57,6 @@ class FeatureSets {
EnableString.sealed_class, EnableString.sealed_class,
EnableString.super_parameters, EnableString.super_parameters,
EnableString.unnamed_libraries, EnableString.unnamed_libraries,
EnableString.views,
], ],
); );

View file

@ -139,6 +139,14 @@ class ExperimentalFlag {
experimentEnabledVersion: const Version(3, 0), experimentEnabledVersion: const Version(3, 0),
experimentReleasedVersion: const Version(3, 0)); experimentReleasedVersion: const Version(3, 0));
static const ExperimentalFlag inlineClass = const ExperimentalFlag(
name: 'inline-class',
isEnabledByDefault: false,
isExpired: false,
enabledVersion: const Version(3, 0),
experimentEnabledVersion: const Version(3, 0),
experimentReleasedVersion: const Version(3, 0));
static const ExperimentalFlag macros = const ExperimentalFlag( static const ExperimentalFlag macros = const ExperimentalFlag(
name: 'macros', name: 'macros',
isEnabledByDefault: false, isEnabledByDefault: false,
@ -258,14 +266,6 @@ class ExperimentalFlag {
enabledVersion: const Version(3, 0), enabledVersion: const Version(3, 0),
experimentEnabledVersion: const Version(3, 0), experimentEnabledVersion: const Version(3, 0),
experimentReleasedVersion: const Version(3, 0)); experimentReleasedVersion: const Version(3, 0));
static const ExperimentalFlag views = const ExperimentalFlag(
name: 'views',
isEnabledByDefault: false,
isExpired: false,
enabledVersion: const Version(3, 0),
experimentEnabledVersion: const Version(3, 0),
experimentReleasedVersion: const Version(3, 0));
} }
/// Interface for accessing the global state of experimental features. /// Interface for accessing the global state of experimental features.
@ -358,6 +358,10 @@ class GlobalFeatures {
GlobalFeature get inferenceUpdate2 => _inferenceUpdate2 ??= GlobalFeature get inferenceUpdate2 => _inferenceUpdate2 ??=
_computeGlobalFeature(ExperimentalFlag.inferenceUpdate2); _computeGlobalFeature(ExperimentalFlag.inferenceUpdate2);
GlobalFeature? _inlineClass;
GlobalFeature get inlineClass =>
_inlineClass ??= _computeGlobalFeature(ExperimentalFlag.inlineClass);
GlobalFeature? _macros; GlobalFeature? _macros;
GlobalFeature get macros => GlobalFeature get macros =>
_macros ??= _computeGlobalFeature(ExperimentalFlag.macros); _macros ??= _computeGlobalFeature(ExperimentalFlag.macros);
@ -417,10 +421,6 @@ class GlobalFeatures {
GlobalFeature? _variance; GlobalFeature? _variance;
GlobalFeature get variance => GlobalFeature get variance =>
_variance ??= _computeGlobalFeature(ExperimentalFlag.variance); _variance ??= _computeGlobalFeature(ExperimentalFlag.variance);
GlobalFeature? _views;
GlobalFeature get views =>
_views ??= _computeGlobalFeature(ExperimentalFlag.views);
} }
/// Interface for accessing the state of experimental features within a /// Interface for accessing the state of experimental features within a
@ -492,6 +492,11 @@ class LibraryFeatures {
_inferenceUpdate2 ??= globalFeatures._computeLibraryFeature( _inferenceUpdate2 ??= globalFeatures._computeLibraryFeature(
ExperimentalFlag.inferenceUpdate2, canonicalUri, libraryVersion); ExperimentalFlag.inferenceUpdate2, canonicalUri, libraryVersion);
LibraryFeature? _inlineClass;
LibraryFeature get inlineClass =>
_inlineClass ??= globalFeatures._computeLibraryFeature(
ExperimentalFlag.inlineClass, canonicalUri, libraryVersion);
LibraryFeature? _macros; LibraryFeature? _macros;
LibraryFeature get macros => LibraryFeature get macros =>
_macros ??= globalFeatures._computeLibraryFeature( _macros ??= globalFeatures._computeLibraryFeature(
@ -571,10 +576,6 @@ class LibraryFeatures {
_variance ??= globalFeatures._computeLibraryFeature( _variance ??= globalFeatures._computeLibraryFeature(
ExperimentalFlag.variance, canonicalUri, libraryVersion); ExperimentalFlag.variance, canonicalUri, libraryVersion);
LibraryFeature? _views;
LibraryFeature get views => _views ??= globalFeatures._computeLibraryFeature(
ExperimentalFlag.views, canonicalUri, libraryVersion);
/// Returns the [LibraryFeature] corresponding to [experimentalFlag]. /// Returns the [LibraryFeature] corresponding to [experimentalFlag].
LibraryFeature fromSharedExperimentalFlags( LibraryFeature fromSharedExperimentalFlags(
shared.ExperimentalFlag experimentalFlag) { shared.ExperimentalFlag experimentalFlag) {
@ -599,6 +600,8 @@ class LibraryFeatures {
return inferenceUpdate1; return inferenceUpdate1;
case shared.ExperimentalFlag.inferenceUpdate2: case shared.ExperimentalFlag.inferenceUpdate2:
return inferenceUpdate2; return inferenceUpdate2;
case shared.ExperimentalFlag.inlineClass:
return inlineClass;
case shared.ExperimentalFlag.macros: case shared.ExperimentalFlag.macros:
return macros; return macros;
case shared.ExperimentalFlag.namedArgumentsAnywhere: case shared.ExperimentalFlag.namedArgumentsAnywhere:
@ -629,8 +632,6 @@ class LibraryFeatures {
return valueClass; return valueClass;
case shared.ExperimentalFlag.variance: case shared.ExperimentalFlag.variance:
return variance; return variance;
case shared.ExperimentalFlag.views:
return views;
default: default:
throw new UnsupportedError( throw new UnsupportedError(
'LibraryFeatures.fromSharedExperimentalFlags($experimentalFlag)'); 'LibraryFeatures.fromSharedExperimentalFlags($experimentalFlag)');
@ -662,6 +663,8 @@ ExperimentalFlag? parseExperimentalFlag(String flag) {
return ExperimentalFlag.inferenceUpdate1; return ExperimentalFlag.inferenceUpdate1;
case "inference-update-2": case "inference-update-2":
return ExperimentalFlag.inferenceUpdate2; return ExperimentalFlag.inferenceUpdate2;
case "inline-class":
return ExperimentalFlag.inlineClass;
case "macros": case "macros":
return ExperimentalFlag.macros; return ExperimentalFlag.macros;
case "named-arguments-anywhere": case "named-arguments-anywhere":
@ -692,8 +695,6 @@ ExperimentalFlag? parseExperimentalFlag(String flag) {
return ExperimentalFlag.valueClass; return ExperimentalFlag.valueClass;
case "variance": case "variance":
return ExperimentalFlag.variance; return ExperimentalFlag.variance;
case "views":
return ExperimentalFlag.views;
} }
return null; return null;
} }
@ -721,6 +722,7 @@ final Map<ExperimentalFlag, bool> defaultExperimentalFlags = {
ExperimentalFlag.inferenceUpdate1.isEnabledByDefault, ExperimentalFlag.inferenceUpdate1.isEnabledByDefault,
ExperimentalFlag.inferenceUpdate2: ExperimentalFlag.inferenceUpdate2:
ExperimentalFlag.inferenceUpdate2.isEnabledByDefault, ExperimentalFlag.inferenceUpdate2.isEnabledByDefault,
ExperimentalFlag.inlineClass: ExperimentalFlag.inlineClass.isEnabledByDefault,
ExperimentalFlag.macros: ExperimentalFlag.macros.isEnabledByDefault, ExperimentalFlag.macros: ExperimentalFlag.macros.isEnabledByDefault,
ExperimentalFlag.namedArgumentsAnywhere: ExperimentalFlag.namedArgumentsAnywhere:
ExperimentalFlag.namedArgumentsAnywhere.isEnabledByDefault, ExperimentalFlag.namedArgumentsAnywhere.isEnabledByDefault,
@ -742,7 +744,6 @@ final Map<ExperimentalFlag, bool> defaultExperimentalFlags = {
ExperimentalFlag.unnamedLibraries.isEnabledByDefault, ExperimentalFlag.unnamedLibraries.isEnabledByDefault,
ExperimentalFlag.valueClass: ExperimentalFlag.valueClass.isEnabledByDefault, ExperimentalFlag.valueClass: ExperimentalFlag.valueClass.isEnabledByDefault,
ExperimentalFlag.variance: ExperimentalFlag.variance.isEnabledByDefault, ExperimentalFlag.variance: ExperimentalFlag.variance.isEnabledByDefault,
ExperimentalFlag.views: ExperimentalFlag.views.isEnabledByDefault,
}; };
const AllowedExperimentalFlags defaultAllowedExperimentalFlags = const AllowedExperimentalFlags defaultAllowedExperimentalFlags =
const AllowedExperimentalFlags(sdkDefaultExperiments: { const AllowedExperimentalFlags(sdkDefaultExperiments: {
@ -940,6 +941,7 @@ const Map<shared.ExperimentalFlag, ExperimentalFlag> sharedExperimentalFlags = {
shared.ExperimentalFlag.genericMetadata: ExperimentalFlag.genericMetadata, shared.ExperimentalFlag.genericMetadata: ExperimentalFlag.genericMetadata,
shared.ExperimentalFlag.inferenceUpdate1: ExperimentalFlag.inferenceUpdate1, shared.ExperimentalFlag.inferenceUpdate1: ExperimentalFlag.inferenceUpdate1,
shared.ExperimentalFlag.inferenceUpdate2: ExperimentalFlag.inferenceUpdate2, shared.ExperimentalFlag.inferenceUpdate2: ExperimentalFlag.inferenceUpdate2,
shared.ExperimentalFlag.inlineClass: ExperimentalFlag.inlineClass,
shared.ExperimentalFlag.macros: ExperimentalFlag.macros, shared.ExperimentalFlag.macros: ExperimentalFlag.macros,
shared.ExperimentalFlag.namedArgumentsAnywhere: shared.ExperimentalFlag.namedArgumentsAnywhere:
ExperimentalFlag.namedArgumentsAnywhere, ExperimentalFlag.namedArgumentsAnywhere,
@ -957,5 +959,4 @@ const Map<shared.ExperimentalFlag, ExperimentalFlag> sharedExperimentalFlags = {
shared.ExperimentalFlag.unnamedLibraries: ExperimentalFlag.unnamedLibraries, shared.ExperimentalFlag.unnamedLibraries: ExperimentalFlag.unnamedLibraries,
shared.ExperimentalFlag.valueClass: ExperimentalFlag.valueClass, shared.ExperimentalFlag.valueClass: ExperimentalFlag.valueClass,
shared.ExperimentalFlag.variance: ExperimentalFlag.variance, shared.ExperimentalFlag.variance: ExperimentalFlag.variance,
shared.ExperimentalFlag.views: ExperimentalFlag.views,
}; };

View file

@ -883,8 +883,8 @@ class OutlineBuilder extends StackListenerImpl {
} }
} }
if (viewToken != null) { if (viewToken != null) {
if (reportIfNotEnabled( if (reportIfNotEnabled(libraryFeatures.inlineClass, viewToken.charOffset,
libraryFeatures.views, viewToken.charOffset, viewToken.length)) { viewToken.length)) {
viewToken = null; viewToken = null;
} }
} }
@ -1013,8 +1013,8 @@ class OutlineBuilder extends StackListenerImpl {
} }
} }
if (viewToken != null) { if (viewToken != null) {
if (reportIfNotEnabled( if (reportIfNotEnabled(libraryFeatures.inlineClass, viewToken.charOffset,
libraryFeatures.views, viewToken.charOffset, viewToken.length)) { viewToken.length)) {
viewToken = null; viewToken = null;
} }
} }

View file

@ -2,13 +2,13 @@ library /*isNonNullableByDefault*/;
// //
// Problems in library: // Problems in library:
// //
// pkg/front_end/testcases/general/view_class_declaration.dart:8:1: Error: This requires the experimental 'views' language feature to be enabled. // pkg/front_end/testcases/general/view_class_declaration.dart:8:1: Error: This requires the experimental 'inline-class' language feature to be enabled.
// Try passing the '--enable-experiment=views' command line option. // Try passing the '--enable-experiment=inline-class' command line option.
// view class Class1 {} // view class Class1 {}
// ^^^^ // ^^^^
// //
// pkg/front_end/testcases/general/view_class_declaration.dart:9:1: Error: This requires the experimental 'views' language feature to be enabled. // pkg/front_end/testcases/general/view_class_declaration.dart:9:1: Error: This requires the experimental 'inline-class' language feature to be enabled.
// Try passing the '--enable-experiment=views' command line option. // Try passing the '--enable-experiment=inline-class' command line option.
// view class Class2 = Object with Mixin; // view class Class2 = Object with Mixin;
// ^^^^ // ^^^^
// //

View file

@ -2,13 +2,13 @@ library /*isNonNullableByDefault*/;
// //
// Problems in library: // Problems in library:
// //
// pkg/front_end/testcases/general/view_class_declaration.dart:8:1: Error: This requires the experimental 'views' language feature to be enabled. // pkg/front_end/testcases/general/view_class_declaration.dart:8:1: Error: This requires the experimental 'inline-class' language feature to be enabled.
// Try passing the '--enable-experiment=views' command line option. // Try passing the '--enable-experiment=inline-class' command line option.
// view class Class1 {} // view class Class1 {}
// ^^^^ // ^^^^
// //
// pkg/front_end/testcases/general/view_class_declaration.dart:9:1: Error: This requires the experimental 'views' language feature to be enabled. // pkg/front_end/testcases/general/view_class_declaration.dart:9:1: Error: This requires the experimental 'inline-class' language feature to be enabled.
// Try passing the '--enable-experiment=views' command line option. // Try passing the '--enable-experiment=inline-class' command line option.
// view class Class2 = Object with Mixin; // view class Class2 = Object with Mixin;
// ^^^^ // ^^^^
// //

View file

@ -2,13 +2,13 @@ library /*isNonNullableByDefault*/;
// //
// Problems in library: // Problems in library:
// //
// pkg/front_end/testcases/general/view_class_declaration.dart:8:1: Error: This requires the experimental 'views' language feature to be enabled. // pkg/front_end/testcases/general/view_class_declaration.dart:8:1: Error: This requires the experimental 'inline-class' language feature to be enabled.
// Try passing the '--enable-experiment=views' command line option. // Try passing the '--enable-experiment=inline-class' command line option.
// view class Class1 {} // view class Class1 {}
// ^^^^ // ^^^^
// //
// pkg/front_end/testcases/general/view_class_declaration.dart:9:1: Error: This requires the experimental 'views' language feature to be enabled. // pkg/front_end/testcases/general/view_class_declaration.dart:9:1: Error: This requires the experimental 'inline-class' language feature to be enabled.
// Try passing the '--enable-experiment=views' command line option. // Try passing the '--enable-experiment=inline-class' command line option.
// view class Class2 = Object with Mixin; // view class Class2 = Object with Mixin;
// ^^^^ // ^^^^
// //

View file

@ -2,13 +2,13 @@ library /*isNonNullableByDefault*/;
// //
// Problems in library: // Problems in library:
// //
// pkg/front_end/testcases/general/view_class_declaration.dart:8:1: Error: This requires the experimental 'views' language feature to be enabled. // pkg/front_end/testcases/general/view_class_declaration.dart:8:1: Error: This requires the experimental 'inline-class' language feature to be enabled.
// Try passing the '--enable-experiment=views' command line option. // Try passing the '--enable-experiment=inline-class' command line option.
// view class Class1 {} // view class Class1 {}
// ^^^^ // ^^^^
// //
// pkg/front_end/testcases/general/view_class_declaration.dart:9:1: Error: This requires the experimental 'views' language feature to be enabled. // pkg/front_end/testcases/general/view_class_declaration.dart:9:1: Error: This requires the experimental 'inline-class' language feature to be enabled.
// Try passing the '--enable-experiment=views' command line option. // Try passing the '--enable-experiment=inline-class' command line option.
// view class Class2 = Object with Mixin; // view class Class2 = Object with Mixin;
// ^^^^ // ^^^^
// //

View file

@ -1 +1 @@
--enable-experiment=views --enable-experiment=inline-class

View file

@ -137,8 +137,8 @@ features:
patterns: patterns:
help: "Patterns" help: "Patterns"
views: inline-class:
help: "Views" help: "Inline class"
sealed-class: sealed-class:
help: "Sealed class" help: "Sealed class"