Skip to content

Commit 147c919

Browse files
scheglovCommit Queue
authored andcommitted
Elements. Add AnnotatableElementImpl.
Use it for ManifestItem.match(), to highlight that matching is done for implementation classes, and not for members. Change-Id: I26d1843a9b8b24fbfcecc753dca1e3a19095a45e Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/421963 Reviewed-by: Paul Berry <paulberry@google.com> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
1 parent cb9fdee commit 147c919

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

pkg/analyzer/lib/src/dart/element/element.dart

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,9 @@ abstract class AnnotatableElement implements Element2, Annotatable {
6969
MetadataImpl get metadata2;
7070
}
7171

72+
abstract class AnnotatableElementImpl
73+
implements ElementImpl2, AnnotatableElement {}
74+
7275
@Deprecated('This is an internal class, do not use it')
7376
// TODO(scheglov): remove it when DartDoc stops using it
7477
// https://github.com/dart-lang/dartdoc/issues/4015
@@ -3841,7 +3844,7 @@ abstract class ExecutableElementImpl extends _ExistingElementImpl
38413844
}
38423845

38433846
abstract class ExecutableElementImpl2 extends FunctionTypedElementImpl2
3844-
implements ExecutableElement2OrMember {
3847+
implements ExecutableElement2OrMember, AnnotatableElementImpl {
38453848
@override
38463849
ExecutableElementImpl2 get baseElement => this;
38473850

@@ -5762,7 +5765,10 @@ abstract class InstanceElementImpl extends _ExistingElementImpl
57625765
}
57635766

57645767
abstract class InstanceElementImpl2 extends ElementImpl2
5765-
implements InstanceElement2, TypeParameterizedElement2, AnnotatableElement {
5768+
implements
5769+
InstanceElement2,
5770+
TypeParameterizedElement2,
5771+
AnnotatableElementImpl {
57665772
@override
57675773
InstanceElement2 get baseElement => this;
57685774

pkg/analyzer/lib/src/fine/manifest_item.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -469,7 +469,7 @@ sealed class ManifestItem {
469469
});
470470

471471
@mustCallSuper
472-
bool match(MatchContext context, AnnotatableElement element) {
472+
bool match(MatchContext context, AnnotatableElementImpl element) {
473473
return metadata.match(context, element.effectiveMetadata);
474474
}
475475

@@ -711,9 +711,9 @@ enum _ManifestItemKind2 {
711711
interfaceConstructor,
712712
}
713713

714-
extension _AnnotatableElementExtension on AnnotatableElement {
714+
extension _AnnotatableElementExtension on AnnotatableElementImpl {
715715
MetadataImpl get effectiveMetadata {
716-
if (this case PropertyAccessorElement2OrMember accessor) {
716+
if (this case PropertyAccessorElementImpl2 accessor) {
717717
return accessor.thisOrVariableMetadata;
718718
}
719719
return metadata2;
@@ -738,7 +738,7 @@ extension _GetterElementImplExtension on GetterElementImpl {
738738
}
739739
}
740740

741-
extension _PropertyAccessExtension on PropertyAccessorElement2OrMember {
741+
extension _PropertyAccessExtension on PropertyAccessorElementImpl2 {
742742
MetadataImpl get thisOrVariableMetadata {
743743
if (isSynthetic) {
744744
return variable3!.metadata2;

0 commit comments

Comments
 (0)