Resolve 'dynamic' element references.

R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I12414cd68a48a06940ad8a12ea1a34e22f4c72dc
Reviewed-on: https://dart-review.googlesource.com/62441
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
diff --git a/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart b/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart
index 709f366..a7510b0 100644
--- a/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart
@@ -1151,6 +1151,8 @@
       element = resynthesizer
           .getElementFromCanonicalName(referencedNode.classNode.canonicalName);
       assert(element != null);
+    } else if (referencedNode is kernel.DynamicType) {
+      element = DynamicElementImpl.instance;
     } else {
       throw new UnimplementedError(
           'TODO(paulberry): ${referencedNode.runtimeType}');
diff --git a/pkg/analyzer/test/generated/non_error_resolver_kernel_test.dart b/pkg/analyzer/test/generated/non_error_resolver_kernel_test.dart
index f7ef2eb..c032088 100644
--- a/pkg/analyzer/test/generated/non_error_resolver_kernel_test.dart
+++ b/pkg/analyzer/test/generated/non_error_resolver_kernel_test.dart
@@ -118,13 +118,6 @@
 
   @override
   @failingTest
-  test_const_dynamic() {
-    // UnimplementedError: TODO(paulberry): DynamicType
-    return super.test_const_dynamic();
-  }
-
-  @override
-  @failingTest
   @potentialAnalyzerProblem
   test_constConstructorWithNonConstSuper_unresolved() async {
     return super.test_constConstructorWithNonConstSuper_unresolved();
@@ -160,13 +153,6 @@
 
   @override
   @failingTest
-  test_dynamicIdentifier() {
-    // UnimplementedError: TODO(paulberry): DynamicType
-    return super.test_dynamicIdentifier();
-  }
-
-  @override
-  @failingTest
   test_fieldFormalParameter_genericFunctionTyped() {
     // Expected 0 errors of type ParserErrorCode.EXPECTED_TOKEN, found 1 (88)
     return super.test_fieldFormalParameter_genericFunctionTyped();