Skip to content

Commit 19c5d0d

Browse files
scheglovCommit Queue
authored andcommitted
Elements. Deprecate MixinElement.
Change-Id: I03ded956186834561e2ab1ce6ff0626c9f054e2e Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/418827 Reviewed-by: Paul Berry <[email protected]> Commit-Queue: Konstantin Shcheglov <[email protected]>
1 parent 733ca50 commit 19c5d0d

File tree

4 files changed

+8
-14
lines changed

4 files changed

+8
-14
lines changed

pkg/analyzer/api.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3423,7 +3423,7 @@ package:analyzer/dart/element/element.dart:
34233423
MethodElement (class extends Object implements ClassMemberElement, ExecutableElement):
34243424
new (constructor: MethodElement Function())
34253425
declaration (getter: MethodElement)
3426-
MixinElement (class extends Object implements InterfaceElement):
3426+
MixinElement (class extends Object implements InterfaceElement, deprecated):
34273427
new (constructor: MixinElement Function())
34283428
isBase (getter: bool)
34293429
superclassConstraints (getter: List<InterfaceType>)

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1832,6 +1832,7 @@ abstract class MethodElement
18321832
/// An element that represents a mixin.
18331833
///
18341834
/// Clients may not extend, implement or mix-in this class.
1835+
@Deprecated('Use MixinElement2 instead')
18351836
abstract class MixinElement implements InterfaceElement {
18361837
/// Whether the mixin is a base mixin.
18371838
///

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

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1199,6 +1199,7 @@ class CompilationUnitElementImpl extends UriReferencedElementImpl
11991199
/// Returns the mixin defined in this compilation unit that has the given
12001200
/// [name], or `null` if this compilation unit does not define a mixin with
12011201
/// the given name.
1202+
@Deprecated(elementModelDeprecationMsg)
12021203
MixinElement? getMixin(String name) {
12031204
for (var mixin in mixins) {
12041205
if (mixin.name == name) {
@@ -7370,6 +7371,7 @@ class LibraryElementImpl extends ElementImpl
73707371
return _getElementByName(getters, name);
73717372
}
73727373

7374+
@Deprecated(elementModelDeprecationMsg)
73737375
MixinElement? getMixin(String name) {
73747376
for (var unitElement in units) {
73757377
var element = unitElement.getMixin(name);
@@ -8436,7 +8438,10 @@ abstract class MethodElementOrMember
84368438

84378439
/// A [ClassElementImpl] representing a mixin declaration.
84388440
class MixinElementImpl extends ClassOrMixinElementImpl
8439-
implements MixinElement, MixinFragment {
8441+
implements
8442+
// ignore:deprecated_member_use_from_same_package
8443+
MixinElement,
8444+
MixinFragment {
84408445
List<InterfaceTypeImpl> _superclassConstraints = const [];
84418446

84428447
/// Names of methods, getters, setters, and operators that this mixin

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

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -656,18 +656,6 @@ extension MethodElementOrMemberExtension on MethodElementOrMember {
656656
}
657657
}
658658

659-
extension MixinElement2Extension on MixinElement2 {
660-
MixinElement get asElement {
661-
return firstFragment as MixinElement;
662-
}
663-
}
664-
665-
extension MixinElementExtension on MixinElement {
666-
MixinElement2 get asElement2 {
667-
return (this as MixinElementImpl).element;
668-
}
669-
}
670-
671659
extension MixinElementImplExtension on MixinElementImpl {
672660
MixinElementImpl2 get asElement2 {
673661
return element;

0 commit comments

Comments
 (0)