Elements. Return ExecutableElementImpl2 from ExecutableElement2OrMember.baseElement

Change-Id: I2878d65f04e5e1c6fe0e3f6691fedf4532e16d55
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/420260
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
This commit is contained in:
Konstantin Shcheglov
2025-04-03 13:58:30 -07:00
committed by Commit Queue
parent 241ba78af4
commit de3f423952
2 changed files with 32 additions and 13 deletions
+24 -9
View File
@@ -3606,6 +3606,9 @@ class EnumElementImpl2 extends InterfaceElementImpl2 implements EnumElement2 {
/// Common base class for all analyzer-internal classes that implement
/// `ExecutableElement2`.
abstract class ExecutableElement2OrMember implements ExecutableElement2 {
@override
ExecutableElementImpl2 get baseElement;
@override
List<FormalParameterElementMixin> get formalParameters;
@@ -3826,7 +3829,7 @@ abstract class ExecutableElementImpl extends _ExistingElementImpl
abstract class ExecutableElementImpl2 extends FunctionTypedElementImpl2
implements ExecutableElement2OrMember {
@override
ExecutableElement2 get baseElement => this;
ExecutableElementImpl2 get baseElement => this;
@override
List<Element2> get children2 => [
@@ -5438,7 +5441,10 @@ class GenericFunctionTypeElementImpl2 extends FunctionTypedElementImpl2
/// Common base class for all analyzer-internal classes that implement
/// [GetterElement].
abstract class GetterElement2OrMember
implements PropertyAccessorElement2OrMember, GetterElement {}
implements PropertyAccessorElement2OrMember, GetterElement {
@override
GetterElementImpl get baseElement;
}
class GetterElementImpl extends PropertyAccessorElementImpl2
with
@@ -5461,7 +5467,7 @@ class GetterElementImpl extends PropertyAccessorElementImpl2
}
@override
GetterElement get baseElement => this;
GetterElementImpl get baseElement => this;
@override
SetterElement? get correspondingSetter2 =>
@@ -8358,7 +8364,10 @@ final class MetadataImpl implements Metadata {
/// Common base class for all analyzer-internal classes that implement
/// `MethodElement2`.
abstract class MethodElement2OrMember
implements MethodElement2, ExecutableElement2OrMember {}
implements MethodElement2, ExecutableElement2OrMember {
@override
MethodElementImpl2 get baseElement;
}
class MethodElementImpl extends ExecutableElementImpl
implements MethodElementOrMember, MethodFragment {
@@ -8472,7 +8481,7 @@ class MethodElementImpl2 extends ExecutableElementImpl2
MethodElementImpl2(this.name3, this.firstFragment);
@override
MethodElement2 get baseElement => this;
MethodElementImpl2 get baseElement => this;
@override
Element2? get enclosingElement2 =>
@@ -10027,6 +10036,9 @@ abstract class PromotableElementImpl2 extends VariableElementImpl2
/// `PropertyAccessorElement2`.
abstract class PropertyAccessorElement2OrMember
implements PropertyAccessorElement2, ExecutableElement2OrMember {
@override
PropertyAccessorElementImpl2 get baseElement;
@override
PropertyInducingElement2OrMember? get variable3;
}
@@ -10143,7 +10155,7 @@ sealed class PropertyAccessorElementImpl extends ExecutableElementImpl
abstract class PropertyAccessorElementImpl2 extends ExecutableElementImpl2
implements PropertyAccessorElement2OrMember {
@override
PropertyAccessorElement2 get baseElement => this;
PropertyAccessorElementImpl2 get baseElement => this;
@override
Element2 get enclosingElement2 => firstFragment.enclosingFragment.element;
@@ -10571,7 +10583,10 @@ abstract class PropertyInducingElementTypeInference {
/// Common base class for all analyzer-internal classes that implement
/// [SetterElement].
abstract class SetterElement2OrMember
implements PropertyAccessorElement2OrMember, SetterElement {}
implements PropertyAccessorElement2OrMember, SetterElement {
@override
SetterElementImpl get baseElement;
}
class SetterElementImpl extends PropertyAccessorElementImpl2
with
@@ -10594,7 +10609,7 @@ class SetterElementImpl extends PropertyAccessorElementImpl2
}
@override
SetterElement get baseElement => this;
SetterElementImpl get baseElement => this;
@override
GetterElement? get correspondingGetter2 =>
@@ -10856,7 +10871,7 @@ class TopLevelFunctionElementImpl extends ExecutableElementImpl2
}
@override
TopLevelFunctionElement get baseElement => this;
TopLevelFunctionElementImpl get baseElement => this;
@override
LibraryElementImpl get enclosingElement2 {
@@ -718,7 +718,7 @@ class GetterMember extends PropertyAccessorMember
}) : super._();
@override
GetterElement get baseElement => _element2;
GetterElementImpl get baseElement => _element2;
@override
SetterElement2OrMember? get correspondingSetter2 {
@@ -760,7 +760,9 @@ class GetterMember extends PropertyAccessorMember
variable2.asElement2 as PropertyInducingElement2OrMember?;
@override
GetterElement get _element2 => declaration.asElement2 as GetterElement;
GetterElementImpl get _element2 {
return declaration.asElement2 as GetterElementImpl;
}
@override
T? accept2<T>(ElementVisitor2<T> visitor) {
@@ -1492,7 +1494,7 @@ class SetterMember extends PropertyAccessorMember
}) : super._();
@override
SetterElement get baseElement => _element2;
SetterElementImpl get baseElement => _element2;
@override
GetterElement2OrMember? get correspondingGetter2 {
@@ -1534,7 +1536,9 @@ class SetterMember extends PropertyAccessorMember
variable2.asElement2 as PropertyInducingElement2OrMember?;
@override
SetterElement get _element2 => declaration.asElement2 as SetterElement;
SetterElementImpl get _element2 {
return declaration.asElement2 as SetterElementImpl;
}
@override
T? accept2<T>(ElementVisitor2<T> visitor) {