| Index: pkg/front_end/lib/src/fasta/type_inference/type_inferrer.dart
|
| diff --git a/pkg/front_end/lib/src/fasta/type_inference/type_inferrer.dart b/pkg/front_end/lib/src/fasta/type_inference/type_inferrer.dart
|
| index 5e064d168d61c397e9f89fb6ab510b72f0e6a0e0..614495adae6c7bbb93be059651d2b999ee217993 100644
|
| --- a/pkg/front_end/lib/src/fasta/type_inference/type_inferrer.dart
|
| +++ b/pkg/front_end/lib/src/fasta/type_inference/type_inferrer.dart
|
| @@ -259,12 +259,10 @@ abstract class TypeInferrerImpl extends TypeInferrer {
|
| calleeType = const DynamicType();
|
| }
|
| if (memberClass.typeParameters.isNotEmpty) {
|
| - var castedType = classHierarchy.getClassAsInstanceOf(
|
| - receiverType.classNode, memberClass);
|
| + var castedType =
|
| + classHierarchy.getTypeAsInstanceOf(receiverType, memberClass);
|
| calleeType = Substitution
|
| - .fromInterfaceType(Substitution
|
| - .fromInterfaceType(receiverType)
|
| - .substituteType(castedType.asInterfaceType))
|
| + .fromInterfaceType(castedType)
|
| .substituteType(calleeType);
|
| }
|
| return calleeType;
|
| @@ -315,8 +313,7 @@ abstract class TypeInferrerImpl extends TypeInferrer {
|
| }
|
| }
|
|
|
| - DartType getSetterType(
|
| - Member interfaceMember, DartType receiverType, Name methodName) {
|
| + DartType getSetterType(Member interfaceMember, DartType receiverType) {
|
| if (receiverType is InterfaceType) {
|
| if (interfaceMember == null) return const DynamicType();
|
| var memberClass = interfaceMember.enclosingClass;
|
| @@ -333,12 +330,10 @@ abstract class TypeInferrerImpl extends TypeInferrer {
|
| setterType = const DynamicType();
|
| }
|
| if (memberClass.typeParameters.isNotEmpty) {
|
| - var castedType = classHierarchy.getClassAsInstanceOf(
|
| - receiverType.classNode, memberClass);
|
| + var castedType =
|
| + classHierarchy.getTypeAsInstanceOf(receiverType, memberClass);
|
| setterType = Substitution
|
| - .fromInterfaceType(Substitution
|
| - .fromInterfaceType(receiverType)
|
| - .substituteType(castedType.asInterfaceType))
|
| + .fromInterfaceType(castedType)
|
| .substituteType(setterType);
|
| }
|
| return setterType;
|
|
|