Skip to content

Commit de3f423

Browse files
scheglovCommit Queue
authored andcommitted
Elements. Return ExecutableElementImpl2 from ExecutableElement2OrMember.baseElement
Change-Id: I2878d65f04e5e1c6fe0e3f6691fedf4532e16d55 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/420260 Reviewed-by: Paul Berry <[email protected]> Commit-Queue: Konstantin Shcheglov <[email protected]>
1 parent 241ba78 commit de3f423

File tree

2 files changed

+32
-13
lines changed

2 files changed

+32
-13
lines changed

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

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3606,6 +3606,9 @@ class EnumElementImpl2 extends InterfaceElementImpl2 implements EnumElement2 {
36063606
/// Common base class for all analyzer-internal classes that implement
36073607
/// `ExecutableElement2`.
36083608
abstract class ExecutableElement2OrMember implements ExecutableElement2 {
3609+
@override
3610+
ExecutableElementImpl2 get baseElement;
3611+
36093612
@override
36103613
List<FormalParameterElementMixin> get formalParameters;
36113614

@@ -3826,7 +3829,7 @@ abstract class ExecutableElementImpl extends _ExistingElementImpl
38263829
abstract class ExecutableElementImpl2 extends FunctionTypedElementImpl2
38273830
implements ExecutableElement2OrMember {
38283831
@override
3829-
ExecutableElement2 get baseElement => this;
3832+
ExecutableElementImpl2 get baseElement => this;
38303833

38313834
@override
38323835
List<Element2> get children2 => [
@@ -5438,7 +5441,10 @@ class GenericFunctionTypeElementImpl2 extends FunctionTypedElementImpl2
54385441
/// Common base class for all analyzer-internal classes that implement
54395442
/// [GetterElement].
54405443
abstract class GetterElement2OrMember
5441-
implements PropertyAccessorElement2OrMember, GetterElement {}
5444+
implements PropertyAccessorElement2OrMember, GetterElement {
5445+
@override
5446+
GetterElementImpl get baseElement;
5447+
}
54425448

54435449
class GetterElementImpl extends PropertyAccessorElementImpl2
54445450
with
@@ -5461,7 +5467,7 @@ class GetterElementImpl extends PropertyAccessorElementImpl2
54615467
}
54625468

54635469
@override
5464-
GetterElement get baseElement => this;
5470+
GetterElementImpl get baseElement => this;
54655471

54665472
@override
54675473
SetterElement? get correspondingSetter2 =>
@@ -8358,7 +8364,10 @@ final class MetadataImpl implements Metadata {
83588364
/// Common base class for all analyzer-internal classes that implement
83598365
/// `MethodElement2`.
83608366
abstract class MethodElement2OrMember
8361-
implements MethodElement2, ExecutableElement2OrMember {}
8367+
implements MethodElement2, ExecutableElement2OrMember {
8368+
@override
8369+
MethodElementImpl2 get baseElement;
8370+
}
83628371

83638372
class MethodElementImpl extends ExecutableElementImpl
83648373
implements MethodElementOrMember, MethodFragment {
@@ -8472,7 +8481,7 @@ class MethodElementImpl2 extends ExecutableElementImpl2
84728481
MethodElementImpl2(this.name3, this.firstFragment);
84738482

84748483
@override
8475-
MethodElement2 get baseElement => this;
8484+
MethodElementImpl2 get baseElement => this;
84768485

84778486
@override
84788487
Element2? get enclosingElement2 =>
@@ -10027,6 +10036,9 @@ abstract class PromotableElementImpl2 extends VariableElementImpl2
1002710036
/// `PropertyAccessorElement2`.
1002810037
abstract class PropertyAccessorElement2OrMember
1002910038
implements PropertyAccessorElement2, ExecutableElement2OrMember {
10039+
@override
10040+
PropertyAccessorElementImpl2 get baseElement;
10041+
1003010042
@override
1003110043
PropertyInducingElement2OrMember? get variable3;
1003210044
}
@@ -10143,7 +10155,7 @@ sealed class PropertyAccessorElementImpl extends ExecutableElementImpl
1014310155
abstract class PropertyAccessorElementImpl2 extends ExecutableElementImpl2
1014410156
implements PropertyAccessorElement2OrMember {
1014510157
@override
10146-
PropertyAccessorElement2 get baseElement => this;
10158+
PropertyAccessorElementImpl2 get baseElement => this;
1014710159

1014810160
@override
1014910161
Element2 get enclosingElement2 => firstFragment.enclosingFragment.element;
@@ -10571,7 +10583,10 @@ abstract class PropertyInducingElementTypeInference {
1057110583
/// Common base class for all analyzer-internal classes that implement
1057210584
/// [SetterElement].
1057310585
abstract class SetterElement2OrMember
10574-
implements PropertyAccessorElement2OrMember, SetterElement {}
10586+
implements PropertyAccessorElement2OrMember, SetterElement {
10587+
@override
10588+
SetterElementImpl get baseElement;
10589+
}
1057510590

1057610591
class SetterElementImpl extends PropertyAccessorElementImpl2
1057710592
with
@@ -10594,7 +10609,7 @@ class SetterElementImpl extends PropertyAccessorElementImpl2
1059410609
}
1059510610

1059610611
@override
10597-
SetterElement get baseElement => this;
10612+
SetterElementImpl get baseElement => this;
1059810613

1059910614
@override
1060010615
GetterElement? get correspondingGetter2 =>
@@ -10856,7 +10871,7 @@ class TopLevelFunctionElementImpl extends ExecutableElementImpl2
1085610871
}
1085710872

1085810873
@override
10859-
TopLevelFunctionElement get baseElement => this;
10874+
TopLevelFunctionElementImpl get baseElement => this;
1086010875

1086110876
@override
1086210877
LibraryElementImpl get enclosingElement2 {

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

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -718,7 +718,7 @@ class GetterMember extends PropertyAccessorMember
718718
}) : super._();
719719

720720
@override
721-
GetterElement get baseElement => _element2;
721+
GetterElementImpl get baseElement => _element2;
722722

723723
@override
724724
SetterElement2OrMember? get correspondingSetter2 {
@@ -760,7 +760,9 @@ class GetterMember extends PropertyAccessorMember
760760
variable2.asElement2 as PropertyInducingElement2OrMember?;
761761

762762
@override
763-
GetterElement get _element2 => declaration.asElement2 as GetterElement;
763+
GetterElementImpl get _element2 {
764+
return declaration.asElement2 as GetterElementImpl;
765+
}
764766

765767
@override
766768
T? accept2<T>(ElementVisitor2<T> visitor) {
@@ -1492,7 +1494,7 @@ class SetterMember extends PropertyAccessorMember
14921494
}) : super._();
14931495

14941496
@override
1495-
SetterElement get baseElement => _element2;
1497+
SetterElementImpl get baseElement => _element2;
14961498

14971499
@override
14981500
GetterElement2OrMember? get correspondingGetter2 {
@@ -1534,7 +1536,9 @@ class SetterMember extends PropertyAccessorMember
15341536
variable2.asElement2 as PropertyInducingElement2OrMember?;
15351537

15361538
@override
1537-
SetterElement get _element2 => declaration.asElement2 as SetterElement;
1539+
SetterElementImpl get _element2 {
1540+
return declaration.asElement2 as SetterElementImpl;
1541+
}
15381542

15391543
@override
15401544
T? accept2<T>(ElementVisitor2<T> visitor) {

0 commit comments

Comments
 (0)