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>
diff --git a/pkg/analyzer/lib/dart/ast/ast.dart b/pkg/analyzer/lib/dart/ast/ast.dart
index 412c789..fa874c1 100644
--- a/pkg/analyzer/lib/dart/ast/ast.dart
+++ b/pkg/analyzer/lib/dart/ast/ast.dart
@@ -493,8 +493,6 @@
 
   R? visitGenericTypeAlias(GenericTypeAlias node);
 
-  R? visitHideClause(HideClause node);
-
   R? visitHideCombinator(HideCombinator node);
 
   R? visitIfElement(IfElement node);
@@ -614,12 +612,8 @@
 
   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 @@
   /// 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 @@
   /// 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 @@
   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 @@
 ///        [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 @@
   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 @@
   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 ::=
diff --git a/pkg/analyzer/lib/dart/ast/visitor.dart b/pkg/analyzer/lib/dart/ast/visitor.dart
index 2397ad59..c73ca69 100644
--- a/pkg/analyzer/lib/dart/ast/visitor.dart
+++ b/pkg/analyzer/lib/dart/ast/visitor.dart
@@ -401,9 +401,6 @@
   R? visitGenericTypeAlias(GenericTypeAlias node) => visitTypeAlias(node);
 
   @override
-  R? visitHideClause(HideClause node) => visitNode(node);
-
-  @override
   R? visitHideCombinator(HideCombinator node) => visitCombinator(node);
 
   R? visitIdentifier(Identifier node) => visitExpression(node);
@@ -628,15 +625,9 @@
   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);
 
@@ -1205,12 +1196,6 @@
   }
 
   @override
-  R? visitHideClause(HideClause node) {
-    node.visitChildren(this);
-    return null;
-  }
-
-  @override
   R? visitHideCombinator(HideCombinator node) {
     node.visitChildren(this);
     return null;
@@ -1563,24 +1548,12 @@
   }
 
   @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);
     return null;
@@ -2000,9 +1973,6 @@
   R? visitGenericTypeAlias(GenericTypeAlias node) => null;
 
   @override
-  R? visitHideClause(HideClause node) => null;
-
-  @override
   R? visitHideCombinator(HideCombinator node) => null;
 
   @override
@@ -2188,15 +2158,9 @@
   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;
 
   @override
@@ -2527,9 +2491,6 @@
   R? visitGenericTypeAlias(GenericTypeAlias node) => _throw(node);
 
   @override
-  R? visitHideClause(HideClause node) => _throw(node);
-
-  @override
   R? visitHideCombinator(HideCombinator node) => _throw(node);
 
   @override
@@ -2718,15 +2679,9 @@
   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);
 
   @override
@@ -3414,14 +3369,6 @@
   }
 
   @override
-  T? visitHideClause(HideClause node) {
-    stopwatch.start();
-    T? result = _baseVisitor.visitHideClause(node);
-    stopwatch.stop();
-    return result;
-  }
-
-  @override
   T? visitHideCombinator(HideCombinator node) {
     stopwatch.start();
     T? result = _baseVisitor.visitHideCombinator(node);
@@ -3890,14 +3837,6 @@
   }
 
   @override
-  T? visitShowClause(ShowClause node) {
-    stopwatch.start();
-    T? result = _baseVisitor.visitShowClause(node);
-    stopwatch.stop();
-    return result;
-  }
-
-  @override
   T? visitShowCombinator(ShowCombinator node) {
     stopwatch.start();
     T? result = _baseVisitor.visitShowCombinator(node);
@@ -3906,14 +3845,6 @@
   }
 
   @override
-  T? visitShowHideElement(ShowHideElement node) {
-    stopwatch.start();
-    T? result = _baseVisitor.visitShowHideElement(node);
-    stopwatch.stop();
-    return result;
-  }
-
-  @override
   T? visitSimpleFormalParameter(SimpleFormalParameter node) {
     stopwatch.start();
     T? result = _baseVisitor.visitSimpleFormalParameter(node);
@@ -4413,9 +4344,6 @@
   R? visitGenericTypeAlias(GenericTypeAlias node) => visitNode(node);
 
   @override
-  R? visitHideClause(HideClause node) => visitNode(node);
-
-  @override
   R? visitHideCombinator(HideCombinator node) => visitNode(node);
 
   @override
@@ -4612,15 +4540,9 @@
   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);
 
   @override
diff --git a/pkg/analyzer/lib/src/dart/ast/ast.dart b/pkg/analyzer/lib/src/dart/ast/ast.dart
index 126baf7..d9c4866 100644
--- a/pkg/analyzer/lib/src/dart/ast/ast.dart
+++ b/pkg/analyzer/lib/src/dart/ast/ast.dart
@@ -4461,17 +4461,9 @@
   @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 @@
     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);
@@ -4535,13 +4523,6 @@
   Token get firstTokenAfterCommentAndMetadata => extensionKeyword;
 
   @override
-  HideClauseImpl? get hideClause => _hideClause;
-
-  set hideClause(HideClauseImpl? hideClause) {
-    _hideClause = _becomeParentOf(hideClause);
-  }
-
-  @override
   NodeListImpl<ClassMember> get members => _members;
 
   @Deprecated('Use name instead')
@@ -4549,13 +4530,6 @@
   Token? get name2 => name;
 
   @override
-  ShowClauseImpl? get showClause => _showClause;
-
-  set showClause(ShowClauseImpl? showClause) {
-    _showClause = _becomeParentOf(showClause);
-  }
-
-  @override
   TypeParameterListImpl? get typeParameters => _typeParameters;
 
   set typeParameters(TypeParameterListImpl? typeParameters) {
@@ -6520,49 +6494,6 @@
   }
 }
 
