Chromium Code Reviews| 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; |
| } |