Index: lib/src/checker/resolver.dart |
diff --git a/lib/src/checker/resolver.dart b/lib/src/checker/resolver.dart |
index 1c0ac285acf44762e3b6083682382be59b288b91..5032888b3174a500014cbf4cde95d84445c2bef4 100644 |
--- a/lib/src/checker/resolver.dart |
+++ b/lib/src/checker/resolver.dart |
@@ -608,9 +608,17 @@ class RestrictedStaticTypeAnalyzer extends StaticTypeAnalyzer { |
var args = node.argumentList.arguments; |
var first = args.isNotEmpty ? args.first : null; |
if (first is SimpleStringLiteral) { |
- var coreLib = _typeProvider.objectType.element.library; |
- var classElem = coreLib.getType(first.stringValue); |
- if (classElem != null) node.staticType = classElem.type; |
+ var typeStr = first.stringValue; |
+ if (typeStr == '-dynamic') { |
+ node.staticType = _typeProvider.bottomType; |
+ } else { |
+ var coreLib = _typeProvider.objectType.element.library; |
+ var classElem = coreLib.getType(typeStr); |
+ if (classElem != null) { |
+ var type = fillDynamicTypeArgs(classElem.type, _typeProvider); |
+ node.staticType = type; |
+ } |
+ } |
} |
} |
} |