Index: pkg/kernel/lib/type_checker.dart |
diff --git a/pkg/kernel/lib/type_checker.dart b/pkg/kernel/lib/type_checker.dart |
index bee75b2f1aeb20aa66c345e0a106dd51b54c4073..6c48a6d91d17175c928b6e0c574200e659ab3fb9 100644 |
--- a/pkg/kernel/lib/type_checker.dart |
+++ b/pkg/kernel/lib/type_checker.dart |
@@ -690,6 +690,11 @@ class TypeCheckingVisitor |
} |
@override |
+ DartType visitVectorCreation(VectorCreation node) { |
+ return const VectorType(); |
+ } |
+ |
+ @override |
DartType visitVectorGet(VectorGet node) { |
var type = visitExpression(node.vectorExpression); |
if (type is! VectorType) { |
@@ -726,8 +731,15 @@ class TypeCheckingVisitor |
} |
@override |
- DartType visitVectorCreation(VectorCreation node) { |
- return const VectorType(); |
+ visitClosureCreation(ClosureCreation node) { |
+ var contextType = visitExpression(node.contextVector); |
+ if (contextType is! VectorType) { |
+ fail( |
+ node.contextVector, |
+ "The second child of 'ClosureConversion' node is supposed to be a " |
+ "Vector, but $contextType found."); |
+ } |
+ return node.functionType; |
} |
@override |