From cef5bcb602cf78427db1ac07c20193c55fda6c11 Mon Sep 17 00:00:00 2001 From: Konstantin Shcheglov Date: Wed, 19 Apr 2023 00:51:58 +0000 Subject: [PATCH] Remove '@experimental' from declarations related to records and patterns. Change-Id: I4db54e3097c343ec72e041f78df2b38b1835853e Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/296061 Reviewed-by: Brian Wilkerson Reviewed-by: Samuel Rawlins Commit-Queue: Konstantin Shcheglov --- pkg/analyzer/CHANGELOG.md | 3 ++ pkg/analyzer/lib/dart/ast/ast.dart | 41 ---------------------- pkg/analyzer/lib/dart/element/element.dart | 15 -------- pkg/analyzer/lib/dart/element/type.dart | 5 --- pkg/analyzer/lib/src/dart/ast/ast.dart | 33 ----------------- pkg/analyzer/pubspec.yaml | 2 +- 6 files changed, 4 insertions(+), 95 deletions(-) diff --git a/pkg/analyzer/CHANGELOG.md b/pkg/analyzer/CHANGELOG.md index 658151704ec..1bf98cfc9d4 100644 --- a/pkg/analyzer/CHANGELOG.md +++ b/pkg/analyzer/CHANGELOG.md @@ -1,3 +1,6 @@ +## 5.11.0-dev +* Removed `@experimental` from AST nodes and elements for records and patterns. + ## 5.10.0 * Added `DartType.isDartCoreType`. diff --git a/pkg/analyzer/lib/dart/ast/ast.dart b/pkg/analyzer/lib/dart/ast/ast.dart index 43267506c1c..5a2b3a759f0 100644 --- a/pkg/analyzer/lib/dart/ast/ast.dart +++ b/pkg/analyzer/lib/dart/ast/ast.dart @@ -225,7 +225,6 @@ abstract class AssertStatement implements Assertion, Statement { /// variablePattern ::= identifier /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class AssignedVariablePattern implements VariablePattern { /// Return the element referenced by this pattern, or `null` if either /// [name] does not resolve to an element, or the AST structure has not @@ -870,7 +869,6 @@ abstract class CascadeExpression /// 'case' [GuardedPattern] /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class CaseClause implements AstNode { /// Return the token representing the 'case' keyword. Token get caseKeyword; @@ -885,7 +883,6 @@ abstract class CaseClause implements AstNode { /// [DartPattern] 'as' [TypeAnnotation] /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class CastPattern implements DartPattern { /// The `as` token. Token get asToken; @@ -1480,7 +1477,6 @@ abstract class Configuration implements AstNode { /// 'const'? [Expression] /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class ConstantPattern implements DartPattern { /// Return the `const` keyword, or `null` if the expression is not preceded by /// the keyword `const`. @@ -1709,7 +1705,6 @@ abstract class ContinueStatement implements Statement { /// | [RelationalPattern] /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class DartPattern implements AstNode, ListPatternElement { /// The matched value type, or `null` if the node is not resolved yet. DartType? get matchedValueType; @@ -1785,7 +1780,6 @@ abstract class DeclaredIdentifier implements Declaration { /// ( 'var' | 'final' | 'final'? [TypeAnnotation])? [Identifier] /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class DeclaredVariablePattern implements VariablePattern { /// Return the element associated with this declaration, or `null` if the AST /// structure has not been resolved. @@ -2376,7 +2370,6 @@ abstract class ForEachPartsWithIdentifier implements ForEachParts { /// ( 'final' | 'var' ) [DartPattern] 'in' [Expression] /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class ForEachPartsWithPattern implements ForEachParts { /// Return the `var` or `final` keyword introducing the pattern. Token get keyword; @@ -2969,7 +2962,6 @@ abstract class GenericTypeAlias implements TypeAlias { /// [DartPattern] [WhenClause]? /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class GuardedPattern implements AstNode { /// Return the pattern controlling whether the statements will be executed. DartPattern get pattern; @@ -3020,7 +3012,6 @@ abstract class Identifier implements Expression, CommentReferableExpression { /// Clients may not extend, implement or mix-in this class. abstract class IfElement implements CollectionElement { /// Return the `case` clause used to match a pattern against the [condition]. - @experimental CaseClause? get caseClause; /// Return the condition used to determine which of the statements is executed @@ -3064,7 +3055,6 @@ abstract class IfElement implements CollectionElement { /// Clients may not extend, implement or mix-in this class. abstract class IfStatement implements Statement { /// Return the `case` clause used to match a pattern against the [condition]. - @experimental CaseClause? get caseClause; /// Return the condition used to determine which of the statements is executed @@ -3511,7 +3501,6 @@ abstract class ListLiteral implements TypedLiteral { /// [TypeArgumentList]? '[' [DartPattern] (',' [DartPattern])* ','? ']' /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class ListPattern implements DartPattern { /// Return the elements in this pattern. NodeList get elements; @@ -3534,7 +3523,6 @@ abstract class ListPattern implements DartPattern { /// An element of a list pattern. /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class ListPatternElement implements AstNode {} /// A node that represents a literal expression. @@ -3557,7 +3545,6 @@ abstract class Literal implements Expression {} /// [DartPattern] '&&' [DartPattern] /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class LogicalAndPattern implements DartPattern { /// The left sub-pattern. DartPattern get leftOperand; @@ -3575,7 +3562,6 @@ abstract class LogicalAndPattern implements DartPattern { /// [DartPattern] '||' [DartPattern] /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class LogicalOrPattern implements DartPattern { /// The left sub-pattern. DartPattern get leftOperand; @@ -3613,7 +3599,6 @@ abstract class MapLiteralEntry implements CollectionElement { /// ','? '}' /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class MapPattern implements DartPattern { /// Return the elements in this pattern. NodeList get elements; @@ -3635,7 +3620,6 @@ abstract class MapPattern implements DartPattern { /// An element of a map pattern. /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class MapPatternElement implements AstNode {} /// An entry in a map pattern. @@ -3644,7 +3628,6 @@ abstract class MapPatternElement implements AstNode {} /// [Expression] ':' [DartPattern] /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class MapPatternEntry implements AstNode, MapPatternElement { /// Return the expression computing the key of the entry to be matched. Expression get key; @@ -4077,7 +4060,6 @@ abstract class NormalFormalParameter implements FormalParameter { /// [DartPattern] '!' /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class NullAssertPattern implements DartPattern { /// The `!` token. Token get operator; @@ -4092,7 +4074,6 @@ abstract class NullAssertPattern implements DartPattern { /// [DartPattern] '?' /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class NullCheckPattern implements DartPattern { /// The `?` token. Token get operator; @@ -4136,7 +4117,6 @@ abstract class NullShortableExpression implements Expression { /// [Identifier] [TypeArgumentList]? '(' [PatternField] ')' /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class ObjectPattern implements DartPattern { /// Return the patterns matching the properties of the object. NodeList get fields; @@ -4188,7 +4168,6 @@ abstract class ParenthesizedExpression implements Expression { /// '(' [DartPattern] ')' /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class ParenthesizedPattern implements DartPattern { /// Return the left parenthesis. Token get leftParenthesis; @@ -4253,7 +4232,6 @@ abstract class PartOfDirective implements Directive { /// [DartPattern] '=' [Expression] /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class PatternAssignment implements Expression { /// Return the equal sign separating the pattern from the expression. Token get equals; @@ -4271,7 +4249,6 @@ abstract class PatternAssignment implements Expression { /// [PatternFieldName]? [DartPattern] /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class PatternField implements AstNode { /// The name specified explicitly by [name], or implied by the variable /// pattern inside [pattern]. Always `null` if [name] is `null`. Can be `null` @@ -4297,7 +4274,6 @@ abstract class PatternField implements AstNode { /// [Token]? ':' /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class PatternFieldName implements AstNode { /// The colon following the name. Token get colon; @@ -4312,7 +4288,6 @@ abstract class PatternFieldName implements AstNode { /// ( 'final' | 'var' ) [DartPattern] '=' [Expression] /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class PatternVariableDeclaration implements AnnotatedNode { /// Return the equal sign separating the pattern from the expression. Token get equals; @@ -4333,7 +4308,6 @@ abstract class PatternVariableDeclaration implements AnnotatedNode { /// [PatternVariableDeclaration] ';' /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class PatternVariableDeclarationStatement implements Statement { /// The pattern declaration. PatternVariableDeclaration get declaration; @@ -4456,7 +4430,6 @@ abstract class PropertyAccess /// recordField ::= (identifier ':')? [Expression] /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class RecordLiteral implements Literal { /// Return the token representing the 'const' keyword, or `null` if the /// literal is not a constant. @@ -4483,7 +4456,6 @@ abstract class RecordLiteral implements Literal { /// '(' [PatternField] (',' [PatternField])* ')' /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class RecordPattern implements DartPattern { /// Return the fields of the record pattern. NodeList get fields; @@ -4513,7 +4485,6 @@ abstract class RecordPattern implements DartPattern { /// recordTypeNamedField ::= metadata type identifier /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class RecordTypeAnnotation implements TypeAnnotation { /// The left parenthesis. Token get leftParenthesis; @@ -4531,7 +4502,6 @@ abstract class RecordTypeAnnotation implements TypeAnnotation { /// A field in a [RecordTypeAnnotation]. /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class RecordTypeAnnotationField implements AstNode { /// The annotations associated with the field. NodeList get metadata; @@ -4546,7 +4516,6 @@ abstract class RecordTypeAnnotationField implements AstNode { /// A named field in a [RecordTypeAnnotation]. /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class RecordTypeAnnotationNamedField implements RecordTypeAnnotationField { @override @@ -4556,7 +4525,6 @@ abstract class RecordTypeAnnotationNamedField /// The portion of a [RecordTypeAnnotation] with named fields. /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class RecordTypeAnnotationNamedFields implements AstNode { /// The fields contained in the block. NodeList get fields; @@ -4571,7 +4539,6 @@ abstract class RecordTypeAnnotationNamedFields implements AstNode { /// A positional field in a [RecordTypeAnnotation]. /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class RecordTypeAnnotationPositionalField implements RecordTypeAnnotationField {} @@ -4605,7 +4572,6 @@ abstract class RedirectingConstructorInvocation /// (equalityOperator | relationalOperator) [Expression] /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class RelationalPattern implements DartPattern { /// The element of the [operator] for the matched type. MethodElement? get element; @@ -4622,7 +4588,6 @@ abstract class RelationalPattern implements DartPattern { /// restPatternElement ::= '...' [DartPattern]? /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class RestPatternElement implements ListPatternElement, MapPatternElement { /// The operator token '...'. @@ -5055,7 +5020,6 @@ abstract class SwitchDefault implements SwitchMember {} /// (',' [SwitchExpressionCase])* ','? '}' /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class SwitchExpression implements Expression { /// Return the cases that can be selected by the expression. NodeList get cases; @@ -5086,7 +5050,6 @@ abstract class SwitchExpression implements Expression { /// [GuardedPattern] '=>' [Expression] /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class SwitchExpressionCase implements AstNode { /// Return the arrow separating the pattern from the expression. Token get arrow; @@ -5140,7 +5103,6 @@ abstract class SwitchMember implements AstNode { /// [Label]* 'case' [DartPattern] [WhenClause]? ':' [Statement]* /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class SwitchPatternCase implements SwitchMember { /// Return the pattern controlling whether the statements will be executed. GuardedPattern get guardedPattern; @@ -5534,7 +5496,6 @@ abstract class VariableDeclarationStatement implements Statement { /// [DeclaredVariablePattern]. /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class VariablePattern implements DartPattern { /// The name of the variable declared or referenced by the pattern. Token get name; @@ -5547,7 +5508,6 @@ abstract class VariablePattern implements DartPattern { /// 'when' [Expression] /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class WhenClause implements AstNode { /// Return the condition that is evaluated when the [pattern] matches, that /// must evaluate to `true` in order for the [expression] to be executed. @@ -5587,7 +5547,6 @@ abstract class WhileStatement implements Statement { /// ( 'var' | 'final' | 'final'? [TypeAnnotation])? '_' /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class WildcardPattern implements DartPattern { /// The 'var' or 'final' keyword. Token? get keyword; diff --git a/pkg/analyzer/lib/dart/element/element.dart b/pkg/analyzer/lib/dart/element/element.dart index 87828db88a9..2ca35004af1 100644 --- a/pkg/analyzer/lib/dart/element/element.dart +++ b/pkg/analyzer/lib/dart/element/element.dart @@ -166,7 +166,6 @@ abstract class AugmentedMixinElement extends AugmentedInterfaceElement { /// A pattern variable that is explicitly declared. /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class BindPatternVariableElement implements PatternVariableElement {} /// A class augmentation, defined by a class augmentation declaration. @@ -207,11 +206,9 @@ abstract class ClassElement /// A class is a base class if it has an explicit `base` modifier, or the /// class has a `base` induced modifier and [isSealed] is `true` as well. /// The base modifier allows the class to be extended but not implemented. - @experimental bool get isBase; /// Return `true` if this class can be instantiated. - @experimental bool get isConstructable; /// Return `true` if this class represents the class 'Enum' defined in the @@ -225,7 +222,6 @@ abstract class ClassElement /// Return `true` if this element has the property where, in a switch, if you /// cover all of the subtypes of this element, then the compiler knows that /// you have covered all possible instances of the type. - @experimental bool get isExhaustive; /// Return `true` if this class is a final class. @@ -234,7 +230,6 @@ abstract class ClassElement /// class has a `final` induced modifier and [isSealed] is `true` as well. /// The final modifier prohibits this class from being extended, implemented, /// or mixed in. - @experimental bool get isFinal; /// Return `true` if this class is an interface class. @@ -243,7 +238,6 @@ abstract class ClassElement /// or the class has an `interface` induced modifier and [isSealed] is `true` /// as well. The interface modifier allows the class to be implemented, but /// not extended or mixed in. - @experimental bool get isInterface; /// Return `true` if this class is a mixin application. A class is a mixin @@ -252,12 +246,10 @@ abstract class ClassElement /// Return `true` if this class is a mixin class. A class is a mixin class if /// it has an explicit `mixin` modifier. - @experimental bool get isMixinClass; /// Return `true` if this class is a sealed class. A class is a sealed class /// if it has an explicit `sealed` modifier. - @experimental bool get isSealed; /// Return `true` if this class can validly be used as a mixin when defining @@ -288,17 +280,14 @@ abstract class ClassElement /// Return `true` if this element, assuming that it is within scope, is /// extendable to classes in the given [library]. - @experimental bool isExtendableIn(LibraryElement library); /// Return `true` if this element, assuming that it is within scope, is /// implementable to classes, mixins, and enums in the given [library]. - @experimental bool isImplementableIn(LibraryElement library); /// Return `true` if this element, assuming that it is within scope, is /// able to be mixed-in by classes and enums in the given [library]. - @experimental bool isMixableIn(LibraryElement library); } @@ -1721,7 +1710,6 @@ abstract class InterfaceOrAugmentationElement /// for a logical-or patterns, or shared `case` bodies in `switch` statements. /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class JoinPatternVariableElement implements PatternVariableElement { /// Returns `true` if [variables] are consistent, present in all branches, /// and have the same type and finality. @@ -2025,7 +2013,6 @@ abstract class MixinElement /// A mixin is a base mixin if it has an explicit `base` modifier, or the /// mixin has a `base` induced modifier and [isSealed] is `true` as well. /// The base modifier allows a mixin to be mixed in but not implemented. - @experimental bool get isBase; /// Returns the superclass constraints defined for this mixin. If the @@ -2041,7 +2028,6 @@ abstract class MixinElement /// Return `true` if this element, assuming that it is within scope, is /// implementable to classes, mixins, and enums in the given [library]. - @experimental bool isImplementableIn(LibraryElement library); } @@ -2192,7 +2178,6 @@ abstract class PartElement implements _ExistingElement { /// A pattern variable. /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class PatternVariableElement implements LocalVariableElement { /// Returns the variable in which this variable joins with other pattern /// variables with the same name, in a logical-or pattern, or shared case diff --git a/pkg/analyzer/lib/dart/element/type.dart b/pkg/analyzer/lib/dart/element/type.dart index 77d24d71c04..e10fac8b5a7 100644 --- a/pkg/analyzer/lib/dart/element/type.dart +++ b/pkg/analyzer/lib/dart/element/type.dart @@ -25,7 +25,6 @@ import 'package:analyzer/dart/element/element.dart'; import 'package:analyzer/dart/element/nullability_suffix.dart'; import 'package:analyzer/dart/element/type_visitor.dart'; import 'package:analyzer/src/dart/element/type.dart' show RecordTypeImpl; -import 'package:meta/meta.dart'; /// The type associated with elements in the element model. /// @@ -437,7 +436,6 @@ abstract class ParameterizedType implements DartType { /// The type of a record literal or a record type annotation. /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class RecordType implements DartType { /// Creates a record type from of [positional] and [named] fields. factory RecordType({ @@ -463,7 +461,6 @@ abstract class RecordType implements DartType { /// A field in a [RecordType]. /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class RecordTypeField { /// The type of the field. DartType get type; @@ -472,7 +469,6 @@ abstract class RecordTypeField { /// A named field in a [RecordType]. /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class RecordTypeNamedField implements RecordTypeField { /// The name of the field. String get name; @@ -481,7 +477,6 @@ abstract class RecordTypeNamedField implements RecordTypeField { /// A positional field in a [RecordType]. /// /// Clients may not extend, implement or mix-in this class. -@experimental abstract class RecordTypePositionalField implements RecordTypeField {} /// The type introduced by a type parameter. diff --git a/pkg/analyzer/lib/src/dart/ast/ast.dart b/pkg/analyzer/lib/src/dart/ast/ast.dart index d13807ead13..44463bb875f 100644 --- a/pkg/analyzer/lib/src/dart/ast/ast.dart +++ b/pkg/analyzer/lib/src/dart/ast/ast.dart @@ -661,7 +661,6 @@ class AssertStatementImpl extends StatementImpl implements AssertStatement { /// A variable pattern in [PatternAssignment]. /// /// variablePattern ::= identifier -@experimental class AssignedVariablePatternImpl extends VariablePatternImpl implements AssignedVariablePattern { @override @@ -1462,7 +1461,6 @@ class CascadeExpressionImpl extends ExpressionImpl /// 'case' [DartPattern] [WhenClause]? /// /// Clients may not extend, implement or mix-in this class. -@experimental class CaseClauseImpl extends AstNodeImpl implements CaseClause { @override final Token caseKeyword; @@ -1501,7 +1499,6 @@ class CaseClauseImpl extends AstNodeImpl implements CaseClause { /// /// castPattern ::= /// [DartPattern] 'as' [TypeAnnotation] -@experimental class CastPatternImpl extends DartPatternImpl implements CastPattern { @override final Token asToken; @@ -2857,7 +2854,6 @@ class ConstantContextForExpressionImpl extends AstNodeImpl { /// /// constantPattern ::= /// 'const'? [Expression] -@experimental class ConstantPatternImpl extends DartPatternImpl implements ConstantPattern { @override final Token? constKeyword; @@ -3458,7 +3454,6 @@ class ContinueStatementImpl extends StatementImpl implements ContinueStatement { /// | [ParenthesizedPattern] /// | [RecordPattern] /// | [RelationalPattern] -@experimental abstract class DartPatternImpl extends AstNodeImpl implements DartPattern, ListPatternElementImpl { @override @@ -3617,7 +3612,6 @@ class DeclaredSimpleIdentifier extends SimpleIdentifierImpl { /// /// variablePattern ::= /// ( 'var' | 'final' | 'final'? [TypeAnnotation])? [Identifier] -@experimental class DeclaredVariablePatternImpl extends VariablePatternImpl implements DeclaredVariablePattern { @override @@ -5267,7 +5261,6 @@ class ForEachPartsWithIdentifierImpl extends ForEachPartsImpl /// /// forEachPartsWithPattern ::= /// ( 'final' | 'var' ) [DartPattern] 'in' [Expression] -@experimental class ForEachPartsWithPatternImpl extends ForEachPartsImpl implements ForEachPartsWithPattern { /// The annotations associated with this node. @@ -6703,7 +6696,6 @@ class GenericTypeAliasImpl extends TypeAliasImpl implements GenericTypeAlias { /// 'case' [DartPattern] [WhenClause]? /// /// Clients may not extend, implement or mix-in this class. -@experimental class GuardedPatternImpl extends AstNodeImpl implements GuardedPattern { @override final DartPatternImpl pattern; @@ -8308,7 +8300,6 @@ class ListLiteralImpl extends TypedLiteralImpl implements ListLiteral { } } -@experimental abstract class ListPatternElementImpl implements AstNodeImpl, ListPatternElement {} @@ -8316,7 +8307,6 @@ abstract class ListPatternElementImpl /// /// listPattern ::= /// [TypeArgumentList]? '[' [DartPattern] (',' [DartPattern])* ','? ']' -@experimental class ListPatternImpl extends DartPatternImpl implements ListPattern { @override final TypeArgumentListImpl? typeArguments; @@ -8421,7 +8411,6 @@ class LocalVariableInfo { /// /// logicalAndPattern ::= /// [DartPattern] '&&' [DartPattern] -@experimental class LogicalAndPatternImpl extends DartPatternImpl implements LogicalAndPattern { @override @@ -8486,7 +8475,6 @@ class LogicalAndPatternImpl extends DartPatternImpl /// /// logicalOrPattern ::= /// [DartPattern] '||' [DartPattern] -@experimental class LogicalOrPatternImpl extends DartPatternImpl implements LogicalOrPattern { @override final DartPatternImpl leftOperand; @@ -8617,7 +8605,6 @@ class MapLiteralEntryImpl extends CollectionElementImpl } } -@experimental abstract class MapPatternElementImpl implements AstNodeImpl, MapPatternElement {} @@ -8625,7 +8612,6 @@ abstract class MapPatternElementImpl /// /// mapPatternEntry ::= /// [Expression] ':' [DartPattern] -@experimental class MapPatternEntryImpl extends AstNodeImpl implements MapPatternEntry, MapPatternElementImpl { ExpressionImpl _key; @@ -8679,7 +8665,6 @@ class MapPatternEntryImpl extends AstNodeImpl /// mapPattern ::= /// [TypeArgumentList]? '{' [MapPatternEntry] (',' [MapPatternEntry])* /// ','? '}' -@experimental class MapPatternImpl extends DartPatternImpl implements MapPattern { @override final TypeArgumentListImpl? typeArguments; @@ -9777,7 +9762,6 @@ abstract class NormalFormalParameterImpl extends FormalParameterImpl /// /// nullAssertPattern ::= /// [DartPattern] '!' -@experimental class NullAssertPatternImpl extends DartPatternImpl implements NullAssertPattern { @override @@ -9840,7 +9824,6 @@ class NullAssertPatternImpl extends DartPatternImpl /// /// nullCheckPattern ::= /// [DartPattern] '?' -@experimental class NullCheckPatternImpl extends DartPatternImpl implements NullCheckPattern { @override final DartPatternImpl pattern; @@ -9967,7 +9950,6 @@ mixin NullShortableExpressionImpl implements NullShortableExpression { /// /// objectPattern ::= /// [Identifier] [TypeArgumentList]? '(' [PatternField] ')' -@experimental class ObjectPatternImpl extends DartPatternImpl implements ObjectPattern { final NodeListImpl _fields = NodeListImpl._(); @@ -10167,7 +10149,6 @@ class ParenthesizedExpressionImpl extends ExpressionImpl /// /// parenthesizedPattern ::= /// '(' [DartPattern] ')' -@experimental class ParenthesizedPatternImpl extends DartPatternImpl implements ParenthesizedPattern { @override @@ -10374,7 +10355,6 @@ class PartOfDirectiveImpl extends DirectiveImpl implements PartOfDirective { /// /// When used as the condition in an `if`, the pattern is always a /// [PatternVariable] whose type is not `null`. -@experimental class PatternAssignmentImpl extends ExpressionImpl implements PatternAssignment { @override @@ -10441,7 +10421,6 @@ class PatternAssignmentImpl extends ExpressionImpl /// /// patternField ::= /// [PatternFieldName]? [DartPattern] -@experimental class PatternFieldImpl extends AstNodeImpl implements PatternField { @override Element? element; @@ -10492,7 +10471,6 @@ class PatternFieldImpl extends AstNodeImpl implements PatternField { /// /// patternFieldName ::= /// [Token]? ':' -@experimental class PatternFieldNameImpl extends AstNodeImpl implements PatternFieldName { @override final Token colon; @@ -10526,7 +10504,6 @@ class PatternFieldNameImpl extends AstNodeImpl implements PatternFieldName { /// /// patternDeclaration ::= /// ( 'final' | 'var' ) [DartPattern] '=' [Expression] -@experimental class PatternVariableDeclarationImpl extends AnnotatedNodeImpl implements PatternVariableDeclaration { @override @@ -10603,7 +10580,6 @@ class PatternVariableDeclarationImpl extends AnnotatedNodeImpl /// /// patternDeclarationStatement ::= /// [PatternVariableDeclaration] ';' -@experimental class PatternVariableDeclarationStatementImpl extends StatementImpl implements PatternVariableDeclarationStatement { @override @@ -11089,7 +11065,6 @@ class RecordLiteralImpl extends LiteralImpl implements RecordLiteral { /// /// recordPattern ::= /// '(' [PatternField] (',' [PatternField])* ')' -@experimental class RecordPatternImpl extends DartPatternImpl implements RecordPattern { final NodeListImpl _fields = NodeListImpl._(); @@ -11416,7 +11391,6 @@ class RedirectingConstructorInvocationImpl extends ConstructorInitializerImpl /// /// relationalPattern ::= /// (equalityOperator | relationalOperator) [Expression] -@experimental class RelationalPatternImpl extends DartPatternImpl implements RelationalPattern { ExpressionImpl _operand; @@ -11478,7 +11452,6 @@ class RelationalPatternImpl extends DartPatternImpl } } -@experimental class RestPatternElementImpl extends AstNodeImpl implements RestPatternElement, @@ -12811,7 +12784,6 @@ class SwitchDefaultImpl extends SwitchMemberImpl implements SwitchDefault { /// /// switchExpressionCase ::= /// [GuardedPattern] '=>' [Expression] -@experimental class SwitchExpressionCaseImpl extends AstNodeImpl implements SwitchExpressionCase { @override @@ -12866,7 +12838,6 @@ class SwitchExpressionCaseImpl extends AstNodeImpl /// switchExpression ::= /// 'switch' '(' [Expression] ')' '{' [SwitchExpressionCase] /// (',' [SwitchExpressionCase])* ','? '}' -@experimental class SwitchExpressionImpl extends ExpressionImpl implements SwitchExpression { @override final Token switchKeyword; @@ -13006,7 +12977,6 @@ abstract class SwitchMemberImpl extends AstNodeImpl implements SwitchMember { /// /// switchPatternCase ::= /// [Label]* 'case' [DartPattern] [WhenClause]? ':' [Statement]* -@experimental class SwitchPatternCaseImpl extends SwitchMemberImpl implements SwitchPatternCase { @override @@ -14136,7 +14106,6 @@ class VariableDeclarationStatementImpl extends StatementImpl } } -@experimental abstract class VariablePatternImpl extends DartPatternImpl implements VariablePattern { @override @@ -14159,7 +14128,6 @@ abstract class VariablePatternImpl extends DartPatternImpl /// /// switchCase ::= /// 'when' [Expression] -@experimental class WhenClauseImpl extends AstNodeImpl implements WhenClause { ExpressionImpl _expression; @@ -14278,7 +14246,6 @@ class WhileStatementImpl extends StatementImpl implements WhileStatement { /// /// variablePattern ::= /// ( 'var' | 'final' | 'final'? [TypeAnnotation])? '_' -@experimental class WildcardPatternImpl extends DartPatternImpl implements WildcardPattern { @override final Token? keyword; diff --git a/pkg/analyzer/pubspec.yaml b/pkg/analyzer/pubspec.yaml index 526a959e458..bb6283d30c2 100644 --- a/pkg/analyzer/pubspec.yaml +++ b/pkg/analyzer/pubspec.yaml @@ -1,5 +1,5 @@ name: analyzer -version: 5.10.0 +version: 5.11.0-dev description: >- This package provides a library that performs static analysis of Dart code. repository: https://github.com/dart-lang/sdk/tree/main/pkg/analyzer