Index: lib/src/checker/checker.dart |
diff --git a/lib/src/checker/checker.dart b/lib/src/checker/checker.dart |
index 3bd7c88f414eea7d01c504007e755a4f0b4ddfa8..72f920a99f83e86c18cfdc95ecb5ee6611394ce4 100644 |
--- a/lib/src/checker/checker.dart |
+++ b/lib/src/checker/checker.dart |
@@ -744,6 +744,22 @@ class CodeChecker extends RecursiveAstVisitor { |
node.visitChildren(this); |
} |
+ @override |
+ void visitIndexExpression(IndexExpression node) { |
+ if (_rules.isDynamicTarget(node.target)) { |
+ _recordDynamicInvoke(node); |
+ } else { |
+ var element = node.staticElement; |
+ if (element is MethodElement) { |
+ var type = element.type as FunctionType; |
+ node.index = checkArgument(node.index, type.normalParameterTypes[0]); |
Leaf
2015/06/02 23:59:11
Analyzer should catch bad arity, but probably stil
Jennifer Messerly
2015/06/03 00:06:54
hmmm, good catch. Guess I should fix visitBinaryEx
|
+ } else { |
+ // TODO(vsm): Assert that the analyzer found an error here? |
+ } |
+ } |
+ node.visitChildren(this); |
+ } |
+ |
DartType getType(TypeName name) { |
return (name == null) ? _rules.provider.dynamicType : name.type; |
} |