@@ -11,7 +11,6 @@ import 'package:analyzer/dart/element/element2.dart';
11
11
import 'package:analyzer/dart/element/nullability_suffix.dart' ;
12
12
import 'package:analyzer/dart/element/type.dart' ;
13
13
import 'package:analyzer/dart/element/type_visitor.dart' ;
14
- import 'package:analyzer/src/dart/analysis/session.dart' ;
15
14
import 'package:analyzer/src/dart/element/display_string_builder.dart' ;
16
15
import 'package:analyzer/src/dart/element/element.dart' ;
17
16
import 'package:analyzer/src/dart/element/inheritance_manager3.dart' ;
@@ -574,7 +573,7 @@ class InstantiatedTypeAliasElementImpl implements InstantiatedTypeAliasElement {
574
573
/// A concrete implementation of an [InterfaceType] .
575
574
class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
576
575
@override
577
- final InterfaceElement element;
576
+ final InterfaceElementImpl element;
578
577
579
578
@override
580
579
final List <DartType > typeArguments;
@@ -596,6 +595,8 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
596
595
required List <DartType > typeArguments,
597
596
required NullabilitySuffix nullabilitySuffix,
598
597
InstantiatedTypeAliasElement ? alias}) {
598
+ // TODO(paulberry): avoid this cast by changing the type of `element`
599
+ element as InterfaceElementImpl ;
599
600
if (element.name == 'FutureOr' && element.library.isDartAsync) {
600
601
return FutureOrTypeImpl (
601
602
element: element,
@@ -696,8 +697,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
696
697
.toList ();
697
698
698
699
@override
699
- InterfaceElementImpl2 get element3 =>
700
- (element as InterfaceElementImpl ).element;
700
+ InterfaceElementImpl2 get element3 => element.element;
701
701
702
702
@override
703
703
List <GetterElement > get getters => accessors
@@ -744,7 +744,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
744
744
@override
745
745
bool get isDartCoreEnum {
746
746
var element = this .element;
747
- return element is ClassElement && element.isDartCoreEnum;
747
+ return element is ClassElementImpl && element.isDartCoreEnum;
748
748
}
749
749
750
750
@override
@@ -881,7 +881,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
881
881
}
882
882
883
883
InheritanceManager3 get _inheritanceManager =>
884
- ( element.library.session as AnalysisSessionImpl ) .inheritanceManager;
884
+ element.library.session.inheritanceManager;
885
885
886
886
@override
887
887
bool operator == (Object other) {
@@ -1021,7 +1021,6 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
1021
1021
}
1022
1022
1023
1023
if (recoveryStatic) {
1024
- var element = this .element as InterfaceElementImpl ;
1025
1024
return element.lookupStaticGetter (name, library);
1026
1025
}
1027
1026
@@ -1077,7 +1076,6 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
1077
1076
}
1078
1077
1079
1078
if (recoveryStatic) {
1080
- var element = this .element as InterfaceElementImpl ;
1081
1079
return element.lookupStaticMethod (name, library);
1082
1080
}
1083
1081
@@ -1133,7 +1131,6 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType {
1133
1131
}
1134
1132
1135
1133
if (recoveryStatic) {
1136
- var element = this .element as InterfaceElementImpl ;
1137
1134
return element.lookupStaticSetter (name, library);
1138
1135
}
1139
1136
0 commit comments