blob: 83ef308672a381e22a52cd5ebc7aac30b1ff778b [file]
// 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.
import 'package:analyzer/dart/analysis/features.dart';
import 'package:analyzer/src/dart/analysis/experiments.dart';
import 'package:analyzer_testing/experiments/experiments.dart';
import 'package:pub_semver/pub_semver.dart';
class FeatureSets {
static final FeatureSet language_2_9 = FeatureSet.fromEnableFlags2(
sdkLanguageVersion: Version.parse('2.9.0'),
flags: [],
);
static final FeatureSet language_2_12 = FeatureSet.fromEnableFlags2(
sdkLanguageVersion: Version.parse('2.12.0'),
flags: [],
);
static final FeatureSet language_2_13 = FeatureSet.fromEnableFlags2(
sdkLanguageVersion: Version.parse('2.13.0'),
flags: [],
);
static final FeatureSet language_2_16 = FeatureSet.fromEnableFlags2(
sdkLanguageVersion: Version.parse('2.16.0'),
flags: [],
);
static final FeatureSet language_2_18 = FeatureSet.fromEnableFlags2(
sdkLanguageVersion: Version.parse('2.18.0'),
flags: [],
);
static final FeatureSet language_2_19 = FeatureSet.fromEnableFlags2(
sdkLanguageVersion: Version.parse('2.19.0'),
flags: [],
);
static final FeatureSet language_3_4 = FeatureSet.fromEnableFlags2(
sdkLanguageVersion: Version.parse('3.4.0'),
flags: [],
);
static final FeatureSet latest = FeatureSet.latestLanguageVersion();
static final FeatureSet latestWithExperiments = FeatureSet.fromEnableFlags2(
sdkLanguageVersion: ExperimentStatus.currentVersion,
flags: [
for (var feature in experimentalFeaturesForTests)
feature.experimentalFlag ??
(throw StateError(
'$feature no longer has an experimental flag; '
'remove it from experimentalFeaturesForTests.',
)),
],
);
FeatureSets._();
}