Remove the partial 'extension types' implementation from analyzer.
https://github.com/dart-lang/language/blob/master/working/1426-extension-types/feature-specification.md was abandoned. https://github.com/dart-lang/language/blob/master/working/1426-extension-types/feature-specification-views.md is the new specification for a similar feature. Change-Id: Ibacce3529e578c554059266bc4b1b67a33595158 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/266866 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:
committed by
Commit Queue
parent
52657742a5
commit
d68d1fff0d
@@ -493,8 +493,6 @@ abstract class AstVisitor<R> {
|
||||
|
||||
R? visitGenericTypeAlias(GenericTypeAlias node);
|
||||
|
||||
R? visitHideClause(HideClause node);
|
||||
|
||||
R? visitHideCombinator(HideCombinator node);
|
||||
|
||||
R? visitIfElement(IfElement node);
|
||||
@@ -614,12 +612,8 @@ abstract class AstVisitor<R> {
|
||||
|
||||
R? visitSetOrMapLiteral(SetOrMapLiteral node);
|
||||
|
||||
R? visitShowClause(ShowClause node);
|
||||
|
||||
R? visitShowCombinator(ShowCombinator node);
|
||||
|
||||
R? visitShowHideElement(ShowHideElement node);
|
||||
|
||||
R? visitSimpleFormalParameter(SimpleFormalParameter node);
|
||||
|
||||
R? visitSimpleIdentifier(SimpleIdentifier node);
|
||||
@@ -2101,10 +2095,6 @@ abstract class ExtensionDeclaration implements CompilationUnitMember {
|
||||
/// Return the token representing the 'extension' keyword.
|
||||
Token get extensionKeyword;
|
||||
|
||||
/// Return the hide clause, or `null` if the extension does not have a hide
|
||||
/// clause.
|
||||
HideClause? get hideClause;
|
||||
|
||||
/// Return the left curly bracket.
|
||||
Token get leftBracket;
|
||||
|
||||
@@ -2126,10 +2116,6 @@ abstract class ExtensionDeclaration implements CompilationUnitMember {
|
||||
/// Return the right curly bracket.
|
||||
Token get rightBracket;
|
||||
|
||||
/// Return the show clause, or `null` if the extension does not have a show
|
||||
/// clause.
|
||||
ShowClause? get showClause;
|
||||
|
||||
/// Return the token representing the 'type' keyword.
|
||||
Token? get typeKeyword;
|
||||
|
||||
@@ -2916,20 +2902,6 @@ abstract class GenericTypeAlias implements TypeAlias {
|
||||
TypeParameterList? get typeParameters;
|
||||
}
|
||||
|
||||
/// The "hide" clause in an extension declaration.
|
||||
///
|
||||
/// hideClause ::=
|
||||
/// 'hide' [TypeName] (',' [TypeName])*
|
||||
///
|
||||
/// Clients may not extend, implement or mix-in this class.
|
||||
abstract class HideClause implements AstNode {
|
||||
/// Return the list of the elements that are being shown.
|
||||
NodeList<ShowHideClauseElement> get elements;
|
||||
|
||||
/// Return the token representing the 'hide' keyword.
|
||||
Token get hideKeyword;
|
||||
}
|
||||
|
||||
/// A combinator that restricts the names being imported to those that are not
|
||||
/// in a given list.
|
||||
///
|
||||
@@ -3832,7 +3804,7 @@ abstract class NamedExpression implements Expression {
|
||||
/// [Identifier] typeArguments?
|
||||
///
|
||||
/// Clients may not extend, implement or mix-in this class.
|
||||
abstract class NamedType implements TypeAnnotation, ShowHideClauseElement {
|
||||
abstract class NamedType implements TypeAnnotation {
|
||||
/// Return `true` if this type is a deferred type.
|
||||
///
|
||||
/// 15.1 Static Types: A type <i>T</i> is deferred iff it is of the form
|
||||
@@ -4589,20 +4561,6 @@ abstract class SetOrMapLiteral implements TypedLiteral {
|
||||
Token get rightBracket;
|
||||
}
|
||||
|
||||
/// The "show" clause in an extension declaration.
|
||||
///
|
||||
/// showClause ::=
|
||||
/// 'show' [TypeName] (',' [TypeName])*
|
||||
///
|
||||
/// Clients may not extend, implement or mix-in this class.
|
||||
abstract class ShowClause implements AstNode {
|
||||
/// Return the list of the elements that are being shown.
|
||||
NodeList<ShowHideClauseElement> get elements;
|
||||
|
||||
/// Return the token representing the 'show' keyword.
|
||||
Token get showKeyword;
|
||||
}
|
||||
|
||||
/// A combinator that restricts the names being imported to those in a given list.
|
||||
///
|
||||
/// showCombinator ::=
|
||||
@@ -4615,29 +4573,6 @@ abstract class ShowCombinator implements Combinator {
|
||||
NodeList<SimpleIdentifier> get shownNames;
|
||||
}
|
||||
|
||||
/// A node that can appear in the show or hide clauses.
|
||||
///
|
||||
/// Clients may not extend, implement or mix-in this class.
|
||||
abstract class ShowHideClauseElement implements AstNode {}
|
||||
|
||||
/// A potentially non-type element of a show or a hide clause.
|
||||
///
|
||||
/// showHideElement ::=
|
||||
/// 'get' [SimpleIdentifier] |
|
||||
/// 'set' [SimpleIdentifier] |
|
||||
/// 'operator' [SimpleIdentifier] |
|
||||
/// [SimpleIdentifier]
|
||||
///
|
||||
/// Clients may not extend, implement or mix-in this class.
|
||||
abstract class ShowHideElement implements AstNode, ShowHideClauseElement {
|
||||
/// Return the 'get', 'set', or 'operator' modifier that appears before the
|
||||
/// name, or `null` if there is no modifier.
|
||||
Token? get modifier;
|
||||
|
||||
/// Return the name of the member the element refers to.
|
||||
SimpleIdentifier get name;
|
||||
}
|
||||
|
||||
/// A simple formal parameter.
|
||||
///
|
||||
/// simpleFormalParameter ::=
|
||||
|
||||
@@ -400,9 +400,6 @@ class GeneralizingAstVisitor<R> implements AstVisitor<R> {
|
||||
@override
|
||||
R? visitGenericTypeAlias(GenericTypeAlias node) => visitTypeAlias(node);
|
||||
|
||||
@override
|
||||
R? visitHideClause(HideClause node) => visitNode(node);
|
||||
|
||||
@override
|
||||
R? visitHideCombinator(HideCombinator node) => visitCombinator(node);
|
||||
|
||||
@@ -627,15 +624,9 @@ class GeneralizingAstVisitor<R> implements AstVisitor<R> {
|
||||
@override
|
||||
R? visitSetOrMapLiteral(SetOrMapLiteral node) => visitTypedLiteral(node);
|
||||
|
||||
@override
|
||||
R? visitShowClause(ShowClause node) => visitNode(node);
|
||||
|
||||
@override
|
||||
R? visitShowCombinator(ShowCombinator node) => visitCombinator(node);
|
||||
|
||||
@override
|
||||
R? visitShowHideElement(ShowHideElement node) => visitNode(node);
|
||||
|
||||
@override
|
||||
R? visitSimpleFormalParameter(SimpleFormalParameter node) =>
|
||||
visitNormalFormalParameter(node);
|
||||
@@ -1204,12 +1195,6 @@ class RecursiveAstVisitor<R> implements AstVisitor<R> {
|
||||
return null;
|
||||
}
|
||||
|
||||
@override
|
||||
R? visitHideClause(HideClause node) {
|
||||
node.visitChildren(this);
|
||||
return null;
|
||||
}
|
||||
|
||||
@override
|
||||
R? visitHideCombinator(HideCombinator node) {
|
||||
node.visitChildren(this);
|
||||
@@ -1562,24 +1547,12 @@ class RecursiveAstVisitor<R> implements AstVisitor<R> {
|
||||
return null;
|
||||
}
|
||||
|
||||
@override
|
||||
R? visitShowClause(ShowClause node) {
|
||||
node.visitChildren(this);
|
||||
return null;
|
||||
}
|
||||
|
||||
@override
|
||||
R? visitShowCombinator(ShowCombinator node) {
|
||||
node.visitChildren(this);
|
||||
return null;
|
||||
}
|
||||
|
||||
@override
|
||||
R? visitShowHideElement(ShowHideElement node) {
|
||||
node.visitChildren(this);
|
||||
return null;
|
||||
}
|
||||
|
||||
@override
|
||||
R? visitSimpleFormalParameter(SimpleFormalParameter node) {
|
||||
node.visitChildren(this);
|
||||
@@ -1999,9 +1972,6 @@ class SimpleAstVisitor<R> implements AstVisitor<R> {
|
||||
@override
|
||||
R? visitGenericTypeAlias(GenericTypeAlias node) => null;
|
||||
|
||||
@override
|
||||
R? visitHideClause(HideClause node) => null;
|
||||
|
||||
@override
|
||||
R? visitHideCombinator(HideCombinator node) => null;
|
||||
|
||||
@@ -2187,15 +2157,9 @@ class SimpleAstVisitor<R> implements AstVisitor<R> {
|
||||
@override
|
||||
R? visitSetOrMapLiteral(SetOrMapLiteral node) => null;
|
||||
|
||||
@override
|
||||
R? visitShowClause(ShowClause node) => null;
|
||||
|
||||
@override
|
||||
R? visitShowCombinator(ShowCombinator node) => null;
|
||||
|
||||
@override
|
||||
R? visitShowHideElement(ShowHideElement node) => null;
|
||||
|
||||
@override
|
||||
R? visitSimpleFormalParameter(SimpleFormalParameter node) => null;
|
||||
|
||||
@@ -2526,9 +2490,6 @@ class ThrowingAstVisitor<R> implements AstVisitor<R> {
|
||||
@override
|
||||
R? visitGenericTypeAlias(GenericTypeAlias node) => _throw(node);
|
||||
|
||||
@override
|
||||
R? visitHideClause(HideClause node) => _throw(node);
|
||||
|
||||
@override
|
||||
R? visitHideCombinator(HideCombinator node) => _throw(node);
|
||||
|
||||
@@ -2717,15 +2678,9 @@ class ThrowingAstVisitor<R> implements AstVisitor<R> {
|
||||
@override
|
||||
R? visitSetOrMapLiteral(SetOrMapLiteral node) => _throw(node);
|
||||
|
||||
@override
|
||||
R? visitShowClause(ShowClause node) => _throw(node);
|
||||
|
||||
@override
|
||||
R? visitShowCombinator(ShowCombinator node) => _throw(node);
|
||||
|
||||
@override
|
||||
R? visitShowHideElement(ShowHideElement node) => _throw(node);
|
||||
|
||||
@override
|
||||
R? visitSimpleFormalParameter(SimpleFormalParameter node) => _throw(node);
|
||||
|
||||
@@ -3413,14 +3368,6 @@ class TimedAstVisitor<T> implements AstVisitor<T> {
|
||||
return result;
|
||||
}
|
||||
|
||||
@override
|
||||
T? visitHideClause(HideClause node) {
|
||||
stopwatch.start();
|
||||
T? result = _baseVisitor.visitHideClause(node);
|
||||
stopwatch.stop();
|
||||
return result;
|
||||
}
|
||||
|
||||
@override
|
||||
T? visitHideCombinator(HideCombinator node) {
|
||||
stopwatch.start();
|
||||
@@ -3889,14 +3836,6 @@ class TimedAstVisitor<T> implements AstVisitor<T> {
|
||||
return result;
|
||||
}
|
||||
|
||||
@override
|
||||
T? visitShowClause(ShowClause node) {
|
||||
stopwatch.start();
|
||||
T? result = _baseVisitor.visitShowClause(node);
|
||||
stopwatch.stop();
|
||||
return result;
|
||||
}
|
||||
|
||||
@override
|
||||
T? visitShowCombinator(ShowCombinator node) {
|
||||
stopwatch.start();
|
||||
@@ -3905,14 +3844,6 @@ class TimedAstVisitor<T> implements AstVisitor<T> {
|
||||
return result;
|
||||
}
|
||||
|
||||
@override
|
||||
T? visitShowHideElement(ShowHideElement node) {
|
||||
stopwatch.start();
|
||||
T? result = _baseVisitor.visitShowHideElement(node);
|
||||
stopwatch.stop();
|
||||
return result;
|
||||
}
|
||||
|
||||
@override
|
||||
T? visitSimpleFormalParameter(SimpleFormalParameter node) {
|
||||
stopwatch.start();
|
||||
@@ -4412,9 +4343,6 @@ class UnifyingAstVisitor<R> implements AstVisitor<R> {
|
||||
@override
|
||||
R? visitGenericTypeAlias(GenericTypeAlias node) => visitNode(node);
|
||||
|
||||
@override
|
||||
R? visitHideClause(HideClause node) => visitNode(node);
|
||||
|
||||
@override
|
||||
R? visitHideCombinator(HideCombinator node) => visitNode(node);
|
||||
|
||||
@@ -4611,15 +4539,9 @@ class UnifyingAstVisitor<R> implements AstVisitor<R> {
|
||||
@override
|
||||
R? visitSetOrMapLiteral(SetOrMapLiteral node) => visitNode(node);
|
||||
|
||||
@override
|
||||
R? visitShowClause(ShowClause node) => visitNode(node);
|
||||
|
||||
@override
|
||||
R? visitShowCombinator(ShowCombinator node) => visitNode(node);
|
||||
|
||||
@override
|
||||
R? visitShowHideElement(ShowHideElement node) => visitNode(node);
|
||||
|
||||
@override
|
||||
R? visitSimpleFormalParameter(SimpleFormalParameter node) => visitNode(node);
|
||||
|
||||
|
||||
@@ -4461,17 +4461,9 @@ class ExtensionDeclarationImpl extends CompilationUnitMemberImpl
|
||||
@override
|
||||
final Token? typeKeyword;
|
||||
|
||||
/// The hide clause for the extension or `null` if the declaration does not
|
||||
/// hide any elements.
|
||||
HideClauseImpl? _hideClause;
|
||||
|
||||
@override
|
||||
final Token? name;
|
||||
|
||||
/// The show clause for the extension or `null` if the declaration does not
|
||||
/// show any elements.
|
||||
ShowClauseImpl? _showClause;
|
||||
|
||||
/// The type parameters for the extension, or `null` if the extension does not
|
||||
/// have any type parameters.
|
||||
TypeParameterListImpl? _typeParameters;
|
||||
@@ -4503,15 +4495,11 @@ class ExtensionDeclarationImpl extends CompilationUnitMemberImpl
|
||||
required TypeParameterListImpl? typeParameters,
|
||||
required this.onKeyword,
|
||||
required TypeAnnotationImpl extendedType,
|
||||
required ShowClauseImpl? showClause,
|
||||
required HideClauseImpl? hideClause,
|
||||
required this.leftBracket,
|
||||
required List<ClassMember> members,
|
||||
required this.rightBracket,
|
||||
}) : _typeParameters = typeParameters,
|
||||
_extendedType = extendedType,
|
||||
_showClause = showClause,
|
||||
_hideClause = hideClause {
|
||||
_extendedType = extendedType {
|
||||
_becomeParentOf(_typeParameters);
|
||||
_becomeParentOf(_extendedType);
|
||||
_members._initialize(this, members);
|
||||
@@ -4534,13 +4522,6 @@ class ExtensionDeclarationImpl extends CompilationUnitMemberImpl
|
||||
@override
|
||||
Token get firstTokenAfterCommentAndMetadata => extensionKeyword;
|
||||
|
||||
@override
|
||||
HideClauseImpl? get hideClause => _hideClause;
|
||||
|
||||
set hideClause(HideClauseImpl? hideClause) {
|
||||
_hideClause = _becomeParentOf(hideClause);
|
||||
}
|
||||
|
||||
@override
|
||||
NodeListImpl<ClassMember> get members => _members;
|
||||
|
||||
@@ -4548,13 +4529,6 @@ class ExtensionDeclarationImpl extends CompilationUnitMemberImpl
|
||||
@override
|
||||
Token? get name2 => name;
|
||||
|
||||
@override
|
||||
ShowClauseImpl? get showClause => _showClause;
|
||||
|
||||
set showClause(ShowClauseImpl? showClause) {
|
||||
_showClause = _becomeParentOf(showClause);
|
||||
}
|
||||
|
||||
@override
|
||||
TypeParameterListImpl? get typeParameters => _typeParameters;
|
||||
|
||||
@@ -6520,49 +6494,6 @@ class GenericTypeAliasImpl extends TypeAliasImpl implements GenericTypeAlias {
|
||||
}
|
||||
}
|
||||
|
||||
/// The "hide" clause in an extension declaration.
|
||||
///
|
||||
/// hideClause ::=
|
||||
/// 'hide' [TypeName] (',' [TypeName])*
|
||||
class HideClauseImpl extends AstNodeImpl implements HideClause {
|
||||
/// The token representing the 'hide' keyword.
|
||||
@override
|
||||
final Token hideKeyword;
|
||||
|
||||
/// The elements that are being shown.
|
||||
final NodeListImpl<ShowHideClauseElement> _elements = NodeListImpl._();
|
||||
|
||||
/// Initialize a newly created show clause.
|
||||
HideClauseImpl({
|
||||
required this.hideKeyword,
|
||||
required List<ShowHideClauseElement> elements,
|
||||
}) {
|
||||
_elements._initialize(this, elements);
|
||||
}
|
||||
|
||||
@override
|
||||
Token get beginToken => hideKeyword;
|
||||
|
||||
@override
|
||||
NodeListImpl<ShowHideClauseElement> get elements => _elements;
|
||||
|
||||
@override
|
||||
Token get endToken => _elements.endToken!;
|
||||
|
||||
@override
|
||||
ChildEntities get _childEntities => ChildEntities()
|
||||
..addToken('hideKeyword', hideKeyword)
|
||||
..addNodeList('elements', elements);
|
||||
|
||||
@override
|
||||
E? accept<E>(AstVisitor<E> visitor) => visitor.visitHideClause(this);
|
||||
|
||||
@override
|
||||
void visitChildren(AstVisitor visitor) {
|
||||
_elements.accept(visitor);
|
||||
}
|
||||
}
|
||||
|
||||
/// A combinator that restricts the names being imported to those that are not
|
||||
/// in a given list.
|
||||
///
|
||||
@@ -11149,49 +11080,6 @@ class SetOrMapLiteralImpl extends TypedLiteralImpl implements SetOrMapLiteral {
|
||||
}
|
||||
}
|
||||
|
||||
/// The "show" clause in an extension declaration.
|
||||
///
|
||||
/// showClause ::=
|
||||
/// 'show' [TypeName] (',' [TypeName])*
|
||||
class ShowClauseImpl extends AstNodeImpl implements ShowClause {
|
||||
/// The token representing the 'show' keyword.
|
||||
@override
|
||||
final Token showKeyword;
|
||||
|
||||
/// The elements that are being shown.
|
||||
final NodeListImpl<ShowHideClauseElement> _elements = NodeListImpl._();
|
||||
|
||||
/// Initialize a newly created show clause.
|
||||
ShowClauseImpl({
|
||||
required this.showKeyword,
|
||||
required List<ShowHideClauseElement> elements,
|
||||
}) {
|
||||
_elements._initialize(this, elements);
|
||||
}
|
||||
|
||||
@override
|
||||
Token get beginToken => showKeyword;
|
||||
|
||||
@override
|
||||
NodeListImpl<ShowHideClauseElement> get elements => _elements;
|
||||
|
||||
@override
|
||||
Token get endToken => _elements.endToken!;
|
||||
|
||||
@override
|
||||
ChildEntities get _childEntities => ChildEntities()
|
||||
..addToken('showKeyword', showKeyword)
|
||||
..addNodeList('elements', elements);
|
||||
|
||||
@override
|
||||
E? accept<E>(AstVisitor<E> visitor) => visitor.visitShowClause(this);
|
||||
|
||||
@override
|
||||
void visitChildren(AstVisitor visitor) {
|
||||
_elements.accept(visitor);
|
||||
}
|
||||
}
|
||||
|
||||
/// A combinator that restricts the names being imported to those in a given
|
||||
/// list.
|
||||
///
|
||||
@@ -11231,49 +11119,6 @@ class ShowCombinatorImpl extends CombinatorImpl implements ShowCombinator {
|
||||
}
|
||||
}
|
||||
|
||||
/// A potentially non-type element of a show or a hide clause.
|
||||
///
|
||||
/// showHideElement ::=
|
||||
/// 'get' [SimpleIdentifier] |
|
||||
/// 'set' [SimpleIdentifier] |
|
||||
/// 'operator' [SimpleIdentifier] |
|
||||
/// [SimpleIdentifier]
|
||||
///
|
||||
/// Clients may not extend, implement or mix-in this class.
|
||||
class ShowHideElementImpl extends AstNodeImpl implements ShowHideElement {
|
||||
@override
|
||||
final Token? modifier;
|
||||
|
||||
@override
|
||||
SimpleIdentifierImpl name;
|
||||
|
||||
ShowHideElementImpl({
|
||||
required this.modifier,
|
||||
required this.name,
|
||||
}) {
|
||||
_becomeParentOf<SimpleIdentifierImpl>(name);
|
||||
}
|
||||
|
||||
@override
|
||||
Token get beginToken => modifier ?? name.beginToken;
|
||||
|
||||
@override
|
||||
Token get endToken => name.endToken;
|
||||
|
||||
@override
|
||||
ChildEntities get _childEntities => ChildEntities()
|
||||
..addToken('modifier', modifier)
|
||||
..addNode('name', name);
|
||||
|
||||
@override
|
||||
E? accept<E>(AstVisitor<E> visitor) => visitor.visitShowHideElement(this);
|
||||
|
||||
@override
|
||||
void visitChildren(AstVisitor visitor) {
|
||||
name.accept(visitor);
|
||||
}
|
||||
}
|
||||
|
||||
/// A simple formal parameter.
|
||||
///
|
||||
/// simpleFormalParameter ::=
|
||||
|
||||
@@ -432,8 +432,6 @@ class ToSourceVisitor implements AstVisitor<void> {
|
||||
_visitToken(node.onKeyword);
|
||||
sink.write(' ');
|
||||
_visitNode(node.extendedType, suffix: ' ');
|
||||
_visitNode(node.showClause, suffix: ' ');
|
||||
_visitNode(node.hideClause, suffix: ' ');
|
||||
_visitToken(node.leftBracket);
|
||||
_visitNodeList(node.members, separator: ' ');
|
||||
_visitToken(node.rightBracket);
|
||||
@@ -656,12 +654,6 @@ class ToSourceVisitor implements AstVisitor<void> {
|
||||
sink.write(';');
|
||||
}
|
||||
|
||||
@override
|
||||
void visitHideClause(HideClause node) {
|
||||
sink.write('hide ');
|
||||
_visitNodeList(node.elements, separator: ', ');
|
||||
}
|
||||
|
||||
@override
|
||||
void visitHideCombinator(HideCombinator node) {
|
||||
sink.write('hide ');
|
||||
@@ -1134,24 +1126,12 @@ class ToSourceVisitor implements AstVisitor<void> {
|
||||
sink.write('}');
|
||||
}
|
||||
|
||||
@override
|
||||
void visitShowClause(ShowClause node) {
|
||||
sink.write('show ');
|
||||
_visitNodeList(node.elements, separator: ', ');
|
||||
}
|
||||
|
||||
@override
|
||||
void visitShowCombinator(ShowCombinator node) {
|
||||
sink.write('show ');
|
||||
_visitNodeList(node.shownNames, separator: ', ');
|
||||
}
|
||||
|
||||
@override
|
||||
void visitShowHideElement(ShowHideElement node) {
|
||||
_visitToken(node.modifier, suffix: ' ');
|
||||
_visitNode(node.name);
|
||||
}
|
||||
|
||||
@override
|
||||
void visitSimpleFormalParameter(SimpleFormalParameter node) {
|
||||
_visitNodeList(node.metadata, separator: ' ', suffix: ' ');
|
||||
|
||||
@@ -765,13 +765,6 @@ class AstComparator implements AstVisitor<bool> {
|
||||
isEqualNodes(node.type, other.type);
|
||||
}
|
||||
|
||||
@override
|
||||
bool visitHideClause(HideClause node) {
|
||||
HideClause other = _other as HideClause;
|
||||
return isEqualTokens(node.hideKeyword, other.hideKeyword) &&
|
||||
_isEqualNodeLists(node.elements, other.elements);
|
||||
}
|
||||
|
||||
@override
|
||||
bool visitHideCombinator(HideCombinator node) {
|
||||
HideCombinator other = _other as HideCombinator;
|
||||
@@ -1274,13 +1267,6 @@ class AstComparator implements AstVisitor<bool> {
|
||||
isEqualTokens(node.rightBracket, other.rightBracket);
|
||||
}
|
||||
|
||||
@override
|
||||
bool visitShowClause(ShowClause node) {
|
||||
ShowClause other = _other as ShowClause;
|
||||
return isEqualTokens(node.showKeyword, other.showKeyword) &&
|
||||
_isEqualNodeLists(node.elements, other.elements);
|
||||
}
|
||||
|
||||
@override
|
||||
bool visitShowCombinator(ShowCombinator node) {
|
||||
ShowCombinator other = _other as ShowCombinator;
|
||||
@@ -1288,13 +1274,6 @@ class AstComparator implements AstVisitor<bool> {
|
||||
_isEqualNodeLists(node.shownNames, other.shownNames);
|
||||
}
|
||||
|
||||
@override
|
||||
bool visitShowHideElement(ShowHideElement node) {
|
||||
ShowHideElement other = _other as ShowHideElement;
|
||||
return isEqualTokens(node.modifier, other.modifier) &&
|
||||
isEqualNodes(node.name, other.name);
|
||||
}
|
||||
|
||||
@override
|
||||
bool visitSimpleFormalParameter(SimpleFormalParameter node) {
|
||||
SimpleFormalParameter other = _other as SimpleFormalParameter;
|
||||
@@ -2716,14 +2695,6 @@ class NodeReplacer extends ThrowingAstVisitor<bool> {
|
||||
return visitNode(node);
|
||||
}
|
||||
|
||||
@override
|
||||
bool visitHideClause(covariant HideClauseImpl node) {
|
||||
if (_replaceInList(node.elements)) {
|
||||
return true;
|
||||
}
|
||||
return visitNode(node);
|
||||
}
|
||||
|
||||
@override
|
||||
bool visitHideCombinator(covariant HideCombinatorImpl node) {
|
||||
if (_replaceInList(node.hiddenNames)) {
|
||||
@@ -3193,14 +3164,6 @@ class NodeReplacer extends ThrowingAstVisitor<bool> {
|
||||
return visitTypedLiteral(node);
|
||||
}
|
||||
|
||||
@override
|
||||
bool visitShowClause(covariant ShowClauseImpl node) {
|
||||
if (_replaceInList(node.elements)) {
|
||||
return true;
|
||||
}
|
||||
return visitNode(node);
|
||||
}
|
||||
|
||||
@override
|
||||
bool visitShowCombinator(covariant ShowCombinatorImpl node) {
|
||||
if (_replaceInList(node.shownNames)) {
|
||||
@@ -3209,15 +3172,6 @@ class NodeReplacer extends ThrowingAstVisitor<bool> {
|
||||
return visitNode(node);
|
||||
}
|
||||
|
||||
@override
|
||||
bool visitShowHideElement(covariant ShowHideElementImpl node) {
|
||||
if (identical(node.name, _oldNode)) {
|
||||
node.name = _newNode as SimpleIdentifierImpl;
|
||||
return true;
|
||||
}
|
||||
return visitNode(node);
|
||||
}
|
||||
|
||||
@override
|
||||
bool visitSimpleFormalParameter(covariant SimpleFormalParameterImpl node) {
|
||||
if (identical(node.type, _oldNode)) {
|
||||
|
||||
@@ -1496,9 +1496,6 @@ class AstBuilder extends StackListener {
|
||||
);
|
||||
}
|
||||
|
||||
final showClause = pop(NullValue.ShowClause) as ShowClauseImpl?;
|
||||
final hideClause = pop(NullValue.HideClause) as HideClauseImpl?;
|
||||
|
||||
final type = pop() as TypeAnnotationImpl;
|
||||
|
||||
declarations.add(
|
||||
@@ -1506,8 +1503,6 @@ class AstBuilder extends StackListener {
|
||||
extendedType: type,
|
||||
onKeyword: onKeyword,
|
||||
typeKeyword: typeKeyword,
|
||||
showClause: showClause,
|
||||
hideClause: hideClause,
|
||||
),
|
||||
);
|
||||
|
||||
@@ -3837,35 +3832,6 @@ class AstBuilder extends StackListener {
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
void handleExtensionShowHide(Token? showKeyword, int showElementCount,
|
||||
Token? hideKeyword, int hideElementCount) {
|
||||
assert(optionalOrNull('hide', hideKeyword));
|
||||
assert(optionalOrNull('show', showKeyword));
|
||||
debugEvent("ExtensionShowHide");
|
||||
|
||||
HideClause? hideClause;
|
||||
if (hideKeyword != null) {
|
||||
var elements = popTypedList2<ShowHideClauseElement>(hideElementCount);
|
||||
hideClause = HideClauseImpl(
|
||||
hideKeyword: hideKeyword,
|
||||
elements: elements,
|
||||
);
|
||||
}
|
||||
|
||||
ShowClause? showClause;
|
||||
if (showKeyword != null) {
|
||||
var elements = popTypedList2<ShowHideClauseElement>(showElementCount);
|
||||
showClause = ShowClauseImpl(
|
||||
showKeyword: showKeyword,
|
||||
elements: elements,
|
||||
);
|
||||
}
|
||||
|
||||
push(hideClause ?? NullValue.HideClause);
|
||||
push(showClause ?? NullValue.ShowClause);
|
||||
}
|
||||
|
||||
@override
|
||||
void handleExtractorPattern(
|
||||
Token firstIdentifierToken, Token? dot, Token? secondIdentifierToken) {
|
||||
@@ -4886,24 +4852,6 @@ class AstBuilder extends StackListener {
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
void handleShowHideIdentifier(Token? modifier, Token identifier) {
|
||||
debugEvent("handleShowHideIdentifier");
|
||||
|
||||
assert(modifier == null ||
|
||||
modifier.stringValue! == "get" ||
|
||||
modifier.stringValue! == "set" ||
|
||||
modifier.stringValue! == "operator");
|
||||
|
||||
var name = ast.simpleIdentifier(identifier);
|
||||
ShowHideElement element = ShowHideElementImpl(
|
||||
modifier: modifier,
|
||||
name: name,
|
||||
);
|
||||
|
||||
push(element);
|
||||
}
|
||||
|
||||
@override
|
||||
void handleSpreadExpression(Token spreadToken) {
|
||||
var expression = pop() as ExpressionImpl;
|
||||
@@ -5461,8 +5409,6 @@ class _ExtensionDeclarationBuilder extends _ClassLikeDeclarationBuilder {
|
||||
|
||||
ExtensionDeclarationImpl build({
|
||||
required Token? typeKeyword,
|
||||
required HideClauseImpl? hideClause,
|
||||
required ShowClauseImpl? showClause,
|
||||
required Token onKeyword,
|
||||
required TypeAnnotationImpl extendedType,
|
||||
}) {
|
||||
@@ -5475,8 +5421,6 @@ class _ExtensionDeclarationBuilder extends _ClassLikeDeclarationBuilder {
|
||||
typeParameters: typeParameters,
|
||||
onKeyword: onKeyword,
|
||||
extendedType: extendedType,
|
||||
showClause: showClause,
|
||||
hideClause: hideClause,
|
||||
leftBracket: leftBracket,
|
||||
members: members,
|
||||
rightBracket: rightBracket,
|
||||
|
||||
@@ -449,12 +449,6 @@ class LinterVisitor implements AstVisitor<void> {
|
||||
node.visitChildren(this);
|
||||
}
|
||||
|
||||
@override
|
||||
void visitHideClause(HideClause node) {
|
||||
_runSubscriptions(node, registry._forHideClause);
|
||||
node.visitChildren(this);
|
||||
}
|
||||
|
||||
@override
|
||||
void visitHideCombinator(HideCombinator node) {
|
||||
_runSubscriptions(node, registry._forHideCombinator);
|
||||
@@ -808,24 +802,12 @@ class LinterVisitor implements AstVisitor<void> {
|
||||
node.visitChildren(this);
|
||||
}
|
||||
|
||||
@override
|
||||
void visitShowClause(ShowClause node) {
|
||||
_runSubscriptions(node, registry._forShowClause);
|
||||
node.visitChildren(this);
|
||||
}
|
||||
|
||||
@override
|
||||
void visitShowCombinator(ShowCombinator node) {
|
||||
_runSubscriptions(node, registry._forShowCombinator);
|
||||
node.visitChildren(this);
|
||||
}
|
||||
|
||||
@override
|
||||
void visitShowHideElement(ShowHideElement node) {
|
||||
_runSubscriptions(node, registry._forShowHideElement);
|
||||
node.visitChildren(this);
|
||||
}
|
||||
|
||||
@override
|
||||
void visitSimpleFormalParameter(SimpleFormalParameter node) {
|
||||
_runSubscriptions(node, registry._forSimpleFormalParameter);
|
||||
@@ -1127,7 +1109,6 @@ class NodeLintRegistry {
|
||||
_forFunctionTypedFormalParameter = [];
|
||||
final List<_Subscription<GenericFunctionType>> _forGenericFunctionType = [];
|
||||
final List<_Subscription<GenericTypeAlias>> _forGenericTypeAlias = [];
|
||||
final List<_Subscription<HideClause>> _forHideClause = [];
|
||||
final List<_Subscription<HideCombinator>> _forHideCombinator = [];
|
||||
final List<_Subscription<IfElement>> _forIfElement = [];
|
||||
final List<_Subscription<IfStatement>> _forIfStatement = [];
|
||||
@@ -1199,9 +1180,7 @@ class NodeLintRegistry {
|
||||
final List<_Subscription<ReturnStatement>> _forReturnStatement = [];
|
||||
final List<_Subscription<ScriptTag>> _forScriptTag = [];
|
||||
final List<_Subscription<SetOrMapLiteral>> _forSetOrMapLiteral = [];
|
||||
final List<_Subscription<ShowClause>> _forShowClause = [];
|
||||
final List<_Subscription<ShowCombinator>> _forShowCombinator = [];
|
||||
final List<_Subscription<ShowHideElement>> _forShowHideElement = [];
|
||||
final List<_Subscription<SimpleFormalParameter>> _forSimpleFormalParameter =
|
||||
[];
|
||||
final List<_Subscription<SimpleIdentifier>> _forSimpleIdentifier = [];
|
||||
@@ -1564,10 +1543,6 @@ class NodeLintRegistry {
|
||||
_forGenericTypeAlias.add(_Subscription(linter, visitor, _getTimer(linter)));
|
||||
}
|
||||
|
||||
void addHideClause(LintRule linter, AstVisitor visitor) {
|
||||
_forHideClause.add(_Subscription(linter, visitor, _getTimer(linter)));
|
||||
}
|
||||
|
||||
void addHideCombinator(LintRule linter, AstVisitor visitor) {
|
||||
_forHideCombinator.add(_Subscription(linter, visitor, _getTimer(linter)));
|
||||
}
|
||||
@@ -1812,18 +1787,10 @@ class NodeLintRegistry {
|
||||
_forSetOrMapLiteral.add(_Subscription(linter, visitor, _getTimer(linter)));
|
||||
}
|
||||
|
||||
void addShowClause(LintRule linter, AstVisitor visitor) {
|
||||
_forShowClause.add(_Subscription(linter, visitor, _getTimer(linter)));
|
||||
}
|
||||
|
||||
void addShowCombinator(LintRule linter, AstVisitor visitor) {
|
||||
_forShowCombinator.add(_Subscription(linter, visitor, _getTimer(linter)));
|
||||
}
|
||||
|
||||
void addShowHideElement(LintRule linter, AstVisitor visitor) {
|
||||
_forShowHideElement.add(_Subscription(linter, visitor, _getTimer(linter)));
|
||||
}
|
||||
|
||||
void addSimpleFormalParameter(LintRule linter, AstVisitor visitor) {
|
||||
_forSimpleFormalParameter
|
||||
.add(_Subscription(linter, visitor, _getTimer(linter)));
|
||||
|
||||
@@ -374,8 +374,6 @@ class AstTextPrinter extends ThrowingAstVisitor<void> {
|
||||
node.typeParameters?.accept(this);
|
||||
_token(node.onKeyword);
|
||||
node.extendedType.accept(this);
|
||||
node.showClause?.accept(this);
|
||||
node.hideClause?.accept(this);
|
||||
_token(node.leftBracket);
|
||||
node.members.accept(this);
|
||||
_token(node.rightBracket);
|
||||
|
||||
@@ -1132,86 +1132,6 @@ $code
|
||||
_assertSource(code, findNode.extensionDeclaration(code));
|
||||
}
|
||||
|
||||
void test_visitExtensionDeclarationHideClause_empty() {
|
||||
final code = 'extension E on C hide B {}';
|
||||
final findNode = _parseStringToFindNode('''
|
||||
$code
|
||||
''');
|
||||
_assertSource(code, findNode.extensionDeclaration(code));
|
||||
}
|
||||
|
||||
void test_visitExtensionDeclarationShowClause_ambiguousElement() {
|
||||
final code = 'extension E on C show foo {}';
|
||||
final findNode = _parseStringToFindNode('''
|
||||
$code
|
||||
''');
|
||||
_assertSource(code, findNode.extensionDeclaration(code));
|
||||
}
|
||||
|
||||
void test_visitExtensionDeclarationShowClause_empty() {
|
||||
final code = 'extension E on C show B {}';
|
||||
final findNode = _parseStringToFindNode('''
|
||||
$code
|
||||
''');
|
||||
_assertSource(code, findNode.extensionDeclaration(code));
|
||||
}
|
||||
|
||||
void test_visitExtensionDeclarationShowClause_getterElement() {
|
||||
final code = 'extension E on C show get foo {}';
|
||||
final findNode = _parseStringToFindNode('''
|
||||
$code
|
||||
''');
|
||||
_assertSource(code, findNode.extensionDeclaration(code));
|
||||
}
|
||||
|
||||
void test_visitExtensionDeclarationShowClause_operatorElement() {
|
||||
final code = 'extension E on C show operator * {}';
|
||||
final findNode = _parseStringToFindNode('''
|
||||
$code
|
||||
''');
|
||||
_assertSource(code, findNode.extensionDeclaration(code));
|
||||
}
|
||||
|
||||
void test_visitExtensionDeclarationShowClause_parameters() {
|
||||
final code = 'extension E<T> on C show B {}';
|
||||
final findNode = _parseStringToFindNode('''
|
||||
$code
|
||||
''');
|
||||
_assertSource(code, findNode.extensionDeclaration(code));
|
||||
}
|
||||
|
||||
void test_visitExtensionDeclarationShowClause_qualifiedTypeElement() {
|
||||
final code = 'extension E on C show prefix.B {}';
|
||||
final findNode = _parseStringToFindNode('''
|
||||
$code
|
||||
''');
|
||||
_assertSource(code, findNode.extensionDeclaration(code));
|
||||
}
|
||||
|
||||
void test_visitExtensionDeclarationShowClause_setterElement() {
|
||||
final code = 'extension E on C show set foo {}';
|
||||
final findNode = _parseStringToFindNode('''
|
||||
$code
|
||||
''');
|
||||
_assertSource(code, findNode.extensionDeclaration(code));
|
||||
}
|
||||
|
||||
void test_visitExtensionDeclarationShowClause_typeWithArgumentsElement() {
|
||||
final code = 'extension E on C show B<int, String> {}';
|
||||
final findNode = _parseStringToFindNode('''
|
||||
$code
|
||||
''');
|
||||
_assertSource(code, findNode.extensionDeclaration(code));
|
||||
}
|
||||
|
||||
void test_visitExtensionDeclarationShowHideClause_empty() {
|
||||
final code = 'extension E on C show A hide B {}';
|
||||
final findNode = _parseStringToFindNode('''
|
||||
$code
|
||||
''');
|
||||
_assertSource(code, findNode.extensionDeclaration(code));
|
||||
}
|
||||
|
||||
void test_visitExtensionOverride_prefixedName_noTypeArgs() {
|
||||
// TODO(scheglov) restore
|
||||
// _assertSource(
|
||||
|
||||
Reference in New Issue
Block a user