diff --git a/pkg/analyzer/lib/src/dart/element/least_upper_bound.dart b/pkg/analyzer/lib/src/dart/element/least_upper_bound.dart index e3d48e4c8b22..d43cb0cd3297 100644 --- a/pkg/analyzer/lib/src/dart/element/least_upper_bound.dart +++ b/pkg/analyzer/lib/src/dart/element/least_upper_bound.dart @@ -11,7 +11,6 @@ import 'package:_fe_analyzer_shared/src/type_inference/type_analyzer_operations. import 'package:analyzer/dart/element/element.dart'; import 'package:analyzer/dart/element/nullability_suffix.dart'; import 'package:analyzer/dart/element/type.dart'; -import 'package:analyzer/src/dart/element/element.dart'; import 'package:analyzer/src/dart/element/extensions.dart'; import 'package:analyzer/src/dart/element/type.dart'; import 'package:analyzer/src/dart/element/type_schema.dart'; @@ -73,8 +72,7 @@ class InterfaceLeastUpperBoundHelper { for (int i = 0; i < args1.length; i++) { // TODO(kallentu): : Clean up TypeParameterElementImpl casting once // variance is added to the interface. - Variance parameterVariance = - (params[i] as TypeParameterElementImpl).variance; + Variance parameterVariance = params[i].variance; if (parameterVariance.isCovariant) { args.add(typeSystem.leastUpperBound(args1[i], args2[i])); } else if (parameterVariance.isContravariant) { diff --git a/pkg/analyzer/lib/src/dart/element/type.dart b/pkg/analyzer/lib/src/dart/element/type.dart index c6f68c80828d..10989f5da66a 100644 --- a/pkg/analyzer/lib/src/dart/element/type.dart +++ b/pkg/analyzer/lib/src/dart/element/type.dart @@ -11,7 +11,6 @@ import 'package:analyzer/dart/element/element2.dart'; import 'package:analyzer/dart/element/nullability_suffix.dart'; import 'package:analyzer/dart/element/type.dart'; import 'package:analyzer/dart/element/type_visitor.dart'; -import 'package:analyzer/src/dart/analysis/session.dart'; import 'package:analyzer/src/dart/element/display_string_builder.dart'; import 'package:analyzer/src/dart/element/element.dart'; import 'package:analyzer/src/dart/element/inheritance_manager3.dart'; @@ -574,7 +573,7 @@ class InstantiatedTypeAliasElementImpl implements InstantiatedTypeAliasElement { /// A concrete implementation of an [InterfaceType]. class InterfaceTypeImpl extends TypeImpl implements InterfaceType { @override - final InterfaceElement element; + final InterfaceElementImpl element; @override final List typeArguments; @@ -596,6 +595,8 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType { required List typeArguments, required NullabilitySuffix nullabilitySuffix, InstantiatedTypeAliasElement? alias}) { + // TODO(paulberry): avoid this cast by changing the type of `element` + element as InterfaceElementImpl; if (element.name == 'FutureOr' && element.library.isDartAsync) { return FutureOrTypeImpl( element: element, @@ -696,8 +697,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType { .toList(); @override - InterfaceElementImpl2 get element3 => - (element as InterfaceElementImpl).element; + InterfaceElementImpl2 get element3 => element.element; @override List get getters => accessors @@ -744,7 +744,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType { @override bool get isDartCoreEnum { var element = this.element; - return element is ClassElement && element.isDartCoreEnum; + return element is ClassElementImpl && element.isDartCoreEnum; } @override @@ -881,7 +881,7 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType { } InheritanceManager3 get _inheritanceManager => - (element.library.session as AnalysisSessionImpl).inheritanceManager; + element.library.session.inheritanceManager; @override bool operator ==(Object other) { @@ -1021,7 +1021,6 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType { } if (recoveryStatic) { - var element = this.element as InterfaceElementImpl; return element.lookupStaticGetter(name, library); } @@ -1077,7 +1076,6 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType { } if (recoveryStatic) { - var element = this.element as InterfaceElementImpl; return element.lookupStaticMethod(name, library); } @@ -1133,7 +1131,6 @@ class InterfaceTypeImpl extends TypeImpl implements InterfaceType { } if (recoveryStatic) { - var element = this.element as InterfaceElementImpl; return element.lookupStaticSetter(name, library); }