From 36d2ae5dc67abeffca1e8a8e018f07f4f751dd4f Mon Sep 17 00:00:00 2001 From: Konstantin Shcheglov Date: Wed, 10 Jul 2024 20:35:48 +0000 Subject: [PATCH] Enable new features in tests. Change-Id: Iae97b7dcb3f9059de8755b5c6335655cabc846d7 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/375086 Reviewed-by: Brian Wilkerson Commit-Queue: Konstantin Shcheglov --- pkg/analysis_server/test/abstract_context.dart | 2 ++ pkg/analysis_server/test/analysis_server_base.dart | 2 ++ .../lsp/dart_text_document_content_provider_test.dart | 2 ++ pkg/analysis_server/test/lsp/definition_test.dart | 2 ++ pkg/analysis_server/test/lsp/hover_test.dart | 2 ++ pkg/analysis_server/test/lsp/semantic_tokens_test.dart | 2 ++ pkg/analyzer/lib/dart/analysis/features.dart | 6 ++++++ pkg/analyzer/lib/src/fasta/ast_builder.dart | 10 +++++++++- .../dart/resolution/context_collection_resolution.dart | 2 ++ pkg/analyzer/test/util/feature_sets.dart | 2 ++ 10 files changed, 31 insertions(+), 1 deletion(-) diff --git a/pkg/analysis_server/test/abstract_context.dart b/pkg/analysis_server/test/abstract_context.dart index 2900e128928..aed1a28b449 100644 --- a/pkg/analysis_server/test/abstract_context.dart +++ b/pkg/analysis_server/test/abstract_context.dart @@ -66,6 +66,8 @@ class AbstractContextTest /// class, an empty list if there are no experiments that should be enabled. List get experiments => [ Feature.digit_separators.enableString, + Feature.augmentations.enableString, + Feature.enhanced_parts.enableString, Feature.macros.enableString, Feature.wildcard_variables.enableString, ]; diff --git a/pkg/analysis_server/test/analysis_server_base.dart b/pkg/analysis_server/test/analysis_server_base.dart index c7125297bcd..b5e60c76ef2 100644 --- a/pkg/analysis_server/test/analysis_server_base.dart +++ b/pkg/analysis_server/test/analysis_server_base.dart @@ -218,6 +218,8 @@ class PubPackageAnalysisServerTest extends ContextResolutionTest // add `import 'package:analyzer/dart/analysis/features.dart';` // and list the necessary experiments here. List get experiments => [ + Feature.augmentations.enableString, + Feature.enhanced_parts.enableString, Feature.macros.enableString, ]; diff --git a/pkg/analysis_server/test/lsp/dart_text_document_content_provider_test.dart b/pkg/analysis_server/test/lsp/dart_text_document_content_provider_test.dart index 61d30407d08..40b18323cd3 100644 --- a/pkg/analysis_server/test/lsp/dart_text_document_content_provider_test.dart +++ b/pkg/analysis_server/test/lsp/dart_text_document_content_provider_test.dart @@ -25,6 +25,8 @@ class DartTextDocumentContentProviderTest AnalysisServerOptions get serverOptions => AnalysisServerOptions() ..enabledExperiments = [ ...super.serverOptions.enabledExperiments, + Feature.augmentations.enableString, + Feature.enhanced_parts.enableString, Feature.macros.enableString, ]; diff --git a/pkg/analysis_server/test/lsp/definition_test.dart b/pkg/analysis_server/test/lsp/definition_test.dart index 09435ef31ee..44fb3009f59 100644 --- a/pkg/analysis_server/test/lsp/definition_test.dart +++ b/pkg/analysis_server/test/lsp/definition_test.dart @@ -27,6 +27,8 @@ class DefinitionTest extends AbstractLspAnalysisServerTest { AnalysisServerOptions get serverOptions => AnalysisServerOptions() ..enabledExperiments = [ ...super.serverOptions.enabledExperiments, + Feature.augmentations.enableString, + Feature.enhanced_parts.enableString, Feature.macros.enableString, ]; diff --git a/pkg/analysis_server/test/lsp/hover_test.dart b/pkg/analysis_server/test/lsp/hover_test.dart index 6fa80250f84..d1547d3fe16 100644 --- a/pkg/analysis_server/test/lsp/hover_test.dart +++ b/pkg/analysis_server/test/lsp/hover_test.dart @@ -25,6 +25,8 @@ class HoverTest extends AbstractLspAnalysisServerTest { @override AnalysisServerOptions get serverOptions => AnalysisServerOptions() ..enabledExperiments = [ + Feature.augmentations.enableString, + Feature.enhanced_parts.enableString, Feature.macros.enableString, ]; diff --git a/pkg/analysis_server/test/lsp/semantic_tokens_test.dart b/pkg/analysis_server/test/lsp/semantic_tokens_test.dart index 20f78ef2e39..d958a476c83 100644 --- a/pkg/analysis_server/test/lsp/semantic_tokens_test.dart +++ b/pkg/analysis_server/test/lsp/semantic_tokens_test.dart @@ -30,6 +30,8 @@ class SemanticTokensTest extends AbstractLspAnalysisServerTest { @override AnalysisServerOptions get serverOptions => AnalysisServerOptions() ..enabledExperiments = [ + Feature.augmentations.enableString, + Feature.enhanced_parts.enableString, Feature.macros.enableString, ]; diff --git a/pkg/analyzer/lib/dart/analysis/features.dart b/pkg/analyzer/lib/dart/analysis/features.dart index 25c687a5cea..bbc0d60c195 100644 --- a/pkg/analyzer/lib/dart/analysis/features.dart +++ b/pkg/analyzer/lib/dart/analysis/features.dart @@ -9,6 +9,9 @@ import 'package:pub_semver/pub_semver.dart'; /// depends on the supported Dart SDK version, and possibly on the presence of /// experimental flags. abstract class Feature { + /// Feature information for augmentations. + static final augmentations = ExperimentalFeatures.augmentations; + /// Feature information for class modifiers. static final class_modifiers = ExperimentalFeatures.class_modifiers; @@ -31,6 +34,9 @@ abstract class Feature { /// Feature information for enhanced enums. static final enhanced_enums = ExperimentalFeatures.enhanced_enums; + /// Feature information for enhanced parts. + static final enhanced_parts = ExperimentalFeatures.enhanced_parts; + /// Feature information for extension methods. static final extension_methods = ExperimentalFeatures.extension_methods; diff --git a/pkg/analyzer/lib/src/fasta/ast_builder.dart b/pkg/analyzer/lib/src/fasta/ast_builder.dart index 24deff25c21..a3d58d8724a 100644 --- a/pkg/analyzer/lib/src/fasta/ast_builder.dart +++ b/pkg/analyzer/lib/src/fasta/ast_builder.dart @@ -109,6 +109,9 @@ class AstBuilder extends StackListener { bool parseFunctionBodies = true; + /// Whether the 'augmentations' feature is enabled. + final bool enableAugmentations; + /// `true` if triple-shift behavior is enabled final bool enableTripleShift; @@ -130,7 +133,10 @@ class AstBuilder extends StackListener { /// `true` if enhanced enums are enabled final bool enableEnhancedEnums; - /// `true` if macros are enabled + /// Whether the 'enhanced_parts' feature is enabled. + final bool enableEnhancedParts; + + /// Whether the 'macros' feature is enabled. final bool enableMacros; /// `true` if records are enabled @@ -164,6 +170,7 @@ class AstBuilder extends StackListener { this._featureSet, this._lineInfo, [Uri? uri]) : errorReporter = FastaErrorReporter(errorReporter), + enableAugmentations = _featureSet.isEnabled(Feature.augmentations), enableTripleShift = _featureSet.isEnabled(Feature.triple_shift), enableNonFunctionTypeAliases = _featureSet.isEnabled(Feature.nonfunction_type_aliases), @@ -174,6 +181,7 @@ class AstBuilder extends StackListener { _featureSet.isEnabled(Feature.named_arguments_anywhere), enableSuperParameters = _featureSet.isEnabled(Feature.super_parameters), enableEnhancedEnums = _featureSet.isEnabled(Feature.enhanced_enums), + enableEnhancedParts = _featureSet.isEnabled(Feature.enhanced_parts), enableMacros = _featureSet.isEnabled(Feature.macros), enableRecords = _featureSet.isEnabled(Feature.records), enableUnnamedLibraries = diff --git a/pkg/analyzer/test/src/dart/resolution/context_collection_resolution.dart b/pkg/analyzer/test/src/dart/resolution/context_collection_resolution.dart index d8460105383..ec3679c44eb 100644 --- a/pkg/analyzer/test/src/dart/resolution/context_collection_resolution.dart +++ b/pkg/analyzer/test/src/dart/resolution/context_collection_resolution.dart @@ -337,7 +337,9 @@ class PubPackageResolutionTest extends ContextResolutionTest List get experiments { return [ + Feature.augmentations.enableString, Feature.digit_separators.enableString, + Feature.enhanced_parts.enableString, Feature.macros.enableString, Feature.wildcard_variables.enableString, ]; diff --git a/pkg/analyzer/test/util/feature_sets.dart b/pkg/analyzer/test/util/feature_sets.dart index aa7069db5d3..be45d5f08d9 100644 --- a/pkg/analyzer/test/util/feature_sets.dart +++ b/pkg/analyzer/test/util/feature_sets.dart @@ -47,6 +47,8 @@ class FeatureSets { static final FeatureSet latestWithExperiments = FeatureSet.fromEnableFlags2( sdkLanguageVersion: ExperimentStatus.currentVersion, flags: [ + Feature.augmentations.enableString, + Feature.enhanced_parts.enableString, Feature.macros.enableString, ], );