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
+3
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`.
-41
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;
@@ -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
-5
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.
-33
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;
+1 -1
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