-/// 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 @@
   }
 }
 
-/// 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 @@
   }
 }
 
-/// 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 ::=
diff --git a/pkg/analyzer/lib/src/dart/ast/to_source_visitor.dart b/pkg/analyzer/lib/src/dart/ast/to_source_visitor.dart
index 548db30..520d4d7 100644
--- a/pkg/analyzer/lib/src/dart/ast/to_source_visitor.dart
+++ b/pkg/analyzer/lib/src/dart/ast/to_source_visitor.dart
@@ -432,8 +432,6 @@
     _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);
@@ -657,12 +655,6 @@
   }
 
   @override
-  void visitHideClause(HideClause node) {
-    sink.write('hide ');
-    _visitNodeList(node.elements, separator: ', ');
-  }
-
-  @override
   void visitHideCombinator(HideCombinator node) {
     sink.write('hide ');
     _visitNodeList(node.hiddenNames, separator: ', ');
@@ -1135,24 +1127,12 @@
   }
 
   @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: ' ');
     _visitToken(node.requiredKeyword, suffix: ' ');
diff --git a/pkg/analyzer/lib/src/dart/ast/utilities.dart b/pkg/analyzer/lib/src/dart/ast/utilities.dart
index e98c173..fb7ca92 100644
--- a/pkg/analyzer/lib/src/dart/ast/utilities.dart
+++ b/pkg/analyzer/lib/src/dart/ast/utilities.dart
@@ -766,13 +766,6 @@
   }
 
   @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;
     return isEqualTokens(node.keyword, other.keyword) &&
@@ -1275,13 +1268,6 @@
   }
 
   @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;
     return isEqualTokens(node.keyword, other.keyword) &&
@@ -1289,13 +1275,6 @@
   }
 
   @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;
     return isEqualNodes(
@@ -2717,14 +2696,6 @@
   }
 
   @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)) {
       return true;
@@ -3194,14 +3165,6 @@
   }
 
   @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)) {
       return true;
@@ -3210,15 +3173,6 @@
   }
 
   @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)) {
       node.type = _newNode as TypeAnnotationImpl;
diff --git a/pkg/analyzer/lib/src/fasta/ast_builder.dart b/pkg/analyzer/lib/src/fasta/ast_builder.dart
index d9e79cb..e7d72b5 100644
--- a/pkg/analyzer/lib/src/fasta/ast_builder.dart
+++ b/pkg/analyzer/lib/src/fasta/ast_builder.dart
@@ -1496,9 +1496,6 @@
       );
     }
 
-    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 @@
         extendedType: type,
         onKeyword: onKeyword,
         typeKeyword: typeKeyword,
-        showClause: showClause,
-        hideClause: hideClause,
       ),
     );
 
@@ -3838,35 +3833,6 @@
   }
 
   @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) {
     debugEvent("ExtractorPattern");
@@ -4887,24 +4853,6 @@
   }
 
   @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;
     push(
@@ -5461,8 +5409,6 @@
 
   ExtensionDeclarationImpl build({
     required Token? typeKeyword,
-    required HideClauseImpl? hideClause,
-    required ShowClauseImpl? showClause,
     required Token onKeyword,
     required TypeAnnotationImpl extendedType,
   }) {
@@ -5475,8 +5421,6 @@
       typeParameters: typeParameters,
       onKeyword: onKeyword,
       extendedType: extendedType,
-      showClause: showClause,
-      hideClause: hideClause,
       leftBracket: leftBracket,
       members: members,
       rightBracket: rightBracket,
diff --git a/pkg/analyzer/lib/src/lint/linter_visitor.dart b/pkg/analyzer/lib/src/lint/linter_visitor.dart
index 8c1642e..739958d 100644
--- a/pkg/analyzer/lib/src/lint/linter_visitor.dart
+++ b/pkg/analyzer/lib/src/lint/linter_visitor.dart
@@ -450,12 +450,6 @@
   }
 
   @override
-  void visitHideClause(HideClause node) {
-    _runSubscriptions(node, registry._forHideClause);
-    node.visitChildren(this);
-  }
-
-  @override
   void visitHideCombinator(HideCombinator node) {
     _runSubscriptions(node, registry._forHideCombinator);
     node.visitChildren(this);
@@ -809,24 +803,12 @@
   }
 
   @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);
     node.visitChildren(this);
@@ -1127,7 +1109,6 @@
       _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 @@
   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 @@
     _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 @@
     _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)));
diff --git a/pkg/analyzer/lib/src/summary2/ast_text_printer.dart b/pkg/analyzer/lib/src/summary2/ast_text_printer.dart
index a8c5cae..d4b8e3c 100644
--- a/pkg/analyzer/lib/src/summary2/ast_text_printer.dart
+++ b/pkg/analyzer/lib/src/summary2/ast_text_printer.dart
@@ -374,8 +374,6 @@
     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);
diff --git a/pkg/analyzer/test/src/dart/ast/to_source_visitor_test.dart b/pkg/analyzer/test/src/dart/ast/to_source_visitor_test.dart
index 72df46f..90b06bd 100644
--- a/pkg/analyzer/test/src/dart/ast/to_source_visitor_test.dart
+++ b/pkg/analyzer/test/src/dart/ast/to_source_visitor_test.dart
@@ -1132,86 +1132,6 @@
     _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(