1
0
mirror of https://github.com/dart-lang/sdk synced 2024-07-03 08:19:13 +00:00

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 <brianwilkerson@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
This commit is contained in:
Konstantin Shcheglov 2023-04-19 00:51:58 +00:00 committed by Commit Queue
parent 21de916eb8
commit cef5bcb602
6 changed files with 4 additions and 95 deletions

View File

@ -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`.

View File

@ -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<ListPatternElement> 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<MapPatternElement> 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<PatternField> 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<PatternField> 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<Annotation> 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<RecordTypeAnnotationNamedField> 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<SwitchExpressionCase> 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;

View File

@ -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

View File

@ -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.

View File

@ -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<PatternFieldImpl> _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<PatternFieldImpl> _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;

View File

@ -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