mirror of
https://github.com/dart-lang/sdk
synced 2024-09-16 01:59:38 +00:00
56eaffb392
This turns on the flags for these two language features and makes them generally accessible. Doing so causes a number of tests to fail, but the failures are approved and there are filed issues for them. Most of the failures are minor or only affect code using the new language features. This CL: - Enables the features in experimental_features.yaml. - Re-generates all of the various files generated from that. - Makes some analyzer and front end changes that this CL inherited from Paul's original CL flipping all of the 3.0 feature flags. I don't know what these changes are about, but I assume they are necessary. - Pins a couple of tests to 2.19 since they deliberately test behavior that is specific to 2.19. (For most test changes, I've landed them separately, but there are a couple of stragglers in this CL.) This doesn't enable "class-modifiers" or "sealed-types" and doesn't include the core lib changes related to those. TEST=On bots Change-Id: Id387753772286a958e20a3589a6e983995f2e4a6 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/286344 Auto-Submit: Bob Nystrom <rnystrom@google.com> Reviewed-by: Alexander Markov <alexmarkov@google.com> Commit-Queue: Bob Nystrom <rnystrom@google.com> Reviewed-by: Jake Macdonald <jakemac@google.com> Reviewed-by: Nate Bosch <nbosch@google.com> Reviewed-by: Johnni Winther <johnniwinther@google.com>
55 lines
1.6 KiB
C++
55 lines
1.6 KiB
C++
// Copyright (c) 2020, 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.
|
|
// NOTE: THIS FILE IS GENERATED. DO NOT EDIT.
|
|
//
|
|
// Instead modify 'tools/experimental_features.yaml' and run
|
|
// 'dart tools/generate_experimental_flags.dart' to update.
|
|
//
|
|
// Current version: 3.0.0
|
|
|
|
#include "vm/experimental_features.h"
|
|
|
|
#include <cstring>
|
|
#include "platform/assert.h"
|
|
#include "vm/globals.h"
|
|
|
|
namespace dart {
|
|
|
|
bool GetExperimentalFeatureDefault(ExperimentalFeature feature) {
|
|
constexpr bool kFeatureValues[] = {
|
|
true, true, true, true, true, true, true, true, true,
|
|
true, true, true, true, true, true, true, true,
|
|
};
|
|
ASSERT(static_cast<size_t>(feature) < ARRAY_SIZE(kFeatureValues));
|
|
return kFeatureValues[static_cast<int>(feature)];
|
|
}
|
|
|
|
const char* GetExperimentalFeatureName(ExperimentalFeature feature) {
|
|
constexpr const char* kFeatureNames[] = {
|
|
"sealed-class",
|
|
"class-modifiers",
|
|
"nonfunction-type-aliases",
|
|
"non-nullable",
|
|
"extension-methods",
|
|
"constant-update-2018",
|
|
"control-flow-collections",
|
|
"generic-metadata",
|
|
"set-literals",
|
|
"spread-collections",
|
|
"triple-shift",
|
|
"constructor-tearoffs",
|
|
"enhanced-enums",
|
|
"named-arguments-anywhere",
|
|
"super-parameters",
|
|
"inference-update-1",
|
|
"unnamed-libraries",
|
|
"records",
|
|
"patterns",
|
|
};
|
|
ASSERT(static_cast<size_t>(feature) < ARRAY_SIZE(kFeatureNames));
|
|
return kFeatureNames[static_cast<int>(feature)];
|
|
}
|
|
|
|
} // namespace dart
|