Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(426)

Unified Diff: pkg/front_end/lib/src/fasta/type_inference/type_inferrer.dart

Issue 2916273002: Clean up type inference for PropertySet. (Closed)
Patch Set: Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/front_end/lib/src/fasta/kernel/kernel_shadow_ast.dart ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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;
« no previous file with comments | « pkg/front_end/lib/src/fasta/kernel/kernel_shadow_ast.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698