From b2c8a309983b8669a5ec317b3068f52bbe64debb Mon Sep 17 00:00:00 2001 From: Konstantin Shcheglov Date: Tue, 29 Apr 2025 09:54:31 -0700 Subject: [PATCH] Elements. Remove AnnotatableElement. Now that ManifestItem(s) store only ElementImpl, we don't need it. Change-Id: I911fb22382aa73556ee65b291d30009288851185 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/425143 Reviewed-by: Paul Berry Commit-Queue: Konstantin Shcheglov --- pkg/analyzer/lib/src/dart/element/element.dart | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/pkg/analyzer/lib/src/dart/element/element.dart b/pkg/analyzer/lib/src/dart/element/element.dart index 47e607af77d..f95e8e85bca 100644 --- a/pkg/analyzer/lib/src/dart/element/element.dart +++ b/pkg/analyzer/lib/src/dart/element/element.dart @@ -63,14 +63,11 @@ import 'package:pub_semver/pub_semver.dart'; // TODO(scheglov): https://github.com/dart-lang/dartdoc/issues/4039 typedef ConstructorElementImpl = ConstructorFragmentImpl; -abstract class AnnotatableElement implements Element, Annotatable { +abstract class AnnotatableElementImpl implements ElementImpl2, Annotatable { @override MetadataImpl get metadata2; } -abstract class AnnotatableElementImpl - implements ElementImpl2, AnnotatableElement {} - /// Shared implementation for an augmentable [Fragment]. mixin AugmentableFragment on FragmentImpl { bool get isAugmentation { @@ -2276,14 +2273,16 @@ class EnumFragmentImpl extends InterfaceFragmentImpl implements EnumFragment { /// Common base class for all analyzer-internal classes that implement /// `ExecutableElement2`. -abstract class ExecutableElement2OrMember - implements ExecutableElement, AnnotatableElement { +abstract class ExecutableElement2OrMember implements ExecutableElement { @override ExecutableElementImpl2 get baseElement; @override List get formalParameters; + @override + MetadataImpl get metadata2; + @override TypeImpl get returnType;