Index: pkg/analyzer/lib/src/task/strong/checker.dart |
diff --git a/pkg/analyzer/lib/src/task/strong/checker.dart b/pkg/analyzer/lib/src/task/strong/checker.dart |
index 5a6bcaa262e94275f2ccbac1c23eb0771392b4f0..9f40127818c0179058f7894412189251e37811ff 100644 |
--- a/pkg/analyzer/lib/src/task/strong/checker.dart |
+++ b/pkg/analyzer/lib/src/task/strong/checker.dart |
@@ -467,6 +467,10 @@ class CodeChecker extends RecursiveAstVisitor { |
if (node.typeArguments != null) { |
var targs = node.typeArguments.arguments; |
if (targs.length > 0) type = targs[0].type; |
+ } else if (node.staticType != null && node.staticType is InterfaceType) { |
+ InterfaceType listT = node.staticType; |
+ var targs = listT.typeArguments; |
+ if (targs != null && targs.length > 0) type = targs[0]; |
} |
var elements = node.elements; |
for (int i = 0; i < elements.length; i++) { |
@@ -483,6 +487,13 @@ class CodeChecker extends RecursiveAstVisitor { |
var targs = node.typeArguments.arguments; |
if (targs.length > 0) ktype = targs[0].type; |
if (targs.length > 1) vtype = targs[1].type; |
+ } else if (node.staticType != null && node.staticType is InterfaceType) { |
+ InterfaceType mapT = node.staticType; |
+ var targs = mapT.typeArguments; |
+ if (targs != null) { |
+ if (targs.length > 0) ktype = targs[0]; |
+ if (targs.length > 1) vtype = targs[1]; |
+ } |
} |
var entries = node.entries; |
for (int i = 0; i < entries.length; i++) { |
@@ -947,7 +958,6 @@ class CodeChecker extends RecursiveAstVisitor { |
void _recordMessage(StaticInfo info) { |
if (info == null) return; |
var error = info.toAnalysisError(); |
- |
var severity = error.errorCode.errorSeverity; |
if (severity == ErrorSeverity.ERROR) _failure = true; |
if (severity != ErrorSeverity.INFO || _hints) { |