| Index: editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/resolver/ElementResolver.java
|
| diff --git a/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/resolver/ElementResolver.java b/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/resolver/ElementResolver.java
|
| index ef15530fd595c5e7d03a8f9fb3cc2063f9a90d3d..53d647386b0583c20649f4fa694921290f353deb 100644
|
| --- a/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/resolver/ElementResolver.java
|
| +++ b/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/resolver/ElementResolver.java
|
| @@ -290,6 +290,16 @@ public class ElementResolver extends SimpleASTVisitor<Void> {
|
| private boolean strictMode;
|
|
|
| /**
|
| + * The type representing the type 'dynamic'.
|
| + */
|
| + private Type dynamicType;
|
| +
|
| + /**
|
| + * The type representing the type 'type'.
|
| + */
|
| + private Type typeType;
|
| +
|
| + /**
|
| * The name of the method that can be implemented by a class to allow its instances to be invoked
|
| * as if they were a function.
|
| */
|
| @@ -309,6 +319,8 @@ public class ElementResolver extends SimpleASTVisitor<Void> {
|
| public ElementResolver(ResolverVisitor resolver) {
|
| this.resolver = resolver;
|
| strictMode = resolver.getDefiningLibrary().getContext().getAnalysisOptions().getStrictMode();
|
| + dynamicType = resolver.getTypeProvider().getDynamicType();
|
| + typeType = resolver.getTypeProvider().getTypeType();
|
| }
|
|
|
| @Override
|
| @@ -1033,6 +1045,14 @@ public class ElementResolver extends SimpleASTVisitor<Void> {
|
| return null;
|
| }
|
| //
|
| + // The name dynamic denotes a Type object even though dynamic is not a class.
|
| + //
|
| + if (node.getName().equals(dynamicType.getName())) {
|
| + recordResolution(node, dynamicType.getElement());
|
| + node.setStaticType(typeType);
|
| + return null;
|
| + }
|
| + //
|
| // Otherwise, the node should be resolved.
|
| //
|
| Element element = resolveSimpleIdentifier(node);
|
|
|