Skip to content

Commit 8455955

Browse files
committed
Elements. Deprecate PropertyAccessorElement.
Change-Id: I6a2cc303fde74044d69d67275e55101be89dd926 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/418906 Reviewed-by: Paul Berry <[email protected]> Commit-Queue: Konstantin Shcheglov <[email protected]>
1 parent 97e5d6c commit 8455955

File tree

4 files changed

+13
-24
lines changed

4 files changed

+13
-24
lines changed

pkg/analyzer/api.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3471,7 +3471,7 @@ package:analyzer/dart/element/element.dart:
34713471
PromotableElement (class extends Object implements LocalElement, VariableElement):
34723472
new (constructor: PromotableElement Function())
34733473
name (getter: String)
3474-
PropertyAccessorElement (class extends Object implements ExecutableElement):
3474+
PropertyAccessorElement (class extends Object implements ExecutableElement, deprecated):
34753475
new (constructor: PropertyAccessorElement Function())
34763476
correspondingGetter (getter: PropertyAccessorElement?)
34773477
correspondingSetter (getter: PropertyAccessorElement?)
@@ -3483,12 +3483,12 @@ package:analyzer/dart/element/element.dart:
34833483
PropertyInducingElement (class extends Object implements VariableElement):
34843484
new (constructor: PropertyInducingElement Function())
34853485
displayName (getter: String)
3486-
getter (getter: PropertyAccessorElement?)
3486+
getter (getter: PropertyAccessorElement?, deprecated)
34873487
hasInitializer (getter: bool)
34883488
isAugmentation (getter: bool)
34893489
library (getter: LibraryElement)
34903490
name (getter: String)
3491-
setter (getter: PropertyAccessorElement?)
3491+
setter (getter: PropertyAccessorElement?, deprecated)
34923492
ShowElementCombinator (class extends Object implements NamespaceCombinator):
34933493
new (constructor: ShowElementCombinator Function())
34943494
shownNames (getter: List<String>)

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2050,6 +2050,7 @@ abstract class PromotableElement implements LocalElement, VariableElement {
20502050
/// name) induces a field that is represented by a synthetic [FieldElement].
20512051
///
20522052
/// Clients may not extend, implement or mix-in this class.
2053+
@Deprecated('Use PropertyAccessorElement2 instead')
20532054
abstract class PropertyAccessorElement implements ExecutableElement {
20542055
/// The accessor representing the getter that corresponds to (has the same
20552056
/// name as) this setter, or `null` if this accessor is not a setter or
@@ -2092,8 +2093,10 @@ abstract class PropertyAccessorElement implements ExecutableElement {
20922093
/// * Every explicit variable is represented by a non-synthetic
20932094
/// [PropertyInducingElement].
20942095
/// * Every explicit variable induces a getter and possibly a setter, both of
2096+
// ignore:deprecated_member_use_from_same_package
20952097
/// which are represented by synthetic [PropertyAccessorElement]s.
20962098
/// * Every explicit getter or setter is represented by a non-synthetic
2099+
// ignore:deprecated_member_use_from_same_package
20972100
/// [PropertyAccessorElement].
20982101
/// * Every explicit getter or setter (or pair thereof if they have the same
20992102
/// name) induces a variable that is represented by a synthetic
@@ -2108,6 +2111,7 @@ abstract class PropertyInducingElement implements VariableElement {
21082111
///
21092112
/// If this variable was explicitly defined (is not synthetic) then the
21102113
/// getter associated with it will be synthetic.
2114+
@Deprecated(elementModelDeprecationMsg)
21112115
PropertyAccessorElement? get getter;
21122116

21132117
/// Whether the variable has an initializer at declaration.
@@ -2133,6 +2137,7 @@ abstract class PropertyInducingElement implements VariableElement {
21332137
/// that does not have a corresponding setter. If this variable was
21342138
/// explicitly defined (is not synthetic) then the setter associated with
21352139
/// it will be synthetic.
2140+
@Deprecated(elementModelDeprecationMsg)
21362141
PropertyAccessorElement? get setter;
21372142
}
21382143

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

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3973,6 +3973,7 @@ class ExtensionElementImpl extends InstanceElementImpl
39733973
return null;
39743974
}
39753975

3976+
@Deprecated(elementModelDeprecationMsg)
39763977
@override
39773978
PropertyAccessorElement? getSetter(String setterName) {
39783979
return InterfaceElementImpl.getSetterFromAccessors(setterName, accessors);
@@ -9945,7 +9946,6 @@ abstract class PropertyAccessorElement2OrMember
99459946
PropertyInducingElement2OrMember? get variable3;
99469947
}
99479948

9948-
/// A concrete implementation of a [PropertyAccessorElement].
99499949
sealed class PropertyAccessorElementImpl extends ExecutableElementImpl
99509950
implements PropertyAccessorElementOrMember, PropertyAccessorFragment {
99519951
@override
@@ -10225,7 +10225,10 @@ class PropertyAccessorElementImpl_ImplicitSetter extends SetterFragmentImpl {
1022510225
/// Common base class for all analyzer-internal classes that implement
1022610226
/// `PropertyAccessorElement`.
1022710227
abstract class PropertyAccessorElementOrMember
10228-
implements PropertyAccessorElement, ExecutableElementOrMember {
10228+
implements
10229+
// ignore:deprecated_member_use_from_same_package
10230+
PropertyAccessorElement,
10231+
ExecutableElementOrMember {
1022910232
@override
1023010233
TypeImpl get returnType;
1023110234

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

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -643,15 +643,6 @@ extension PrefixElementExtension on PrefixElement {
643643
}
644644
}
645645

646-
extension PropertyAccessorElement2Extension on PropertyAccessorElement2 {
647-
PropertyAccessorElement get asElement {
648-
if (this case PropertyAccessorMember member) {
649-
return member;
650-
}
651-
return (this as PropertyAccessorElementImpl2).lastFragment;
652-
}
653-
}
654-
655646
extension PropertyAccessorElement2OrMemberExtension
656647
on PropertyAccessorElement2OrMember {
657648
PropertyAccessorElementOrMember get asElement {
@@ -662,16 +653,6 @@ extension PropertyAccessorElement2OrMemberExtension
662653
}
663654
}
664655

665-
extension PropertyAccessorElementExtension on PropertyAccessorElement {
666-
PropertyAccessorElement2 get asElement2 {
667-
return switch (this) {
668-
PropertyAccessorFragment(:var element) => element,
669-
PropertyAccessorMember member => member,
670-
_ => throw UnsupportedError('Unsupported type: $runtimeType'),
671-
};
672-
}
673-
}
674-
675656
extension PropertyAccessorElementImplExtension on PropertyAccessorElementImpl {
676657
PropertyAccessorElementImpl2 get asElement2 {
677658
return element;

0 commit comments

Comments
 (0)