Skip to content

Commit c496fea

Browse files
scheglovCommit Queue
authored andcommitted
Elements. Use TypeImpl in exhaustiveness.dart, remove a cast.
Change-Id: Iefe63fef5e1f94bcc194ec442e88c054f8106844 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/412187 Commit-Queue: Konstantin Shcheglov <[email protected]> Reviewed-by: Paul Berry <[email protected]>
1 parent 27cc757 commit c496fea

File tree

2 files changed

+114
-118
lines changed

2 files changed

+114
-118
lines changed

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

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -580,7 +580,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
580580
List<PropertyAccessorElement>? _accessors;
581581

582582
/// Cached [MethodElement]s - members or raw elements.
583-
List<MethodElement>? _methods;
583+
List<MethodElementOrMember>? _methods;
584584

585585
factory InterfaceTypeImpl({
586586
required InterfaceElementImpl2 element,
@@ -686,10 +686,11 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
686686
InterfaceElementImpl get element => element3.asElement;
687687

688688
@override
689-
List<GetterElement> get getters => accessors
689+
List<GetterElement2OrMember> get getters => accessors
690690
.where((accessor) => accessor.isGetter)
691691
.map((fragment) => switch (fragment) {
692-
GetterFragment(:var element) => element as GetterElement,
692+
PropertyAccessorElementImpl(:var element) =>
693+
element as GetterElement2OrMember,
693694
GetterMember() => fragment,
694695
_ => throw StateError(
695696
'unexpected fragment type: ${fragment.runtimeType}',
@@ -794,10 +795,10 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
794795
}
795796

796797
@override
797-
List<MethodElement> get methods {
798+
List<MethodElementOrMember> get methods {
798799
if (_methods == null) {
799-
List<MethodElement> methods = element.methods;
800-
var members = <MethodElement>[];
800+
var members = <MethodElementOrMember>[];
801+
var methods = element.methods;
801802
for (int i = 0; i < methods.length; i++) {
802803
members.add(MethodMember.from(methods[i], this)!);
803804
}
@@ -807,7 +808,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
807808
}
808809

809810
@override
810-
List<MethodElement2> get methods2 =>
811+
List<MethodElement2OrMember> get methods2 =>
811812
methods.map((e) => e.asElement2).toList();
812813

813814
@override

0 commit comments

Comments
 (0)