Version 2.12.0-284.0.dev
Merge commit '0427342228a37acb72477acca57438c2dc38b25f' into 'dev'
diff --git a/pkg/analyzer/lib/dart/analysis/features.dart b/pkg/analyzer/lib/dart/analysis/features.dart
index 31698ee..4fa69d3 100644
--- a/pkg/analyzer/lib/dart/analysis/features.dart
+++ b/pkg/analyzer/lib/dart/analysis/features.dart
@@ -23,6 +23,9 @@
/// Feature information for extension methods.
static final extension_methods = ExperimentalFeatures.extension_methods;
+ /// Feature information for generic metadata.
+ static final generic_metadata = ExperimentalFeatures.generic_metadata;
+
/// Feature information for spread collections.
static final spread_collections = ExperimentalFeatures.spread_collections;
diff --git a/pkg/analyzer/lib/src/dart/analysis/experiments.g.dart b/pkg/analyzer/lib/src/dart/analysis/experiments.g.dart
index 9103fc1..8e3687f 100644
--- a/pkg/analyzer/lib/src/dart/analysis/experiments.g.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/experiments.g.dart
@@ -16,6 +16,7 @@
EnableString.control_flow_collections:
ExperimentalFeatures.control_flow_collections,
EnableString.extension_methods: ExperimentalFeatures.extension_methods,
+ EnableString.generic_metadata: ExperimentalFeatures.generic_metadata,
EnableString.non_nullable: ExperimentalFeatures.non_nullable,
EnableString.nonfunction_type_aliases:
ExperimentalFeatures.nonfunction_type_aliases,
@@ -38,6 +39,9 @@
/// String to enable the experiment "extension-methods"
static const String extension_methods = 'extension-methods';
+ /// String to enable the experiment "generic-metadata"
+ static const String generic_metadata = 'generic-metadata';
+
/// String to enable the experiment "non-nullable"
static const String non_nullable = 'non-nullable';
@@ -91,8 +95,19 @@
releaseVersion: Version.parse('2.6.0'),
);
- static final non_nullable = ExperimentalFeature(
+ static final generic_metadata = ExperimentalFeature(
index: 3,
+ enableString: EnableString.generic_metadata,
+ isEnabledByDefault: IsEnabledByDefault.generic_metadata,
+ isExpired: IsExpired.generic_metadata,
+ documentation:
+ 'Allow annotations to accept type arguments; also allow generic function types as type arguments',
+ experimentalReleaseVersion: null,
+ releaseVersion: null,
+ );
+
+ static final non_nullable = ExperimentalFeature(
+ index: 4,
enableString: EnableString.non_nullable,
isEnabledByDefault: IsEnabledByDefault.non_nullable,
isExpired: IsExpired.non_nullable,
@@ -102,7 +117,7 @@
);
static final nonfunction_type_aliases = ExperimentalFeature(
- index: 4,
+ index: 5,
enableString: EnableString.nonfunction_type_aliases,
isEnabledByDefault: IsEnabledByDefault.nonfunction_type_aliases,
isExpired: IsExpired.nonfunction_type_aliases,
@@ -112,7 +127,7 @@
);
static final set_literals = ExperimentalFeature(
- index: 5,
+ index: 6,
enableString: EnableString.set_literals,
isEnabledByDefault: IsEnabledByDefault.set_literals,
isExpired: IsExpired.set_literals,
@@ -122,7 +137,7 @@
);
static final spread_collections = ExperimentalFeature(
- index: 6,
+ index: 7,
enableString: EnableString.spread_collections,
isEnabledByDefault: IsEnabledByDefault.spread_collections,
isExpired: IsExpired.spread_collections,
@@ -132,7 +147,7 @@
);
static final triple_shift = ExperimentalFeature(
- index: 7,
+ index: 8,
enableString: EnableString.triple_shift,
isEnabledByDefault: IsEnabledByDefault.triple_shift,
isExpired: IsExpired.triple_shift,
@@ -142,7 +157,7 @@
);
static final value_class = ExperimentalFeature(
- index: 8,
+ index: 9,
enableString: EnableString.value_class,
isEnabledByDefault: IsEnabledByDefault.value_class,
isExpired: IsExpired.value_class,
@@ -152,7 +167,7 @@
);
static final variance = ExperimentalFeature(
- index: 9,
+ index: 10,
enableString: EnableString.variance,
isEnabledByDefault: IsEnabledByDefault.variance,
isExpired: IsExpired.variance,
@@ -174,6 +189,9 @@
/// Default state of the experiment "extension-methods"
static const bool extension_methods = true;
+ /// Default state of the experiment "generic-metadata"
+ static const bool generic_metadata = false;
+
/// Default state of the experiment "non-nullable"
static const bool non_nullable = true;
@@ -209,6 +227,9 @@
/// Expiration status of the experiment "extension-methods"
static const bool extension_methods = false;
+ /// Expiration status of the experiment "generic-metadata"
+ static const bool generic_metadata = false;
+
/// Expiration status of the experiment "non-nullable"
static const bool non_nullable = false;
@@ -244,6 +265,9 @@
bool get extension_methods =>
isEnabled(ExperimentalFeatures.extension_methods);
+ /// Current state for the flag "generic-metadata"
+ bool get generic_metadata => isEnabled(ExperimentalFeatures.generic_metadata);
+
/// Current state for the flag "non-nullable"
bool get non_nullable => isEnabled(ExperimentalFeatures.non_nullable);
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 dfdef38..f2f282f 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
@@ -16,6 +16,7 @@
constantUpdate2018,
controlFlowCollections,
extensionMethods,
+ genericMetadata,
nonNullable,
nonfunctionTypeAliases,
setLiterals,
@@ -30,6 +31,7 @@
const Version enableConstantUpdate2018Version = const Version(2, 0);
const Version enableControlFlowCollectionsVersion = const Version(2, 0);
const Version enableExtensionMethodsVersion = const Version(2, 6);
+const Version enableGenericMetadataVersion = const Version(2, 12);
const Version enableNonNullableVersion = const Version(2, 12);
const Version enableNonfunctionTypeAliasesVersion = const Version(2, 12);
const Version enableSetLiteralsVersion = const Version(2, 0);
@@ -48,6 +50,8 @@
return ExperimentalFlag.controlFlowCollections;
case "extension-methods":
return ExperimentalFlag.extensionMethods;
+ case "generic-metadata":
+ return ExperimentalFlag.genericMetadata;
case "non-nullable":
return ExperimentalFlag.nonNullable;
case "nonfunction-type-aliases":
@@ -71,6 +75,7 @@
ExperimentalFlag.constantUpdate2018: true,
ExperimentalFlag.controlFlowCollections: true,
ExperimentalFlag.extensionMethods: true,
+ ExperimentalFlag.genericMetadata: false,
ExperimentalFlag.nonNullable: true,
ExperimentalFlag.nonfunctionTypeAliases: false,
ExperimentalFlag.setLiterals: true,
@@ -85,6 +90,7 @@
ExperimentalFlag.constantUpdate2018: true,
ExperimentalFlag.controlFlowCollections: true,
ExperimentalFlag.extensionMethods: false,
+ ExperimentalFlag.genericMetadata: false,
ExperimentalFlag.nonNullable: false,
ExperimentalFlag.nonfunctionTypeAliases: false,
ExperimentalFlag.setLiterals: true,
@@ -99,6 +105,7 @@
ExperimentalFlag.constantUpdate2018: const Version(2, 0),
ExperimentalFlag.controlFlowCollections: const Version(2, 0),
ExperimentalFlag.extensionMethods: const Version(2, 6),
+ ExperimentalFlag.genericMetadata: const Version(2, 12),
ExperimentalFlag.nonNullable: const Version(2, 12),
ExperimentalFlag.nonfunctionTypeAliases: const Version(2, 12),
ExperimentalFlag.setLiterals: const Version(2, 0),
@@ -113,6 +120,7 @@
ExperimentalFlag.constantUpdate2018: const Version(2, 0),
ExperimentalFlag.controlFlowCollections: const Version(2, 0),
ExperimentalFlag.extensionMethods: const Version(2, 6),
+ ExperimentalFlag.genericMetadata: const Version(2, 12),
ExperimentalFlag.nonNullable: const Version(2, 10),
ExperimentalFlag.nonfunctionTypeAliases: const Version(2, 12),
ExperimentalFlag.setLiterals: const Version(2, 0),
diff --git a/tools/VERSION b/tools/VERSION
index 0513cb3..a403296 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
MAJOR 2
MINOR 12
PATCH 0
-PRERELEASE 283
+PRERELEASE 284
PRERELEASE_PATCH 0
\ No newline at end of file
diff --git a/tools/experimental_features.yaml b/tools/experimental_features.yaml
index 99f8c15..823773d 100644
--- a/tools/experimental_features.yaml
+++ b/tools/experimental_features.yaml
@@ -115,6 +115,10 @@
value-class:
help: "Value class"
+
+ generic-metadata:
+ help: "Allow annotations to accept type arguments; also allow generic function types as type arguments"
+
#
# Flags below this line are shipped, retired, or rejected, cannot be specified
# on the command line, and will eventually be removed.