Version 1.20.0-dev.5.0

Merge commit '4fce5e9022acabf3673694e96370e752eb597676' into dev
diff --git a/DEPS b/DEPS
index e53f378..e7993ab 100644
--- a/DEPS
+++ b/DEPS
@@ -28,7 +28,7 @@
   "github_dartlang": "https://github.com/dart-lang/%s.git",
 
   "gyp_rev": "@6ee91ad8659871916f9aa840d42e1513befdf638",
-  "co19_rev": "@3f0a4bc9a080a792cdf5f093147a900f99ea301f",
+  "co19_rev": "@d4767b4caea3c5828ad8e053cd051d44a59061af",
 
   # Revisions of GN/Mojo/Flutter related dependencies.
   "base_revision": "@672b04e54b937ec899429a6bd5409c5a6300d151",
@@ -70,7 +70,7 @@
   "isolate_tag": "@0.2.3",
   "jinja2_rev": "@2222b31554f03e62600cd7e383376a7c187967a1",
   "json_rpc_2_tag": "@2.0.2",
-  "kernel_rev": "@9509d282a62fe025f8d6242bb233b02e0a7fee04",
+  "kernel_rev": "@9677d68402ea15d0eca6430d64f631bb3e505499",
   "linter_tag": "@0.1.26",
   "logging_tag": "@0.11.3+1",
   "markdown_rev": "@4aaadf3d940bb172e1f6285af4d2b1710d309982",
diff --git a/pkg/analysis_server/benchmark/integration/instrumentation_input_converter.dart b/pkg/analysis_server/benchmark/integration/instrumentation_input_converter.dart
index bcfca4e..3f8c69a 100644
--- a/pkg/analysis_server/benchmark/integration/instrumentation_input_converter.dart
+++ b/pkg/analysis_server/benchmark/integration/instrumentation_input_converter.dart
@@ -6,8 +6,8 @@
 
 import 'dart:convert';
 
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/instrumentation/instrumentation.dart';
-import 'package:analyzer/src/generated/java_engine.dart';
 import 'package:logging/logging.dart';
 
 import 'input_converter.dart';
diff --git a/pkg/analysis_server/benchmark/integration/log_file_input_converter.dart b/pkg/analysis_server/benchmark/integration/log_file_input_converter.dart
index 3490860..85ba24f 100644
--- a/pkg/analysis_server/benchmark/integration/log_file_input_converter.dart
+++ b/pkg/analysis_server/benchmark/integration/log_file_input_converter.dart
@@ -6,7 +6,7 @@
 
 import 'dart:convert';
 
-import 'package:analyzer/src/generated/java_engine.dart';
+import 'package:analyzer/exception/exception.dart';
 import 'package:logging/logging.dart';
 
 import 'input_converter.dart';
diff --git a/pkg/analysis_server/lib/src/analysis_logger.dart b/pkg/analysis_server/lib/src/analysis_logger.dart
index 8b9c9b6..9aff46d 100644
--- a/pkg/analysis_server/lib/src/analysis_logger.dart
+++ b/pkg/analysis_server/lib/src/analysis_logger.dart
@@ -5,8 +5,8 @@
 library analysis.logger;
 
 import 'package:analysis_server/src/analysis_server.dart';
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/src/generated/engine.dart';
-import 'package:analyzer/src/generated/java_engine.dart';
 import 'package:logging/logging.dart' as logging;
 
 /**
diff --git a/pkg/analysis_server/lib/src/analysis_server.dart b/pkg/analysis_server/lib/src/analysis_server.dart
index c8a653a..00d113e 100644
--- a/pkg/analysis_server/lib/src/analysis_server.dart
+++ b/pkg/analysis_server/lib/src/analysis_server.dart
@@ -6,7 +6,7 @@
 
 import 'dart:async';
 import 'dart:collection';
-import 'dart:core' hide Resource;
+import 'dart:core';
 import 'dart:io' as io;
 import 'dart:math' show max;
 
@@ -33,8 +33,7 @@
 import 'package:analyzer/src/context/builder.dart';
 import 'package:analyzer/src/dart/ast/utilities.dart';
 import 'package:analyzer/src/generated/engine.dart';
-import 'package:analyzer/src/generated/java_engine.dart';
-import 'package:analyzer/src/generated/java_io.dart';
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/src/generated/sdk.dart';
 import 'package:analyzer/src/generated/source.dart';
 import 'package:analyzer/src/generated/source_io.dart';
@@ -401,7 +400,7 @@
       for (String pattern in patterns) {
         try {
           _analyzedFilesGlobs
-              .add(new Glob(JavaFile.pathContext.separator, pattern));
+              .add(new Glob(resourceProvider.pathContext.separator, pattern));
         } catch (exception, stackTrace) {
           AnalysisEngine.instance.logger.logError(
               'Invalid glob pattern: "$pattern"',
diff --git a/pkg/analysis_server/lib/src/context_manager.dart b/pkg/analysis_server/lib/src/context_manager.dart
index 5c47909..14c64d4 100644
--- a/pkg/analysis_server/lib/src/context_manager.dart
+++ b/pkg/analysis_server/lib/src/context_manager.dart
@@ -7,7 +7,7 @@
 import 'dart:async';
 import 'dart:collection';
 import 'dart:convert';
-import 'dart:core' hide Resource;
+import 'dart:core';
 
 import 'package:analysis_server/src/analysis_server.dart';
 import 'package:analyzer/file_system/file_system.dart';
@@ -25,7 +25,7 @@
 import 'package:analyzer/src/context/context.dart' as context;
 import 'package:analyzer/src/dart/sdk/sdk.dart';
 import 'package:analyzer/src/generated/engine.dart';
-import 'package:analyzer/src/generated/java_engine.dart';
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/src/generated/java_io.dart';
 import 'package:analyzer/src/generated/sdk.dart';
 import 'package:analyzer/src/generated/source.dart';
diff --git a/pkg/analysis_server/lib/src/domain_analysis.dart b/pkg/analysis_server/lib/src/domain_analysis.dart
index 6dc2c43..1c00252 100644
--- a/pkg/analysis_server/lib/src/domain_analysis.dart
+++ b/pkg/analysis_server/lib/src/domain_analysis.dart
@@ -5,7 +5,7 @@
 library domain.analysis;
 
 import 'dart:async';
-import 'dart:core' hide Resource;
+import 'dart:core';
 
 import 'package:analysis_server/plugin/analysis/analysis_domain.dart';
 import 'package:analysis_server/src/analysis_server.dart';
@@ -21,9 +21,9 @@
 import 'package:analysis_server/src/services/dependencies/reachable_source_collector.dart';
 import 'package:analyzer/dart/ast/ast.dart';
 import 'package:analyzer/dart/element/element.dart';
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/file_system/file_system.dart';
 import 'package:analyzer/src/generated/engine.dart' as engine;
-import 'package:analyzer/src/generated/java_engine.dart' show CaughtException;
 import 'package:analyzer/src/generated/source.dart';
 import 'package:analyzer/task/model.dart' show ResultDescriptor;
 
diff --git a/pkg/analysis_server/lib/src/domain_diagnostic.dart b/pkg/analysis_server/lib/src/domain_diagnostic.dart
index df32e9e..1f2609c 100644
--- a/pkg/analysis_server/lib/src/domain_diagnostic.dart
+++ b/pkg/analysis_server/lib/src/domain_diagnostic.dart
@@ -5,7 +5,7 @@
 library analysis_server.src.domain_diagnostic;
 
 import 'dart:collection';
-import 'dart:core' hide Resource;
+import 'dart:core';
 
 import 'package:analysis_server/plugin/protocol/protocol.dart';
 import 'package:analysis_server/src/analysis_server.dart';
diff --git a/pkg/analysis_server/lib/src/domain_execution.dart b/pkg/analysis_server/lib/src/domain_execution.dart
index 4954152..5524426 100644
--- a/pkg/analysis_server/lib/src/domain_execution.dart
+++ b/pkg/analysis_server/lib/src/domain_execution.dart
@@ -6,7 +6,7 @@
 
 import 'dart:async';
 import 'dart:collection';
-import 'dart:core' hide Resource;
+import 'dart:core';
 
 import 'package:analysis_server/plugin/protocol/protocol.dart';
 import 'package:analysis_server/src/analysis_server.dart';
diff --git a/pkg/analysis_server/lib/src/domains/analysis/navigation.dart b/pkg/analysis_server/lib/src/domains/analysis/navigation.dart
index c991353..73f8b73 100644
--- a/pkg/analysis_server/lib/src/domains/analysis/navigation.dart
+++ b/pkg/analysis_server/lib/src/domains/analysis/navigation.dart
@@ -10,9 +10,9 @@
 import 'package:analysis_server/src/analysis_server.dart';
 import 'package:analysis_server/src/collections.dart';
 import 'package:analysis_server/src/protocol_server.dart' as protocol;
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/src/generated/engine.dart'
     show AnalysisContext, AnalysisEngine;
-import 'package:analyzer/src/generated/java_engine.dart' show CaughtException;
 import 'package:analyzer/src/generated/source.dart' show Source, SourceRange;
 
 /**
diff --git a/pkg/analysis_server/lib/src/domains/analysis/occurrences.dart b/pkg/analysis_server/lib/src/domains/analysis/occurrences.dart
index 2c3668d..34b3a24 100644
--- a/pkg/analysis_server/lib/src/domains/analysis/occurrences.dart
+++ b/pkg/analysis_server/lib/src/domains/analysis/occurrences.dart
@@ -7,9 +7,9 @@
 import 'package:analysis_server/plugin/analysis/occurrences/occurrences_core.dart';
 import 'package:analysis_server/src/analysis_server.dart';
 import 'package:analysis_server/src/protocol_server.dart' as protocol;
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/src/generated/engine.dart'
     show AnalysisContext, AnalysisEngine;
-import 'package:analyzer/src/generated/java_engine.dart' show CaughtException;
 import 'package:analyzer/src/generated/source.dart' show Source;
 
 /**
diff --git a/pkg/analysis_server/lib/src/protocol_server.dart b/pkg/analysis_server/lib/src/protocol_server.dart
index 864f04f..0a00a17 100644
--- a/pkg/analysis_server/lib/src/protocol_server.dart
+++ b/pkg/analysis_server/lib/src/protocol_server.dart
@@ -13,11 +13,11 @@
 import 'package:analyzer/dart/ast/visitor.dart' as engine;
 import 'package:analyzer/dart/element/element.dart' as engine;
 import 'package:analyzer/dart/element/type.dart' as engine;
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/source/error_processor.dart';
 import 'package:analyzer/src/dart/ast/utilities.dart' as engine;
 import 'package:analyzer/src/generated/engine.dart' as engine;
 import 'package:analyzer/src/generated/error.dart' as engine;
-import 'package:analyzer/src/generated/java_engine.dart';
 import 'package:analyzer/src/generated/source.dart' as engine;
 import 'package:analyzer/src/generated/utilities_dart.dart' as engine;
 
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/completion_manager.dart b/pkg/analysis_server/lib/src/services/completion/dart/completion_manager.dart
index f05284d..ef95f10 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/completion_manager.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/completion_manager.dart
@@ -22,11 +22,11 @@
 import 'package:analyzer/dart/ast/token.dart';
 import 'package:analyzer/dart/element/element.dart';
 import 'package:analyzer/dart/element/type.dart';
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/file_system/file_system.dart';
 import 'package:analyzer/src/context/context.dart' show AnalysisFutureHelper;
 import 'package:analyzer/src/dart/ast/token.dart';
 import 'package:analyzer/src/generated/engine.dart';
-import 'package:analyzer/src/generated/java_engine.dart';
 import 'package:analyzer/src/generated/source.dart';
 import 'package:analyzer/src/task/dart.dart';
 import 'package:analyzer/task/dart.dart';
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/type_member_contributor.dart b/pkg/analysis_server/lib/src/services/completion/dart/type_member_contributor.dart
index 0cf9318..d535ef4 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/type_member_contributor.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/type_member_contributor.dart
@@ -331,6 +331,15 @@
       }
     }
     String identifier = element.displayName;
+
+    if (relevance == DART_RELEVANCE_DEFAULT && identifier != null) {
+      // Decrease relevance of suggestions starting with $
+      // https://github.com/dart-lang/sdk/issues/27303
+      if (identifier.startsWith(r'$')) {
+        relevance = DART_RELEVANCE_LOW;
+      }
+    }
+
     int alreadyGenerated = _completionTypesGenerated.putIfAbsent(
         identifier, () => _COMPLETION_TYPE_NONE);
     if (element is MethodElement) {
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/uri_contributor.dart b/pkg/analysis_server/lib/src/services/completion/dart/uri_contributor.dart
index 949ec9c..01176aa 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/uri_contributor.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/uri_contributor.dart
@@ -5,7 +5,7 @@
 library services.completion.contributor.dart.importuri;
 
 import 'dart:async';
-import 'dart:core' hide Resource;
+import 'dart:core';
 
 import 'package:analysis_server/src/provisional/completion/dart/completion_dart.dart';
 import 'package:analyzer/dart/ast/ast.dart';
diff --git a/pkg/analysis_server/lib/src/services/correction/assist.dart b/pkg/analysis_server/lib/src/services/correction/assist.dart
index 2bcf316..a1a5387 100644
--- a/pkg/analysis_server/lib/src/services/correction/assist.dart
+++ b/pkg/analysis_server/lib/src/services/correction/assist.dart
@@ -8,8 +8,8 @@
 
 import 'package:analysis_server/plugin/edit/assist/assist_core.dart';
 import 'package:analysis_server/src/plugin/server_plugin.dart';
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/src/generated/engine.dart';
-import 'package:analyzer/src/generated/java_engine.dart';
 import 'package:analyzer/src/generated/source.dart';
 
 /**
diff --git a/pkg/analysis_server/lib/src/services/correction/fix.dart b/pkg/analysis_server/lib/src/services/correction/fix.dart
index e25f0b4..05ec763 100644
--- a/pkg/analysis_server/lib/src/services/correction/fix.dart
+++ b/pkg/analysis_server/lib/src/services/correction/fix.dart
@@ -9,10 +9,10 @@
 import 'package:analysis_server/plugin/edit/fix/fix_core.dart';
 import 'package:analysis_server/src/plugin/server_plugin.dart';
 import 'package:analysis_server/src/services/correction/fix_internal.dart';
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/file_system/file_system.dart';
 import 'package:analyzer/src/generated/engine.dart';
 import 'package:analyzer/src/generated/error.dart';
-import 'package:analyzer/src/generated/java_engine.dart';
 import 'package:analyzer/src/generated/parser.dart';
 
 /**
diff --git a/pkg/analysis_server/lib/src/services/correction/fix_internal.dart b/pkg/analysis_server/lib/src/services/correction/fix_internal.dart
index dff8dff..6b8ee68 100644
--- a/pkg/analysis_server/lib/src/services/correction/fix_internal.dart
+++ b/pkg/analysis_server/lib/src/services/correction/fix_internal.dart
@@ -6,7 +6,7 @@
 
 import 'dart:async';
 import 'dart:collection';
-import 'dart:core' hide Resource;
+import 'dart:core';
 
 import 'package:analysis_server/plugin/edit/fix/fix_core.dart';
 import 'package:analysis_server/plugin/edit/fix/fix_dart.dart';
diff --git a/pkg/analysis_server/lib/src/services/refactoring/move_file.dart b/pkg/analysis_server/lib/src/services/refactoring/move_file.dart
index 4a25e6d..f8c8919 100644
--- a/pkg/analysis_server/lib/src/services/refactoring/move_file.dart
+++ b/pkg/analysis_server/lib/src/services/refactoring/move_file.dart
@@ -5,7 +5,7 @@
 library services.src.refactoring.move_file;
 
 import 'dart:async';
-import 'dart:core' hide Resource;
+import 'dart:core';
 
 import 'package:analysis_server/src/protocol_server.dart' hide Element;
 import 'package:analysis_server/src/services/correction/status.dart';
@@ -181,6 +181,7 @@
           }
         }
       }
+
       updateUriElements(library.imports);
       updateUriElements(library.exports);
     }
diff --git a/pkg/analysis_server/lib/src/services/search/search_engine.dart b/pkg/analysis_server/lib/src/services/search/search_engine.dart
index e6d2738..72ca482 100644
--- a/pkg/analysis_server/lib/src/services/search/search_engine.dart
+++ b/pkg/analysis_server/lib/src/services/search/search_engine.dart
@@ -10,8 +10,8 @@
 import 'package:analyzer/dart/element/visitor.dart';
 import 'package:analyzer/src/dart/element/element.dart';
 import 'package:analyzer/src/generated/engine.dart' show AnalysisContext;
-import 'package:analyzer/src/generated/java_core.dart';
 import 'package:analyzer/src/generated/source.dart';
+import 'package:analyzer/src/generated/utilities_general.dart';
 
 /**
  * Instances of the enum [MatchKind] represent the kind of reference that was
@@ -175,8 +175,9 @@
   String get file => unitSource.fullName;
 
   @override
-  int get hashCode =>
-      JavaArrays.makeHashCode([libraryUri, unitUri, kind, sourceRange]);
+  int get hashCode {
+    return JenkinsSmiHash.hash4(libraryUri, unitUri, kind, sourceRange);
+  }
 
   /**
    * Return the [LibraryElement] for the [libraryUri] in the [context].
diff --git a/pkg/analysis_server/lib/src/single_context_manager.dart b/pkg/analysis_server/lib/src/single_context_manager.dart
index 058d77e..9f4db07 100644
--- a/pkg/analysis_server/lib/src/single_context_manager.dart
+++ b/pkg/analysis_server/lib/src/single_context_manager.dart
@@ -5,7 +5,7 @@
 library analysis_server.src.single_context_manager;
 
 import 'dart:async';
-import 'dart:core' hide Resource;
+import 'dart:core';
 import 'dart:math' as math;
 
 import 'package:analysis_server/src/context_manager.dart';
diff --git a/pkg/analysis_server/lib/src/source/caching_pub_package_map_provider.dart b/pkg/analysis_server/lib/src/source/caching_pub_package_map_provider.dart
index 48abf8e..964e7de 100644
--- a/pkg/analysis_server/lib/src/source/caching_pub_package_map_provider.dart
+++ b/pkg/analysis_server/lib/src/source/caching_pub_package_map_provider.dart
@@ -5,7 +5,7 @@
 library source.caching_pub_package_map_provider;
 
 import 'dart:convert';
-import 'dart:core' hide Resource;
+import 'dart:core';
 import 'dart:io' as io;
 
 import 'package:analyzer/file_system/file_system.dart';
diff --git a/pkg/analysis_server/lib/src/status/get_handler.dart b/pkg/analysis_server/lib/src/status/get_handler.dart
index 157225f..54293cd 100644
--- a/pkg/analysis_server/lib/src/status/get_handler.dart
+++ b/pkg/analysis_server/lib/src/status/get_handler.dart
@@ -27,6 +27,7 @@
 import 'package:analyzer/dart/ast/ast.dart';
 import 'package:analyzer/dart/element/element.dart';
 import 'package:analyzer/dart/element/visitor.dart';
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/file_system/file_system.dart';
 import 'package:analyzer/source/error_processor.dart';
 import 'package:analyzer/source/sdk_ext.dart';
@@ -36,7 +37,6 @@
 import 'package:analyzer/src/dart/sdk/sdk.dart';
 import 'package:analyzer/src/generated/engine.dart';
 import 'package:analyzer/src/generated/error.dart';
-import 'package:analyzer/src/generated/java_engine.dart';
 import 'package:analyzer/src/generated/resolver.dart';
 import 'package:analyzer/src/generated/sdk.dart';
 import 'package:analyzer/src/generated/source.dart';
diff --git a/pkg/analysis_server/lib/src/status/tree_writer.dart b/pkg/analysis_server/lib/src/status/tree_writer.dart
index daa7966..65e2cb0 100644
--- a/pkg/analysis_server/lib/src/status/tree_writer.dart
+++ b/pkg/analysis_server/lib/src/status/tree_writer.dart
@@ -6,9 +6,9 @@
 
 import 'dart:convert';
 
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/src/dart/element/element.dart';
 import 'package:analyzer/src/generated/constant.dart';
-import 'package:analyzer/src/generated/java_engine.dart';
 import 'package:analyzer/src/generated/source.dart';
 
 /**
diff --git a/pkg/analysis_server/lib/src/watch_manager.dart b/pkg/analysis_server/lib/src/watch_manager.dart
index 04973b9..270627b 100644
--- a/pkg/analysis_server/lib/src/watch_manager.dart
+++ b/pkg/analysis_server/lib/src/watch_manager.dart
@@ -6,7 +6,7 @@
 
 import 'dart:async';
 import 'dart:collection';
-import 'dart:core' hide Resource;
+import 'dart:core';
 
 import 'package:analyzer/file_system/file_system.dart';
 import 'package:watcher/watcher.dart';
diff --git a/pkg/analysis_server/test/abstract_context.dart b/pkg/analysis_server/test/abstract_context.dart
index c0d22f1..d7b70df 100644
--- a/pkg/analysis_server/test/abstract_context.dart
+++ b/pkg/analysis_server/test/abstract_context.dart
@@ -7,11 +7,11 @@
 import 'package:analyzer/dart/ast/ast.dart';
 import 'package:analyzer/dart/element/element.dart';
 import 'package:analyzer/dart/element/visitor.dart';
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/file_system/file_system.dart';
 import 'package:analyzer/file_system/memory_file_system.dart';
 import 'package:analyzer/source/package_map_resolver.dart';
 import 'package:analyzer/src/generated/engine.dart';
-import 'package:analyzer/src/generated/java_engine.dart' show CaughtException;
 import 'package:analyzer/src/generated/sdk.dart';
 import 'package:analyzer/src/generated/source_io.dart';
 
diff --git a/pkg/analysis_server/test/analysis_server_test.dart b/pkg/analysis_server/test/analysis_server_test.dart
index 5b4efed..ed50563 100644
--- a/pkg/analysis_server/test/analysis_server_test.dart
+++ b/pkg/analysis_server/test/analysis_server_test.dart
@@ -13,12 +13,12 @@
 import 'package:analysis_server/src/domain_server.dart';
 import 'package:analysis_server/src/operation/operation.dart';
 import 'package:analysis_server/src/plugin/server_plugin.dart';
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/file_system/file_system.dart';
 import 'package:analyzer/file_system/memory_file_system.dart';
 import 'package:analyzer/instrumentation/instrumentation.dart';
 import 'package:analyzer/source/package_map_resolver.dart';
 import 'package:analyzer/src/generated/engine.dart';
-import 'package:analyzer/src/generated/java_engine.dart';
 import 'package:analyzer/src/generated/sdk.dart';
 import 'package:analyzer/src/generated/source.dart';
 import 'package:plugin/manager.dart';
diff --git a/pkg/analysis_server/test/completion_test_support.dart b/pkg/analysis_server/test/completion_test_support.dart
index 1ef8e4c..e477c5b 100644
--- a/pkg/analysis_server/test/completion_test_support.dart
+++ b/pkg/analysis_server/test/completion_test_support.dart
@@ -8,7 +8,6 @@
 import 'dart:collection';
 
 import 'package:analysis_server/plugin/protocol/protocol.dart';
-import 'package:analyzer/src/generated/java_core.dart';
 import 'package:unittest/unittest.dart';
 
 import 'domain_completion_test.dart';
@@ -162,8 +161,7 @@
       String value = result.substring(2);
       LocationSpec test = tests[id];
       if (test == null) {
-        throw new StateError(
-            "Invalid location result id: $id for: $result");
+        throw new StateError("Invalid location result id: $id for: $result");
       }
       test.source = modifiedSource;
       if (sign == '+') {
diff --git a/pkg/analysis_server/test/context_manager_test.dart b/pkg/analysis_server/test/context_manager_test.dart
index 1aa02fe..c00648c 100644
--- a/pkg/analysis_server/test/context_manager_test.dart
+++ b/pkg/analysis_server/test/context_manager_test.dart
@@ -5,6 +5,7 @@
 library test.context.directory.manager;
 
 import 'dart:collection';
+import 'dart:io' as io;
 
 import 'package:analysis_server/src/context_manager.dart';
 import 'package:analyzer/file_system/file_system.dart';
@@ -15,7 +16,6 @@
 import 'package:analyzer/src/dart/sdk/sdk.dart';
 import 'package:analyzer/src/generated/engine.dart';
 import 'package:analyzer/src/generated/error.dart';
-import 'package:analyzer/src/generated/java_io.dart';
 import 'package:analyzer/src/generated/sdk.dart';
 import 'package:analyzer/src/generated/source.dart';
 import 'package:analyzer/src/generated/source_io.dart';
@@ -154,8 +154,10 @@
     var context = contexts[0];
     var source = context.sourceFactory.forUri('dart:foobar');
     expect(source, isNotNull);
-    expect(source.fullName,
-        '/my/proj/sdk_ext/entry.dart'.replaceAll('/', JavaFile.separator));
+    expect(
+        source.fullName,
+        '/my/proj/sdk_ext/entry.dart'
+            .replaceAll('/', io.Platform.pathSeparator));
     // We can't find dart:core because we didn't list it in our
     // embedded_libs map.
     expect(context.sourceFactory.forUri('dart:core'), isNull);
@@ -1771,7 +1773,7 @@
       '**/${AnalysisEngine.ANALYSIS_OPTIONS_YAML_FILE}'
     ];
     return patterns
-        .map((pattern) => new Glob(JavaFile.pathContext.separator, pattern))
+        .map((pattern) => new Glob(posix.separator, pattern))
         .toList();
   }
 
@@ -2193,8 +2195,10 @@
     // Sanity check embedder libs.
     var source = context.sourceFactory.forUri('dart:foobar');
     expect(source, isNotNull);
-    expect(source.fullName,
-        '/my/proj/sdk_ext/entry.dart'.replaceAll('/', JavaFile.separator));
+    expect(
+        source.fullName,
+        '/my/proj/sdk_ext/entry.dart'
+            .replaceAll('/', io.Platform.pathSeparator));
   }
 
   test_embedder_options() async {
@@ -2287,8 +2291,10 @@
     // Sanity check embedder libs.
     var source = context.sourceFactory.forUri('dart:foobar');
     expect(source, isNotNull);
-    expect(source.fullName,
-        '/my/proj/sdk_ext/entry.dart'.replaceAll('/', JavaFile.separator));
+    expect(
+        source.fullName,
+        '/my/proj/sdk_ext/entry.dart'
+            .replaceAll('/', io.Platform.pathSeparator));
   }
 
   test_error_filter_analysis_option() async {
diff --git a/pkg/analysis_server/test/services/completion/dart/type_member_contributor_test.dart b/pkg/analysis_server/test/services/completion/dart/type_member_contributor_test.dart
index 1a74e78..b3dfba3 100644
--- a/pkg/analysis_server/test/services/completion/dart/type_member_contributor_test.dart
+++ b/pkg/analysis_server/test/services/completion/dart/type_member_contributor_test.dart
@@ -2992,9 +2992,9 @@
 
   test_MethodInvocation_no_semicolon() async {
     // MethodInvocation  ExpressionStatement  Block
-    addTestSource('''
+    addTestSource(r'''
         main() { }
-        class I {X get f => new A();get _g => new A();}
+        class I {X get f => new A();get _g => new A(); F $p; void $q(){}}
         class A implements I {
           var b; X _c;
           X get d => new A();get _e => new A();
@@ -3007,6 +3007,8 @@
     expect(replacementLength, 0);
     assertSuggestGetter('f', 'X');
     assertSuggestGetter('_g', null);
+    assertSuggestField(r'$p', 'dynamic', relevance: DART_RELEVANCE_LOW);
+    assertSuggestMethod(r'$q', 'I', 'void', relevance: DART_RELEVANCE_LOW);
     assertNotSuggested('b');
     assertNotSuggested('_c');
     assertNotSuggested('d');
diff --git a/pkg/analysis_server/test/single_context_manager_test.dart b/pkg/analysis_server/test/single_context_manager_test.dart
index d85214a..62376bf 100644
--- a/pkg/analysis_server/test/single_context_manager_test.dart
+++ b/pkg/analysis_server/test/single_context_manager_test.dart
@@ -4,12 +4,11 @@
 
 library test.analysis_server.src.single_context_manager;
 
-import 'dart:core' hide Resource;
+import 'dart:core';
 
 import 'package:analysis_server/src/single_context_manager.dart';
 import 'package:analyzer/file_system/memory_file_system.dart';
 import 'package:analyzer/src/generated/engine.dart';
-import 'package:analyzer/src/generated/java_io.dart';
 import 'package:analyzer/src/generated/sdk.dart';
 import 'package:analyzer/src/generated/source.dart';
 import 'package:analyzer/src/generated/source_io.dart';
@@ -45,7 +44,7 @@
       '**/*.${AnalysisEngine.SUFFIX_HTML}',
     ];
     return patterns
-        .map((pattern) => new Glob(JavaFile.pathContext.separator, pattern))
+        .map((pattern) => new Glob(posix.separator, pattern))
         .toList();
   }
 
diff --git a/pkg/analysis_server/test/source/caching_put_package_map_provider_test.dart b/pkg/analysis_server/test/source/caching_put_package_map_provider_test.dart
index de239de..4b78803 100644
--- a/pkg/analysis_server/test/source/caching_put_package_map_provider_test.dart
+++ b/pkg/analysis_server/test/source/caching_put_package_map_provider_test.dart
@@ -5,7 +5,7 @@
 library test.source.caching_pub_package_map_provider;
 
 import 'dart:convert';
-import 'dart:core' hide Resource;
+import 'dart:core';
 import 'dart:io' as io;
 
 import 'package:analysis_server/src/source/caching_pub_package_map_provider.dart';
diff --git a/pkg/analysis_server/test/utils.dart b/pkg/analysis_server/test/utils.dart
index 2ca53b7..e87a3c8 100644
--- a/pkg/analysis_server/test/utils.dart
+++ b/pkg/analysis_server/test/utils.dart
@@ -4,11 +4,8 @@
 
 library analysis_server.test.utils;
 
-import 'package:analyzer/src/generated/java_io.dart';
-import 'package:path/path.dart' as path;
 import 'package:unittest/unittest.dart';
 
 void initializeTestEnvironment() {
   groupSep = ' | ';
-  JavaFile.pathContext = path.posix;
 }
diff --git a/pkg/analyzer/CHANGELOG.md b/pkg/analyzer/CHANGELOG.md
index 3610f49..f47e10a 100644
--- a/pkg/analyzer/CHANGELOG.md
+++ b/pkg/analyzer/CHANGELOG.md
@@ -1,3 +1,6 @@
+## 0.29.0-alpha.0
+* Removed `Element.docRange`.
+
 ## 0.28.2-alpha.0
 * Corresponds with the analyzer/server in the `1.20.0-dev.1.0 ` SDK.
 
diff --git a/pkg/analyzer/lib/dart/element/element.dart b/pkg/analyzer/lib/dart/element/element.dart
index b829bee..307ad1b 100644
--- a/pkg/analyzer/lib/dart/element/element.dart
+++ b/pkg/analyzer/lib/dart/element/element.dart
@@ -590,15 +590,6 @@
   String get displayName;
 
   /**
-   * Return the source range of the documentation comment for this element,
-   * or `null` if this element does not or cannot have a documentation.
-   *
-   * Deprecated.  Use [documentationComment] instead.
-   */
-  @deprecated
-  SourceRange get docRange;
-
-  /**
    * Return the content of the documentation comment (including delimiters) for
    * this element, or `null` if this element does not or cannot have
    * documentation.
@@ -1491,11 +1482,6 @@
   List<CompilationUnitElement> get units;
 
   /**
-   * Return a list containing all directly and indirectly imported libraries.
-   */
-  List<LibraryElement> get visibleLibraries;
-
-  /**
    * Return a list containing all of the imports that share the given [prefix],
    * or an empty array if there are no such imports.
    */
@@ -1506,13 +1492,6 @@
    * `null` if this library does not define a class with the given name.
    */
   ClassElement getType(String className);
-
-  /**
-   * Return `true` if this library is up to date with respect to the given
-   * [timeStamp]. If any transitively referenced Source is newer than the time
-   * stamp, this method returns false.
-   */
-  bool isUpToDate(int timeStamp);
 }
 
 /**
diff --git a/pkg/analyzer/lib/exception/exception.dart b/pkg/analyzer/lib/exception/exception.dart
new file mode 100644
index 0000000..8014115
--- /dev/null
+++ b/pkg/analyzer/lib/exception/exception.dart
@@ -0,0 +1,99 @@
+// Copyright (c) 2014, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+library analyzer.exception.exception;
+
+/**
+ * An exception that occurred during the analysis of one or more sources.
+ */
+class AnalysisException implements Exception {
+  /**
+   * The message that explains why the exception occurred.
+   */
+  final String message;
+
+  /**
+   * The exception that caused this exception, or `null` if this exception was
+   * not caused by another exception.
+   */
+  final CaughtException cause;
+
+  /**
+   * Initialize a newly created exception to have the given [message] and
+   * [cause].
+   */
+  AnalysisException([this.message = 'Exception', this.cause = null]);
+
+  String toString() {
+    StringBuffer buffer = new StringBuffer();
+    buffer.write("AnalysisException: ");
+    buffer.writeln(message);
+    if (cause != null) {
+      buffer.write('Caused by ');
+      cause._writeOn(buffer);
+    }
+    return buffer.toString();
+  }
+}
+
+/**
+ * An exception that was caught and has an associated stack trace.
+ */
+class CaughtException implements Exception {
+  /**
+   * The exception that was caught.
+   */
+  final Object exception;
+
+  /**
+   * The stack trace associated with the exception.
+   */
+  StackTrace stackTrace;
+
+  /**
+   * Initialize a newly created caught exception to have the given [exception]
+   * and [stackTrace].
+   */
+  CaughtException(this.exception, stackTrace) {
+    if (stackTrace == null) {
+      try {
+        throw this;
+      } catch (_, st) {
+        stackTrace = st;
+      }
+    }
+    this.stackTrace = stackTrace;
+  }
+
+  @override
+  String toString() {
+    StringBuffer buffer = new StringBuffer();
+    _writeOn(buffer);
+    return buffer.toString();
+  }
+
+  /**
+   * Write a textual representation of the caught exception and its associated
+   * stack trace.
+   */
+  void _writeOn(StringBuffer buffer) {
+    if (exception is AnalysisException) {
+      AnalysisException analysisException = exception;
+      buffer.writeln(analysisException.message);
+      if (stackTrace != null) {
+        buffer.writeln(stackTrace.toString());
+      }
+      CaughtException cause = analysisException.cause;
+      if (cause != null) {
+        buffer.write('Caused by ');
+        cause._writeOn(buffer);
+      }
+    } else {
+      buffer.writeln(exception.toString());
+      if (stackTrace != null) {
+        buffer.writeln(stackTrace.toString());
+      }
+    }
+  }
+}
diff --git a/pkg/analyzer/lib/file_system/memory_file_system.dart b/pkg/analyzer/lib/file_system/memory_file_system.dart
index 0ba9b94..7dd097c 100644
--- a/pkg/analyzer/lib/file_system/memory_file_system.dart
+++ b/pkg/analyzer/lib/file_system/memory_file_system.dart
@@ -7,7 +7,7 @@
 import 'dart:async';
 import 'dart:collection';
 import 'dart:convert';
-import 'dart:core' hide Resource;
+import 'dart:core';
 
 import 'package:analyzer/file_system/file_system.dart';
 import 'package:analyzer/src/generated/source_io.dart';
diff --git a/pkg/analyzer/lib/file_system/physical_file_system.dart b/pkg/analyzer/lib/file_system/physical_file_system.dart
index ad430c0..a9cf94b 100644
--- a/pkg/analyzer/lib/file_system/physical_file_system.dart
+++ b/pkg/analyzer/lib/file_system/physical_file_system.dart
@@ -5,7 +5,7 @@
 library analyzer.file_system.physical_file_system;
 
 import 'dart:async';
-import 'dart:core' hide Resource;
+import 'dart:core';
 import 'dart:io' as io;
 
 import 'package:analyzer/file_system/file_system.dart';
@@ -43,7 +43,7 @@
  * A `dart:io` based implementation of [ResourceProvider].
  */
 class PhysicalResourceProvider implements ResourceProvider {
-  static final NORMALIZE_EOL_ALWAYS =
+  static final FileReadMode NORMALIZE_EOL_ALWAYS =
       (String string) => string.replaceAll(new RegExp('\r\n?'), '\n');
 
   static final PhysicalResourceProvider INSTANCE =
@@ -62,7 +62,7 @@
   final AbsolutePathContext absolutePathContext =
       new AbsolutePathContext(io.Platform.isWindows);
 
-  PhysicalResourceProvider(String fileReadMode(String s)) {
+  PhysicalResourceProvider(FileReadMode fileReadMode) {
     if (fileReadMode != null) {
       FileBasedSource.fileReadMode = fileReadMode;
     }
diff --git a/pkg/analyzer/lib/source/analysis_options_provider.dart b/pkg/analyzer/lib/source/analysis_options_provider.dart
index fbacdfb..cdd912c 100644
--- a/pkg/analyzer/lib/source/analysis_options_provider.dart
+++ b/pkg/analyzer/lib/source/analysis_options_provider.dart
@@ -4,7 +4,7 @@
 
 library analyzer.source.analysis_options_provider;
 
-import 'dart:core' hide Resource;
+import 'dart:core';
 
 import 'package:analyzer/file_system/file_system.dart';
 import 'package:analyzer/src/generated/engine.dart';
@@ -58,6 +58,7 @@
         throw new OptionsFormatException('Unable to parse YAML document.');
       }
     }
+
     YamlNode doc = safelyLoadYamlNode();
 
     // Empty options.
diff --git a/pkg/analyzer/lib/source/embedder.dart b/pkg/analyzer/lib/source/embedder.dart
index ffcbfed..f09ec1b 100644
--- a/pkg/analyzer/lib/source/embedder.dart
+++ b/pkg/analyzer/lib/source/embedder.dart
@@ -6,12 +6,12 @@
 library analyzer.source.embedder;
 
 import 'dart:collection' show HashMap;
-import 'dart:core' hide Resource;
+import 'dart:core';
+import 'dart:io' as io;
 
 import 'package:analyzer/file_system/file_system.dart';
 import 'package:analyzer/source/package_map_provider.dart'
     show PackageMapProvider;
-import 'package:analyzer/src/generated/java_core.dart';
 import 'package:analyzer/src/generated/java_io.dart' show JavaFile;
 import 'package:analyzer/src/generated/sdk.dart';
 import 'package:analyzer/src/generated/sdk_io.dart';
@@ -75,7 +75,7 @@
       srcPath = library.path;
     } else {
       String libraryPath = library.path;
-      int index = libraryPath.lastIndexOf(JavaFile.separator);
+      int index = libraryPath.lastIndexOf(io.Platform.pathSeparator);
       if (index == -1) {
         index = libraryPath.lastIndexOf('/');
         if (index == -1) {
@@ -85,11 +85,11 @@
       String prefix = libraryPath.substring(0, index + 1);
       srcPath = '$prefix$relativePath';
     }
-    String filePath = srcPath.replaceAll('/', JavaFile.separator);
+    String filePath = srcPath.replaceAll('/', io.Platform.pathSeparator);
     try {
       JavaFile file = new JavaFile(filePath);
-      return new FileBasedSource(file, parseUriWithException(dartUri));
-    } on URISyntaxException {
+      return new FileBasedSource(file, Uri.parse(dartUri));
+    } on FormatException {
       return null;
     }
   }
diff --git a/pkg/analyzer/lib/source/package_map_resolver.dart b/pkg/analyzer/lib/source/package_map_resolver.dart
index 4325582..056016f 100644
--- a/pkg/analyzer/lib/source/package_map_resolver.dart
+++ b/pkg/analyzer/lib/source/package_map_resolver.dart
@@ -4,7 +4,7 @@
 
 library analyzer.source.package_map_resolver;
 
-import 'dart:core' hide Resource;
+import 'dart:core';
 
 import 'package:analyzer/file_system/file_system.dart';
 import 'package:analyzer/src/generated/source.dart';
diff --git a/pkg/analyzer/lib/source/pub_package_map_provider.dart b/pkg/analyzer/lib/source/pub_package_map_provider.dart
index c562232..3b2d731 100644
--- a/pkg/analyzer/lib/source/pub_package_map_provider.dart
+++ b/pkg/analyzer/lib/source/pub_package_map_provider.dart
@@ -6,7 +6,7 @@
 
 import 'dart:collection';
 import 'dart:convert';
-import 'dart:core' hide Resource;
+import 'dart:core';
 import 'dart:io' as io;
 
 import 'package:analyzer/file_system/file_system.dart';
diff --git a/pkg/analyzer/lib/source/sdk_ext.dart b/pkg/analyzer/lib/source/sdk_ext.dart
index f25d65e..70682eb 100644
--- a/pkg/analyzer/lib/source/sdk_ext.dart
+++ b/pkg/analyzer/lib/source/sdk_ext.dart
@@ -5,7 +5,7 @@
 library analyzer.source.sdk_ext;
 
 import 'dart:convert';
-import 'dart:core' hide Resource;
+import 'dart:core';
 
 import 'package:analyzer/file_system/file_system.dart';
 import 'package:analyzer/source/package_map_provider.dart'
diff --git a/pkg/analyzer/lib/src/context/builder.dart b/pkg/analyzer/lib/src/context/builder.dart
index 42e9d0f..b1f2f97 100644
--- a/pkg/analyzer/lib/src/context/builder.dart
+++ b/pkg/analyzer/lib/src/context/builder.dart
@@ -5,7 +5,7 @@
 library analyzer.src.context.context_builder;
 
 import 'dart:collection';
-import 'dart:core' hide Resource;
+import 'dart:core';
 
 import 'package:analyzer/context/declared_variables.dart';
 import 'package:analyzer/file_system/file_system.dart';
diff --git a/pkg/analyzer/lib/src/context/cache.dart b/pkg/analyzer/lib/src/context/cache.dart
index 74bd8aa..bf981e5 100644
--- a/pkg/analyzer/lib/src/context/cache.dart
+++ b/pkg/analyzer/lib/src/context/cache.dart
@@ -7,9 +7,9 @@
 import 'dart:async';
 import 'dart:collection';
 
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/file_system/file_system.dart';
 import 'package:analyzer/src/generated/engine.dart';
-import 'package:analyzer/src/generated/java_engine.dart';
 import 'package:analyzer/src/generated/source.dart';
 import 'package:analyzer/src/generated/utilities_collection.dart';
 import 'package:analyzer/src/task/model.dart';
diff --git a/pkg/analyzer/lib/src/context/context.dart b/pkg/analyzer/lib/src/context/context.dart
index 3dfa30c..ba82c4d 100644
--- a/pkg/analyzer/lib/src/context/context.dart
+++ b/pkg/analyzer/lib/src/context/context.dart
@@ -10,6 +10,7 @@
 import 'package:analyzer/dart/ast/ast.dart';
 import 'package:analyzer/dart/element/element.dart';
 import 'package:analyzer/dart/element/type.dart';
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/instrumentation/instrumentation.dart';
 import 'package:analyzer/plugin/resolver_provider.dart';
 import 'package:analyzer/plugin/task.dart';
@@ -22,8 +23,6 @@
 import 'package:analyzer/src/generated/engine.dart';
 import 'package:analyzer/src/generated/error.dart';
 import 'package:analyzer/src/generated/incremental_resolver.dart';
-import 'package:analyzer/src/generated/java_core.dart';
-import 'package:analyzer/src/generated/java_engine.dart';
 import 'package:analyzer/src/generated/resolver.dart';
 import 'package:analyzer/src/generated/sdk.dart' show DartSdk;
 import 'package:analyzer/src/generated/source.dart';
@@ -292,6 +291,8 @@
         this._options.enableAssertInitializer !=
             options.enableAssertInitializer ||
         this._options.enableAssertMessage != options.enableAssertMessage ||
+        this._options.enableInitializingFormalAccess !=
+            options.enableInitializingFormalAccess ||
         ((options is AnalysisOptionsImpl)
             ? this._options.strongModeHints != options.strongModeHints
             : false) ||
@@ -323,6 +324,8 @@
     this._options.enableAssertMessage = options.enableAssertMessage;
     this._options.enableStrictCallChecks = options.enableStrictCallChecks;
     this._options.enableAsync = options.enableAsync;
+    this._options.enableInitializingFormalAccess =
+        options.enableInitializingFormalAccess;
     this._options.enableSuperMixins = options.enableSuperMixins;
     this._options.enableTiming = options.enableTiming;
     this._options.hint = options.hint;
@@ -654,9 +657,6 @@
       _contentRangeChanged(source, change.contents, change.offset,
           change.oldLength, change.newLength);
     });
-    for (Source source in changeSet.deletedSources) {
-      _sourceDeleted(source);
-    }
     for (Source source in removedSources) {
       _sourceRemoved(source);
     }
@@ -1888,20 +1888,31 @@
               .firstWhere((unit) => unit != null, orElse: () => null);
           // If we have the old unit, we can try to update it.
           if (oldUnit != null) {
-            CompilationUnit newUnit = parseCompilationUnit(source);
-            IncrementalCompilationUnitElementBuilder builder =
-                new IncrementalCompilationUnitElementBuilder(oldUnit, newUnit);
-            builder.build();
-            CompilationUnitElementDelta unitDelta = builder.unitDelta;
-            if (!unitDelta.hasDirectiveChange) {
-              unitEntry.setValueIncremental(
-                  COMPILATION_UNIT_CONSTANTS, builder.unitConstants, false);
-              DartDelta dartDelta = new DartDelta(source);
-              unitDelta.addedDeclarations.forEach(dartDelta.elementChanged);
-              unitDelta.removedDeclarations.forEach(dartDelta.elementChanged);
-              unitDelta.classDeltas.values.forEach(dartDelta.classChanged);
-              entry.setState(CONTENT, CacheState.INVALID, delta: dartDelta);
-              return;
+            // Safely parse the source.
+            CompilationUnit newUnit;
+            try {
+              newUnit = parseCompilationUnit(source);
+            } catch (_) {
+              // The source might have been removed by this time.
+              // We cannot perform incremental invalidation.
+            }
+            // If the new unit was parsed successfully, continue.
+            if (newUnit != null) {
+              IncrementalCompilationUnitElementBuilder builder =
+                  new IncrementalCompilationUnitElementBuilder(
+                      oldUnit, newUnit);
+              builder.build();
+              CompilationUnitElementDelta unitDelta = builder.unitDelta;
+              if (!unitDelta.hasDirectiveChange) {
+                unitEntry.setValueIncremental(
+                    COMPILATION_UNIT_CONSTANTS, builder.unitConstants, false);
+                DartDelta dartDelta = new DartDelta(source);
+                unitDelta.addedDeclarations.forEach(dartDelta.elementChanged);
+                unitDelta.removedDeclarations.forEach(dartDelta.elementChanged);
+                unitDelta.classDeltas.values.forEach(dartDelta.classChanged);
+                entry.setState(CONTENT, CacheState.INVALID, delta: dartDelta);
+                return;
+              }
             }
           }
         }
@@ -1917,37 +1928,6 @@
   }
 
   /**
-   * Record that the give [source] has been deleted.
-   */
-  void _sourceDeleted(Source source) {
-    // TODO(brianwilkerson) Implement or remove this.
-//    SourceEntry sourceEntry = _cache.get(source);
-//    if (sourceEntry is HtmlEntry) {
-//      HtmlEntry htmlEntry = sourceEntry;
-//      htmlEntry.recordContentError(new CaughtException(
-//          new AnalysisException("This source was marked as being deleted"),
-//          null));
-//    } else if (sourceEntry is DartEntry) {
-//      DartEntry dartEntry = sourceEntry;
-//      HashSet<Source> libraries = new HashSet<Source>();
-//      for (Source librarySource in getLibrariesContaining(source)) {
-//        libraries.add(librarySource);
-//        for (Source dependentLibrary
-//            in getLibrariesDependingOn(librarySource)) {
-//          libraries.add(dependentLibrary);
-//        }
-//      }
-//      for (Source librarySource in libraries) {
-//        _invalidateLibraryResolution(librarySource);
-//      }
-//      dartEntry.recordContentError(new CaughtException(
-//          new AnalysisException("This source was marked as being deleted"),
-//          null));
-//    }
-    _removeFromPriorityOrder(source);
-  }
-
-  /**
    * Record that the given [source] has been removed.
    */
   void _sourceRemoved(Source source) {
diff --git a/pkg/analyzer/lib/src/context/source.dart b/pkg/analyzer/lib/src/context/source.dart
index d6f5c15..1f7c3b5 100644
--- a/pkg/analyzer/lib/src/context/source.dart
+++ b/pkg/analyzer/lib/src/context/source.dart
@@ -6,12 +6,11 @@
 
 import 'dart:collection';
 
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/file_system/file_system.dart';
 import 'package:analyzer/file_system/physical_file_system.dart';
 import 'package:analyzer/source/package_map_resolver.dart';
 import 'package:analyzer/src/generated/engine.dart';
-import 'package:analyzer/src/generated/java_core.dart';
-import 'package:analyzer/src/generated/java_engine.dart';
 import 'package:analyzer/src/generated/sdk.dart';
 import 'package:analyzer/src/generated/source.dart';
 import 'package:analyzer/src/generated/utilities_dart.dart' as utils;
@@ -159,7 +158,7 @@
     try {
       // Force the creation of an escaped URI to deal with spaces, etc.
       return _internalResolveUri(containingSource, FastUri.parse(containedUri));
-    } on URISyntaxException {
+    } on FormatException {
       return null;
     } catch (exception, stackTrace) {
       String containingFullName =
diff --git a/pkg/analyzer/lib/src/dart/ast/ast.dart b/pkg/analyzer/lib/src/dart/ast/ast.dart
index 90928c8..d5ed4cf 100644
--- a/pkg/analyzer/lib/src/dart/ast/ast.dart
+++ b/pkg/analyzer/lib/src/dart/ast/ast.dart
@@ -10,12 +10,12 @@
 import 'package:analyzer/dart/ast/token.dart';
 import 'package:analyzer/dart/element/element.dart';
 import 'package:analyzer/dart/element/type.dart';
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/src/dart/ast/token.dart';
 import 'package:analyzer/src/dart/ast/utilities.dart';
 import 'package:analyzer/src/dart/element/element.dart';
 import 'package:analyzer/src/dart/element/type.dart';
 import 'package:analyzer/src/generated/engine.dart' show AnalysisEngine;
-import 'package:analyzer/src/generated/java_core.dart';
 import 'package:analyzer/src/generated/java_engine.dart';
 import 'package:analyzer/src/generated/parser.dart';
 import 'package:analyzer/src/generated/source.dart' show LineInfo, Source;
@@ -938,9 +938,9 @@
 
   @override
   String toSource() {
-    PrintStringWriter writer = new PrintStringWriter();
-    accept(new ToSourceVisitor(writer));
-    return writer.toString();
+    StringBuffer buffer = new StringBuffer();
+    accept(new ToSourceVisitor(buffer));
+    return buffer.toString();
   }
 
   @override
@@ -10526,7 +10526,7 @@
 
   @override
   UriValidationCode validate() {
-    StringLiteral uriLiteral = uri;
+    StringLiteral uriLiteral = this.uri;
     if (uriLiteral is StringInterpolation) {
       return UriValidationCode.URI_WITH_INTERPOLATION;
     }
@@ -10537,9 +10537,13 @@
     if (this is ImportDirective && uriContent.startsWith(_DART_EXT_SCHEME)) {
       return UriValidationCode.URI_WITH_DART_EXT_SCHEME;
     }
+    Uri uri;
     try {
-      parseUriWithException(Uri.encodeFull(uriContent));
-    } on URISyntaxException {
+      uri = Uri.parse(Uri.encodeFull(uriContent));
+    } on FormatException {
+      return UriValidationCode.INVALID_URI;
+    }
+    if (uri.path.isEmpty) {
       return UriValidationCode.INVALID_URI;
     }
     return null;
diff --git a/pkg/analyzer/lib/src/dart/ast/utilities.dart b/pkg/analyzer/lib/src/dart/ast/utilities.dart
index 2c0db3b..c128343 100644
--- a/pkg/analyzer/lib/src/dart/ast/utilities.dart
+++ b/pkg/analyzer/lib/src/dart/ast/utilities.dart
@@ -10,10 +10,9 @@
 import 'package:analyzer/dart/ast/token.dart';
 import 'package:analyzer/dart/ast/visitor.dart';
 import 'package:analyzer/dart/element/element.dart';
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/src/dart/ast/token.dart';
 import 'package:analyzer/src/generated/engine.dart' show AnalysisEngine;
-import 'package:analyzer/src/generated/java_core.dart';
-import 'package:analyzer/src/generated/java_engine.dart';
 import 'package:analyzer/src/generated/utilities_collection.dart' show TokenMap;
 import 'package:analyzer/src/generated/utilities_dart.dart';
 
@@ -6696,15 +6695,15 @@
  */
 class ToSourceVisitor implements AstVisitor<Object> {
   /**
-   * The writer to which the source is to be written.
+   * The buffer to which the source is to be written.
    */
-  final PrintWriter _writer;
+  final StringBuffer _buffer;
 
   /**
    * Initialize a newly created visitor to write source code representing the
-   * visited nodes to the given [writer].
+   * visited nodes to the given [_buffer].
    */
-  ToSourceVisitor(this._writer);
+  ToSourceVisitor(this._buffer);
 
   @override
   Object visitAdjacentStrings(AdjacentStrings node) {
@@ -6714,7 +6713,7 @@
 
   @override
   Object visitAnnotation(Annotation node) {
-    _writer.print('@');
+    _buffer.write('@');
     _visitNode(node.name);
     _visitNodeWithPrefix(".", node.constructorName);
     _visitNode(node.arguments);
@@ -6723,45 +6722,45 @@
 
   @override
   Object visitArgumentList(ArgumentList node) {
-    _writer.print('(');
+    _buffer.write('(');
     _visitNodeListWithSeparator(node.arguments, ", ");
-    _writer.print(')');
+    _buffer.write(')');
     return null;
   }
 
   @override
   Object visitAsExpression(AsExpression node) {
     _visitNode(node.expression);
-    _writer.print(" as ");
+    _buffer.write(" as ");
     _visitNode(node.type);
     return null;
   }
 
   @override
   Object visitAssertStatement(AssertStatement node) {
-    _writer.print("assert (");
+    _buffer.write("assert (");
     _visitNode(node.condition);
     if (node.message != null) {
-      _writer.print(', ');
+      _buffer.write(', ');
       _visitNode(node.message);
     }
-    _writer.print(");");
+    _buffer.write(");");
     return null;
   }
 
   @override
   Object visitAssignmentExpression(AssignmentExpression node) {
     _visitNode(node.leftHandSide);
-    _writer.print(' ');
-    _writer.print(node.operator.lexeme);
-    _writer.print(' ');
+    _buffer.write(' ');
+    _buffer.write(node.operator.lexeme);
+    _buffer.write(' ');
     _visitNode(node.rightHandSide);
     return null;
   }
 
   @override
   Object visitAwaitExpression(AwaitExpression node) {
-    _writer.print("await ");
+    _buffer.write("await ");
     _visitNode(node.expression);
     return null;
   }
@@ -6769,18 +6768,18 @@
   @override
   Object visitBinaryExpression(BinaryExpression node) {
     _visitNode(node.leftOperand);
-    _writer.print(' ');
-    _writer.print(node.operator.lexeme);
-    _writer.print(' ');
+    _buffer.write(' ');
+    _buffer.write(node.operator.lexeme);
+    _buffer.write(' ');
     _visitNode(node.rightOperand);
     return null;
   }
 
   @override
   Object visitBlock(Block node) {
-    _writer.print('{');
+    _buffer.write('{');
     _visitNodeListWithSeparator(node.statements, " ");
-    _writer.print('}');
+    _buffer.write('}');
     return null;
   }
 
@@ -6788,11 +6787,11 @@
   Object visitBlockFunctionBody(BlockFunctionBody node) {
     Token keyword = node.keyword;
     if (keyword != null) {
-      _writer.print(keyword.lexeme);
+      _buffer.write(keyword.lexeme);
       if (node.star != null) {
-        _writer.print('*');
+        _buffer.write('*');
       }
-      _writer.print(' ');
+      _buffer.write(' ');
     }
     _visitNode(node.block);
     return null;
@@ -6800,15 +6799,15 @@
 
   @override
   Object visitBooleanLiteral(BooleanLiteral node) {
-    _writer.print(node.literal.lexeme);
+    _buffer.write(node.literal.lexeme);
     return null;
   }
 
   @override
   Object visitBreakStatement(BreakStatement node) {
-    _writer.print("break");
+    _buffer.write("break");
     _visitNodeWithPrefix(" ", node.label);
-    _writer.print(";");
+    _buffer.write(";");
     return null;
   }
 
@@ -6824,14 +6823,14 @@
     _visitNodeWithPrefix("on ", node.exceptionType);
     if (node.catchKeyword != null) {
       if (node.exceptionType != null) {
-        _writer.print(' ');
+        _buffer.write(' ');
       }
-      _writer.print("catch (");
+      _buffer.write("catch (");
       _visitNode(node.exceptionParameter);
       _visitNodeWithPrefix(", ", node.stackTraceParameter);
-      _writer.print(") ");
+      _buffer.write(") ");
     } else {
-      _writer.print(" ");
+      _buffer.write(" ");
     }
     _visitNode(node.body);
     return null;
@@ -6841,15 +6840,15 @@
   Object visitClassDeclaration(ClassDeclaration node) {
     _visitNodeListWithSeparatorAndSuffix(node.metadata, " ", " ");
     _visitTokenWithSuffix(node.abstractKeyword, " ");
-    _writer.print("class ");
+    _buffer.write("class ");
     _visitNode(node.name);
     _visitNode(node.typeParameters);
     _visitNodeWithPrefix(" ", node.extendsClause);
     _visitNodeWithPrefix(" ", node.withClause);
     _visitNodeWithPrefix(" ", node.implementsClause);
-    _writer.print(" {");
+    _buffer.write(" {");
     _visitNodeListWithSeparator(node.members, " ");
-    _writer.print("}");
+    _buffer.write("}");
     return null;
   }
 
@@ -6857,16 +6856,16 @@
   Object visitClassTypeAlias(ClassTypeAlias node) {
     _visitNodeListWithSeparatorAndSuffix(node.metadata, " ", " ");
     if (node.abstractKeyword != null) {
-      _writer.print("abstract ");
+      _buffer.write("abstract ");
     }
-    _writer.print("class ");
+    _buffer.write("class ");
     _visitNode(node.name);
     _visitNode(node.typeParameters);
-    _writer.print(" = ");
+    _buffer.write(" = ");
     _visitNode(node.superclass);
     _visitNodeWithPrefix(" ", node.withClause);
     _visitNodeWithPrefix(" ", node.implementsClause);
-    _writer.print(";");
+    _buffer.write(";");
     return null;
   }
 
@@ -6891,19 +6890,19 @@
   @override
   Object visitConditionalExpression(ConditionalExpression node) {
     _visitNode(node.condition);
-    _writer.print(" ? ");
+    _buffer.write(" ? ");
     _visitNode(node.thenExpression);
-    _writer.print(" : ");
+    _buffer.write(" : ");
     _visitNode(node.elseExpression);
     return null;
   }
 
   @override
   Object visitConfiguration(Configuration node) {
-    _writer.print('if (');
+    _buffer.write('if (');
     _visitNode(node.name);
     _visitNodeWithPrefix(" == ", node.value);
-    _writer.print(') ');
+    _buffer.write(') ');
     _visitNode(node.libraryUri);
     return null;
   }
@@ -6927,7 +6926,7 @@
   Object visitConstructorFieldInitializer(ConstructorFieldInitializer node) {
     _visitTokenWithSuffix(node.thisKeyword, ".");
     _visitNode(node.fieldName);
-    _writer.print(" = ");
+    _buffer.write(" = ");
     _visitNode(node.expression);
     return null;
   }
@@ -6941,9 +6940,9 @@
 
   @override
   Object visitContinueStatement(ContinueStatement node) {
-    _writer.print("continue");
+    _buffer.write("continue");
     _visitNodeWithPrefix(" ", node.label);
-    _writer.print(";");
+    _buffer.write(";");
     return null;
   }
 
@@ -6960,8 +6959,8 @@
   Object visitDefaultFormalParameter(DefaultFormalParameter node) {
     _visitNode(node.parameter);
     if (node.separator != null) {
-      _writer.print(" ");
-      _writer.print(node.separator.lexeme);
+      _buffer.write(" ");
+      _buffer.write(node.separator.lexeme);
       _visitNodeWithPrefix(" ", node.defaultValue);
     }
     return null;
@@ -6969,11 +6968,11 @@
 
   @override
   Object visitDoStatement(DoStatement node) {
-    _writer.print("do ");
+    _buffer.write("do ");
     _visitNode(node.body);
-    _writer.print(" while (");
+    _buffer.write(" while (");
     _visitNode(node.condition);
-    _writer.print(");");
+    _buffer.write(");");
     return null;
   }
 
@@ -6985,19 +6984,19 @@
 
   @override
   Object visitDoubleLiteral(DoubleLiteral node) {
-    _writer.print(node.literal.lexeme);
+    _buffer.write(node.literal.lexeme);
     return null;
   }
 
   @override
   Object visitEmptyFunctionBody(EmptyFunctionBody node) {
-    _writer.print(';');
+    _buffer.write(';');
     return null;
   }
 
   @override
   Object visitEmptyStatement(EmptyStatement node) {
-    _writer.print(';');
+    _buffer.write(';');
     return null;
   }
 
@@ -7011,21 +7010,21 @@
   @override
   Object visitEnumDeclaration(EnumDeclaration node) {
     _visitNodeListWithSeparatorAndSuffix(node.metadata, " ", " ");
-    _writer.print("enum ");
+    _buffer.write("enum ");
     _visitNode(node.name);
-    _writer.print(" {");
+    _buffer.write(" {");
     _visitNodeListWithSeparator(node.constants, ", ");
-    _writer.print("}");
+    _buffer.write("}");
     return null;
   }
 
   @override
   Object visitExportDirective(ExportDirective node) {
     _visitNodeListWithSeparatorAndSuffix(node.metadata, " ", " ");
-    _writer.print("export ");
+    _buffer.write("export ");
     _visitNode(node.uri);
     _visitNodeListWithSeparatorAndPrefix(" ", node.combinators, " ");
-    _writer.print(';');
+    _buffer.write(';');
     return null;
   }
 
@@ -7033,13 +7032,13 @@
   Object visitExpressionFunctionBody(ExpressionFunctionBody node) {
     Token keyword = node.keyword;
     if (keyword != null) {
-      _writer.print(keyword.lexeme);
-      _writer.print(' ');
+      _buffer.write(keyword.lexeme);
+      _buffer.write(' ');
     }
-    _writer.print("=> ");
+    _buffer.write("=> ");
     _visitNode(node.expression);
     if (node.semicolon != null) {
-      _writer.print(';');
+      _buffer.write(';');
     }
     return null;
   }
@@ -7047,13 +7046,13 @@
   @override
   Object visitExpressionStatement(ExpressionStatement node) {
     _visitNode(node.expression);
-    _writer.print(';');
+    _buffer.write(';');
     return null;
   }
 
   @override
   Object visitExtendsClause(ExtendsClause node) {
-    _writer.print("extends ");
+    _buffer.write("extends ");
     _visitNode(node.superclass);
     return null;
   }
@@ -7063,7 +7062,7 @@
     _visitNodeListWithSeparatorAndSuffix(node.metadata, " ", " ");
     _visitTokenWithSuffix(node.staticKeyword, " ");
     _visitNode(node.fields);
-    _writer.print(";");
+    _buffer.write(";");
     return null;
   }
 
@@ -7072,7 +7071,7 @@
     _visitNodeListWithSeparatorAndSuffix(node.metadata, ' ', ' ');
     _visitTokenWithSuffix(node.keyword, " ");
     _visitNodeWithSuffix(node.type, " ");
-    _writer.print("this.");
+    _buffer.write("this.");
     _visitNode(node.identifier);
     _visitNode(node.typeParameters);
     _visitNode(node.parameters);
@@ -7083,17 +7082,17 @@
   Object visitForEachStatement(ForEachStatement node) {
     DeclaredIdentifier loopVariable = node.loopVariable;
     if (node.awaitKeyword != null) {
-      _writer.print("await ");
+      _buffer.write("await ");
     }
-    _writer.print("for (");
+    _buffer.write("for (");
     if (loopVariable == null) {
       _visitNode(node.identifier);
     } else {
       _visitNode(loopVariable);
     }
-    _writer.print(" in ");
+    _buffer.write(" in ");
     _visitNode(node.iterable);
-    _writer.print(") ");
+    _buffer.write(") ");
     _visitNode(node.body);
     return null;
   }
@@ -7101,46 +7100,46 @@
   @override
   Object visitFormalParameterList(FormalParameterList node) {
     String groupEnd = null;
-    _writer.print('(');
+    _buffer.write('(');
     NodeList<FormalParameter> parameters = node.parameters;
     int size = parameters.length;
     for (int i = 0; i < size; i++) {
       FormalParameter parameter = parameters[i];
       if (i > 0) {
-        _writer.print(", ");
+        _buffer.write(", ");
       }
       if (groupEnd == null && parameter is DefaultFormalParameter) {
         if (parameter.kind == ParameterKind.NAMED) {
           groupEnd = "}";
-          _writer.print('{');
+          _buffer.write('{');
         } else {
           groupEnd = "]";
-          _writer.print('[');
+          _buffer.write('[');
         }
       }
       parameter.accept(this);
     }
     if (groupEnd != null) {
-      _writer.print(groupEnd);
+      _buffer.write(groupEnd);
     }
-    _writer.print(')');
+    _buffer.write(')');
     return null;
   }
 
   @override
   Object visitForStatement(ForStatement node) {
     Expression initialization = node.initialization;
-    _writer.print("for (");
+    _buffer.write("for (");
     if (initialization != null) {
       _visitNode(initialization);
     } else {
       _visitNode(node.variables);
     }
-    _writer.print(";");
+    _buffer.write(";");
     _visitNodeWithPrefix(" ", node.condition);
-    _writer.print(";");
+    _buffer.write(";");
     _visitNodeListWithSeparatorAndPrefix(" ", node.updaters, ", ");
-    _writer.print(") ");
+    _buffer.write(") ");
     _visitNode(node.body);
     return null;
   }
@@ -7167,7 +7166,7 @@
     _visitNode(node.typeParameters);
     _visitNode(node.parameters);
     if (node.body is! EmptyFunctionBody) {
-      _writer.print(' ');
+      _buffer.write(' ');
     }
     _visitNode(node.body);
     return null;
@@ -7184,12 +7183,12 @@
   @override
   Object visitFunctionTypeAlias(FunctionTypeAlias node) {
     _visitNodeListWithSeparatorAndSuffix(node.metadata, " ", " ");
-    _writer.print("typedef ");
+    _buffer.write("typedef ");
     _visitNodeWithSuffix(node.returnType, " ");
     _visitNode(node.name);
     _visitNode(node.typeParameters);
     _visitNode(node.parameters);
-    _writer.print(";");
+    _buffer.write(";");
     return null;
   }
 
@@ -7205,16 +7204,16 @@
 
   @override
   Object visitHideCombinator(HideCombinator node) {
-    _writer.print("hide ");
+    _buffer.write("hide ");
     _visitNodeListWithSeparator(node.hiddenNames, ", ");
     return null;
   }
 
   @override
   Object visitIfStatement(IfStatement node) {
-    _writer.print("if (");
+    _buffer.write("if (");
     _visitNode(node.condition);
-    _writer.print(") ");
+    _buffer.write(") ");
     _visitNode(node.thenStatement);
     _visitNodeWithPrefix(" else ", node.elseStatement);
     return null;
@@ -7222,7 +7221,7 @@
 
   @override
   Object visitImplementsClause(ImplementsClause node) {
-    _writer.print("implements ");
+    _buffer.write("implements ");
     _visitNodeListWithSeparator(node.interfaces, ", ");
     return null;
   }
@@ -7230,27 +7229,27 @@
   @override
   Object visitImportDirective(ImportDirective node) {
     _visitNodeListWithSeparatorAndSuffix(node.metadata, " ", " ");
-    _writer.print("import ");
+    _buffer.write("import ");
     _visitNode(node.uri);
     if (node.deferredKeyword != null) {
-      _writer.print(" deferred");
+      _buffer.write(" deferred");
     }
     _visitNodeWithPrefix(" as ", node.prefix);
     _visitNodeListWithSeparatorAndPrefix(" ", node.combinators, " ");
-    _writer.print(';');
+    _buffer.write(';');
     return null;
   }
 
   @override
   Object visitIndexExpression(IndexExpression node) {
     if (node.isCascaded) {
-      _writer.print("..");
+      _buffer.write("..");
     } else {
       _visitNode(node.target);
     }
-    _writer.print('[');
+    _buffer.write('[');
     _visitNode(node.index);
-    _writer.print(']');
+    _buffer.write(']');
     return null;
   }
 
@@ -7264,18 +7263,18 @@
 
   @override
   Object visitIntegerLiteral(IntegerLiteral node) {
-    _writer.print(node.literal.lexeme);
+    _buffer.write(node.literal.lexeme);
     return null;
   }
 
   @override
   Object visitInterpolationExpression(InterpolationExpression node) {
     if (node.rightBracket != null) {
-      _writer.print("\${");
+      _buffer.write("\${");
       _visitNode(node.expression);
-      _writer.print("}");
+      _buffer.write("}");
     } else {
-      _writer.print("\$");
+      _buffer.write("\$");
       _visitNode(node.expression);
     }
     return null;
@@ -7283,7 +7282,7 @@
 
   @override
   Object visitInterpolationString(InterpolationString node) {
-    _writer.print(node.contents.lexeme);
+    _buffer.write(node.contents.lexeme);
     return null;
   }
 
@@ -7291,9 +7290,9 @@
   Object visitIsExpression(IsExpression node) {
     _visitNode(node.expression);
     if (node.notOperator == null) {
-      _writer.print(" is ");
+      _buffer.write(" is ");
     } else {
-      _writer.print(" is! ");
+      _buffer.write(" is! ");
     }
     _visitNode(node.type);
     return null;
@@ -7302,7 +7301,7 @@
   @override
   Object visitLabel(Label node) {
     _visitNode(node.label);
-    _writer.print(":");
+    _buffer.write(":");
     return null;
   }
 
@@ -7316,48 +7315,48 @@
   @override
   Object visitLibraryDirective(LibraryDirective node) {
     _visitNodeListWithSeparatorAndSuffix(node.metadata, " ", " ");
-    _writer.print("library ");
+    _buffer.write("library ");
     _visitNode(node.name);
-    _writer.print(';');
+    _buffer.write(';');
     return null;
   }
 
   @override
   Object visitLibraryIdentifier(LibraryIdentifier node) {
-    _writer.print(node.name);
+    _buffer.write(node.name);
     return null;
   }
 
   @override
   Object visitListLiteral(ListLiteral node) {
     if (node.constKeyword != null) {
-      _writer.print(node.constKeyword.lexeme);
-      _writer.print(' ');
+      _buffer.write(node.constKeyword.lexeme);
+      _buffer.write(' ');
     }
     _visitNodeWithSuffix(node.typeArguments, " ");
-    _writer.print("[");
+    _buffer.write("[");
     _visitNodeListWithSeparator(node.elements, ", ");
-    _writer.print("]");
+    _buffer.write("]");
     return null;
   }
 
   @override
   Object visitMapLiteral(MapLiteral node) {
     if (node.constKeyword != null) {
-      _writer.print(node.constKeyword.lexeme);
-      _writer.print(' ');
+      _buffer.write(node.constKeyword.lexeme);
+      _buffer.write(' ');
     }
     _visitNodeWithSuffix(node.typeArguments, " ");
-    _writer.print("{");
+    _buffer.write("{");
     _visitNodeListWithSeparator(node.entries, ", ");
-    _writer.print("}");
+    _buffer.write("}");
     return null;
   }
 
   @override
   Object visitMapLiteralEntry(MapLiteralEntry node) {
     _visitNode(node.key);
-    _writer.print(" : ");
+    _buffer.write(" : ");
     _visitNode(node.value);
     return null;
   }
@@ -7382,11 +7381,11 @@
   @override
   Object visitMethodInvocation(MethodInvocation node) {
     if (node.isCascaded) {
-      _writer.print("..");
+      _buffer.write("..");
     } else {
       if (node.target != null) {
         node.target.accept(this);
-        _writer.print(node.operator.lexeme);
+        _buffer.write(node.operator.lexeme);
       }
     }
     _visitNode(node.methodName);
@@ -7404,69 +7403,69 @@
 
   @override
   Object visitNativeClause(NativeClause node) {
-    _writer.print("native ");
+    _buffer.write("native ");
     _visitNode(node.name);
     return null;
   }
 
   @override
   Object visitNativeFunctionBody(NativeFunctionBody node) {
-    _writer.print("native ");
+    _buffer.write("native ");
     _visitNode(node.stringLiteral);
-    _writer.print(';');
+    _buffer.write(';');
     return null;
   }
 
   @override
   Object visitNullLiteral(NullLiteral node) {
-    _writer.print("null");
+    _buffer.write("null");
     return null;
   }
 
   @override
   Object visitParenthesizedExpression(ParenthesizedExpression node) {
-    _writer.print('(');
+    _buffer.write('(');
     _visitNode(node.expression);
-    _writer.print(')');
+    _buffer.write(')');
     return null;
   }
 
   @override
   Object visitPartDirective(PartDirective node) {
     _visitNodeListWithSeparatorAndSuffix(node.metadata, " ", " ");
-    _writer.print("part ");
+    _buffer.write("part ");
     _visitNode(node.uri);
-    _writer.print(';');
+    _buffer.write(';');
     return null;
   }
 
   @override
   Object visitPartOfDirective(PartOfDirective node) {
     _visitNodeListWithSeparatorAndSuffix(node.metadata, " ", " ");
-    _writer.print("part of ");
+    _buffer.write("part of ");
     _visitNode(node.libraryName);
-    _writer.print(';');
+    _buffer.write(';');
     return null;
   }
 
   @override
   Object visitPostfixExpression(PostfixExpression node) {
     _visitNode(node.operand);
-    _writer.print(node.operator.lexeme);
+    _buffer.write(node.operator.lexeme);
     return null;
   }
 
   @override
   Object visitPrefixedIdentifier(PrefixedIdentifier node) {
     _visitNode(node.prefix);
-    _writer.print('.');
+    _buffer.write('.');
     _visitNode(node.identifier);
     return null;
   }
 
   @override
   Object visitPrefixExpression(PrefixExpression node) {
-    _writer.print(node.operator.lexeme);
+    _buffer.write(node.operator.lexeme);
     _visitNode(node.operand);
     return null;
   }
@@ -7474,10 +7473,10 @@
   @override
   Object visitPropertyAccess(PropertyAccess node) {
     if (node.isCascaded) {
-      _writer.print("..");
+      _buffer.write("..");
     } else {
       _visitNode(node.target);
-      _writer.print(node.operator.lexeme);
+      _buffer.write(node.operator.lexeme);
     }
     _visitNode(node.propertyName);
     return null;
@@ -7486,7 +7485,7 @@
   @override
   Object visitRedirectingConstructorInvocation(
       RedirectingConstructorInvocation node) {
-    _writer.print("this");
+    _buffer.write("this");
     _visitNodeWithPrefix(".", node.constructorName);
     _visitNode(node.argumentList);
     return null;
@@ -7494,7 +7493,7 @@
 
   @override
   Object visitRethrowExpression(RethrowExpression node) {
-    _writer.print("rethrow");
+    _buffer.write("rethrow");
     return null;
   }
 
@@ -7502,24 +7501,24 @@
   Object visitReturnStatement(ReturnStatement node) {
     Expression expression = node.expression;
     if (expression == null) {
-      _writer.print("return;");
+      _buffer.write("return;");
     } else {
-      _writer.print("return ");
+      _buffer.write("return ");
       expression.accept(this);
-      _writer.print(";");
+      _buffer.write(";");
     }
     return null;
   }
 
   @override
   Object visitScriptTag(ScriptTag node) {
-    _writer.print(node.scriptTag.lexeme);
+    _buffer.write(node.scriptTag.lexeme);
     return null;
   }
 
   @override
   Object visitShowCombinator(ShowCombinator node) {
-    _writer.print("show ");
+    _buffer.write("show ");
     _visitNodeListWithSeparator(node.shownNames, ", ");
     return null;
   }
@@ -7535,13 +7534,13 @@
 
   @override
   Object visitSimpleIdentifier(SimpleIdentifier node) {
-    _writer.print(node.token.lexeme);
+    _buffer.write(node.token.lexeme);
     return null;
   }
 
   @override
   Object visitSimpleStringLiteral(SimpleStringLiteral node) {
-    _writer.print(node.literal.lexeme);
+    _buffer.write(node.literal.lexeme);
     return null;
   }
 
@@ -7553,7 +7552,7 @@
 
   @override
   Object visitSuperConstructorInvocation(SuperConstructorInvocation node) {
-    _writer.print("super");
+    _buffer.write("super");
     _visitNodeWithPrefix(".", node.constructorName);
     _visitNode(node.argumentList);
     return null;
@@ -7561,16 +7560,16 @@
 
   @override
   Object visitSuperExpression(SuperExpression node) {
-    _writer.print("super");
+    _buffer.write("super");
     return null;
   }
 
   @override
   Object visitSwitchCase(SwitchCase node) {
     _visitNodeListWithSeparatorAndSuffix(node.labels, " ", " ");
-    _writer.print("case ");
+    _buffer.write("case ");
     _visitNode(node.expression);
-    _writer.print(": ");
+    _buffer.write(": ");
     _visitNodeListWithSeparator(node.statements, " ");
     return null;
   }
@@ -7578,43 +7577,43 @@
   @override
   Object visitSwitchDefault(SwitchDefault node) {
     _visitNodeListWithSeparatorAndSuffix(node.labels, " ", " ");
-    _writer.print("default: ");
+    _buffer.write("default: ");
     _visitNodeListWithSeparator(node.statements, " ");
     return null;
   }
 
   @override
   Object visitSwitchStatement(SwitchStatement node) {
-    _writer.print("switch (");
+    _buffer.write("switch (");
     _visitNode(node.expression);
-    _writer.print(") {");
+    _buffer.write(") {");
     _visitNodeListWithSeparator(node.members, " ");
-    _writer.print("}");
+    _buffer.write("}");
     return null;
   }
 
   @override
   Object visitSymbolLiteral(SymbolLiteral node) {
-    _writer.print("#");
+    _buffer.write("#");
     List<Token> components = node.components;
     for (int i = 0; i < components.length; i++) {
       if (i > 0) {
-        _writer.print(".");
+        _buffer.write(".");
       }
-      _writer.print(components[i].lexeme);
+      _buffer.write(components[i].lexeme);
     }
     return null;
   }
 
   @override
   Object visitThisExpression(ThisExpression node) {
-    _writer.print("this");
+    _buffer.write("this");
     return null;
   }
 
   @override
   Object visitThrowExpression(ThrowExpression node) {
-    _writer.print("throw ");
+    _buffer.write("throw ");
     _visitNode(node.expression);
     return null;
   }
@@ -7627,7 +7626,7 @@
 
   @override
   Object visitTryStatement(TryStatement node) {
-    _writer.print("try ");
+    _buffer.write("try ");
     _visitNode(node.body);
     _visitNodeListWithSeparatorAndPrefix(" ", node.catchClauses, " ");
     _visitNodeWithPrefix(" finally ", node.finallyBlock);
@@ -7636,9 +7635,9 @@
 
   @override
   Object visitTypeArgumentList(TypeArgumentList node) {
-    _writer.print('<');
+    _buffer.write('<');
     _visitNodeListWithSeparator(node.arguments, ", ");
-    _writer.print('>');
+    _buffer.write('>');
     return null;
   }
 
@@ -7659,9 +7658,9 @@
 
   @override
   Object visitTypeParameterList(TypeParameterList node) {
-    _writer.print('<');
+    _buffer.write('<');
     _visitNodeListWithSeparator(node.typeParameters, ", ");
-    _writer.print('>');
+    _buffer.write('>');
     return null;
   }
 
@@ -7685,22 +7684,22 @@
   @override
   Object visitVariableDeclarationStatement(VariableDeclarationStatement node) {
     _visitNode(node.variables);
-    _writer.print(";");
+    _buffer.write(";");
     return null;
   }
 
   @override
   Object visitWhileStatement(WhileStatement node) {
-    _writer.print("while (");
+    _buffer.write("while (");
     _visitNode(node.condition);
-    _writer.print(") ");
+    _buffer.write(") ");
     _visitNode(node.body);
     return null;
   }
 
   @override
   Object visitWithClause(WithClause node) {
-    _writer.print("with ");
+    _buffer.write("with ");
     _visitNodeListWithSeparator(node.mixinTypes, ", ");
     return null;
   }
@@ -7708,12 +7707,12 @@
   @override
   Object visitYieldStatement(YieldStatement node) {
     if (node.star != null) {
-      _writer.print("yield* ");
+      _buffer.write("yield* ");
     } else {
-      _writer.print("yield ");
+      _buffer.write("yield ");
     }
     _visitNode(node.expression);
-    _writer.print(";");
+    _buffer.write(";");
     return null;
   }
 
@@ -7723,7 +7722,7 @@
    */
   void _visitFunctionWithPrefix(String prefix, FunctionBody body) {
     if (body is! EmptyFunctionBody) {
-      _writer.print(prefix);
+      _buffer.write(prefix);
     }
     _visitNode(body);
   }
@@ -7752,7 +7751,7 @@
       int size = nodes.length;
       for (int i = 0; i < size; i++) {
         if (i > 0) {
-          _writer.print(separator);
+          _buffer.write(separator);
         }
         nodes[i].accept(this);
       }
@@ -7768,10 +7767,10 @@
     if (nodes != null) {
       int size = nodes.length;
       if (size > 0) {
-        _writer.print(prefix);
+        _buffer.write(prefix);
         for (int i = 0; i < size; i++) {
           if (i > 0) {
-            _writer.print(separator);
+            _buffer.write(separator);
           }
           nodes[i].accept(this);
         }
@@ -7790,11 +7789,11 @@
       if (size > 0) {
         for (int i = 0; i < size; i++) {
           if (i > 0) {
-            _writer.print(separator);
+            _buffer.write(separator);
           }
           nodes[i].accept(this);
         }
-        _writer.print(suffix);
+        _buffer.write(suffix);
       }
     }
   }
@@ -7805,7 +7804,7 @@
    */
   void _visitNodeWithPrefix(String prefix, AstNode node) {
     if (node != null) {
-      _writer.print(prefix);
+      _buffer.write(prefix);
       node.accept(this);
     }
   }
@@ -7817,7 +7816,7 @@
   void _visitNodeWithSuffix(AstNode node, String suffix) {
     if (node != null) {
       node.accept(this);
-      _writer.print(suffix);
+      _buffer.write(suffix);
     }
   }
 
@@ -7827,8 +7826,8 @@
    */
   void _visitTokenWithSuffix(Token token, String suffix) {
     if (token != null) {
-      _writer.print(token.lexeme);
-      _writer.print(suffix);
+      _buffer.write(token.lexeme);
+      _buffer.write(suffix);
     }
   }
 }
diff --git a/pkg/analyzer/lib/src/dart/constant/evaluation.dart b/pkg/analyzer/lib/src/dart/constant/evaluation.dart
index 8c48f49..ffd2cc8 100644
--- a/pkg/analyzer/lib/src/dart/constant/evaluation.dart
+++ b/pkg/analyzer/lib/src/dart/constant/evaluation.dart
@@ -21,7 +21,6 @@
 import 'package:analyzer/src/generated/engine.dart'
     show AnalysisEngine, RecordingErrorListener;
 import 'package:analyzer/src/generated/error.dart';
-import 'package:analyzer/src/generated/java_core.dart';
 import 'package:analyzer/src/generated/resolver.dart' show TypeProvider;
 import 'package:analyzer/src/generated/type_system.dart'
     show TypeSystem, TypeSystemImpl;
@@ -655,10 +654,9 @@
             }
             fieldMap[fieldName] = argumentValue;
           }
-        } else {
-          String name = baseParameter.name;
-          parameterMap[name] = argumentValue;
         }
+        String name = baseParameter.name;
+        parameterMap[name] = argumentValue;
       }
     }
     ConstantVisitor initializerVisitor = new ConstantVisitor(
@@ -859,9 +857,7 @@
    * (i.e. whether it is allowed for a call to the Symbol constructor).
    */
   static bool isValidPublicSymbol(String name) =>
-      name.isEmpty ||
-      name == "void" ||
-      new JavaPatternMatcher(_PUBLIC_SYMBOL_PATTERN, name).matches();
+      name.isEmpty || name == "void" || _PUBLIC_SYMBOL_PATTERN.hasMatch(name);
 }
 
 /**
@@ -1139,6 +1135,48 @@
    */
   TypeSystem get _typeSystem => evaluationEngine.typeSystem;
 
+  /**
+   * Given a [type] that may contain free type variables, evaluate them against
+   * the current lexical environment and return the substituted type.
+   */
+  DartType evaluateType(DartType type) {
+    if (type is TypeParameterType) {
+      // Constants may only refer to type parameters in strong mode.
+      if (!evaluationEngine.strongMode) {
+        return null;
+      }
+
+      String name = type.name;
+      if (_lexicalEnvironment != null) {
+        return _lexicalEnvironment[name]?.toTypeValue() ?? type;
+      }
+      return type;
+    }
+    if (type is ParameterizedType) {
+      List<DartType> typeArguments;
+      for (int i = 0; i < type.typeArguments.length; i++) {
+        DartType ta = type.typeArguments[i];
+        DartType t = evaluateType(ta);
+        if (!identical(t, ta)) {
+          if (typeArguments == null) {
+            typeArguments = type.typeArguments.toList(growable: false);
+          }
+          typeArguments[i] = t;
+        }
+      }
+      if (typeArguments == null) return type;
+      return type.substitute2(typeArguments, type.typeArguments);
+    }
+    return type;
+  }
+
+  /**
+   * Given a [type], returns the constant value that contains that type value.
+   */
+  DartObjectImpl typeConstant(DartType type) {
+    return new DartObjectImpl(_typeProvider.typeType, new TypeState(type));
+  }
+
   @override
   DartObjectImpl visitAdjacentStrings(AdjacentStrings node) {
     DartObjectImpl result = null;
@@ -1519,48 +1557,6 @@
   }
 
   /**
-   * Given a [type], returns the constant value that contains that type value.
-   */
-  DartObjectImpl typeConstant(DartType type) {
-    return new DartObjectImpl(_typeProvider.typeType, new TypeState(type));
-  }
-
-  /**
-   * Given a [type] that may contain free type variables, evaluate them against
-   * the current lexical environment and return the substituted type.
-   */
-  DartType evaluateType(DartType type) {
-    if (type is TypeParameterType) {
-      // Constants may only refer to type parameters in strong mode.
-      if (!evaluationEngine.strongMode) {
-        return null;
-      }
-
-      String name = type.name;
-      if (_lexicalEnvironment != null) {
-        return _lexicalEnvironment[name]?.toTypeValue() ?? type;
-      }
-      return type;
-    }
-    if (type is ParameterizedType) {
-      List<DartType> typeArguments;
-      for (int i = 0; i < type.typeArguments.length; i++) {
-        DartType ta = type.typeArguments[i];
-        DartType t = evaluateType(ta);
-        if (!identical(t, ta)) {
-          if (typeArguments == null) {
-            typeArguments = type.typeArguments.toList(growable: false);
-          }
-          typeArguments[i] = t;
-        }
-      }
-      if (typeArguments == null) return type;
-      return type.substitute2(typeArguments, type.typeArguments);
-    }
-    return type;
-  }
-
-  /**
    * Create an error associated with the given [node]. The error will have the
    * given error [code].
    */
diff --git a/pkg/analyzer/lib/src/dart/element/builder.dart b/pkg/analyzer/lib/src/dart/element/builder.dart
index 6f06b5c..2cf5a0b 100644
--- a/pkg/analyzer/lib/src/dart/element/builder.dart
+++ b/pkg/analyzer/lib/src/dart/element/builder.dart
@@ -11,11 +11,11 @@
 import 'package:analyzer/dart/ast/visitor.dart';
 import 'package:analyzer/dart/element/element.dart';
 import 'package:analyzer/dart/element/type.dart';
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/src/dart/element/element.dart';
 import 'package:analyzer/src/dart/element/type.dart';
 import 'package:analyzer/src/generated/engine.dart';
 import 'package:analyzer/src/generated/error.dart';
-import 'package:analyzer/src/generated/java_engine.dart';
 import 'package:analyzer/src/generated/resolver.dart';
 import 'package:analyzer/src/generated/sdk.dart';
 import 'package:analyzer/src/generated/source.dart';
diff --git a/pkg/analyzer/lib/src/dart/element/element.dart b/pkg/analyzer/lib/src/dart/element/element.dart
index 820a132..00cad13 100644
--- a/pkg/analyzer/lib/src/dart/element/element.dart
+++ b/pkg/analyzer/lib/src/dart/element/element.dart
@@ -584,18 +584,6 @@
   }
 
   @override
-  SourceRange get docRange {
-    if (_unlinkedClass != null) {
-      UnlinkedDocumentationComment comment =
-          _unlinkedClass.documentationComment;
-      return comment != null
-          ? new SourceRange(comment.offset, comment.length)
-          : null;
-    }
-    return super.docRange;
-  }
-
-  @override
   String get documentationComment {
     if (_unlinkedClass != null) {
       return _unlinkedClass?.documentationComment?.text;
@@ -743,6 +731,7 @@
       ResynthesizerContext context = enclosingUnit.resynthesizerContext;
       _interfaces = _unlinkedClass.interfaces
           .map((EntityRef t) => context.resolveTypeRef(t, this))
+          .where((DartType type) => type is InterfaceType)
           .toList(growable: false);
     }
     return _interfaces ?? const <InterfaceType>[];
@@ -849,6 +838,7 @@
       ResynthesizerContext context = enclosingUnit.resynthesizerContext;
       _mixins = _unlinkedClass.mixins
           .map((EntityRef t) => context.resolveTypeRef(t, this))
+          .where((DartType type) => type is InterfaceType)
           .toList(growable: false);
     }
     return _mixins ?? const <InterfaceType>[];
@@ -879,8 +869,13 @@
   InterfaceType get supertype {
     if (_unlinkedClass != null && _supertype == null) {
       if (_unlinkedClass.supertype != null) {
-        _supertype = enclosingUnit.resynthesizerContext
+        DartType type = enclosingUnit.resynthesizerContext
             .resolveTypeRef(_unlinkedClass.supertype, this);
+        if (type is InterfaceType) {
+          _supertype = type;
+        } else {
+          _supertype = context.typeProvider.objectType;
+        }
       } else if (_unlinkedClass.hasNoSupertype) {
         return null;
       } else {
@@ -1251,26 +1246,26 @@
   }
 
   bool _safeIsOrInheritsProxy(
-      ClassElement classElt, HashSet<ClassElement> visitedClassElts) {
-    if (visitedClassElts.contains(classElt)) {
+      ClassElement element, HashSet<ClassElement> visited) {
+    if (visited.contains(element)) {
       return false;
     }
-    visitedClassElts.add(classElt);
-    if (classElt.isProxy) {
+    visited.add(element);
+    if (element.isProxy) {
       return true;
-    } else if (classElt.supertype != null &&
-        _safeIsOrInheritsProxy(classElt.supertype.element, visitedClassElts)) {
+    } else if (element.supertype != null &&
+        _safeIsOrInheritsProxy(element.supertype.element, visited)) {
       return true;
     }
-    List<InterfaceType> supertypes = classElt.interfaces;
+    List<InterfaceType> supertypes = element.interfaces;
     for (int i = 0; i < supertypes.length; i++) {
-      if (_safeIsOrInheritsProxy(supertypes[i].element, visitedClassElts)) {
+      if (_safeIsOrInheritsProxy(supertypes[i].element, visited)) {
         return true;
       }
     }
-    supertypes = classElt.mixins;
+    supertypes = element.mixins;
     for (int i = 0; i < supertypes.length; i++) {
-      if (_safeIsOrInheritsProxy(supertypes[i].element, visitedClassElts)) {
+      if (_safeIsOrInheritsProxy(supertypes[i].element, visited)) {
         return true;
       }
     }
@@ -1814,18 +1809,6 @@
       : super(enumElement);
 
   @override
-  SourceRange get docRange {
-    if (_unlinkedEnumValue != null) {
-      UnlinkedDocumentationComment comment =
-          _unlinkedEnumValue.documentationComment;
-      return comment != null
-          ? new SourceRange(comment.offset, comment.length)
-          : null;
-    }
-    return super.docRange;
-  }
-
-  @override
   String get documentationComment {
     if (_unlinkedEnumValue != null) {
       return _unlinkedEnumValue?.documentationComment?.text;
@@ -2693,17 +2676,6 @@
   String _docComment;
 
   /**
-   * The offset to the beginning of the documentation comment,
-   * or `null` if this element does not have a documentation comment.
-   */
-  int _docRangeOffset;
-
-  /**
-   * The length of the documentation comment range for this element.
-   */
-  int _docRangeLength;
-
-  /**
    * The offset of the beginning of the element's code in the file that contains
    * the element, or `null` if the element is synthetic.
    */
@@ -2756,14 +2728,6 @@
   String get displayName => _name;
 
   @override
-  SourceRange get docRange {
-    if (_docRangeOffset != null && _docRangeLength != null) {
-      return new SourceRange(_docRangeOffset, _docRangeLength);
-    }
-    return null;
-  }
-
-  @override
   String get documentationComment => _docComment;
 
   /**
@@ -3108,15 +3072,6 @@
   }
 
   /**
-   * Set the documentation comment source range for this element.
-   */
-  void setDocRange(int offset, int length) {
-    assert(!isResynthesized);
-    _docRangeOffset = offset;
-    _docRangeLength = length;
-  }
-
-  /**
    * Set whether the given [modifier] is associated with this element to
    * correspond to the given [value].
    */
@@ -3402,17 +3357,6 @@
   }
 
   @override
-  SourceRange get docRange {
-    if (_unlinkedEnum != null) {
-      UnlinkedDocumentationComment comment = _unlinkedEnum.documentationComment;
-      return comment != null
-          ? new SourceRange(comment.offset, comment.length)
-          : null;
-    }
-    return super.docRange;
-  }
-
-  @override
   String get documentationComment {
     if (_unlinkedEnum != null) {
       return _unlinkedEnum?.documentationComment?.text;
@@ -3666,18 +3610,6 @@
   }
 
   @override
-  SourceRange get docRange {
-    if (serializedExecutable != null) {
-      UnlinkedDocumentationComment comment =
-          serializedExecutable.documentationComment;
-      return comment != null
-          ? new SourceRange(comment.offset, comment.length)
-          : null;
-    }
-    return super.docRange;
-  }
-
-  @override
   String get documentationComment {
     if (serializedExecutable != null) {
       return serializedExecutable?.documentationComment?.text;
@@ -4644,18 +4576,6 @@
   String get displayName => name;
 
   @override
-  SourceRange get docRange {
-    if (_unlinkedTypedef != null) {
-      UnlinkedDocumentationComment comment =
-          _unlinkedTypedef.documentationComment;
-      return comment != null
-          ? new SourceRange(comment.offset, comment.length)
-          : null;
-    }
-    return super.docRange;
-  }
-
-  @override
   String get documentationComment {
     if (_unlinkedTypedef != null) {
       return _unlinkedTypedef?.documentationComment?.text;
@@ -5413,18 +5333,6 @@
   }
 
   @override
-  SourceRange get docRange {
-    if (_unlinkedDefiningUnit != null) {
-      UnlinkedDocumentationComment comment =
-          _unlinkedDefiningUnit.libraryDocumentationComment;
-      return comment != null
-          ? new SourceRange(comment.offset, comment.length)
-          : null;
-    }
-    return super.docRange;
-  }
-
-  @override
   String get documentationComment {
     if (_unlinkedDefiningUnit != null) {
       return _unlinkedDefiningUnit?.libraryDocumentationComment?.text;
@@ -5792,13 +5700,6 @@
   }
 
   @override
-  List<LibraryElement> get visibleLibraries {
-    HashSet<LibraryElement> visibleLibraries = new HashSet<LibraryElement>();
-    _addVisibleLibraries(visibleLibraries, false);
-    return visibleLibraries.toList(growable: false);
-  }
-
-  @override
   accept(ElementVisitor visitor) => visitor.visitLibraryElement(this);
 
   /**
@@ -5914,12 +5815,6 @@
     invalidate(this);
   }
 
-  @override
-  bool isUpToDate(int timeStamp) {
-    Set<LibraryElement> visitedLibraries = new Set();
-    return _safeIsUpToDate(this, timeStamp, visitedLibraries);
-  }
-
   /**
    * Set whether the library has the given [capability] to
    * correspond to the given [value].
@@ -5940,36 +5835,6 @@
   }
 
   /**
-   * Recursively fills set of visible libraries for
-   * [getVisibleElementsLibraries].
-   */
-  void _addVisibleLibraries(
-      Set<LibraryElement> visibleLibraries, bool includeExports) {
-    // maybe already processed
-    if (!visibleLibraries.add(this)) {
-      return;
-    }
-    // add imported libraries
-    for (ImportElement importElement in imports) {
-      LibraryElement importedLibrary = importElement.importedLibrary;
-      if (importedLibrary != null) {
-        (importedLibrary as LibraryElementImpl)
-            ._addVisibleLibraries(visibleLibraries, true);
-      }
-    }
-    // add exported libraries
-    if (includeExports) {
-      for (ExportElement exportElement in exports) {
-        LibraryElement exportedLibrary = exportElement.exportedLibrary;
-        if (exportedLibrary != null) {
-          (exportedLibrary as LibraryElementImpl)
-              ._addVisibleLibraries(visibleLibraries, true);
-        }
-      }
-    }
-  }
-
-  /**
    * Return `true` if the [library] has the given [capability].
    */
   static bool hasResolutionCapability(
@@ -5977,44 +5842,6 @@
     return library is LibraryElementImpl &&
         BooleanArray.get(library._resolutionCapabilities, capability.index);
   }
-
-  /**
-   * Return `true` if the given [library] is up to date with respect to the
-   * given [timeStamp]. The set of [visitedLibraries] is used to prevent
-   * infinite recursion in the case of mutually dependent libraries.
-   */
-  static bool _safeIsUpToDate(LibraryElement library, int timeStamp,
-      Set<LibraryElement> visitedLibraries) {
-    if (!visitedLibraries.contains(library)) {
-      visitedLibraries.add(library);
-      AnalysisContext context = library.context;
-      // Check the defining compilation unit.
-      if (timeStamp <
-          context
-              .getModificationStamp(library.definingCompilationUnit.source)) {
-        return false;
-      }
-      // Check the parted compilation units.
-      for (CompilationUnitElement element in library.parts) {
-        if (timeStamp < context.getModificationStamp(element.source)) {
-          return false;
-        }
-      }
-      // Check the imported libraries.
-      for (LibraryElement importedLibrary in library.importedLibraries) {
-        if (!_safeIsUpToDate(importedLibrary, timeStamp, visitedLibraries)) {
-          return false;
-        }
-      }
-      // Check the exported libraries.
-      for (LibraryElement exportedLibrary in library.exportedLibraries) {
-        if (!_safeIsUpToDate(exportedLibrary, timeStamp, visitedLibraries)) {
-          return false;
-        }
-      }
-    }
-    return true;
-  }
 }
 
 /**
@@ -6483,9 +6310,6 @@
   String get displayName => _name;
 
   @override
-  SourceRange get docRange => null;
-
-  @override
   String get documentationComment => null;
 
   @override
@@ -6769,18 +6593,6 @@
   }
 
   @override
-  SourceRange get docRange {
-    if (_unlinkedVariable != null) {
-      UnlinkedDocumentationComment comment =
-          _unlinkedVariable.documentationComment;
-      return comment != null
-          ? new SourceRange(comment.offset, comment.length)
-          : null;
-    }
-    return super.docRange;
-  }
-
-  @override
   String get documentationComment {
     if (_unlinkedVariable != null) {
       return _unlinkedVariable?.documentationComment?.text;
diff --git a/pkg/analyzer/lib/src/dart/element/handle.dart b/pkg/analyzer/lib/src/dart/element/handle.dart
index 6823b99..9538b2a 100644
--- a/pkg/analyzer/lib/src/dart/element/handle.dart
+++ b/pkg/analyzer/lib/src/dart/element/handle.dart
@@ -340,10 +340,6 @@
   @override
   String get displayName => actualElement.displayName;
 
-  @deprecated
-  @override
-  SourceRange get docRange => actualElement.docRange;
-
   @override
   String get documentationComment => actualElement.documentationComment;
 
@@ -812,17 +808,11 @@
   List<CompilationUnitElement> get units => actualElement.units;
 
   @override
-  List<LibraryElement> get visibleLibraries => actualElement.visibleLibraries;
-
-  @override
   List<ImportElement> getImportsWithPrefix(PrefixElement prefixElement) =>
       actualElement.getImportsWithPrefix(prefixElement);
 
   @override
   ClassElement getType(String className) => actualElement.getType(className);
-
-  @override
-  bool isUpToDate(int timeStamp) => actualElement.isUpToDate(timeStamp);
 }
 
 /**
diff --git a/pkg/analyzer/lib/src/dart/element/member.dart b/pkg/analyzer/lib/src/dart/element/member.dart
index e309af2..5ee9634 100644
--- a/pkg/analyzer/lib/src/dart/element/member.dart
+++ b/pkg/analyzer/lib/src/dart/element/member.dart
@@ -12,7 +12,6 @@
 import 'package:analyzer/src/dart/element/type.dart';
 import 'package:analyzer/src/generated/engine.dart'
     show AnalysisContext, AnalysisEngine;
-import 'package:analyzer/src/generated/java_core.dart';
 import 'package:analyzer/src/generated/java_engine.dart';
 import 'package:analyzer/src/generated/source.dart';
 import 'package:analyzer/src/generated/utilities_dart.dart';
@@ -447,10 +446,6 @@
   @override
   String get displayName => _baseElement.displayName;
 
-  @deprecated
-  @override
-  SourceRange get docRange => _baseElement.docRange;
-
   @override
   String get documentationComment => _baseElement.documentationComment;
 
diff --git a/pkg/analyzer/lib/src/dart/element/type.dart b/pkg/analyzer/lib/src/dart/element/type.dart
index de73679..914c8e0 100644
--- a/pkg/analyzer/lib/src/dart/element/type.dart
+++ b/pkg/analyzer/lib/src/dart/element/type.dart
@@ -13,7 +13,6 @@
 import 'package:analyzer/src/dart/element/member.dart';
 import 'package:analyzer/src/generated/engine.dart'
     show AnalysisContext, AnalysisEngine;
-import 'package:analyzer/src/generated/java_core.dart';
 import 'package:analyzer/src/generated/type_system.dart';
 import 'package:analyzer/src/generated/utilities_collection.dart';
 import 'package:analyzer/src/generated/utilities_dart.dart';
diff --git a/pkg/analyzer/lib/src/dart/resolver/inheritance_manager.dart b/pkg/analyzer/lib/src/dart/resolver/inheritance_manager.dart
index 476334b..e31ef5f 100644
--- a/pkg/analyzer/lib/src/dart/resolver/inheritance_manager.dart
+++ b/pkg/analyzer/lib/src/dart/resolver/inheritance_manager.dart
@@ -8,12 +8,12 @@
 import 'package:analyzer/dart/ast/token.dart';
 import 'package:analyzer/dart/element/element.dart';
 import 'package:analyzer/dart/element/type.dart';
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/src/dart/ast/token.dart';
 import 'package:analyzer/src/dart/element/element.dart';
 import 'package:analyzer/src/dart/element/member.dart';
 import 'package:analyzer/src/dart/element/type.dart';
 import 'package:analyzer/src/generated/error.dart';
-import 'package:analyzer/src/generated/java_engine.dart';
 import 'package:analyzer/src/generated/type_system.dart';
 import 'package:analyzer/src/generated/utilities_dart.dart';
 
diff --git a/pkg/analyzer/lib/src/dart/resolver/scope.dart b/pkg/analyzer/lib/src/dart/resolver/scope.dart
index dbe05b1..e554947 100644
--- a/pkg/analyzer/lib/src/dart/resolver/scope.dart
+++ b/pkg/analyzer/lib/src/dart/resolver/scope.dart
@@ -11,7 +11,6 @@
 import 'package:analyzer/src/dart/element/element.dart';
 import 'package:analyzer/src/generated/engine.dart';
 import 'package:analyzer/src/generated/error.dart';
-import 'package:analyzer/src/generated/java_core.dart';
 import 'package:analyzer/src/generated/java_engine.dart';
 import 'package:analyzer/src/generated/source.dart';
 
@@ -21,7 +20,7 @@
 class BlockScope extends EnclosedScope {
   /**
    * Initialize a newly created scope, enclosed within the [enclosingScope],
-   * based on the given [classElement].
+   * based on the given [block].
    */
   BlockScope(Scope enclosingScope, Block block) : super(enclosingScope) {
     if (block == null) {
@@ -114,6 +113,30 @@
 }
 
 /**
+ * The scope defined for the initializers in a constructor.
+ */
+class ConstructorInitializerScope extends EnclosedScope {
+  /**
+   * Initialize a newly created scope, enclosed within the [enclosingScope].
+   */
+  ConstructorInitializerScope(Scope enclosingScope, ConstructorElement element)
+      : super(enclosingScope) {
+    _initializeFieldFormalParameters(element);
+  }
+
+  /**
+   * Initialize the local scope with all of the field formal parameters.
+   */
+  void _initializeFieldFormalParameters(ConstructorElement element) {
+    for (ParameterElement parameter in element.parameters) {
+      if (parameter is FieldFormalParameterElement) {
+        define(parameter);
+      }
+    }
+  }
+}
+
+/**
  * A scope that is lexically enclosed in another scope.
  */
 class EnclosedScope extends Scope {
@@ -128,10 +151,6 @@
    */
   EnclosedScope(this.enclosingScope);
 
-  @deprecated
-  @override
-  AnalysisErrorListener get errorListener => enclosingScope.errorListener;
-
   @override
   Element internalLookup(
       Identifier identifier, String name, LibraryElement referencingLibrary) {
@@ -364,10 +383,6 @@
    */
   final LibraryElement _definingLibrary;
 
-  @deprecated
-  @override
-  final AnalysisErrorListener errorListener;
-
   /**
    * A list of the namespaces representing the names that are available in this scope from imported
    * libraries.
@@ -382,10 +397,9 @@
 
   /**
    * Initialize a newly created scope representing the names imported into the
-   * [_definingLibrary]. The [errorListener] is no longer used and should be
-   * omitted.
+   * [_definingLibrary].
    */
-  LibraryImportScope(this._definingLibrary, [this.errorListener]) {
+  LibraryImportScope(this._definingLibrary) {
     _createImportedNamespaces();
   }
 
@@ -567,12 +581,10 @@
 class LibraryScope extends EnclosedScope {
   /**
    * Initialize a newly created scope representing the names defined in the
-   * [definingLibrary]. The [errorListener] is no longer used and should be
-   * omitted.
+   * [definingLibrary].
    */
-  LibraryScope(LibraryElement definingLibrary,
-      [@deprecated AnalysisErrorListener errorListener])
-      : super(new LibraryImportScope(definingLibrary, errorListener)) {
+  LibraryScope(LibraryElement definingLibrary)
+      : super(new LibraryImportScope(definingLibrary)) {
     _defineTopLevelNames(definingLibrary);
   }
 
@@ -988,17 +1000,9 @@
   Scope get enclosingScope => null;
 
   /**
-   * Return the listener that is to be informed when an error is encountered.
-   */
-  @deprecated
-  AnalysisErrorListener get errorListener;
-
-  /**
    * Add the given [element] to this scope. If there is already an element with
-   * the given name defined in this scope, then an error will be generated and
-   * the original element will continue to be mapped to the name. If there is an
-   * element with the given name in an enclosing scope, then a warning will be
-   * generated but the given element will hide the inherited element.
+   * the given name defined in this scope, then the original element will
+   * continue to be mapped to the name.
    */
   void define(Element element) {
     String name = _getName(element);
diff --git a/pkg/analyzer/lib/src/dart/sdk/sdk.dart b/pkg/analyzer/lib/src/dart/sdk/sdk.dart
index 07e30c8..675ce9b 100644
--- a/pkg/analyzer/lib/src/dart/sdk/sdk.dart
+++ b/pkg/analyzer/lib/src/dart/sdk/sdk.dart
@@ -9,6 +9,7 @@
 import 'dart:io' as io;
 
 import 'package:analyzer/dart/ast/ast.dart';
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/file_system/file_system.dart';
 import 'package:analyzer/file_system/memory_file_system.dart';
 import 'package:analyzer/src/context/context.dart';
@@ -16,8 +17,6 @@
 import 'package:analyzer/src/dart/scanner/scanner.dart';
 import 'package:analyzer/src/generated/engine.dart';
 import 'package:analyzer/src/generated/error.dart';
-import 'package:analyzer/src/generated/java_core.dart';
-import 'package:analyzer/src/generated/java_engine.dart';
 import 'package:analyzer/src/generated/java_engine_io.dart';
 import 'package:analyzer/src/generated/parser.dart';
 import 'package:analyzer/src/generated/sdk.dart';
@@ -145,8 +144,8 @@
       return null;
     }
     try {
-      return file.createSource(parseUriWithException(path));
-    } on URISyntaxException catch (exception, stackTrace) {
+      return file.createSource(Uri.parse(path));
+    } on FormatException catch (exception, stackTrace) {
       AnalysisEngine.instance.logger.logInformation(
           "Failed to create URI: $path",
           new CaughtException(exception, stackTrace));
@@ -208,8 +207,8 @@
     String filePath = srcPath.replaceAll('/', separator);
     try {
       File file = resourceProvider.getFile(filePath);
-      return file.createSource(parseUriWithException(dartUri));
-    } on URISyntaxException {
+      return file.createSource(Uri.parse(dartUri));
+    } on FormatException {
       return null;
     }
   }
@@ -332,8 +331,8 @@
     String filePath = srcPath.replaceAll('/', separator);
     try {
       File file = resourceProvider.getFile(filePath);
-      return file.createSource(parseUriWithException(dartUri));
-    } on URISyntaxException {
+      return file.createSource(Uri.parse(dartUri));
+    } on FormatException {
       return null;
     }
   }
@@ -646,8 +645,8 @@
       if (!relativePath.isEmpty) {
         file = file.parent.getChildAssumingFile(relativePath);
       }
-      return file.createSource(parseUriWithException(dartUri));
-    } on URISyntaxException {
+      return file.createSource(Uri.parse(dartUri));
+    } on FormatException {
       return null;
     }
   }
diff --git a/pkg/analyzer/lib/src/generated/bazel.dart b/pkg/analyzer/lib/src/generated/bazel.dart
index 8198f46..debd300 100644
--- a/pkg/analyzer/lib/src/generated/bazel.dart
+++ b/pkg/analyzer/lib/src/generated/bazel.dart
@@ -4,7 +4,7 @@
 
 library analyzer.src.generated.bazel;
 
-import 'dart:core' hide Resource;
+import 'dart:core';
 
 import 'package:analyzer/file_system/file_system.dart';
 import 'package:analyzer/src/generated/source.dart';
diff --git a/pkg/analyzer/lib/src/generated/engine.dart b/pkg/analyzer/lib/src/generated/engine.dart
index 8975ccd..c3093a2 100644
--- a/pkg/analyzer/lib/src/generated/engine.dart
+++ b/pkg/analyzer/lib/src/generated/engine.dart
@@ -10,6 +10,7 @@
 import 'package:analyzer/dart/ast/ast.dart';
 import 'package:analyzer/dart/ast/visitor.dart';
 import 'package:analyzer/dart/element/element.dart';
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/instrumentation/instrumentation.dart';
 import 'package:analyzer/plugin/resolver_provider.dart';
 import 'package:analyzer/src/cancelable_future.dart';
@@ -1076,6 +1077,12 @@
   bool get enableGenericMethods => null;
 
   /**
+   * Return `true` if access to field formal parameters should be allowed in a
+   * constructor's initializer list.
+   */
+  bool get enableInitializingFormalAccess;
+
+  /**
    * Return `true` to enable the lazy compound assignment operators '&&=' and
    * '||='.
    */
@@ -1227,6 +1234,9 @@
   bool enableGenericMethods = false;
 
   @override
+  bool enableInitializingFormalAccess = false;
+
+  @override
   bool enableLazyAssignmentOperators = false;
 
   @override
@@ -1324,6 +1334,7 @@
     enableAsync = options.enableAsync;
     enableStrictCallChecks = options.enableStrictCallChecks;
     enableGenericMethods = options.enableGenericMethods;
+    enableInitializingFormalAccess = options.enableInitializingFormalAccess;
     enableSuperMixins = options.enableSuperMixins;
     enableTiming = options.enableTiming;
     generateImplicitErrors = options.generateImplicitErrors;
@@ -1772,12 +1783,6 @@
   final List<SourceContainer> removedContainers = new List<SourceContainer>();
 
   /**
-   * A list containing the sources that have been deleted.
-   */
-  @deprecated
-  final List<Source> deletedSources = new List<Source>();
-
-  /**
    * Return a table mapping the sources whose content has been changed to the
    * current content of those sources.
    */
@@ -1792,8 +1797,7 @@
       _changedContent.isEmpty &&
       changedRanges.isEmpty &&
       removedSources.isEmpty &&
-      removedContainers.isEmpty &&
-      deletedSources.isEmpty;
+      removedContainers.isEmpty;
 
   /**
    * Record that the specified [source] has been added and that its content is
@@ -1835,14 +1839,6 @@
   }
 
   /**
-   * Record that the specified [source] has been deleted.
-   */
-  @deprecated
-  void deletedSource(Source source) {
-    deletedSources.add(source);
-  }
-
-  /**
    * Record that the specified source [container] has been removed.
    */
   void removedContainer(SourceContainer container) {
@@ -1872,8 +1868,6 @@
     needsSeparator =
         _appendSources2(buffer, changedRanges, needsSeparator, "changedRanges");
     needsSeparator = _appendSources(
-        buffer, deletedSources, needsSeparator, "deletedSources");
-    needsSeparator = _appendSources(
         buffer, removedSources, needsSeparator, "removedSources");
     int count = removedContainers.length;
     if (count > 0) {
@@ -2680,10 +2674,9 @@
   /**
    * Return `true` if any sources were removed or deleted.
    */
-  bool get wereSourcesRemovedOrDeleted =>
+  bool get wereSourcesRemoved =>
       _changeSet.removedSources.length > 0 ||
-      _changeSet.removedContainers.length > 0 ||
-      _changeSet.deletedSources.length > 0;
+      _changeSet.removedContainers.length > 0;
 }
 
 /**
diff --git a/pkg/analyzer/lib/src/generated/incremental_resolver.dart b/pkg/analyzer/lib/src/generated/incremental_resolver.dart
index 85b0d31..bebf33e 100644
--- a/pkg/analyzer/lib/src/generated/incremental_resolver.dart
+++ b/pkg/analyzer/lib/src/generated/incremental_resolver.dart
@@ -11,6 +11,7 @@
 import 'package:analyzer/dart/ast/token.dart';
 import 'package:analyzer/dart/element/element.dart';
 import 'package:analyzer/dart/element/visitor.dart';
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/src/context/cache.dart';
 import 'package:analyzer/src/dart/ast/token.dart';
 import 'package:analyzer/src/dart/ast/utilities.dart';
@@ -25,7 +26,6 @@
 import 'package:analyzer/src/generated/error_verifier.dart';
 import 'package:analyzer/src/generated/incremental_logger.dart'
     show logger, LoggingTimer;
-import 'package:analyzer/src/generated/java_engine.dart';
 import 'package:analyzer/src/generated/parser.dart';
 import 'package:analyzer/src/generated/resolver.dart';
 import 'package:analyzer/src/generated/source.dart';
@@ -331,8 +331,7 @@
 
   void _prepareResolutionContext(AstNode node) {
     if (_resolutionContext == null) {
-      _resolutionContext =
-          ResolutionContextBuilder.contextFor(node, errorListener);
+      _resolutionContext = ResolutionContextBuilder.contextFor(node);
     }
   }
 
@@ -1054,11 +1053,6 @@
  */
 class ResolutionContextBuilder {
   /**
-   * The listener to which analysis errors will be reported.
-   */
-  final AnalysisErrorListener _errorListener;
-
-  /**
    * The class containing the enclosing [CompilationUnitElement].
    */
   CompilationUnitElement _enclosingUnit;
@@ -1075,12 +1069,6 @@
    */
   ClassElement _enclosingClass;
 
-  /**
-   * Initialize a newly created scope builder to generate a scope that will
-   * report errors to the given listener.
-   */
-  ResolutionContextBuilder(this._errorListener);
-
   Scope _scopeFor(AstNode node) {
     if (node is CompilationUnit) {
       return _scopeForAstNode(node);
@@ -1181,19 +1169,16 @@
    * Return the context in which the given AST structure should be resolved.
    *
    * [node] - the root of the AST structure to be resolved.
-   * [errorListener] - the listener to which analysis errors will be reported.
    *
    * Throws [AnalysisException] if the AST structure has not been resolved or
    * is not part of a [CompilationUnit]
    */
-  static ResolutionContext contextFor(
-      AstNode node, AnalysisErrorListener errorListener) {
+  static ResolutionContext contextFor(AstNode node) {
     if (node == null) {
       throw new AnalysisException("Cannot create context: node is null");
     }
     // build scope
-    ResolutionContextBuilder builder =
-        new ResolutionContextBuilder(errorListener);
+    ResolutionContextBuilder builder = new ResolutionContextBuilder();
     Scope scope = builder._scopeFor(node);
     // prepare context
     ResolutionContext context = new ResolutionContext();
diff --git a/pkg/analyzer/lib/src/generated/incremental_scanner.dart b/pkg/analyzer/lib/src/generated/incremental_scanner.dart
deleted file mode 100644
index a0bd238..0000000
--- a/pkg/analyzer/lib/src/generated/incremental_scanner.dart
+++ /dev/null
@@ -1,251 +0,0 @@
-// Copyright (c) 2014, the Dart project authors.  Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-@deprecated
-library analyzer.src.generated.incremental_scanner;
-
-import "dart:math" as math;
-
-import 'package:analyzer/dart/ast/token.dart';
-import 'package:analyzer/src/dart/scanner/reader.dart';
-import 'package:analyzer/src/dart/scanner/scanner.dart';
-import 'package:analyzer/src/generated/engine.dart';
-import 'package:analyzer/src/generated/error.dart';
-import 'package:analyzer/src/generated/source.dart';
-import 'package:analyzer/src/generated/utilities_collection.dart' show TokenMap;
-
-/**
- * An `IncrementalScanner` is a scanner that scans a subset of a string and
- * inserts the resulting tokens into the middle of an existing token stream.
- */
-@deprecated
-class IncrementalScanner {
-  /**
-   * The source being scanned.
-   */
-  final Source source;
-
-  /**
-   * The reader used to access the characters in the source.
-   */
-  final CharacterReader reader;
-
-  /**
-   * The error listener that will be informed of any errors that are found
-   * during the scan.
-   *
-   * TODO(brianwilkerson) Replace this with a list of errors so that we can
-   * update the errors.
-   */
-  final AnalysisErrorListener errorListener;
-
-  final AnalysisOptions _options;
-
-  /**
-   * A map from tokens that were copied to the copies of the tokens.
-   */
-  TokenMap _tokenMap = new TokenMap();
-
-  /**
-   * The token immediately to the left of the range of tokens that were
-   * modified.
-   */
-  Token leftToken;
-
-  /**
-   * The token immediately to the right of the range of tokens that were
-   * modified.
-   */
-  Token rightToken;
-
-  /**
-   * A flag indicating whether there were any non-comment tokens changed (other
-   * than having their position updated) as a result of the modification.
-   */
-  bool hasNonWhitespaceChange = false;
-
-  /**
-   * Initialize a newly created scanner to scan characters within the given
-   * [source]. The content of the source can be read using the given [reader].
-   * Any errors that are found will be reported to the given [errorListener].
-   * [_options] will determine how scanning is to be performed.
-   */
-  IncrementalScanner(
-      this.source, this.reader, this.errorListener, this._options);
-
-  /**
-   * Return a map from tokens that were copied to the copies of the tokens.
-   *
-   * @return a map from tokens that were copied to the copies of the tokens
-   */
-  TokenMap get tokenMap => _tokenMap;
-
-  /**
-   * Given the [stream] of tokens scanned from the original source, the modified
-   * source (the result of replacing one contiguous range of characters with
-   * another string of characters), and a specification of the modification that
-   * was made, update the token stream to reflect the modified source. Return
-   * the first token in the updated token stream.
-   *
-   * The [stream] is expected to be the first non-EOF token in the token stream.
-   *
-   * The modification is specified by the [index] of the first character in both
-   * the original and modified source that was affected by the modification, the
-   * number of characters removed from the original source (the [removedLength])
-   * and the number of characters added to the modified source (the
-   * [insertedLength]).
-   */
-  Token rescan(Token stream, int index, int removedLength, int insertedLength) {
-    Token leftEof = stream.previous;
-    //
-    // Compute the delta between the character index of characters after the
-    // modified region in the original source and the index of the corresponding
-    // character in the modified source.
-    //
-    int delta = insertedLength - removedLength;
-    //
-    // Skip past the tokens whose end is less than the replacement start. (If
-    // the replacement start is equal to the end of an existing token, then it
-    // means that the existing token might have been modified, so we need to
-    // rescan it.)
-    //
-    while (stream.type != TokenType.EOF && stream.end < index) {
-      _tokenMap.put(stream, stream);
-      stream = stream.next;
-    }
-    Token oldFirst = stream;
-    Token oldLeftToken = stream.previous;
-    leftToken = oldLeftToken;
-    //
-    // Skip past tokens until we find a token whose offset is greater than the
-    // end of the removed region. (If the end of the removed region is equal to
-    // the beginning of an existing token, then it means that the existing token
-    // might have been modified, so we need to rescan it.)
-    //
-    int removedEnd = index + (removedLength == 0 ? 0 : removedLength - 1);
-    while (stream.type != TokenType.EOF && stream.offset <= removedEnd) {
-      stream = stream.next;
-    }
-    //
-    // Figure out which region of characters actually needs to be re-scanned.
-    //
-    Token oldLast;
-    Token oldRightToken;
-    if (stream.type != TokenType.EOF && removedEnd + 1 == stream.offset) {
-      oldLast = stream;
-      stream = stream.next;
-      oldRightToken = stream;
-    } else {
-      oldLast = stream.previous;
-      oldRightToken = stream;
-    }
-    //
-    // Compute the range of characters that are known to need to be rescanned.
-    // If the index is within an existing token, then we need to start at the
-    // beginning of the token.
-    //
-    int scanStart = math.max(oldLeftToken.end, 0);
-    int scanEnd = oldRightToken.offset + delta;
-    //
-    // Rescan the characters that need to be rescanned.
-    //
-    Token replacementStart = _scanRange(scanStart, scanEnd);
-    oldLeftToken.setNext(replacementStart);
-    Token replacementEnd = _findEof(replacementStart).previous;
-    replacementEnd.setNext(stream);
-    //
-    // Apply the delta to the tokens after the last new token.
-    //
-    _updateOffsets(stream, delta);
-    rightToken = stream;
-    //
-    // If the index is immediately after an existing token and the inserted
-    // characters did not change that original token, then adjust the leftToken
-    // to be the next token. For example, in "a; c;" --> "a;b c;", the leftToken
-    // was ";", but this code advances it to "b" since "b" is the first new
-    // token.
-    //
-    Token newFirst = leftToken.next;
-    while (!identical(newFirst, rightToken) &&
-        !identical(oldFirst, oldRightToken) &&
-        newFirst.type != TokenType.EOF &&
-        _equalTokens(oldFirst, newFirst)) {
-      _tokenMap.put(oldFirst, newFirst);
-      oldLeftToken = oldFirst;
-      oldFirst = oldFirst.next;
-      leftToken = newFirst;
-      newFirst = newFirst.next;
-    }
-    Token newLast = rightToken.previous;
-    while (!identical(newLast, leftToken) &&
-        !identical(oldLast, oldLeftToken) &&
-        newLast.type != TokenType.EOF &&
-        _equalTokens(oldLast, newLast)) {
-      _tokenMap.put(oldLast, newLast);
-      oldRightToken = oldLast;
-      oldLast = oldLast.previous;
-      rightToken = newLast;
-      newLast = newLast.previous;
-    }
-    hasNonWhitespaceChange = !identical(leftToken.next, rightToken) ||
-        !identical(oldLeftToken.next, oldRightToken);
-    //
-    // TODO(brianwilkerson) Begin tokens are not getting associated with the
-    // corresponding end tokens (because the end tokens have not been copied
-    // when we're copying the begin tokens). This could have implications for
-    // parsing.
-    // TODO(brianwilkerson) Update the lineInfo.
-    //
-    return leftEof.next;
-  }
-
-  /**
-   * Return `true` if the [oldToken] and the [newToken] are equal to each other.
-   * For the purposes of the incremental scanner, two tokens are equal if they
-   * have the same type and lexeme.
-   */
-  bool _equalTokens(Token oldToken, Token newToken) =>
-      oldToken.type == newToken.type &&
-      oldToken.length == newToken.length &&
-      oldToken.lexeme == newToken.lexeme;
-
-  /**
-   * Given a [token], return the EOF token that follows the token.
-   */
-  Token _findEof(Token token) {
-    while (token.type != TokenType.EOF) {
-      token = token.next;
-    }
-    return token;
-  }
-
-  /**
-   * Scan the token between the [start] (inclusive) and [end] (exclusive)
-   * offsets.
-   */
-  Token _scanRange(int start, int end) {
-    Scanner scanner = new Scanner(
-        source, new CharacterRangeReader(reader, start, end), errorListener);
-    return scanner.tokenize();
-  }
-
-  /**
-   * Update the offsets of every token from the given [token] to the end of the
-   * stream by adding the given [delta].
-   */
-  void _updateOffsets(Token token, int delta) {
-    while (token.type != TokenType.EOF) {
-      _tokenMap.put(token, token);
-      token.offset += delta;
-      Token comment = token.precedingComments;
-      while (comment != null) {
-        comment.offset += delta;
-        comment = comment.next;
-      }
-      token = token.next;
-    }
-    _tokenMap.put(token, token);
-    token.offset += delta;
-  }
-}
diff --git a/pkg/analyzer/lib/src/generated/java_core.dart b/pkg/analyzer/lib/src/generated/java_core.dart
index 074bb3c..382fa0d 100644
--- a/pkg/analyzer/lib/src/generated/java_core.dart
+++ b/pkg/analyzer/lib/src/generated/java_core.dart
@@ -39,59 +39,6 @@
   });
 }
 
-/// Parses given string to [Uri], throws [URISyntaxException] if invalid.
-Uri parseUriWithException(String str) {
-  Uri uri;
-  try {
-    uri = Uri.parse(str);
-  } on FormatException catch (e) {
-    throw new URISyntaxException(e.toString());
-  }
-  if (uri.path.isEmpty) {
-    throw new URISyntaxException('empty path');
-  }
-  return uri;
-}
-
-/**
- * Very limited printf implementation, supports only %s and %d.
- */
-String _printf(String fmt, List args) {
-  StringBuffer sb = new StringBuffer();
-  bool markFound = false;
-  int argIndex = 0;
-  for (int i = 0; i < fmt.length; i++) {
-    int c = fmt.codeUnitAt(i);
-    if (c == 0x25) {
-      if (markFound) {
-        sb.writeCharCode(c);
-        markFound = false;
-      } else {
-        markFound = true;
-      }
-      continue;
-    }
-    if (markFound) {
-      markFound = false;
-      // %d
-      if (c == 0x64) {
-        sb.write(args[argIndex++]);
-        continue;
-      }
-      // %s
-      if (c == 0x73) {
-        sb.write(args[argIndex++]);
-        continue;
-      }
-      // unknown
-      throw new ArgumentError('[$fmt][$i] = 0x${c.toRadixString(16)}');
-    } else {
-      sb.writeCharCode(c);
-    }
-  }
-  return sb.toString();
-}
-
 class Character {
   static const int MAX_VALUE = 0xffff;
   static const int MAX_CODE_POINT = 0x10ffff;
@@ -150,85 +97,3 @@
   int compareTo(E other) => ordinal - other.ordinal;
   String toString() => name;
 }
-
-class JavaArrays {
-  static int makeHashCode(List a) {
-    // TODO(rnystrom): This is not used by analyzer, but is called by
-    // analysis_server. Move this code there and remove it from here.
-    if (a == null) {
-      return 0;
-    }
-    int result = 1;
-    for (var element in a) {
-      result = 31 * result + (element == null ? 0 : element.hashCode);
-    }
-    return result;
-  }
-}
-
-class JavaPatternMatcher {
-  Iterator<Match> _matches;
-  Match _match;
-  JavaPatternMatcher(RegExp re, String input) {
-    _matches = re.allMatches(input).iterator;
-  }
-  int end() => _match.end;
-  bool find() {
-    if (!_matches.moveNext()) {
-      return false;
-    }
-    _match = _matches.current;
-    return true;
-  }
-
-  String group(int i) => _match[i];
-  bool matches() => find();
-  int start() => _match.start;
-}
-
-class JavaString {
-  static int indexOf(String target, String str, int fromIndex) {
-    if (fromIndex > target.length) return -1;
-    if (fromIndex < 0) fromIndex = 0;
-    return target.indexOf(str, fromIndex);
-  }
-
-  static int lastIndexOf(String target, String str, int fromIndex) {
-    if (fromIndex > target.length) return -1;
-    if (fromIndex < 0) fromIndex = 0;
-    return target.lastIndexOf(str, fromIndex);
-  }
-}
-
-class PrintStringWriter extends PrintWriter {
-  final StringBuffer _sb = new StringBuffer();
-
-  void print(x) {
-    _sb.write(x);
-  }
-
-  String toString() => _sb.toString();
-}
-
-abstract class PrintWriter {
-  void newLine() {
-    this.print('\n');
-  }
-
-  void print(x);
-
-  void printf(String fmt, List args) {
-    this.print(_printf(fmt, args));
-  }
-
-  void println(String s) {
-    this.print(s);
-    this.newLine();
-  }
-}
-
-class URISyntaxException implements Exception {
-  final String message;
-  URISyntaxException(this.message);
-  String toString() => "URISyntaxException: $message";
-}
diff --git a/pkg/analyzer/lib/src/generated/java_engine.dart b/pkg/analyzer/lib/src/generated/java_engine.dart
index 0190ddd..784fcb1 100644
--- a/pkg/analyzer/lib/src/generated/java_engine.dart
+++ b/pkg/analyzer/lib/src/generated/java_engine.dart
@@ -7,107 +7,13 @@
 import 'package:analyzer/src/generated/interner.dart';
 import 'package:analyzer/src/generated/java_core.dart';
 
+export 'package:analyzer/exception/exception.dart';
+
 /**
  * A predicate is a one-argument function that returns a boolean value.
  */
 typedef bool Predicate<E>(E argument);
 
-/**
- * Instances of the class `AnalysisException` represent an exception that
- * occurred during the analysis of one or more sources.
- */
-class AnalysisException implements Exception {
-  /**
-   * The message that explains why the exception occurred.
-   */
-  final String message;
-
-  /**
-   * The exception that caused this exception, or `null` if this exception was
-   * not caused by another exception.
-   */
-  final CaughtException cause;
-
-  /**
-   * Initialize a newly created exception to have the given [message] and
-   * [cause].
-   */
-  AnalysisException([this.message = 'Exception', this.cause = null]);
-
-  String toString() {
-    StringBuffer buffer = new StringBuffer();
-    buffer.write("AnalysisException: ");
-    buffer.writeln(message);
-    if (cause != null) {
-      buffer.write('Caused by ');
-      cause._writeOn(buffer);
-    }
-    return buffer.toString();
-  }
-}
-
-/**
- * Instances of the class `CaughtException` represent an exception that was
- * caught and has an associated stack trace.
- */
-class CaughtException implements Exception {
-  /**
-   * The exception that was caught.
-   */
-  final Object exception;
-
-  /**
-   * The stack trace associated with the exception.
-   */
-  StackTrace stackTrace;
-
-  /**
-   * Initialize a newly created caught exception to have the given [exception]
-   * and [stackTrace].
-   */
-  CaughtException(this.exception, stackTrace) {
-    if (stackTrace == null) {
-      try {
-        throw this;
-      } catch (_, st) {
-        stackTrace = st;
-      }
-    }
-    this.stackTrace = stackTrace;
-  }
-
-  @override
-  String toString() {
-    StringBuffer buffer = new StringBuffer();
-    _writeOn(buffer);
-    return buffer.toString();
-  }
-
-  /**
-   * Write a textual representation of the caught exception and its associated
-   * stack trace.
-   */
-  void _writeOn(StringBuffer buffer) {
-    if (exception is AnalysisException) {
-      AnalysisException analysisException = exception;
-      buffer.writeln(analysisException.message);
-      if (stackTrace != null) {
-        buffer.writeln(stackTrace.toString());
-      }
-      CaughtException cause = analysisException.cause;
-      if (cause != null) {
-        buffer.write('Caused by ');
-        cause._writeOn(buffer);
-      }
-    } else {
-      buffer.writeln(exception.toString());
-      if (stackTrace != null) {
-        buffer.writeln(stackTrace.toString());
-      }
-    }
-  }
-}
-
 class FileNameUtilities {
   static String getExtension(String fileName) {
     if (fileName == null) {
diff --git a/pkg/analyzer/lib/src/generated/package.dart b/pkg/analyzer/lib/src/generated/package.dart
index a9576d1..b715e3b 100644
--- a/pkg/analyzer/lib/src/generated/package.dart
+++ b/pkg/analyzer/lib/src/generated/package.dart
@@ -6,11 +6,11 @@
 
 import 'dart:collection';
 
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/file_system/file_system.dart';
 import 'package:analyzer/source/package_map_resolver.dart';
 import 'package:analyzer/src/context/builder.dart';
 import 'package:analyzer/src/generated/engine.dart';
-import 'package:analyzer/src/generated/java_engine.dart';
 import 'package:analyzer/src/generated/sdk.dart';
 import 'package:analyzer/src/generated/source.dart';
 import 'package:analyzer/src/generated/utilities_general.dart';
diff --git a/pkg/analyzer/lib/src/generated/parser.dart b/pkg/analyzer/lib/src/generated/parser.dart
index 4eaece9..8e7bbe1 100644
--- a/pkg/analyzer/lib/src/generated/parser.dart
+++ b/pkg/analyzer/lib/src/generated/parser.dart
@@ -9,10 +9,8 @@
 
 import 'package:analyzer/dart/ast/ast.dart';
 import 'package:analyzer/dart/ast/token.dart';
-import 'package:analyzer/dart/ast/visitor.dart';
 import 'package:analyzer/src/dart/ast/ast.dart';
 import 'package:analyzer/src/dart/ast/token.dart';
-import 'package:analyzer/src/dart/ast/utilities.dart';
 import 'package:analyzer/src/dart/scanner/reader.dart';
 import 'package:analyzer/src/dart/scanner/scanner.dart';
 import 'package:analyzer/src/generated/engine.dart' show AnalysisEngine;
@@ -22,7 +20,6 @@
 import 'package:analyzer/src/generated/java_core.dart';
 import 'package:analyzer/src/generated/java_engine.dart';
 import 'package:analyzer/src/generated/source.dart';
-import 'package:analyzer/src/generated/utilities_collection.dart' show TokenMap;
 import 'package:analyzer/src/generated/utilities_dart.dart';
 
 export 'package:analyzer/src/dart/ast/utilities.dart' show ResolutionCopier;
@@ -534,1432 +531,6 @@
 }
 
 /**
- * A dispatcher that will invoke the right parse method when re-parsing a
- * specified child of the visited node. All of the methods in this class assume
- * that the parser is positioned to parse the replacement for the node. All of
- * the methods will throw an [IncrementalParseException] if the node could not
- * be parsed for some reason.
- */
-@deprecated
-class IncrementalParseDispatcher implements AstVisitor<AstNode> {
-  /**
-   * The parser used to parse the replacement for the node.
-   */
-  final Parser _parser;
-
-  /**
-   * The node that is to be replaced.
-   */
-  final AstNode _oldNode;
-
-  /**
-   * Initialize a newly created dispatcher to parse a single node that will
-   * use the [_parser] to replace the [_oldNode].
-   */
-  IncrementalParseDispatcher(this._parser, this._oldNode);
-
-  @override
-  AstNode visitAdjacentStrings(AdjacentStrings node) {
-    if (node.strings.contains(_oldNode)) {
-      return _parser.parseStringLiteral();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitAnnotation(Annotation node) {
-    if (identical(_oldNode, node.name)) {
-      throw new InsufficientContextException();
-    } else if (identical(_oldNode, node.constructorName)) {
-      throw new InsufficientContextException();
-    } else if (identical(_oldNode, node.arguments)) {
-      return _parser.parseArgumentList();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitArgumentList(ArgumentList node) {
-    if (node.arguments.contains(_oldNode)) {
-      return _parser.parseArgument();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitAsExpression(AsExpression node) {
-    if (identical(_oldNode, node.expression)) {
-      return _parser.parseBitwiseOrExpression();
-    } else if (identical(_oldNode, node.type)) {
-      return _parser.parseTypeName();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitAssertStatement(AssertStatement node) {
-    if (identical(_oldNode, node.condition)) {
-      return _parser.parseExpression2();
-    }
-    if (identical(_oldNode, node.message)) {
-      return _parser.parseExpression2();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitAssignmentExpression(AssignmentExpression node) {
-    if (identical(_oldNode, node.leftHandSide)) {
-      // TODO(brianwilkerson) If the assignment is part of a cascade section,
-      // then we don't have a single parse method that will work.
-      // Otherwise, we can parse a conditional expression, but need to ensure
-      // that the resulting expression is assignable.
-//      return parser.parseConditionalExpression();
-      throw new InsufficientContextException();
-    } else if (identical(_oldNode, node.rightHandSide)) {
-      if (_isCascadeAllowedInAssignment(node)) {
-        return _parser.parseExpression2();
-      }
-      return _parser.parseExpressionWithoutCascade();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitAwaitExpression(AwaitExpression node) {
-    if (identical(_oldNode, node.expression)) {
-      // TODO(brianwilkerson) Depending on precedence,
-      // this might not be sufficient.
-      return _parser.parseExpression2();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitBinaryExpression(BinaryExpression node) {
-    if (identical(_oldNode, node.leftOperand)) {
-      throw new InsufficientContextException();
-    } else if (identical(_oldNode, node.rightOperand)) {
-      throw new InsufficientContextException();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitBlock(Block node) {
-    if (node.statements.contains(_oldNode)) {
-      return _parser.parseStatement2();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitBlockFunctionBody(BlockFunctionBody node) {
-    if (identical(_oldNode, node.block)) {
-      return _parser.parseBlock();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitBooleanLiteral(BooleanLiteral node) => _notAChild(node);
-
-  @override
-  AstNode visitBreakStatement(BreakStatement node) {
-    if (identical(_oldNode, node.label)) {
-      return _parser.parseSimpleIdentifier();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitCascadeExpression(CascadeExpression node) {
-    if (identical(_oldNode, node.target)) {
-      return _parser.parseConditionalExpression();
-    } else if (node.cascadeSections.contains(_oldNode)) {
-      throw new InsufficientContextException();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitCatchClause(CatchClause node) {
-    if (identical(_oldNode, node.exceptionType)) {
-      return _parser.parseTypeName();
-    } else if (identical(_oldNode, node.exceptionParameter)) {
-      return _parser.parseSimpleIdentifier(isDeclaration: true);
-    } else if (identical(_oldNode, node.stackTraceParameter)) {
-      return _parser.parseSimpleIdentifier(isDeclaration: true);
-    } else if (identical(_oldNode, node.body)) {
-      return _parser.parseBlock();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitClassDeclaration(ClassDeclaration node) {
-    if (identical(_oldNode, node.documentationComment)) {
-      throw new InsufficientContextException();
-    } else if (node.metadata.contains(_oldNode)) {
-      return _parser.parseAnnotation();
-    } else if (identical(_oldNode, node.name)) {
-      // Changing the class name changes whether a member is interpreted as a
-      // constructor or not, so we'll just have to re-parse the entire class.
-      throw new InsufficientContextException();
-    } else if (identical(_oldNode, node.typeParameters)) {
-      return _parser.parseTypeParameterList();
-    } else if (identical(_oldNode, node.extendsClause)) {
-      return _parser.parseExtendsClause();
-    } else if (identical(_oldNode, node.withClause)) {
-      return _parser.parseWithClause();
-    } else if (identical(_oldNode, node.implementsClause)) {
-      return _parser.parseImplementsClause();
-    } else if (node.members.contains(_oldNode)) {
-      ClassMember member = _parser.parseClassMember(node.name.name);
-      if (member == null) {
-        throw new InsufficientContextException();
-      }
-      return member;
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitClassTypeAlias(ClassTypeAlias node) {
-    if (identical(_oldNode, node.documentationComment)) {
-      throw new InsufficientContextException();
-    } else if (node.metadata.contains(_oldNode)) {
-      return _parser.parseAnnotation();
-    } else if (identical(_oldNode, node.name)) {
-      return _parser.parseSimpleIdentifier(isDeclaration: true);
-    } else if (identical(_oldNode, node.typeParameters)) {
-      return _parser.parseTypeParameterList();
-    } else if (identical(_oldNode, node.superclass)) {
-      return _parser.parseTypeName();
-    } else if (identical(_oldNode, node.withClause)) {
-      return _parser.parseWithClause();
-    } else if (identical(_oldNode, node.implementsClause)) {
-      return _parser.parseImplementsClause();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitComment(Comment node) {
-    throw new InsufficientContextException();
-  }
-
-  @override
-  AstNode visitCommentReference(CommentReference node) {
-    if (identical(_oldNode, node.identifier)) {
-      return _parser.parsePrefixedIdentifier();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitCompilationUnit(CompilationUnit node) {
-    throw new InsufficientContextException();
-  }
-
-  @override
-  AstNode visitConditionalExpression(ConditionalExpression node) {
-    if (identical(_oldNode, node.condition)) {
-      return _parser.parseIfNullExpression();
-    } else if (identical(_oldNode, node.thenExpression)) {
-      return _parser.parseExpressionWithoutCascade();
-    } else if (identical(_oldNode, node.elseExpression)) {
-      return _parser.parseExpressionWithoutCascade();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitConfiguration(Configuration node) {
-    if (identical(_oldNode, node.name)) {
-      throw new InsufficientContextException();
-    } else if (identical(_oldNode, node.value)) {
-      return _parser.parseStringLiteral();
-    } else if (identical(_oldNode, node.libraryUri)) {
-      return _parser.parseStringLiteral();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitConstructorDeclaration(ConstructorDeclaration node) {
-    if (identical(_oldNode, node.documentationComment)) {
-      throw new InsufficientContextException();
-    } else if (node.metadata.contains(_oldNode)) {
-      return _parser.parseAnnotation();
-    } else if (identical(_oldNode, node.returnType)) {
-      throw new InsufficientContextException();
-    } else if (identical(_oldNode, node.name)) {
-      throw new InsufficientContextException();
-    } else if (identical(_oldNode, node.parameters)) {
-      return _parser.parseFormalParameterList();
-    } else if (identical(_oldNode, node.redirectedConstructor)) {
-      throw new InsufficientContextException();
-    } else if (node.initializers.contains(_oldNode)) {
-      throw new InsufficientContextException();
-    } else if (identical(_oldNode, node.body)) {
-      throw new InsufficientContextException();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitConstructorFieldInitializer(ConstructorFieldInitializer node) {
-    if (identical(_oldNode, node.fieldName)) {
-      return _parser.parseSimpleIdentifier();
-    } else if (identical(_oldNode, node.expression)) {
-      throw new InsufficientContextException();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitConstructorName(ConstructorName node) {
-    if (identical(_oldNode, node.type)) {
-      return _parser.parseTypeName();
-    } else if (identical(_oldNode, node.name)) {
-      return _parser.parseSimpleIdentifier();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitContinueStatement(ContinueStatement node) {
-    if (identical(_oldNode, node.label)) {
-      return _parser.parseSimpleIdentifier();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitDeclaredIdentifier(DeclaredIdentifier node) {
-    if (identical(_oldNode, node.documentationComment)) {
-      throw new InsufficientContextException();
-    } else if (node.metadata.contains(_oldNode)) {
-      return _parser.parseAnnotation();
-    } else if (identical(_oldNode, node.type)) {
-      throw new InsufficientContextException();
-    } else if (identical(_oldNode, node.identifier)) {
-      return _parser.parseSimpleIdentifier();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitDefaultFormalParameter(DefaultFormalParameter node) {
-    if (identical(_oldNode, node.parameter)) {
-      return _parser.parseNormalFormalParameter();
-    } else if (identical(_oldNode, node.defaultValue)) {
-      return _parser.parseExpression2();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitDoStatement(DoStatement node) {
-    if (identical(_oldNode, node.body)) {
-      return _parser.parseStatement2();
-    } else if (identical(_oldNode, node.condition)) {
-      return _parser.parseExpression2();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitDottedName(DottedName node) {
-    if (node.components.contains(_oldNode)) {
-      throw new InsufficientContextException();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitDoubleLiteral(DoubleLiteral node) => _notAChild(node);
-
-  @override
-  AstNode visitEmptyFunctionBody(EmptyFunctionBody node) => _notAChild(node);
-
-  @override
-  AstNode visitEmptyStatement(EmptyStatement node) => _notAChild(node);
-
-  @override
-  AstNode visitEnumConstantDeclaration(EnumConstantDeclaration node) {
-    if (identical(_oldNode, node.documentationComment)) {
-      throw new InsufficientContextException();
-    } else if (node.metadata.contains(_oldNode)) {
-      return _parser.parseAnnotation();
-    } else if (identical(_oldNode, node.name)) {
-      return _parser.parseSimpleIdentifier(isDeclaration: true);
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitEnumDeclaration(EnumDeclaration node) {
-    if (identical(_oldNode, node.documentationComment)) {
-      throw new InsufficientContextException();
-    } else if (node.metadata.contains(_oldNode)) {
-      return _parser.parseAnnotation();
-    } else if (identical(_oldNode, node.name)) {
-      return _parser.parseSimpleIdentifier(isDeclaration: true);
-    } else if (node.constants.contains(_oldNode)) {
-      throw new InsufficientContextException();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitExportDirective(ExportDirective node) {
-    if (identical(_oldNode, node.documentationComment)) {
-      throw new InsufficientContextException();
-    } else if (node.metadata.contains(_oldNode)) {
-      return _parser.parseAnnotation();
-    } else if (identical(_oldNode, node.uri)) {
-      return _parser.parseStringLiteral();
-    } else if (node.combinators.contains(_oldNode)) {
-      throw new IncrementalParseException();
-      //return parser.parseCombinator();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitExpressionFunctionBody(ExpressionFunctionBody node) {
-    if (identical(_oldNode, node.expression)) {
-      return _parser.parseExpression2();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitExpressionStatement(ExpressionStatement node) {
-    if (identical(_oldNode, node.expression)) {
-      return _parser.parseExpression2();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitExtendsClause(ExtendsClause node) {
-    if (identical(_oldNode, node.superclass)) {
-      return _parser.parseTypeName();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitFieldDeclaration(FieldDeclaration node) {
-    if (identical(_oldNode, node.documentationComment)) {
-      throw new InsufficientContextException();
-    } else if (node.metadata.contains(_oldNode)) {
-      return _parser.parseAnnotation();
-    } else if (identical(_oldNode, node.fields)) {
-      throw new InsufficientContextException();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitFieldFormalParameter(FieldFormalParameter node) {
-    if (identical(_oldNode, node.documentationComment)) {
-      throw new InsufficientContextException();
-    } else if (node.metadata.contains(_oldNode)) {
-      return _parser.parseAnnotation();
-    } else if (identical(_oldNode, node.type)) {
-      return _parser.parseTypeName();
-    } else if (identical(_oldNode, node.identifier)) {
-      return _parser.parseSimpleIdentifier();
-    } else if (identical(_oldNode, node.parameters)) {
-      return _parser.parseFormalParameterList();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitForEachStatement(ForEachStatement node) {
-    if (identical(_oldNode, node.loopVariable)) {
-      throw new InsufficientContextException();
-      //return parser.parseDeclaredIdentifier();
-    } else if (identical(_oldNode, node.identifier)) {
-      return _parser.parseSimpleIdentifier(isDeclaration: true);
-    } else if (identical(_oldNode, node.body)) {
-      return _parser.parseStatement2();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitFormalParameterList(FormalParameterList node) {
-    // We don't know which kind of parameter to parse.
-    throw new InsufficientContextException();
-  }
-
-  @override
-  AstNode visitForStatement(ForStatement node) {
-    if (identical(_oldNode, node.variables)) {
-      throw new InsufficientContextException();
-    } else if (identical(_oldNode, node.initialization)) {
-      throw new InsufficientContextException();
-    } else if (identical(_oldNode, node.condition)) {
-      return _parser.parseExpression2();
-    } else if (node.updaters.contains(_oldNode)) {
-      return _parser.parseExpression2();
-    } else if (identical(_oldNode, node.body)) {
-      return _parser.parseStatement2();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitFunctionDeclaration(FunctionDeclaration node) {
-    if (identical(_oldNode, node.documentationComment)) {
-      throw new InsufficientContextException();
-    } else if (node.metadata.contains(_oldNode)) {
-      return _parser.parseAnnotation();
-    } else if (identical(_oldNode, node.returnType)) {
-      return _parser.parseReturnType();
-    } else if (identical(_oldNode, node.name)) {
-      return _parser.parseSimpleIdentifier(isDeclaration: true);
-    } else if (identical(_oldNode, node.functionExpression)) {
-      throw new InsufficientContextException();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitFunctionDeclarationStatement(FunctionDeclarationStatement node) {
-    if (identical(_oldNode, node.functionDeclaration)) {
-      throw new InsufficientContextException();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitFunctionExpression(FunctionExpression node) {
-    if (identical(_oldNode, node.parameters)) {
-      return _parser.parseFormalParameterList();
-    } else if (identical(_oldNode, node.body)) {
-      throw new InsufficientContextException();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitFunctionExpressionInvocation(FunctionExpressionInvocation node) {
-    if (identical(_oldNode, node.function)) {
-      throw new InsufficientContextException();
-    } else if (identical(_oldNode, node.argumentList)) {
-      return _parser.parseArgumentList();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitFunctionTypeAlias(FunctionTypeAlias node) {
-    if (identical(_oldNode, node.documentationComment)) {
-      throw new InsufficientContextException();
-    } else if (node.metadata.contains(_oldNode)) {
-      return _parser.parseAnnotation();
-    } else if (identical(_oldNode, node.returnType)) {
-      return _parser.parseReturnType();
-    } else if (identical(_oldNode, node.name)) {
-      return _parser.parseSimpleIdentifier(isDeclaration: true);
-    } else if (identical(_oldNode, node.typeParameters)) {
-      return _parser.parseTypeParameterList();
-    } else if (identical(_oldNode, node.parameters)) {
-      return _parser.parseFormalParameterList();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitFunctionTypedFormalParameter(FunctionTypedFormalParameter node) {
-    if (identical(_oldNode, node.documentationComment)) {
-      throw new InsufficientContextException();
-    } else if (node.metadata.contains(_oldNode)) {
-      return _parser.parseAnnotation();
-    } else if (identical(_oldNode, node.returnType)) {
-      return _parser.parseReturnType();
-    } else if (identical(_oldNode, node.identifier)) {
-      return _parser.parseSimpleIdentifier(isDeclaration: true);
-    } else if (identical(_oldNode, node.parameters)) {
-      return _parser.parseFormalParameterList();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitHideCombinator(HideCombinator node) {
-    if (node.hiddenNames.contains(_oldNode)) {
-      return _parser.parseSimpleIdentifier();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitIfStatement(IfStatement node) {
-    if (identical(_oldNode, node.condition)) {
-      return _parser.parseExpression2();
-    } else if (identical(_oldNode, node.thenStatement)) {
-      return _parser.parseStatement2();
-    } else if (identical(_oldNode, node.elseStatement)) {
-      return _parser.parseStatement2();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitImplementsClause(ImplementsClause node) {
-    if (node.interfaces.contains(node)) {
-      return _parser.parseTypeName();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitImportDirective(ImportDirective node) {
-    if (identical(_oldNode, node.documentationComment)) {
-      throw new InsufficientContextException();
-    } else if (node.metadata.contains(_oldNode)) {
-      return _parser.parseAnnotation();
-    } else if (identical(_oldNode, node.uri)) {
-      return _parser.parseStringLiteral();
-    } else if (identical(_oldNode, node.prefix)) {
-      return _parser.parseSimpleIdentifier(isDeclaration: true);
-    } else if (node.combinators.contains(_oldNode)) {
-      return _parser.parseCombinator();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitIndexExpression(IndexExpression node) {
-    if (identical(_oldNode, node.target)) {
-      throw new InsufficientContextException();
-    } else if (identical(_oldNode, node.index)) {
-      return _parser.parseExpression2();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitInstanceCreationExpression(InstanceCreationExpression node) {
-    if (identical(_oldNode, node.constructorName)) {
-      return _parser.parseConstructorName();
-    } else if (identical(_oldNode, node.argumentList)) {
-      return _parser.parseArgumentList();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitIntegerLiteral(IntegerLiteral node) => _notAChild(node);
-
-  @override
-  AstNode visitInterpolationExpression(InterpolationExpression node) {
-    if (identical(_oldNode, node.expression)) {
-      if (node.leftBracket == null) {
-        throw new InsufficientContextException();
-        //return parser.parseThisOrSimpleIdentifier();
-      }
-      return _parser.parseExpression2();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitInterpolationString(InterpolationString node) {
-    throw new InsufficientContextException();
-  }
-
-  @override
-  AstNode visitIsExpression(IsExpression node) {
-    if (identical(_oldNode, node.expression)) {
-      return _parser.parseBitwiseOrExpression();
-    } else if (identical(_oldNode, node.type)) {
-      return _parser.parseTypeName();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitLabel(Label node) {
-    if (identical(_oldNode, node.label)) {
-      return _parser.parseSimpleIdentifier(
-          isDeclaration: node.parent is LabeledStatement);
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitLabeledStatement(LabeledStatement node) {
-    if (node.labels.contains(_oldNode)) {
-      return _parser.parseLabel(isDeclaration: true);
-    } else if (identical(_oldNode, node.statement)) {
-      return _parser.parseStatement2();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitLibraryDirective(LibraryDirective node) {
-    if (identical(_oldNode, node.documentationComment)) {
-      throw new InsufficientContextException();
-    } else if (node.metadata.contains(_oldNode)) {
-      return _parser.parseAnnotation();
-    } else if (identical(_oldNode, node.name)) {
-      return _parser.parseLibraryIdentifier();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitLibraryIdentifier(LibraryIdentifier node) {
-    if (node.components.contains(_oldNode)) {
-      return _parser.parseSimpleIdentifier();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitListLiteral(ListLiteral node) {
-    if (identical(_oldNode, node.typeArguments)) {
-      return _parser.parseTypeArgumentList();
-    } else if (node.elements.contains(_oldNode)) {
-      return _parser.parseExpression2();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitMapLiteral(MapLiteral node) {
-    if (identical(_oldNode, node.typeArguments)) {
-      return _parser.parseTypeArgumentList();
-    } else if (node.entries.contains(_oldNode)) {
-      return _parser.parseMapLiteralEntry();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitMapLiteralEntry(MapLiteralEntry node) {
-    if (identical(_oldNode, node.key)) {
-      return _parser.parseExpression2();
-    } else if (identical(_oldNode, node.value)) {
-      return _parser.parseExpression2();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitMethodDeclaration(MethodDeclaration node) {
-    if (identical(_oldNode, node.documentationComment)) {
-      throw new InsufficientContextException();
-    } else if (node.metadata.contains(_oldNode)) {
-      return _parser.parseAnnotation();
-    } else if (identical(_oldNode, node.returnType)) {
-      throw new InsufficientContextException();
-      //return parser.parseTypeName();
-      //return parser.parseReturnType();
-    } else if (identical(_oldNode, node.name)) {
-      if (node.operatorKeyword != null) {
-        throw new InsufficientContextException();
-      }
-      return _parser.parseSimpleIdentifier(isDeclaration: true);
-    } else if (identical(_oldNode, node.body)) {
-      //return parser.parseFunctionBody();
-      throw new InsufficientContextException();
-    } else if (identical(_oldNode, node.parameters)) {
-      // TODO(paulberry): if we want errors to be correct, we'll need to also
-      // call _validateFormalParameterList, and sometimes
-      // _validateModifiersForGetterOrSetterOrMethod.
-      return _parser.parseFormalParameterList();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitMethodInvocation(MethodInvocation node) {
-    if (identical(_oldNode, node.target)) {
-      throw new IncrementalParseException();
-    } else if (identical(_oldNode, node.methodName)) {
-      return _parser.parseSimpleIdentifier();
-    } else if (identical(_oldNode, node.argumentList)) {
-      return _parser.parseArgumentList();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitNamedExpression(NamedExpression node) {
-    if (identical(_oldNode, node.name)) {
-      return _parser.parseLabel();
-    } else if (identical(_oldNode, node.expression)) {
-      return _parser.parseExpression2();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitNativeClause(NativeClause node) {
-    if (identical(_oldNode, node.name)) {
-      return _parser.parseStringLiteral();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitNativeFunctionBody(NativeFunctionBody node) {
-    if (identical(_oldNode, node.stringLiteral)) {
-      return _parser.parseStringLiteral();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitNullLiteral(NullLiteral node) => _notAChild(node);
-
-  @override
-  AstNode visitParenthesizedExpression(ParenthesizedExpression node) {
-    if (identical(_oldNode, node.expression)) {
-      return _parser.parseExpression2();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitPartDirective(PartDirective node) {
-    if (identical(_oldNode, node.documentationComment)) {
-      throw new InsufficientContextException();
-    } else if (node.metadata.contains(_oldNode)) {
-      return _parser.parseAnnotation();
-    } else if (identical(_oldNode, node.uri)) {
-      return _parser.parseStringLiteral();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitPartOfDirective(PartOfDirective node) {
-    if (identical(_oldNode, node.documentationComment)) {
-      throw new InsufficientContextException();
-    } else if (node.metadata.contains(_oldNode)) {
-      return _parser.parseAnnotation();
-    } else if (identical(_oldNode, node.libraryName)) {
-      return _parser.parseLibraryIdentifier();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitPostfixExpression(PostfixExpression node) {
-    if (identical(_oldNode, node.operand)) {
-      throw new InsufficientContextException();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitPrefixedIdentifier(PrefixedIdentifier node) {
-    if (identical(_oldNode, node.prefix)) {
-      return _parser.parseSimpleIdentifier();
-    } else if (identical(_oldNode, node.identifier)) {
-      return _parser.parseSimpleIdentifier();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitPrefixExpression(PrefixExpression node) {
-    if (identical(_oldNode, node.operand)) {
-      throw new InsufficientContextException();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitPropertyAccess(PropertyAccess node) {
-    if (identical(_oldNode, node.target)) {
-      throw new InsufficientContextException();
-    } else if (identical(_oldNode, node.propertyName)) {
-      return _parser.parseSimpleIdentifier();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitRedirectingConstructorInvocation(
-      RedirectingConstructorInvocation node) {
-    if (identical(_oldNode, node.constructorName)) {
-      return _parser.parseSimpleIdentifier();
-    } else if (identical(_oldNode, node.argumentList)) {
-      return _parser.parseArgumentList();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitRethrowExpression(RethrowExpression node) => _notAChild(node);
-
-  @override
-  AstNode visitReturnStatement(ReturnStatement node) {
-    if (identical(_oldNode, node.expression)) {
-      return _parser.parseExpression2();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitScriptTag(ScriptTag node) => _notAChild(node);
-
-  @override
-  AstNode visitShowCombinator(ShowCombinator node) {
-    if (node.shownNames.contains(_oldNode)) {
-      return _parser.parseSimpleIdentifier();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitSimpleFormalParameter(SimpleFormalParameter node) {
-    if (identical(_oldNode, node.documentationComment)) {
-      throw new InsufficientContextException();
-    } else if (node.metadata.contains(_oldNode)) {
-      return _parser.parseAnnotation();
-    } else if (identical(_oldNode, node.type)) {
-      throw new InsufficientContextException();
-    } else if (identical(_oldNode, node.identifier)) {
-      throw new InsufficientContextException();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitSimpleIdentifier(SimpleIdentifier node) => _notAChild(node);
-
-  @override
-  AstNode visitSimpleStringLiteral(SimpleStringLiteral node) =>
-      _notAChild(node);
-
-  @override
-  AstNode visitStringInterpolation(StringInterpolation node) {
-    if (node.elements.contains(_oldNode)) {
-      throw new InsufficientContextException();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitSuperConstructorInvocation(SuperConstructorInvocation node) {
-    if (identical(_oldNode, node.constructorName)) {
-      return _parser.parseSimpleIdentifier();
-    } else if (identical(_oldNode, node.argumentList)) {
-      return _parser.parseArgumentList();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitSuperExpression(SuperExpression node) => _notAChild(node);
-
-  @override
-  AstNode visitSwitchCase(SwitchCase node) {
-    if (node.labels.contains(_oldNode)) {
-      return _parser.parseLabel();
-    } else if (identical(_oldNode, node.expression)) {
-      return _parser.parseExpression2();
-    } else if (node.statements.contains(_oldNode)) {
-      return _parser.parseStatement2();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitSwitchDefault(SwitchDefault node) {
-    if (node.labels.contains(_oldNode)) {
-      return _parser.parseLabel();
-    } else if (node.statements.contains(_oldNode)) {
-      return _parser.parseStatement2();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitSwitchStatement(SwitchStatement node) {
-    if (identical(_oldNode, node.expression)) {
-      return _parser.parseExpression2();
-    } else if (node.members.contains(_oldNode)) {
-      throw new InsufficientContextException();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitSymbolLiteral(SymbolLiteral node) => _notAChild(node);
-
-  @override
-  AstNode visitThisExpression(ThisExpression node) => _notAChild(node);
-
-  @override
-  AstNode visitThrowExpression(ThrowExpression node) {
-    if (identical(_oldNode, node.expression)) {
-      if (_isCascadeAllowedInThrow(node)) {
-        return _parser.parseExpression2();
-      }
-      return _parser.parseExpressionWithoutCascade();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitTopLevelVariableDeclaration(TopLevelVariableDeclaration node) {
-    if (identical(_oldNode, node.documentationComment)) {
-      throw new InsufficientContextException();
-    } else if (node.metadata.contains(_oldNode)) {
-      return _parser.parseAnnotation();
-    } else if (identical(_oldNode, node.variables)) {
-      throw new InsufficientContextException();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitTryStatement(TryStatement node) {
-    if (identical(_oldNode, node.body)) {
-      return _parser.parseBlock();
-    } else if (node.catchClauses.contains(_oldNode)) {
-      throw new InsufficientContextException();
-    } else if (identical(_oldNode, node.finallyBlock)) {
-      throw new InsufficientContextException();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitTypeArgumentList(TypeArgumentList node) {
-    if (node.arguments.contains(_oldNode)) {
-      return _parser.parseTypeName();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitTypeName(TypeName node) {
-    if (identical(_oldNode, node.name)) {
-      return _parser.parsePrefixedIdentifier();
-    } else if (identical(_oldNode, node.typeArguments)) {
-      return _parser.parseTypeArgumentList();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitTypeParameter(TypeParameter node) {
-    if (identical(_oldNode, node.documentationComment)) {
-      throw new InsufficientContextException();
-    } else if (node.metadata.contains(_oldNode)) {
-      return _parser.parseAnnotation();
-    } else if (identical(_oldNode, node.name)) {
-      return _parser.parseSimpleIdentifier(isDeclaration: true);
-    } else if (identical(_oldNode, node.bound)) {
-      return _parser.parseTypeName();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitTypeParameterList(TypeParameterList node) {
-    if (node.typeParameters.contains(node)) {
-      return _parser.parseTypeParameter();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitVariableDeclaration(VariableDeclaration node) {
-    if (identical(_oldNode, node.documentationComment)) {
-      throw new InsufficientContextException();
-    } else if (node.metadata.contains(_oldNode)) {
-      return _parser.parseAnnotation();
-    } else if (identical(_oldNode, node.name)) {
-      throw new InsufficientContextException();
-    } else if (identical(_oldNode, node.initializer)) {
-      throw new InsufficientContextException();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitVariableDeclarationList(VariableDeclarationList node) {
-    if (identical(_oldNode, node.documentationComment)) {
-      throw new InsufficientContextException();
-    } else if (node.metadata.contains(_oldNode)) {
-      return _parser.parseAnnotation();
-    } else if (identical(_oldNode, node.type)) {
-      // There is not enough context to know whether we should reparse the type
-      // using parseReturnType() (which allows 'void') or parseTypeName()
-      // (which doesn't).  Note that even though the language disallows
-      // variables of type 'void', the parser sometimes accepts them in the
-      // course of error recovery (e.g. "class C { void v; }"
-      throw new InsufficientContextException();
-    } else if (node.variables.contains(_oldNode)) {
-      throw new InsufficientContextException();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitVariableDeclarationStatement(VariableDeclarationStatement node) {
-    if (identical(_oldNode, node.variables)) {
-      throw new InsufficientContextException();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitWhileStatement(WhileStatement node) {
-    if (identical(_oldNode, node.condition)) {
-      return _parser.parseExpression2();
-    } else if (identical(_oldNode, node.body)) {
-      return _parser.parseStatement2();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitWithClause(WithClause node) {
-    if (node.mixinTypes.contains(node)) {
-      return _parser.parseTypeName();
-    }
-    return _notAChild(node);
-  }
-
-  @override
-  AstNode visitYieldStatement(YieldStatement node) {
-    if (identical(_oldNode, node.expression)) {
-      return _parser.parseExpression2();
-    }
-    return _notAChild(node);
-  }
-
-  /**
-   * Return `true` if the given assignment [expression] can have a cascade
-   * expression on the right-hand side.
-   */
-  bool _isCascadeAllowedInAssignment(AssignmentExpression expression) {
-    // TODO(brianwilkerson) Implement this method.
-    throw new InsufficientContextException();
-  }
-
-  /**
-   * Return `true` if the given throw [expression] can have a cascade
-   * expression.
-   */
-  bool _isCascadeAllowedInThrow(ThrowExpression expression) {
-    // TODO(brianwilkerson) Implement this method.
-    throw new InsufficientContextException();
-  }
-
-  /**
-   * Throw an exception indicating that the visited [node] was not the parent of
-   * the node to be replaced.
-   */
-  AstNode _notAChild(AstNode node) {
-    throw new IncrementalParseException(
-        "Internal error: the visited node (a ${node.runtimeType}) was not the parent of the node to be replaced (a ${_oldNode.runtimeType})");
-  }
-}
-
-/**
- * An exception that occurred while attempting to parse a replacement for a
- * specified node in an existing AST structure.
- */
-@deprecated
-class IncrementalParseException {
-  final String message;
-  IncrementalParseException([this.message = '']);
-  String toString() => '$runtimeType: $message';
-}
-
-/**
- * An object used to re-parse a single AST structure within a larger AST
- * structure.
- */
-@deprecated
-class IncrementalParser {
-  /**
-   * The source being parsed.
-   */
-  final Source _source;
-
-  /**
-   * A map from old tokens to new tokens used during the cloning process.
-   */
-  final TokenMap _tokenMap;
-
-  /**
-   * The error listener that will be informed of any errors that are found
-   * during the parse.
-   */
-  final AnalysisErrorListener _errorListener;
-
-  /**
-   * The node in the AST structure that contains the revised content.
-   */
-  AstNode _updatedNode;
-
-  /**
-   * Initialize a newly created incremental parser to parse a portion of the
-   * content of the given [_source]. The [_tokenMap] is a map from old tokens to
-   * new tokens that is used during the cloning process. The [_errorListener]
-   * will be informed of any errors that are found during the parse.
-   */
-  IncrementalParser(this._source, this._tokenMap, this._errorListener);
-
-  /**
-   * Return the node in the AST structure that contains the revised content.
-   */
-  AstNode get updatedNode => _updatedNode;
-
-  /**
-   * Given a range of tokens that were re-scanned, re-parse the minimum number
-   * of tokens to produce a consistent AST structure. The range is represented
-   * by the first and last tokens in the range.
-   *
-   * More specifically, the [leftToken] is the token in the new token stream
-   * immediately to the left of the range of tokens that were inserted and the
-   * [rightToken] is the token in the new token stream immediately to the right
-   * of the range of tokens that were inserted. The [originalStart] and
-   * [originalEnd] are the offsets in the original source of the first and last
-   * characters that were modified.
-   *
-   * The tokens are assumed to be contained in the same token stream.
-   */
-  AstNode reparse(AstNode originalStructure, Token leftToken, Token rightToken,
-      int originalStart, int originalEnd) {
-    AstNode oldNode = null;
-    AstNode newNode = null;
-    //
-    // Find the first token that needs to be re-parsed.
-    //
-    Token firstToken = leftToken.next;
-    if (identical(firstToken, rightToken)) {
-      // If there are no new tokens, then we need to include at least one copied
-      // node in the range.
-      firstToken = leftToken;
-    }
-    //
-    // Find the smallest AST node that encompasses the range of re-scanned
-    // tokens.
-    //
-    if (originalEnd < originalStart) {
-      oldNode = new NodeLocator(originalStart).searchWithin(originalStructure);
-    } else {
-      oldNode = new NodeLocator(originalStart, originalEnd)
-          .searchWithin(originalStructure);
-    }
-    //
-    // Find the token at which parsing is to begin.
-    //
-    int originalOffset = oldNode.offset;
-    Token parseToken = _findTokenAt(firstToken, originalOffset);
-    if (parseToken == null) {
-      return null;
-    }
-    //
-    // Parse the appropriate AST structure starting at the appropriate place.
-    //
-    Parser parser = new Parser(_source, _errorListener);
-    parser.currentToken = parseToken;
-    while (newNode == null) {
-      AstNode parent = oldNode.parent;
-      if (parent == null) {
-        parseToken = _findFirstToken(parseToken);
-        parser.currentToken = parseToken;
-        return parser.parseCompilationUnit2();
-      }
-      bool advanceToParent = false;
-      try {
-        IncrementalParseDispatcher dispatcher =
-            new IncrementalParseDispatcher(parser, oldNode);
-        IncrementalParseStateBuilder contextBuilder =
-            new IncrementalParseStateBuilder(parser);
-        contextBuilder.buildState(oldNode);
-        newNode = parent.accept(dispatcher);
-        //
-        // Validate that the new node can replace the old node.
-        //
-        Token mappedToken = _tokenMap.get(oldNode.endToken.next);
-        if (mappedToken == null ||
-            newNode == null ||
-            mappedToken.offset != newNode.endToken.next.offset ||
-            newNode.offset != oldNode.offset) {
-          advanceToParent = true;
-        }
-      } on InsufficientContextException {
-        advanceToParent = true;
-      } catch (exception) {
-        return null;
-      }
-      if (advanceToParent) {
-        newNode = null;
-        oldNode = parent;
-        originalOffset = oldNode.offset;
-        parseToken = _findTokenAt(parseToken, originalOffset);
-        parser.currentToken = parseToken;
-      }
-    }
-    _updatedNode = newNode;
-    //
-    // Replace the old node with the new node in a copy of the original AST
-    // structure.
-    //
-    if (identical(oldNode, originalStructure)) {
-      // We ended up re-parsing the whole structure, so there's no need for a
-      // copy.
-      ResolutionCopier.copyResolutionData(oldNode, newNode);
-      return newNode;
-    }
-    ResolutionCopier.copyResolutionData(oldNode, newNode);
-    IncrementalAstCloner cloner =
-        new IncrementalAstCloner(oldNode, newNode, _tokenMap);
-    return originalStructure.accept(cloner);
-  }
-
-  /**
-   * Return the first (non-EOF) token in the token stream containing the
-   * [firstToken].
-   */
-  Token _findFirstToken(Token firstToken) {
-    while (firstToken.type != TokenType.EOF) {
-      firstToken = firstToken.previous;
-    }
-    return firstToken.next;
-  }
-
-  /**
-   * Find the token at or before the [firstToken] with the given [offset], or
-   * `null` if there is no such token.
-   */
-  Token _findTokenAt(Token firstToken, int offset) {
-    while (firstToken.offset > offset && firstToken.type != TokenType.EOF) {
-      firstToken = firstToken.previous;
-    }
-    return firstToken;
-  }
-}
-
-/**
- * A visitor capable of inferring the correct parser state for incremental
- * parsing.  This visitor visits each parent/child relationship in the chain of
- * ancestors of the node to be replaced (starting with the root of the parse
- * tree), updating the parser to the correct state for parsing the child of the
- * given parent.  Once it has visited all of these relationships, the parser
- * will be in the correct state for reparsing the node to be replaced.
- */
-@deprecated
-class IncrementalParseStateBuilder extends SimpleAstVisitor {
-  // TODO(paulberry): add support for other pieces of parser state (_inAsync,
-  // _inGenerator, _inLoop, and _inSwitch).  Note that _inLoop and _inSwitch
-  // only affect error message generation.
-
-  /**
-   * The parser whose state should be built.
-   */
-  final Parser _parser;
-
-  /**
-   * The child node in the parent/child relationship currently being visited.
-   * (The corresponding parent is the node passed to the visit...() function.)
-   */
-  AstNode _childNode;
-
-  /**
-   * Create an IncrementalParseStateBuilder which will build the correct state
-   * for [_parser].
-   */
-  IncrementalParseStateBuilder(this._parser);
-
-  /**
-   * Build the correct parser state for parsing a replacement for [node].
-   */
-  void buildState(AstNode node) {
-    List<AstNode> ancestors = <AstNode>[];
-    while (node != null) {
-      ancestors.add(node);
-      node = node.parent;
-    }
-    _parser._inInitializer = false;
-    for (int i = ancestors.length - 2; i >= 0; i--) {
-      _childNode = ancestors[i];
-      ancestors[i + 1].accept(this);
-    }
-  }
-
-  @override
-  void visitArgumentList(ArgumentList node) {
-    _parser._inInitializer = false;
-  }
-
-  @override
-  void visitConstructorFieldInitializer(ConstructorFieldInitializer node) {
-    if (identical(_childNode, node.expression)) {
-      _parser._inInitializer = true;
-    }
-  }
-
-  @override
-  void visitIndexExpression(IndexExpression node) {
-    if (identical(_childNode, node.index)) {
-      _parser._inInitializer = false;
-    }
-  }
-
-  @override
-  void visitInterpolationExpression(InterpolationExpression node) {
-    if (identical(_childNode, node.expression)) {
-      _parser._inInitializer = false;
-    }
-  }
-
-  @override
-  void visitListLiteral(ListLiteral node) {
-    if (node.elements.contains(_childNode)) {
-      _parser._inInitializer = false;
-    }
-  }
-
-  @override
-  void visitMapLiteral(MapLiteral node) {
-    if (node.entries.contains(_childNode)) {
-      _parser._inInitializer = false;
-    }
-  }
-
-  @override
-  void visitParenthesizedExpression(ParenthesizedExpression node) {
-    if (identical(_childNode, node.expression)) {
-      _parser._inInitializer = false;
-    }
-  }
-}
-
-/**
- * An exception indicating that an AST node cannot be re-parsed because there is
- * not enough context to know how to re-parse the node. Clients can attempt to
- * re-parse the parent of the node.
- */
-@deprecated
-class InsufficientContextException extends IncrementalParseException {
-  InsufficientContextException([String message = '']) : super(message);
-}
-
-/**
  * Wrapper around [Function] which should be called with "target" and
  * "arguments".
  */
@@ -5170,7 +3741,7 @@
         List<int> range = _findRange(codeBlockRanges, leftIndex);
         if (range == null) {
           int nameOffset = token.offset + leftIndex + 1;
-          int rightIndex = JavaString.indexOf(comment, ']', leftIndex);
+          int rightIndex = comment.indexOf(']', leftIndex);
           if (rightIndex >= 0) {
             int firstChar = comment.codeUnitAt(leftIndex + 1);
             if (firstChar != 0x27 && firstChar != 0x22) {
@@ -5207,9 +3778,9 @@
             // next character
             rightIndex = leftIndex + 1;
           }
-          leftIndex = JavaString.indexOf(comment, '[', rightIndex);
+          leftIndex = comment.indexOf('[', rightIndex);
         } else {
-          leftIndex = JavaString.indexOf(comment, '[', range[1] + 1);
+          leftIndex = comment.indexOf('[', range[1]);
         }
       }
     }
diff --git a/pkg/analyzer/lib/src/generated/resolver.dart b/pkg/analyzer/lib/src/generated/resolver.dart
index e26126f..208c15c 100644
--- a/pkg/analyzer/lib/src/generated/resolver.dart
+++ b/pkg/analyzer/lib/src/generated/resolver.dart
@@ -12,6 +12,7 @@
 import 'package:analyzer/dart/element/element.dart';
 import 'package:analyzer/dart/element/type.dart';
 import 'package:analyzer/dart/element/visitor.dart';
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/src/dart/ast/ast.dart';
 import 'package:analyzer/src/dart/ast/utilities.dart';
 import 'package:analyzer/src/dart/element/element.dart';
@@ -25,7 +26,6 @@
 import 'package:analyzer/src/generated/error.dart';
 import 'package:analyzer/src/generated/error_verifier.dart';
 import 'package:analyzer/src/generated/java_core.dart';
-import 'package:analyzer/src/generated/java_engine.dart';
 import 'package:analyzer/src/generated/source.dart';
 import 'package:analyzer/src/generated/static_type_analyzer.dart';
 import 'package:analyzer/src/generated/type_system.dart';
@@ -6348,6 +6348,12 @@
   @override
   void visitConstructorDeclarationInScope(ConstructorDeclaration node) {
     super.visitConstructorDeclarationInScope(node);
+    // Because of needing a different scope for the initializer list, the
+    // overridden implementation of this method cannot cause the visitNode
+    // method to be invoked. As a result, we have to hard-code using the
+    // element resolver and type analyzer to visit the constructor declaration.
+    node.accept(elementResolver);
+    node.accept(typeAnalyzer);
     safelyVisitComment(node.documentationComment);
   }
 
@@ -7744,6 +7750,12 @@
   LabelScope labelScope;
 
   /**
+   * A flag indicating whether to enable support for allowing access to field
+   * formal parameters in a constructor's initializer list.
+   */
+  bool enableInitializingFormalAccess = false;
+
+  /**
    * The class containing the AST nodes being visited,
    * or `null` if we are not in the scope of a class.
    */
@@ -7774,6 +7786,8 @@
     } else {
       this.nameScope = nameScope;
     }
+    enableInitializingFormalAccess =
+        definingLibrary.context.analysisOptions.enableInitializingFormalAccess;
   }
 
   /**
@@ -7910,23 +7924,40 @@
   @override
   Object visitConstructorDeclaration(ConstructorDeclaration node) {
     ConstructorElement constructorElement = node.element;
+    if (constructorElement == null) {
+      StringBuffer buffer = new StringBuffer();
+      buffer.write("Missing element for constructor ");
+      buffer.write(node.returnType.name);
+      if (node.name != null) {
+        buffer.write(".");
+        buffer.write(node.name.name);
+      }
+      buffer.write(" in ");
+      buffer.write(definingLibrary.source.fullName);
+      AnalysisEngine.instance.logger.logInformation(buffer.toString(),
+          new CaughtException(new AnalysisException(), null));
+    }
     Scope outerScope = nameScope;
     try {
-      if (constructorElement == null) {
-        StringBuffer buffer = new StringBuffer();
-        buffer.write("Missing element for constructor ");
-        buffer.write(node.returnType.name);
-        if (node.name != null) {
-          buffer.write(".");
-          buffer.write(node.name.name);
-        }
-        buffer.write(" in ");
-        buffer.write(definingLibrary.source.fullName);
-        AnalysisEngine.instance.logger.logInformation(buffer.toString(),
-            new CaughtException(new AnalysisException(), null));
-      } else {
+      if (constructorElement != null) {
         nameScope = new FunctionScope(nameScope, constructorElement);
       }
+      node.documentationComment?.accept(this);
+      node.metadata.accept(this);
+      node.returnType?.accept(this);
+      node.name?.accept(this);
+      node.parameters?.accept(this);
+      Scope functionScope = nameScope;
+      try {
+        if (constructorElement != null && enableInitializingFormalAccess) {
+          nameScope =
+              new ConstructorInitializerScope(nameScope, constructorElement);
+        }
+        node.initializers.accept(this);
+      } finally {
+        nameScope = functionScope;
+      }
+      node.redirectedConstructor?.accept(this);
       visitConstructorDeclarationInScope(node);
     } finally {
       nameScope = outerScope;
@@ -7935,7 +7966,7 @@
   }
 
   void visitConstructorDeclarationInScope(ConstructorDeclaration node) {
-    super.visitConstructorDeclaration(node);
+    node.body?.accept(this);
   }
 
   @override
@@ -8554,14 +8585,13 @@
    * @param commentToken the comment token to analyze
    */
   void _scrapeTodoComment(Token commentToken) {
-    JavaPatternMatcher matcher =
-        new JavaPatternMatcher(TodoCode.TODO_REGEX, commentToken.lexeme);
-    if (matcher.find()) {
-      int offset =
-          commentToken.offset + matcher.start() + matcher.group(1).length;
-      int length = matcher.group(2).length;
+    Iterable<Match> matches =
+        TodoCode.TODO_REGEX.allMatches(commentToken.lexeme);
+    for (Match match in matches) {
+      int offset = commentToken.offset + match.start + match.group(1).length;
+      int length = match.group(2).length;
       _errorReporter.reportErrorForOffset(
-          TodoCode.TODO, offset, length, [matcher.group(2)]);
+          TodoCode.TODO, offset, length, [match.group(2)]);
     }
   }
 }
diff --git a/pkg/analyzer/lib/src/generated/sdk_io.dart b/pkg/analyzer/lib/src/generated/sdk_io.dart
index d9dbcbc..9177b28 100644
--- a/pkg/analyzer/lib/src/generated/sdk_io.dart
+++ b/pkg/analyzer/lib/src/generated/sdk_io.dart
@@ -9,13 +9,12 @@
 import 'dart:io';
 
 import 'package:analyzer/dart/ast/ast.dart';
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/src/context/context.dart';
 import 'package:analyzer/src/dart/scanner/reader.dart';
 import 'package:analyzer/src/dart/scanner/scanner.dart';
 import 'package:analyzer/src/generated/engine.dart';
 import 'package:analyzer/src/generated/error.dart';
-import 'package:analyzer/src/generated/java_core.dart';
-import 'package:analyzer/src/generated/java_engine.dart';
 import 'package:analyzer/src/generated/java_engine_io.dart';
 import 'package:analyzer/src/generated/java_io.dart';
 import 'package:analyzer/src/generated/parser.dart';
@@ -133,8 +132,8 @@
       return null;
     }
     try {
-      return new FileBasedSource(file, parseUriWithException(path));
-    } on URISyntaxException catch (exception, stackTrace) {
+      return new FileBasedSource(file, Uri.parse(path));
+    } on FormatException catch (exception, stackTrace) {
       AnalysisEngine.instance.logger.logInformation(
           "Failed to create URI: $path",
           new CaughtException(exception, stackTrace));
@@ -189,8 +188,8 @@
     String filePath = srcPath.replaceAll('/', JavaFile.separator);
     try {
       JavaFile file = new JavaFile(filePath);
-      return new FileBasedSource(file, parseUriWithException(dartUri));
-    } on URISyntaxException {
+      return new FileBasedSource(file, Uri.parse(dartUri));
+    } on FormatException {
       return null;
     }
   }
@@ -721,8 +720,8 @@
         file = file.getParentFile();
         file = new JavaFile.relative(file, relativePath);
       }
-      return new FileBasedSource(file, parseUriWithException(dartUri));
-    } on URISyntaxException {
+      return new FileBasedSource(file, Uri.parse(dartUri));
+    } on FormatException {
       return null;
     }
   }
diff --git a/pkg/analyzer/lib/src/generated/source_io.dart b/pkg/analyzer/lib/src/generated/source_io.dart
index f6af841..025e209 100644
--- a/pkg/analyzer/lib/src/generated/source_io.dart
+++ b/pkg/analyzer/lib/src/generated/source_io.dart
@@ -6,9 +6,8 @@
 
 import 'dart:collection';
 
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/src/generated/engine.dart';
-import 'package:analyzer/src/generated/java_core.dart';
-import 'package:analyzer/src/generated/java_engine.dart';
 import 'package:analyzer/src/generated/java_io.dart';
 import 'package:analyzer/src/generated/source.dart';
 
@@ -18,6 +17,7 @@
  * Instances of the class [DirectoryBasedSourceContainer] represent a source container that
  * contains all sources within a given directory.
  */
+@deprecated
 class DirectoryBasedSourceContainer implements SourceContainer {
   /**
    * The container's path (not `null`).
@@ -480,8 +480,8 @@
             String pkgCanonicalUri = _toFileUri(pkgFolder.getCanonicalPath());
             if (sourceUri.startsWith(pkgCanonicalUri)) {
               String relPath = sourceUri.substring(pkgCanonicalUri.length);
-              return parseUriWithException(
-                  "$PACKAGE_SCHEME:${pkgFolder.getName()}$relPath");
+              return Uri
+                  .parse("$PACKAGE_SCHEME:${pkgFolder.getName()}$relPath");
             }
           } catch (e) {}
         }
diff --git a/pkg/analyzer/lib/src/generated/testing/element_factory.dart b/pkg/analyzer/lib/src/generated/testing/element_factory.dart
index f0067a6..2075999 100644
--- a/pkg/analyzer/lib/src/generated/testing/element_factory.dart
+++ b/pkg/analyzer/lib/src/generated/testing/element_factory.dart
@@ -14,7 +14,6 @@
 import 'package:analyzer/src/dart/element/type.dart';
 import 'package:analyzer/src/generated/constant.dart';
 import 'package:analyzer/src/generated/engine.dart';
-import 'package:analyzer/src/generated/java_core.dart';
 import 'package:analyzer/src/generated/resolver.dart';
 import 'package:analyzer/src/generated/source.dart';
 import 'package:analyzer/src/generated/testing/ast_factory.dart';
diff --git a/pkg/analyzer/lib/src/generated/type_system.dart b/pkg/analyzer/lib/src/generated/type_system.dart
index b19ae14..dfc5282 100644
--- a/pkg/analyzer/lib/src/generated/type_system.dart
+++ b/pkg/analyzer/lib/src/generated/type_system.dart
@@ -16,15 +16,135 @@
 import 'package:analyzer/src/generated/engine.dart'
     show AnalysisContext, AnalysisOptionsImpl;
 import 'package:analyzer/src/generated/error.dart'
-    show ErrorCode, ErrorReporter, StrongModeCode;
+    show ErrorReporter, StrongModeCode;
 import 'package:analyzer/src/generated/resolver.dart' show TypeProvider;
 import 'package:analyzer/src/generated/utilities_dart.dart' show ParameterKind;
 import 'package:analyzer/src/generated/utilities_general.dart'
     show JenkinsSmiHash;
 
+bool _isBottom(DartType t, {bool dynamicIsBottom: false}) {
+  return (t.isDynamic && dynamicIsBottom) || t.isBottom;
+}
+
+bool _isTop(DartType t, {bool dynamicIsBottom: false}) {
+  // TODO(leafp): Document the rules in play here
+  return (t.isDynamic && !dynamicIsBottom) || t.isObject;
+}
+
 typedef bool _GuardedSubtypeChecker<T>(T t1, T t2, Set<Element> visited);
 
 /**
+ * A special union type of `Future<T> | T` used for Strong Mode inference.
+ */
+class FutureUnionType extends TypeImpl {
+  // TODO(jmesserly): a Set would be better.
+  //
+  // For now we know `Future<T> | T` is the only valid use, so we can rely on
+  // the order, which simplifies some things.
+  //
+  // This will need clean up before this can function as a real union type.
+  final List<DartType> _types;
+
+  /**
+   * Creates a union of `Future<T> | T`.
+   */
+  FutureUnionType._(DartType type, TypeProvider provider, TypeSystem system)
+      : _types = [
+          provider.futureType.instantiate([type]),
+          type
+        ],
+        super(null, null);
+
+  DartType get futureOfType => _types[0];
+
+  @override
+  int get hashCode {
+    int hash = 0;
+    for (var t in types) {
+      hash = JenkinsSmiHash.combine(hash, t.hashCode);
+    }
+    return JenkinsSmiHash.finish(hash);
+  }
+
+  DartType get type => _types[1];
+
+  Iterable<DartType> get types => _types;
+
+  @override
+  bool operator ==(Object obj) {
+    if (obj is FutureUnionType) {
+      if (identical(obj, this)) return true;
+      return types.length == obj.types.length &&
+          types.toSet().containsAll(obj.types);
+    }
+    return false;
+  }
+
+  @override
+  void appendTo(StringBuffer buffer) {
+    buffer.write('(');
+    for (int i = 0; i < _types.length; i++) {
+      if (i != 0) {
+        buffer.write(' | ');
+      }
+      (_types[i] as TypeImpl).appendTo(buffer);
+    }
+    buffer.write(')');
+  }
+
+  @override
+  bool isMoreSpecificThan(DartType type,
+          [bool withDynamic = false, Set<Element> visitedElements]) =>
+      throw new UnsupportedError(
+          'Future unions are not part of the Dart 1 type system');
+
+  @override
+  TypeImpl pruned(List<FunctionTypeAliasElement> prune) =>
+      throw new UnsupportedError('Future unions are not substituted');
+
+  @override
+  DartType substitute2(List<DartType> args, List<DartType> params,
+          [List<FunctionTypeAliasElement> prune]) =>
+      throw new UnsupportedError('Future unions are not used in typedefs');
+
+  /**
+   * Creates a union of `T | Future<T>`, unless `T` is already a future or a
+   * future-union, in which case it simply returns `T`.
+   *
+   * Conceptually this is used as the inverse of the `flatten(T)` operation,
+   * defined as:
+   *
+   * - `flatten(Future<T>) -> T`
+   * - `flatten(T) -> T`
+   *
+   * Thus the inverse will give us `T | Future<T>`.
+   *
+   * If [type] is top (dynamic or Object) then the resulting union type is
+   * equivalent to top, so we simply return it.
+   *
+   * For a similar reason `Future<T> | Future<Future<T>>` is equivalent to just
+   * `Future<T>`, so we return it. Note that it is not possible to get a
+   * `Future<T>` as a result of `flatten`, so a this case likely indicates a
+   * type error in the code, but it will be reported elsewhere.
+   */
+  static DartType from(
+      DartType type, TypeProvider provider, TypeSystem system) {
+    if (_isTop(type)) {
+      return type;
+    }
+    if (!identical(type, type.flattenFutures(system))) {
+      // As noted above, this most likely represents erroneous input.
+      return type;
+    }
+
+    if (type is FutureUnionType) {
+      return type;
+    }
+    return new FutureUnionType._(type, provider, system);
+  }
+}
+
+/**
  * Implementation of [TypeSystem] using the strong mode rules.
  * https://github.com/dart-lang/dev_compiler/blob/master/STRONG_MODE.md
  */
@@ -176,6 +296,22 @@
   }
 
   /**
+   * Compute the least supertype of [type], which is known to be an interface
+   * type.
+   *
+   * In the event that the algorithm fails (which might occur due to a bug in
+   * the analyzer), `null` is returned.
+   */
+  DartType getLeastNullableSupertype(InterfaceType type) {
+    // compute set of supertypes
+    List<InterfaceType> s = InterfaceTypeImpl
+        .computeSuperinterfaceSet(type)
+        .where(isNullableType)
+        .toList();
+    return InterfaceTypeImpl.computeTypeAtMaxUniqueDepth(s);
+  }
+
+  /**
    * Compute the least upper bound of two types.
    */
   @override
@@ -195,22 +331,6 @@
   }
 
   /**
-   * Compute the least supertype of [type], which is known to be an interface
-   * type.
-   *
-   * In the event that the algorithm fails (which might occur due to a bug in
-   * the analyzer), `null` is returned.
-   */
-  DartType getLeastNullableSupertype(InterfaceType type) {
-    // compute set of supertypes
-    List<InterfaceType> s = InterfaceTypeImpl
-        .computeSuperinterfaceSet(type)
-        .where(isNullableType)
-        .toList();
-    return InterfaceTypeImpl.computeTypeAtMaxUniqueDepth(s);
-  }
-
-  /**
    * Given a generic function type `F<T0, T1, ... Tn>` and a context type C,
    * infer an instantiation of F, such that `F<S0, S1, ..., Sn>` <: C.
    *
@@ -434,6 +554,18 @@
   @override
   bool isMoreSpecificThan(DartType t1, DartType t2) => isSubtypeOf(t1, t2);
 
+  /// Check if [type] is in a set of preselected non-nullable types.
+  /// [FunctionType]s are always nullable.
+  bool isNonNullableType(DartType type) {
+    return !isNullableType(type);
+  }
+
+  /// Opposite of [isNonNullableType].
+  bool isNullableType(DartType type) {
+    return type is FunctionType ||
+        !nonnullableTypes.contains(_getTypeFullyQualifiedName(type));
+  }
+
   @override
   bool isSubtypeOf(DartType leftType, DartType rightType) {
     return _isSubtypeOf(leftType, rightType, null);
@@ -596,6 +728,12 @@
           TypeProvider provider, DartType f, DartType g) =>
       getGreatestLowerBound(provider, f, g, dynamicIsBottom: true);
 
+  /// Given a type return its name prepended with the URI to its containing
+  /// library and separated by a comma.
+  String _getTypeFullyQualifiedName(DartType type) {
+    return "${type?.element?.library?.identifier},$type";
+  }
+
   /**
    * Guard against loops in the class hierarchy
    */
@@ -821,24 +959,6 @@
     return _isFunctionSubtypeOf(t1 as FunctionType, t2 as FunctionType);
   }
 
-  /// Check if [type] is in a set of preselected non-nullable types.
-  /// [FunctionType]s are always nullable.
-  bool isNonNullableType(DartType type) {
-    return !isNullableType(type);
-  }
-
-  /// Opposite of [isNonNullableType].
-  bool isNullableType(DartType type) {
-    return type is FunctionType ||
-        !nonnullableTypes.contains(_getTypeFullyQualifiedName(type));
-  }
-
-  /// Given a type return its name prepended with the URI to its containing
-  /// library and separated by a comma.
-  String _getTypeFullyQualifiedName(DartType type) {
-    return "${type?.element?.library?.identifier},$type";
-  }
-
   /**
    * This currently just implements a simple least upper bound to
    * handle some common cases.  It also avoids some termination issues
@@ -1618,123 +1738,3 @@
     }
   }
 }
-
-/**
- * A special union type of `Future<T> | T` used for Strong Mode inference.
- */
-class FutureUnionType extends TypeImpl {
-  // TODO(jmesserly): a Set would be better.
-  //
-  // For now we know `Future<T> | T` is the only valid use, so we can rely on
-  // the order, which simplifies some things.
-  //
-  // This will need clean up before this can function as a real union type.
-  final List<DartType> _types;
-
-  /**
-   * Creates a union of `Future<T> | T`.
-   */
-  FutureUnionType._(DartType type, TypeProvider provider, TypeSystem system)
-      : _types = [
-          provider.futureType.instantiate([type]),
-          type
-        ],
-        super(null, null);
-
-  DartType get futureOfType => _types[0];
-
-  DartType get type => _types[1];
-
-  Iterable<DartType> get types => _types;
-
-  @override
-  void appendTo(StringBuffer buffer) {
-    buffer.write('(');
-    for (int i = 0; i < _types.length; i++) {
-      if (i != 0) {
-        buffer.write(' | ');
-      }
-      (_types[i] as TypeImpl).appendTo(buffer);
-    }
-    buffer.write(')');
-  }
-
-  @override
-  int get hashCode {
-    int hash = 0;
-    for (var t in types) {
-      hash = JenkinsSmiHash.combine(hash, t.hashCode);
-    }
-    return JenkinsSmiHash.finish(hash);
-  }
-
-  @override
-  bool operator ==(Object obj) {
-    if (obj is FutureUnionType) {
-      if (identical(obj, this)) return true;
-      return types.length == obj.types.length &&
-          types.toSet().containsAll(obj.types);
-    }
-    return false;
-  }
-
-  @override
-  bool isMoreSpecificThan(DartType type,
-          [bool withDynamic = false, Set<Element> visitedElements]) =>
-      throw new UnsupportedError(
-          'Future unions are not part of the Dart 1 type system');
-
-  @override
-  TypeImpl pruned(List<FunctionTypeAliasElement> prune) =>
-      throw new UnsupportedError('Future unions are not substituted');
-
-  @override
-  DartType substitute2(List<DartType> args, List<DartType> params,
-          [List<FunctionTypeAliasElement> prune]) =>
-      throw new UnsupportedError('Future unions are not used in typedefs');
-
-  /**
-   * Creates a union of `T | Future<T>`, unless `T` is already a future or a
-   * future-union, in which case it simply returns `T`.
-   *
-   * Conceptually this is used as the inverse of the `flatten(T)` operation,
-   * defined as:
-   *
-   * - `flatten(Future<T>) -> T`
-   * - `flatten(T) -> T`
-   *
-   * Thus the inverse will give us `T | Future<T>`.
-   *
-   * If [type] is top (dynamic or Object) then the resulting union type is
-   * equivalent to top, so we simply return it.
-   *
-   * For a similar reason `Future<T> | Future<Future<T>>` is equivalent to just
-   * `Future<T>`, so we return it. Note that it is not possible to get a
-   * `Future<T>` as a result of `flatten`, so a this case likely indicates a
-   * type error in the code, but it will be reported elsewhere.
-   */
-  static DartType from(
-      DartType type, TypeProvider provider, TypeSystem system) {
-    if (_isTop(type)) {
-      return type;
-    }
-    if (!identical(type, type.flattenFutures(system))) {
-      // As noted above, this most likely represents erroneous input.
-      return type;
-    }
-
-    if (type is FutureUnionType) {
-      return type;
-    }
-    return new FutureUnionType._(type, provider, system);
-  }
-}
-
-bool _isBottom(DartType t, {bool dynamicIsBottom: false}) {
-  return (t.isDynamic && dynamicIsBottom) || t.isBottom;
-}
-
-bool _isTop(DartType t, {bool dynamicIsBottom: false}) {
-  // TODO(leafp): Document the rules in play here
-  return (t.isDynamic && !dynamicIsBottom) || t.isObject;
-}
diff --git a/pkg/analyzer/lib/src/generated/utilities_dart.dart b/pkg/analyzer/lib/src/generated/utilities_dart.dart
index d244dce..3c0ab8d 100644
--- a/pkg/analyzer/lib/src/generated/utilities_dart.dart
+++ b/pkg/analyzer/lib/src/generated/utilities_dart.dart
@@ -6,9 +6,9 @@
 
 import 'package:analyzer/dart/ast/ast.dart' show AnnotatedNode, Comment;
 import 'package:analyzer/dart/ast/token.dart' show Token;
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/src/dart/element/element.dart' show ElementImpl;
 import 'package:analyzer/src/generated/java_core.dart';
-import 'package:analyzer/src/generated/java_engine.dart';
 import 'package:analyzer/src/generated/source.dart';
 import 'package:analyzer/src/util/fast_uri.dart';
 
@@ -51,7 +51,6 @@
   if (comment != null && comment.isDocumentation) {
     element.documentationComment =
         comment.tokens.map((Token t) => t.lexeme).join('\n');
-    element.setDocRange(comment.offset, comment.length);
   }
 }
 
diff --git a/pkg/analyzer/lib/src/source/source_resource.dart b/pkg/analyzer/lib/src/source/source_resource.dart
index 2d188d8..63b906c 100644
--- a/pkg/analyzer/lib/src/source/source_resource.dart
+++ b/pkg/analyzer/lib/src/source/source_resource.dart
@@ -11,13 +11,20 @@
 import 'package:analyzer/src/generated/source.dart';
 
 /**
+ * A function that can translate the contents of files on disk as they are read.
+ * This is now obsolete, but supported the ability of server to deal with
+ * clients that convert all text to an internal format.
+ */
+typedef String FileReadMode(String s);
+
+/**
  * A source that represents a file.
  */
 class FileSource extends Source {
   /**
    * A function that changes the way that files are read off of disk.
    */
-  static Function fileReadMode = (String s) => s;
+  static FileReadMode fileReadMode = (String s) => s;
 
   /**
    * Map from encoded URI/filepath pair to a unique integer identifier.  This
diff --git a/pkg/analyzer/lib/src/summary/format.dart b/pkg/analyzer/lib/src/summary/format.dart
index 626f443..641287e 100644
--- a/pkg/analyzer/lib/src/summary/format.dart
+++ b/pkg/analyzer/lib/src/summary/format.dart
@@ -4795,32 +4795,13 @@
 }
 
 class UnlinkedDocumentationCommentBuilder extends Object with _UnlinkedDocumentationCommentMixin implements idl.UnlinkedDocumentationComment {
-  int _length;
-  int _offset;
   String _text;
 
   @override
-  int get length => _length ??= 0;
-
-  /**
-   * Length of the documentation comment (prior to replacing '\r\n' with '\n').
-   */
-  void set length(int _value) {
-    assert(_value == null || _value >= 0);
-    _length = _value;
-  }
+  int get length => throw new UnimplementedError('attempt to access deprecated field');
 
   @override
-  int get offset => _offset ??= 0;
-
-  /**
-   * Offset of the beginning of the documentation comment relative to the
-   * beginning of the file.
-   */
-  void set offset(int _value) {
-    assert(_value == null || _value >= 0);
-    _offset = _value;
-  }
+  int get offset => throw new UnimplementedError('attempt to access deprecated field');
 
   @override
   String get text => _text ??= '';
@@ -4835,10 +4816,8 @@
     _text = _value;
   }
 
-  UnlinkedDocumentationCommentBuilder({int length, int offset, String text})
-    : _length = length,
-      _offset = offset,
-      _text = text;
+  UnlinkedDocumentationCommentBuilder({String text})
+    : _text = text;
 
   /**
    * Flush [informative] data recursively.
@@ -4850,9 +4829,7 @@
    * Accumulate non-[informative] data into [signature].
    */
   void collectApiSignature(api_sig.ApiSignature signature) {
-    signature.addInt(this._length ?? 0);
     signature.addString(this._text ?? '');
-    signature.addInt(this._offset ?? 0);
   }
 
   fb.Offset finish(fb.Builder fbBuilder) {
@@ -4861,12 +4838,6 @@
       offset_text = fbBuilder.writeString(_text);
     }
     fbBuilder.startTable();
-    if (_length != null && _length != 0) {
-      fbBuilder.addUint32(0, _length);
-    }
-    if (_offset != null && _offset != 0) {
-      fbBuilder.addUint32(2, _offset);
-    }
     if (offset_text != null) {
       fbBuilder.addOffset(1, offset_text);
     }
@@ -4887,21 +4858,13 @@
 
   _UnlinkedDocumentationCommentImpl(this._bc, this._bcOffset);
 
-  int _length;
-  int _offset;
   String _text;
 
   @override
-  int get length {
-    _length ??= const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 0, 0);
-    return _length;
-  }
+  int get length => throw new UnimplementedError('attempt to access deprecated field');
 
   @override
-  int get offset {
-    _offset ??= const fb.Uint32Reader().vTableGet(_bc, _bcOffset, 2, 0);
-    return _offset;
-  }
+  int get offset => throw new UnimplementedError('attempt to access deprecated field');
 
   @override
   String get text {
@@ -4914,16 +4877,12 @@
   @override
   Map<String, Object> toJson() {
     Map<String, Object> _result = <String, Object>{};
-    if (length != 0) _result["length"] = length;
-    if (offset != 0) _result["offset"] = offset;
     if (text != '') _result["text"] = text;
     return _result;
   }
 
   @override
   Map<String, Object> toMap() => {
-    "length": length,
-    "offset": offset,
     "text": text,
   };
 
diff --git a/pkg/analyzer/lib/src/summary/format.fbs b/pkg/analyzer/lib/src/summary/format.fbs
index ba46f01..de2afb2 100644
--- a/pkg/analyzer/lib/src/summary/format.fbs
+++ b/pkg/analyzer/lib/src/summary/format.fbs
@@ -1631,13 +1631,13 @@
   /**
    * Length of the documentation comment (prior to replacing '\r\n' with '\n').
    */
-  length:uint (id: 0);
+  length:uint (id: 0, deprecated);
 
   /**
    * Offset of the beginning of the documentation comment relative to the
    * beginning of the file.
    */
-  offset:uint (id: 2);
+  offset:uint (id: 2, deprecated);
 
   /**
    * Text of the documentation comment, with '\r\n' replaced by '\n'.
diff --git a/pkg/analyzer/lib/src/summary/idl.dart b/pkg/analyzer/lib/src/summary/idl.dart
index 70b329b..3cd6562 100644
--- a/pkg/analyzer/lib/src/summary/idl.dart
+++ b/pkg/analyzer/lib/src/summary/idl.dart
@@ -1674,6 +1674,7 @@
    * Length of the documentation comment (prior to replacing '\r\n' with '\n').
    */
   @Id(0)
+  @deprecated
   int get length;
 
   /**
@@ -1681,6 +1682,7 @@
    * beginning of the file.
    */
   @Id(2)
+  @deprecated
   int get offset;
 
   /**
diff --git a/pkg/analyzer/lib/src/summary/incremental_cache.dart b/pkg/analyzer/lib/src/summary/incremental_cache.dart
index 6370234..6b1b1ae 100644
--- a/pkg/analyzer/lib/src/summary/incremental_cache.dart
+++ b/pkg/analyzer/lib/src/summary/incremental_cache.dart
@@ -4,7 +4,7 @@
 
 import 'dart:collection';
 import 'dart:convert';
-import 'dart:core' hide Resource;
+import 'dart:core';
 
 import 'package:analyzer/dart/element/element.dart';
 import 'package:analyzer/file_system/file_system.dart';
@@ -370,6 +370,7 @@
           _appendLibraryClosure(closure, refSource);
         }
       }
+
       contentSource.importedUris.forEach(appendLibrarySources);
       contentSource.exportedUris.forEach(appendLibrarySources);
     }
diff --git a/pkg/analyzer/lib/src/summary/pub_summary.dart b/pkg/analyzer/lib/src/summary/pub_summary.dart
index 3e1cfd7..ba5b968 100644
--- a/pkg/analyzer/lib/src/summary/pub_summary.dart
+++ b/pkg/analyzer/lib/src/summary/pub_summary.dart
@@ -4,7 +4,7 @@
 
 import 'dart:async';
 import 'dart:collection';
-import 'dart:core' hide Resource;
+import 'dart:core';
 
 import 'package:analyzer/dart/ast/ast.dart';
 import 'package:analyzer/dart/ast/token.dart';
diff --git a/pkg/analyzer/lib/src/summary/summarize_ast.dart b/pkg/analyzer/lib/src/summary/summarize_ast.dart
index 701da82..ede1b0a 100644
--- a/pkg/analyzer/lib/src/summary/summarize_ast.dart
+++ b/pkg/analyzer/lib/src/summary/summarize_ast.dart
@@ -585,10 +585,7 @@
         .map((Token t) => t.toString())
         .join()
         .replaceAll('\r\n', '\n');
-    return new UnlinkedDocumentationCommentBuilder(
-        text: text,
-        offset: documentationComment.offset,
-        length: documentationComment.length);
+    return new UnlinkedDocumentationCommentBuilder(text: text);
   }
 
   /**
diff --git a/pkg/analyzer/lib/src/summary/summarize_elements.dart b/pkg/analyzer/lib/src/summary/summarize_elements.dart
index e62f408..1a0e22d 100644
--- a/pkg/analyzer/lib/src/summary/summarize_elements.dart
+++ b/pkg/analyzer/lib/src/summary/summarize_elements.dart
@@ -721,9 +721,7 @@
       return null;
     }
     return new UnlinkedDocumentationCommentBuilder(
-        text: element.documentationComment,
-        offset: element.docRange.offset,
-        length: element.docRange.length);
+        text: element.documentationComment);
   }
 
   /**
diff --git a/pkg/analyzer/lib/src/task/dart.dart b/pkg/analyzer/lib/src/task/dart.dart
index 3c9c426..94cd824 100644
--- a/pkg/analyzer/lib/src/task/dart.dart
+++ b/pkg/analyzer/lib/src/task/dart.dart
@@ -11,6 +11,7 @@
 import 'package:analyzer/dart/ast/visitor.dart';
 import 'package:analyzer/dart/element/element.dart';
 import 'package:analyzer/dart/element/type.dart';
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/src/context/cache.dart';
 import 'package:analyzer/src/context/context.dart';
 import 'package:analyzer/src/dart/ast/utilities.dart';
@@ -25,7 +26,6 @@
 import 'package:analyzer/src/generated/error.dart';
 import 'package:analyzer/src/generated/error_verifier.dart';
 import 'package:analyzer/src/generated/incremental_resolver.dart';
-import 'package:analyzer/src/generated/java_engine.dart';
 import 'package:analyzer/src/generated/parser.dart';
 import 'package:analyzer/src/generated/resolver.dart';
 import 'package:analyzer/src/generated/sdk.dart';
@@ -3674,8 +3674,8 @@
       //
       RecordingErrorListener errorListener = new RecordingErrorListener();
       Expression initializer = declaration.initializer;
-      ResolutionContext resolutionContext = ResolutionContextBuilder.contextFor(
-          initializer, AnalysisErrorListener.NULL_LISTENER);
+      ResolutionContext resolutionContext =
+          ResolutionContextBuilder.contextFor(initializer);
       ResolverVisitor visitor = new ResolverVisitor(
           variable.library, variable.source, typeProvider, errorListener,
           nameScope: resolutionContext.scope);
diff --git a/pkg/analyzer/lib/src/task/driver.dart b/pkg/analyzer/lib/src/task/driver.dart
index 07083d8..bf6da4e 100644
--- a/pkg/analyzer/lib/src/task/driver.dart
+++ b/pkg/analyzer/lib/src/task/driver.dart
@@ -7,9 +7,9 @@
 import 'dart:async';
 import 'dart:collection';
 
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/src/context/cache.dart';
 import 'package:analyzer/src/generated/engine.dart';
-import 'package:analyzer/src/generated/java_engine.dart';
 import 'package:analyzer/src/generated/resolver.dart';
 import 'package:analyzer/src/generated/utilities_general.dart';
 import 'package:analyzer/src/task/inputs.dart';
diff --git a/pkg/analyzer/lib/src/task/html.dart b/pkg/analyzer/lib/src/task/html.dart
index b56c4b4..ae45620 100644
--- a/pkg/analyzer/lib/src/task/html.dart
+++ b/pkg/analyzer/lib/src/task/html.dart
@@ -6,6 +6,7 @@
 
 import 'dart:collection';
 
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/src/context/cache.dart';
 import 'package:analyzer/src/dart/scanner/scanner.dart';
 import 'package:analyzer/src/generated/engine.dart';
diff --git a/pkg/analyzer/lib/src/task/manager.dart b/pkg/analyzer/lib/src/task/manager.dart
index c8252fa..059257f 100644
--- a/pkg/analyzer/lib/src/task/manager.dart
+++ b/pkg/analyzer/lib/src/task/manager.dart
@@ -6,7 +6,7 @@
 
 import 'dart:collection';
 
-import 'package:analyzer/src/generated/java_engine.dart';
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/task/model.dart';
 
 /**
diff --git a/pkg/analyzer/lib/src/task/options.dart b/pkg/analyzer/lib/src/task/options.dart
index dd544ca..58d76ac 100644
--- a/pkg/analyzer/lib/src/task/options.dart
+++ b/pkg/analyzer/lib/src/task/options.dart
@@ -48,6 +48,8 @@
   static const String enableAssertInitializer = 'enableAssertInitializer';
   static const String enableAsync = 'enableAsync';
   static const String enableGenericMethods = 'enableGenericMethods';
+  static const String enableInitializingFormalAccess =
+      'enableInitializingFormalAccess';
   static const String enableStrictCallChecks = 'enableStrictCallChecks';
   static const String enableSuperMixins = 'enableSuperMixins';
 
@@ -566,6 +568,8 @@
         options.enableAssertInitializer = boolValue;
       } else if (feature == AnalyzerOptions.enableAsync) {
         options.enableAsync = boolValue;
+      } else if (feature == AnalyzerOptions.enableInitializingFormalAccess) {
+        options.enableInitializingFormalAccess = boolValue;
       } else if (feature == AnalyzerOptions.enableSuperMixins) {
         options.enableSuperMixins = boolValue;
       } else if (feature == AnalyzerOptions.enableGenericMethods) {
diff --git a/pkg/analyzer/lib/src/task/yaml.dart b/pkg/analyzer/lib/src/task/yaml.dart
index 2d94165..c74804a 100644
--- a/pkg/analyzer/lib/src/task/yaml.dart
+++ b/pkg/analyzer/lib/src/task/yaml.dart
@@ -4,11 +4,11 @@
 
 library analyzer.src.task.yaml;
 
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/src/context/cache.dart';
 import 'package:analyzer/src/dart/scanner/scanner.dart';
 import 'package:analyzer/src/generated/engine.dart';
 import 'package:analyzer/src/generated/error.dart';
-import 'package:analyzer/src/generated/java_engine.dart';
 import 'package:analyzer/src/generated/source.dart';
 import 'package:analyzer/src/task/general.dart';
 import 'package:analyzer/task/general.dart';
diff --git a/pkg/analyzer/lib/task/model.dart b/pkg/analyzer/lib/task/model.dart
index 771d422..32df0e5 100644
--- a/pkg/analyzer/lib/task/model.dart
+++ b/pkg/analyzer/lib/task/model.dart
@@ -7,9 +7,9 @@
 import 'dart:collection';
 import 'dart:developer';
 
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/src/generated/engine.dart';
 import 'package:analyzer/src/generated/error.dart' show AnalysisError;
-import 'package:analyzer/src/generated/java_engine.dart';
 import 'package:analyzer/src/generated/source.dart';
 import 'package:analyzer/src/generated/utilities_general.dart';
 import 'package:analyzer/src/task/driver.dart';
@@ -284,6 +284,7 @@
       // There was no cycle.
       return false;
     }
+
     if (cycle.length > 0) {
       traverse(cycle[0]);
     }
diff --git a/pkg/analyzer/pubspec.yaml b/pkg/analyzer/pubspec.yaml
index 31d334d..5a98fbf 100644
--- a/pkg/analyzer/pubspec.yaml
+++ b/pkg/analyzer/pubspec.yaml
@@ -1,5 +1,5 @@
 name: analyzer
-version: 0.28.2-alpha.0
+version: 0.29.0-alpha.0
 author: Dart Team <misc@dartlang.org>
 description: Static analyzer for Dart.
 homepage: https://github.com/dart-lang/sdk/tree/master/pkg/analyzer
diff --git a/pkg/analyzer/test/embedder_tests.dart b/pkg/analyzer/test/embedder_tests.dart
index ba79d0c..f10606f 100644
--- a/pkg/analyzer/test/embedder_tests.dart
+++ b/pkg/analyzer/test/embedder_tests.dart
@@ -4,7 +4,7 @@
 
 library analyzer.test.embedder_tests;
 
-import 'dart:core' hide Resource;
+import 'dart:core';
 
 import 'package:analyzer/file_system/file_system.dart';
 import 'package:analyzer/file_system/memory_file_system.dart';
diff --git a/pkg/analyzer/test/file_system/memory_file_system_test.dart b/pkg/analyzer/test/file_system/memory_file_system_test.dart
index ce9d81c..0878963 100644
--- a/pkg/analyzer/test/file_system/memory_file_system_test.dart
+++ b/pkg/analyzer/test/file_system/memory_file_system_test.dart
@@ -5,7 +5,7 @@
 library analyzer.test.file_system.memory_file_system_test;
 
 import 'dart:async';
-import 'dart:core' hide Resource;
+import 'dart:core';
 
 import 'package:analyzer/file_system/file_system.dart';
 import 'package:analyzer/file_system/memory_file_system.dart';
diff --git a/pkg/analyzer/test/file_system/physical_resource_provider_test.dart b/pkg/analyzer/test/file_system/physical_resource_provider_test.dart
index 42b8111..6be1f2b 100644
--- a/pkg/analyzer/test/file_system/physical_resource_provider_test.dart
+++ b/pkg/analyzer/test/file_system/physical_resource_provider_test.dart
@@ -5,7 +5,7 @@
 library analyzer.test.file_system.physical_resource_provider_test;
 
 import 'dart:async';
-import 'dart:core' hide Resource;
+import 'dart:core';
 import 'dart:io' as io;
 
 import 'package:analyzer/file_system/file_system.dart';
diff --git a/pkg/analyzer/test/generated/all_the_rest_test.dart b/pkg/analyzer/test/generated/all_the_rest_test.dart
index 60e00e0..e52d5a4 100644
--- a/pkg/analyzer/test/generated/all_the_rest_test.dart
+++ b/pkg/analyzer/test/generated/all_the_rest_test.dart
@@ -18,7 +18,6 @@
 import 'package:analyzer/src/dart/sdk/sdk.dart' hide SdkLibrariesReader;
 import 'package:analyzer/src/generated/engine.dart';
 import 'package:analyzer/src/generated/error.dart';
-import 'package:analyzer/src/generated/java_core.dart';
 import 'package:analyzer/src/generated/java_engine_io.dart';
 import 'package:analyzer/src/generated/java_io.dart';
 import 'package:analyzer/src/generated/resolver.dart';
@@ -45,10 +44,12 @@
 main() {
   initializeTestEnvironment();
   defineReflectiveTests(ContentCacheTest);
+  // ignore: deprecated_member_use
   defineReflectiveTests(CustomUriResolverTest);
   defineReflectiveTests(DartUriResolverTest);
   // ignore: deprecated_member_use
   defineReflectiveTests(DirectoryBasedDartSdkTest);
+  // ignore: deprecated_member_use
   defineReflectiveTests(DirectoryBasedSourceContainerTest);
   defineReflectiveTests(ElementBuilderTest);
   defineReflectiveTests(ElementLocatorTest);
@@ -120,8 +121,7 @@
     UriResolver resolver = new CustomUriResolver({
       'custom:library': '/path/to/library.dart',
     });
-    Source result =
-        resolver.resolveAbsolute(parseUriWithException("custom:non_library"));
+    Source result = resolver.resolveAbsolute(Uri.parse("custom:non_library"));
     expect(result, isNull);
   }
 
@@ -131,8 +131,7 @@
     UriResolver resolver = new CustomUriResolver({
       'custom:library': path,
     });
-    Source result =
-        resolver.resolveAbsolute(parseUriWithException("custom:library"));
+    Source result = resolver.resolveAbsolute(Uri.parse("custom:library"));
     expect(result, isNotNull);
     expect(result.fullName, path);
   }
@@ -146,7 +145,7 @@
   }
 
   void test_isDartUri_null_scheme() {
-    Uri uri = parseUriWithException("foo.dart");
+    Uri uri = Uri.parse("foo.dart");
     expect('', uri.scheme);
     expect(DartUriResolver.isDartUri(uri), isFalse);
   }
@@ -154,23 +153,22 @@
   void test_resolve_dart() {
     DartSdk sdk = _createSdk();
     UriResolver resolver = new DartUriResolver(sdk);
-    Source result =
-        resolver.resolveAbsolute(parseUriWithException("dart:core"));
+    Source result = resolver.resolveAbsolute(Uri.parse("dart:core"));
     expect(result, isNotNull);
   }
 
   void test_resolve_dart_nonExistingLibrary() {
     DartSdk sdk = _createSdk();
     UriResolver resolver = new DartUriResolver(sdk);
-    Source result = resolver.resolveAbsolute(parseUriWithException("dart:cor"));
+    Source result = resolver.resolveAbsolute(Uri.parse("dart:cor"));
     expect(result, isNull);
   }
 
   void test_resolve_nonDart() {
     DartSdk sdk = _createSdk();
     UriResolver resolver = new DartUriResolver(sdk);
-    Source result = resolver
-        .resolveAbsolute(parseUriWithException("package:some/file.dart"));
+    Source result =
+        resolver.resolveAbsolute(Uri.parse("package:some/file.dart"));
     expect(result, isNull);
   }
 }
@@ -332,6 +330,7 @@
   }
 }
 
+@deprecated
 @reflectiveTest
 class DirectoryBasedSourceContainerTest {
   void test_contains() {
@@ -738,7 +737,6 @@
     expect(type.isMixinApplication, isFalse);
     expect(type.isSynthetic, isFalse);
     expect(type.documentationComment, '/// aaa');
-    _assertHasDocRange(type, 50, 7);
     _assertHasCodeRange(type, 50, 31);
   }
 
@@ -1005,7 +1003,6 @@
     expect(constructor, isNotNull);
     _assertHasCodeRange(constructor, 50, 31);
     expect(constructor.documentationComment, '/// aaa');
-    _assertHasDocRange(constructor, 50, 7);
     expect(constructor.isExternal, isFalse);
     expect(constructor.isFactory, isFalse);
     expect(constructor.name, "");
@@ -1208,7 +1205,6 @@
     expect(enumElement, isNotNull);
     _assertHasCodeRange(enumElement, 50, 31);
     expect(enumElement.documentationComment, '/// aaa');
-    _assertHasDocRange(enumElement, 50, 7);
     expect(enumElement.name, enumName);
   }
 
@@ -1234,7 +1230,6 @@
     expect(firstField, isNotNull);
     _assertHasCodeRange(firstField, 50, 61);
     expect(firstField.documentationComment, '/// aaa');
-    _assertHasDocRange(firstField, 50, 7);
     expect(firstField.name, firstFieldName);
     expect(firstField.initializer, isNull);
     expect(firstField.isConst, isFalse);
@@ -1245,7 +1240,6 @@
     expect(secondField, isNotNull);
     _assertHasCodeRange(secondField, 50, 61);
     expect(secondField.documentationComment, '/// aaa');
-    _assertHasDocRange(secondField, 50, 7);
     expect(secondField.name, secondFieldName);
     expect(secondField.initializer, isNull);
     expect(secondField.isConst, isFalse);
@@ -1366,7 +1360,6 @@
     expect(accessor, isNotNull);
     _assertHasCodeRange(accessor, 50, 31);
     expect(accessor.documentationComment, '/// aaa');
-    _assertHasDocRange(accessor, 50, 7);
     expect(accessor.name, functionName);
     expect(declaration.element, same(accessor));
     expect(declaration.functionExpression.element, same(accessor));
@@ -1404,7 +1397,6 @@
     expect(function, isNotNull);
     _assertHasCodeRange(function, 50, 31);
     expect(function.documentationComment, '/// aaa');
-    _assertHasDocRange(function, 50, 7);
     expect(function.hasImplicitReturnType, isFalse);
     expect(function.name, functionName);
     expect(declaration.element, same(function));
@@ -1436,7 +1428,6 @@
     expect(accessor, isNotNull);
     _assertHasCodeRange(accessor, 50, 31);
     expect(accessor.documentationComment, '/// aaa');
-    _assertHasDocRange(accessor, 50, 7);
     expect(accessor.hasImplicitReturnType, isTrue);
     expect(accessor.name, "$functionName=");
     expect(declaration.element, same(accessor));
@@ -1517,7 +1508,6 @@
     expect(alias, isNotNull);
     _assertHasCodeRange(alias, 50, 31);
     expect(alias.documentationComment, '/// aaa');
-    _assertHasDocRange(alias, 50, 7);
     expect(alias.name, aliasName);
     expect(alias.parameters, hasLength(0));
     List<TypeParameterElement> typeParameters = alias.typeParameters;
@@ -1718,7 +1708,6 @@
     expect(getter, isNotNull);
     _assertHasCodeRange(getter, 50, 31);
     expect(getter.documentationComment, '/// aaa');
-    _assertHasDocRange(getter, 50, 7);
     expect(getter.hasImplicitReturnType, isTrue);
     expect(getter.isAbstract, isFalse);
     expect(getter.isExternal, isFalse);
@@ -1831,7 +1820,6 @@
     expect(method, isNotNull);
     _assertHasCodeRange(method, 50, 31);
     expect(method.documentationComment, '/// aaa');
-    _assertHasDocRange(method, 50, 7);
     expect(method.hasImplicitReturnType, isFalse);
     expect(method.name, methodName);
     expect(method.functions, hasLength(0));
@@ -1908,7 +1896,6 @@
     expect(setter, isNotNull);
     _assertHasCodeRange(setter, 50, 31);
     expect(setter.documentationComment, '/// aaa');
-    _assertHasDocRange(setter, 50, 7);
     expect(setter.hasImplicitReturnType, isTrue);
     expect(setter.isAbstract, isFalse);
     expect(setter.isExternal, isFalse);
@@ -2497,6 +2484,34 @@
     expect(variable.setter, isNotNull);
   }
 
+  void test_visitVariableDeclaration_top() {
+    // final a, b;
+    ElementHolder holder = new ElementHolder();
+    ElementBuilder builder = _makeBuilder(holder);
+    VariableDeclaration variableDeclaration1 =
+        AstFactory.variableDeclaration('a');
+    VariableDeclaration variableDeclaration2 =
+        AstFactory.variableDeclaration('b');
+    TopLevelVariableDeclaration topLevelVariableDeclaration = AstFactory
+        .topLevelVariableDeclaration(
+            Keyword.FINAL, null, [variableDeclaration1, variableDeclaration2]);
+    topLevelVariableDeclaration.documentationComment = AstFactory
+        .documentationComment(
+            [TokenFactory.tokenFromString('/// aaa')..offset = 50], []);
+
+    topLevelVariableDeclaration.accept(builder);
+    List<TopLevelVariableElement> variables = holder.topLevelVariables;
+    expect(variables, hasLength(2));
+
+    TopLevelVariableElement variable1 = variables[0];
+    expect(variable1, isNotNull);
+    expect(variable1.documentationComment, '/// aaa');
+
+    TopLevelVariableElement variable2 = variables[1];
+    expect(variable2, isNotNull);
+    expect(variable2.documentationComment, '/// aaa');
+  }
+
   void test_visitVariableDeclaration_top_const_hasInitializer() {
     // const v = 42;
     ElementHolder holder = new ElementHolder();
@@ -2523,36 +2538,6 @@
     expect(variable.setter, isNull);
   }
 
-  void test_visitVariableDeclaration_top_docRange() {
-    // final a, b;
-    ElementHolder holder = new ElementHolder();
-    ElementBuilder builder = _makeBuilder(holder);
-    VariableDeclaration variableDeclaration1 =
-        AstFactory.variableDeclaration('a');
-    VariableDeclaration variableDeclaration2 =
-        AstFactory.variableDeclaration('b');
-    TopLevelVariableDeclaration topLevelVariableDeclaration = AstFactory
-        .topLevelVariableDeclaration(
-            Keyword.FINAL, null, [variableDeclaration1, variableDeclaration2]);
-    topLevelVariableDeclaration.documentationComment = AstFactory
-        .documentationComment(
-            [TokenFactory.tokenFromString('/// aaa')..offset = 50], []);
-
-    topLevelVariableDeclaration.accept(builder);
-    List<TopLevelVariableElement> variables = holder.topLevelVariables;
-    expect(variables, hasLength(2));
-
-    TopLevelVariableElement variable1 = variables[0];
-    expect(variable1, isNotNull);
-    expect(variable1.documentationComment, '/// aaa');
-    _assertHasDocRange(variable1, 50, 7);
-
-    TopLevelVariableElement variable2 = variables[1];
-    expect(variable2, isNotNull);
-    expect(variable2.documentationComment, '/// aaa');
-    _assertHasDocRange(variable2, 50, 7);
-  }
-
   void test_visitVariableDeclaration_top_final() {
     // final v;
     ElementHolder holder = new ElementHolder();
@@ -2582,15 +2567,6 @@
     expect(elementImpl.codeLength, length);
   }
 
-  void _assertHasDocRange(
-      Element element, int expectedOffset, int expectedLength) {
-    // Cast to dynamic here to avoid a hint about @deprecated docRange.
-    SourceRange docRange = (element as dynamic).docRange;
-    expect(docRange, isNotNull);
-    expect(docRange.offset, expectedOffset);
-    expect(docRange.length, expectedLength);
-  }
-
   void _assertVisibleRange(LocalElement element, int offset, int end) {
     SourceRange visibleRange = element.visibleRange;
     expect(visibleRange.offset, offset);
@@ -3044,16 +3020,9 @@
     if (matchIndex == 0) {
       return contents.indexOf(pattern);
     }
-    JavaPatternMatcher matcher =
-        new JavaPatternMatcher(new RegExp(pattern), contents);
-    int count = 0;
-    while (matcher.find()) {
-      if (count == matchIndex) {
-        return matcher.start();
-      }
-      ++count;
-    }
-    return -1;
+    Iterable<Match> matches = new RegExp(pattern).allMatches(contents);
+    Match match = matches.toList()[matchIndex];
+    return match.start;
   }
 
   /**
@@ -3144,8 +3113,6 @@
     expect(constant.isStatic, isTrue);
     expect((constant as FieldElementImpl).evaluationResult, isNotNull);
     expect(constant.documentationComment, '/// aaa');
-    expect(constant.docRange.offset, 50);
-    expect(constant.docRange.length, 7);
     _assertGetter(constant);
   }
 
@@ -4154,7 +4121,7 @@
     _assertNthStatementDoesNotExit(source, 0);
   }
 
-  void test_whileStatement_breakWithLabel_afterExting() {
+  void test_whileStatement_breakWithLabel_afterExiting() {
     Source source = addSource(r'''
 void f() {
   x: while (true) {
@@ -4341,8 +4308,7 @@
     UriResolver resolver = new DartUriResolver(sdk);
     SourceFactory factory = new SourceFactory([resolver]);
     // resolve dart:core
-    Source result =
-        resolver.resolveAbsolute(parseUriWithException("dart:core"));
+    Source result = resolver.resolveAbsolute(Uri.parse("dart:core"));
     expect(result, isNotNull);
     expect(result.isInSystemLibrary, isTrue);
     // system libraries reference only other system libraries
@@ -4377,8 +4343,7 @@
     JavaFile file = FileUtilities2.createFile("/a/b/test.dart");
     FileBasedSource source = new FileBasedSource(file);
     expect(source, isNotNull);
-    Uri relative =
-        resolveRelativeUri(source.uri, parseUriWithException("lib.dart"));
+    Uri relative = resolveRelativeUri(source.uri, Uri.parse("lib.dart"));
     expect(relative, isNotNull);
     expect(relative.toString(), "file:///a/b/lib.dart");
   }
@@ -4393,8 +4358,7 @@
     JavaFile file = FileUtilities2.createFile("/a/b/test.dart");
     FileBasedSource source = new FileBasedSource(file);
     expect(source, isNotNull);
-    Uri relative =
-        resolveRelativeUri(source.uri, parseUriWithException("c/lib.dart"));
+    Uri relative = resolveRelativeUri(source.uri, Uri.parse("c/lib.dart"));
     expect(relative, isNotNull);
     expect(relative.toString(), "file:///a/b/c/lib.dart");
   }
@@ -4408,16 +4372,14 @@
     JavaFile file = FileUtilities2.createFile("/a/b/test.dart");
     FileBasedSource source = new FileBasedSource(file);
     expect(source, isNotNull);
-    Uri relative =
-        resolveRelativeUri(source.uri, parseUriWithException("../c/lib.dart"));
+    Uri relative = resolveRelativeUri(source.uri, Uri.parse("../c/lib.dart"));
     expect(relative, isNotNull);
     expect(relative.toString(), "file:///a/c/lib.dart");
   }
 
   void test_system() {
     JavaFile file = FileUtilities2.createFile("/does/not/exist.dart");
-    FileBasedSource source =
-        new FileBasedSource(file, parseUriWithException("dart:core"));
+    FileBasedSource source = new FileBasedSource(file, Uri.parse("dart:core"));
     expect(source, isNotNull);
     expect(source.fullName, file.getAbsolutePath());
     expect(source.isInSystemLibrary, isTrue);
diff --git a/pkg/analyzer/test/generated/compile_time_error_code_test.dart b/pkg/analyzer/test/generated/compile_time_error_code_test.dart
index f506339..71b0aef 100644
--- a/pkg/analyzer/test/generated/compile_time_error_code_test.dart
+++ b/pkg/analyzer/test/generated/compile_time_error_code_test.dart
@@ -1800,6 +1800,17 @@
     verify([source]);
   }
 
+  void test_duplicateDefinition_parameters_inConstructor() {
+    Source source = addSource(r'''
+class A {
+  int a;
+  A(int a, this.a);
+}''');
+    computeLibrarySourceErrors(source);
+    assertErrors(source, [CompileTimeErrorCode.DUPLICATE_DEFINITION]);
+    verify([source]);
+  }
+
   void test_duplicateDefinition_parameters_inFunctionTypeAlias() {
     Source source = addSource(r'''
 typedef F(int a, double a);
@@ -2152,6 +2163,18 @@
     verify([source]);
   }
 
+  void test_fieldFormalParameter_assignedInInitializer() {
+    Source source = addSource(r'''
+class A {
+  int x;
+  A(this.x) : x = 3 {}
+}''');
+    computeLibrarySourceErrors(source);
+    assertErrors(source,
+        [CompileTimeErrorCode.FIELD_INITIALIZED_IN_PARAMETER_AND_INITIALIZER]);
+    verify([source]);
+  }
+
   void test_fieldInitializedByMultipleInitializers() {
     Source source = addSource(r'''
 class A {
@@ -2334,6 +2357,7 @@
   A(this.x, this.x) {}
 }''');
     computeLibrarySourceErrors(source);
+    // TODO(brianwilkerson) There should only be one error here.
     assertErrors(source, [
       CompileTimeErrorCode.DUPLICATE_DEFINITION,
       CompileTimeErrorCode.FINAL_INITIALIZED_MULTIPLE_TIMES
diff --git a/pkg/analyzer/test/generated/engine_test.dart b/pkg/analyzer/test/generated/engine_test.dart
index f62c1b9..c98cfc9 100644
--- a/pkg/analyzer/test/generated/engine_test.dart
+++ b/pkg/analyzer/test/generated/engine_test.dart
@@ -17,7 +17,6 @@
 import 'package:analyzer/src/generated/constant.dart';
 import 'package:analyzer/src/generated/engine.dart';
 import 'package:analyzer/src/generated/error.dart';
-import 'package:analyzer/src/generated/java_core.dart';
 import 'package:analyzer/src/generated/resolver.dart';
 import 'package:analyzer/src/generated/source_io.dart';
 import 'package:analyzer/src/string_source.dart';
@@ -132,14 +131,6 @@
     assertEvent(event, changedSources: [source]);
   }
 
-  void test_deleted() {
-    var source = new StringSource('', '/test.dart');
-    var changeSet = new ChangeSet();
-    changeSet.deletedSource(source);
-    var event = new SourcesChangedEvent(changeSet);
-    assertEvent(event, wereSourcesRemovedOrDeleted: true);
-  }
-
   void test_empty() {
     var changeSet = new ChangeSet();
     var event = new SourcesChangedEvent(changeSet);
@@ -151,16 +142,16 @@
     var changeSet = new ChangeSet();
     changeSet.removedSource(source);
     var event = new SourcesChangedEvent(changeSet);
-    assertEvent(event, wereSourcesRemovedOrDeleted: true);
+    assertEvent(event, wereSourcesRemoved: true);
   }
 
   static void assertEvent(SourcesChangedEvent event,
       {bool wereSourcesAdded: false,
       List<Source> changedSources: Source.EMPTY_LIST,
-      bool wereSourcesRemovedOrDeleted: false}) {
+      bool wereSourcesRemoved: false}) {
     expect(event.wereSourcesAdded, wereSourcesAdded);
     expect(event.changedSources, changedSources);
-    expect(event.wereSourcesRemovedOrDeleted, wereSourcesRemovedOrDeleted);
+    expect(event.wereSourcesRemoved, wereSourcesRemoved);
   }
 }
 
@@ -178,7 +169,7 @@
     SourcesChangedEventTest.assertEvent(actual,
         wereSourcesAdded: wereSourcesAdded,
         changedSources: changedSources,
-        wereSourcesRemovedOrDeleted: wereSourcesRemovedOrDeleted);
+        wereSourcesRemoved: wereSourcesRemovedOrDeleted);
   }
 
   void assertNoMoreEvents() {
diff --git a/pkg/analyzer/test/generated/incremental_resolver_test.dart b/pkg/analyzer/test/generated/incremental_resolver_test.dart
index f529459..b9d0e78 100644
--- a/pkg/analyzer/test/generated/incremental_resolver_test.dart
+++ b/pkg/analyzer/test/generated/incremental_resolver_test.dart
@@ -7,6 +7,7 @@
 import 'package:analyzer/dart/ast/ast.dart';
 import 'package:analyzer/dart/ast/token.dart';
 import 'package:analyzer/dart/element/element.dart';
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/src/context/cache.dart';
 import 'package:analyzer/src/dart/ast/utilities.dart';
 import 'package:analyzer/src/dart/element/element.dart';
@@ -2113,8 +2114,6 @@
 
 @reflectiveTest
 class ResolutionContextBuilderTest extends EngineTestCase {
-  GatheringErrorListener listener = new GatheringErrorListener();
-
   void test_scopeFor_ClassDeclaration() {
     Scope scope = _scopeFor(_createResolvedClassDeclaration());
     EngineTestCase.assertInstanceOf(
@@ -2316,7 +2315,7 @@
   }
 
   Scope _scopeFor(AstNode node) {
-    return ResolutionContextBuilder.contextFor(node, listener).scope;
+    return ResolutionContextBuilder.contextFor(node).scope;
   }
 }
 
diff --git a/pkg/analyzer/test/generated/incremental_scanner_test.dart b/pkg/analyzer/test/generated/incremental_scanner_test.dart
deleted file mode 100644
index 4464f5c..0000000
--- a/pkg/analyzer/test/generated/incremental_scanner_test.dart
+++ /dev/null
@@ -1,548 +0,0 @@
-// Copyright (c) 2014, the Dart project authors.  Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-@deprecated
-library analyzer.test.generated.incremental_scanner_test;
-
-import 'package:analyzer/dart/ast/token.dart';
-import 'package:analyzer/src/dart/scanner/reader.dart';
-import 'package:analyzer/src/dart/scanner/scanner.dart';
-import 'package:analyzer/src/generated/engine.dart';
-import 'package:analyzer/src/generated/incremental_scanner.dart';
-import 'package:analyzer/src/generated/source.dart';
-import 'package:test_reflective_loader/test_reflective_loader.dart';
-import 'package:unittest/unittest.dart';
-
-import '../utils.dart';
-import 'test_support.dart';
-
-main() {
-  initializeTestEnvironment();
-  defineReflectiveTests(IncrementalScannerTest);
-}
-
-@reflectiveTest
-class IncrementalScannerTest extends EngineTestCase {
-  /**
-   * The first token from the token stream resulting from parsing the original
-   * source, or `null` if [scan] has not been invoked.
-   */
-  Token _originalTokens;
-
-  /**
-   * The scanner used to perform incremental scanning, or `null` if [scan] has
-   * not been invoked.
-   */
-  IncrementalScanner _incrementalScanner;
-
-  /**
-   * The first token from the token stream resulting from performing an
-   * incremental scan, or `null` if [scan] has not been invoked.
-   */
-  Token _incrementalTokens;
-
-  void fail_insert_beginning() {
-    // This is currently reporting the changed range as being from 0 to 5, but
-    // that would force us to re-parse both classes, which is clearly
-    // sub-optimal.
-    //
-    // "class B {}"
-    // "class A {} class B {}"
-    _scan("", "", "class A {} ", "class B {}");
-    _assertTokens(-1, 4, ["class", "A", "{", "}", "class", "B", "{", "}"]);
-    expect(_incrementalScanner.hasNonWhitespaceChange, isTrue);
-  }
-
-  void fail_insert_comment_afterIdentifier() {
-    // "a + b"
-    // "a /* TODO */ + b"
-    _scan("a", "", " /* TODO */", " + b");
-    _assertTokens(0, 1, ["a", "+", "b"]);
-    _assertComments(1, ["/* TODO */"]);
-    expect(_incrementalScanner.hasNonWhitespaceChange, isFalse);
-  }
-
-  void fail_insert_comment_beforeIdentifier() {
-    // "a + b"
-    // "a + /* TODO */ b"
-    _scan("a + ", "", "/* TODO */ ", "b");
-    _assertTokens(1, 2, ["a", "+", "b"]);
-    _assertComments(2, ["/* TODO */"]);
-    expect(_incrementalScanner.hasNonWhitespaceChange, isFalse);
-  }
-
-  void fail_insert_inComment() {
-    // "a /* TO */ b"
-    // "a /* TODO */ b"
-    _scan("a /* TO", "", "DO", " */ b");
-    _assertTokens(0, 1, ["a", "b"]);
-    _assertComments(1, ["/* TODO */"]);
-    expect(_incrementalScanner.hasNonWhitespaceChange, isFalse);
-  }
-
-  void test_delete_identifier_beginning() {
-    // "abs + b;"
-    // "s + b;"
-    _scan("", "ab", "", "s + b;");
-    _assertTokens(-1, 1, ["s", "+", "b", ";"]);
-    expect(_incrementalScanner.hasNonWhitespaceChange, isTrue);
-  }
-
-  void test_delete_identifier_end() {
-    // "abs + b;"
-    // "a + b;"
-    _scan("a", "bs", "", " + b;");
-    _assertTokens(-1, 1, ["a", "+", "b", ";"]);
-    expect(_incrementalScanner.hasNonWhitespaceChange, isTrue);
-  }
-
-  void test_delete_identifier_middle() {
-    // "abs + b;"
-    // "as + b;"
-    _scan("a", "b", "", "s + b;");
-    _assertTokens(-1, 1, ["as", "+", "b", ";"]);
-    expect(_incrementalScanner.hasNonWhitespaceChange, isTrue);
-  }
-
-  void test_delete_mergeTokens() {
-    // "a + b + c;"
-    // "ac;"
-    _scan("a", " + b + ", "", "c;");
-    _assertTokens(-1, 1, ["ac", ";"]);
-    expect(_incrementalScanner.hasNonWhitespaceChange, isTrue);
-  }
-
-  void test_delete_whitespace() {
-    // "a + b + c;"
-    // "a+ b + c;"
-    _scan("a", " ", "", "+ b + c;");
-    _assertTokens(1, 2, ["a", "+", "b", "+", "c", ";"]);
-    expect(_incrementalScanner.hasNonWhitespaceChange, isFalse);
-  }
-
-  void test_insert_convertOneFunctionToTwo_noOverlap() {
-    // "f() {}"
-    // "f() => 0; g() {}"
-    _scan("f()", "", " => 0; g()", " {}");
-    _assertTokens(
-        2, 9, ["f", "(", ")", "=>", "0", ";", "g", "(", ")", "{", "}"]);
-    expect(_incrementalScanner.hasNonWhitespaceChange, isTrue);
-  }
-
-  void test_insert_convertOneFunctionToTwo_overlap() {
-    // "f() {}"
-    // "f() {} g() {}"
-    _scan("f() {", "", "} g() {", "}");
-    _assertTokens(4, 10, ["f", "(", ")", "{", "}", "g", "(", ")", "{", "}"]);
-    expect(_incrementalScanner.hasNonWhitespaceChange, isTrue);
-  }
-
-  void test_insert_end() {
-    // "class A {}"
-    // "class A {} class B {}"
-    _scan("class A {}", "", " class B {}", "");
-    _assertTokens(3, 8, ["class", "A", "{", "}", "class", "B", "{", "}"]);
-    expect(_incrementalScanner.hasNonWhitespaceChange, isTrue);
-  }
-
-  void test_insert_identifierAndPeriod() {
-    // "a + b;"
-    // "a + x.b;"
-    _scan("a + ", "", "x.", "b;");
-    _assertTokens(1, 4, ["a", "+", "x", ".", "b", ";"]);
-  }
-
-  void test_insert_inIdentifier_left_firstToken() {
-    // "a + b;"
-    // "xa + b;"
-    _scan("", "", "x", "a + b;");
-    _assertTokens(-1, 1, ["xa", "+", "b", ";"]);
-    expect(_incrementalScanner.hasNonWhitespaceChange, isTrue);
-  }
-
-  void test_insert_inIdentifier_left_lastToken() {
-    // "a + b"
-    // "a + xb"
-    _scan("a + ", "", "x", "b");
-    _assertTokens(1, 3, ["a", "+", "xb"]);
-    expect(_incrementalScanner.hasNonWhitespaceChange, isTrue);
-  }
-
-  void test_insert_inIdentifier_left_middleToken() {
-    // "a + b;"
-    // "a + xb;"
-    _scan("a + ", "", "x", "b;");
-    _assertTokens(1, 3, ["a", "+", "xb", ";"]);
-    expect(_incrementalScanner.hasNonWhitespaceChange, isTrue);
-  }
-
-  void test_insert_inIdentifier_middle() {
-    // "cat;"
-    // "cart;"
-    _scan("ca", "", "r", "t;");
-    _assertTokens(-1, 1, ["cart", ";"]);
-    expect(_incrementalScanner.hasNonWhitespaceChange, isTrue);
-  }
-
-  void test_insert_inIdentifier_right_firstToken() {
-    // "a + b;"
-    // "abs + b;"
-    _scan("a", "", "bs", " + b;");
-    _assertTokens(-1, 1, ["abs", "+", "b", ";"]);
-    expect(_incrementalScanner.hasNonWhitespaceChange, isTrue);
-  }
-
-  void test_insert_inIdentifier_right_lastToken() {
-    // "a + b"
-    // "a + bc"
-    _scan("a + b", "", "c", "");
-    _assertTokens(1, 3, ["a", "+", "bc"]);
-    expect(_incrementalScanner.hasNonWhitespaceChange, isTrue);
-  }
-
-  void test_insert_inIdentifier_right_middleToken() {
-    // "a + b;"
-    // "a + by;"
-    _scan("a + b", "", "y", ";");
-    _assertTokens(1, 3, ["a", "+", "by", ";"]);
-    expect(_incrementalScanner.hasNonWhitespaceChange, isTrue);
-  }
-
-  void test_insert_newIdentifier_noSpaceBefore() {
-    // "a; c;"
-    // "a;b c;"
-    _scan("a;", "", "b", " c;");
-    _assertTokens(1, 3, ["a", ";", "b", "c", ";"]);
-    expect(_incrementalScanner.hasNonWhitespaceChange, isTrue);
-  }
-
-  void test_insert_newIdentifier_spaceBefore() {
-    // "a; c;"
-    // "a; b c;"
-    _scan("a; ", "", "b ", "c;");
-    _assertTokens(1, 3, ["a", ";", "b", "c", ";"]);
-    expect(_incrementalScanner.hasNonWhitespaceChange, isTrue);
-  }
-
-  void test_insert_period_afterIdentifier() {
-    // "a + b;"
-    // "a + b.;"
-    _scan("a + b", "", ".", ";");
-    _assertTokens(2, 4, ["a", "+", "b", ".", ";"]);
-  }
-
-  void test_insert_period_betweenIdentifiers_left() {
-    // "a b;"
-    // "a. b;"
-    _scan("a", "", ".", " b;");
-    _assertTokens(0, 2, ["a", ".", "b", ";"]);
-    expect(_incrementalScanner.hasNonWhitespaceChange, isTrue);
-  }
-
-  void test_insert_period_betweenIdentifiers_middle() {
-    // "a  b;"
-    // "a . b;"
-    _scan("a ", "", ".", " b;");
-    _assertTokens(0, 2, ["a", ".", "b", ";"]);
-    expect(_incrementalScanner.hasNonWhitespaceChange, isTrue);
-  }
-
-  void test_insert_period_betweenIdentifiers_right() {
-    // "a b;"
-    // "a .b;"
-    _scan("a ", "", ".", "b;");
-    _assertTokens(0, 2, ["a", ".", "b", ";"]);
-  }
-
-  void test_insert_period_insideExistingIdentifier() {
-    // "ab;"
-    // "a.b;"
-    _scan("a", "", ".", "b;");
-    _assertTokens(-1, 3, ["a", ".", "b", ";"]);
-    expect(_incrementalScanner.hasNonWhitespaceChange, isTrue);
-  }
-
-  void test_insert_periodAndIdentifier() {
-    // "a + b;"
-    // "a + b.x;"
-    _scan("a + b", "", ".x", ";");
-    _assertTokens(2, 5, ["a", "+", "b", ".", "x", ";"]);
-  }
-
-  void test_insert_splitIdentifier() {
-    // "cob;"
-    // "cow.b;"
-    _scan("co", "", "w.", "b;");
-    _assertTokens(-1, 3, ["cow", ".", "b", ";"]);
-    expect(_incrementalScanner.hasNonWhitespaceChange, isTrue);
-  }
-
-  void test_insert_tokens_within_whitespace() {
-    // "a      ;"
-    // "a   +b   ;"
-    _scan("a   ", "", "+b", "   ;");
-    _assertTokens(0, 3, ["a", "+", "b", ";"]);
-    expect(_incrementalScanner.hasNonWhitespaceChange, isTrue);
-  }
-
-  void test_insert_whitespace_beginning_beforeToken() {
-    // "a + b;"
-    // " a + b;"
-    _scan("", "", " ", "a + b;");
-    _assertTokens(0, 1, ["a", "+", "b", ";"]);
-    expect(_incrementalScanner.hasNonWhitespaceChange, isFalse);
-  }
-
-  void test_insert_whitespace_betweenTokens() {
-    // "a + b;"
-    // "a  + b;"
-    _scan("a ", "", " ", "+ b;");
-    _assertTokens(1, 2, ["a", "+", "b", ";"]);
-    expect(_incrementalScanner.hasNonWhitespaceChange, isFalse);
-  }
-
-  void test_insert_whitespace_end_afterToken() {
-    // "a + b;"
-    // "a + b; "
-    _scan("a + b;", "", " ", "");
-    _assertTokens(3, 4, ["a", "+", "b", ";"]);
-    expect(_incrementalScanner.hasNonWhitespaceChange, isFalse);
-  }
-
-  void test_insert_whitespace_end_afterWhitespace() {
-    // "a + b; "
-    // "a + b;  "
-    _scan("a + b; ", "", " ", "");
-    _assertTokens(3, 4, ["a", "+", "b", ";"]);
-    expect(_incrementalScanner.hasNonWhitespaceChange, isFalse);
-  }
-
-  void test_insert_whitespace_withMultipleComments() {
-    // "//comment1", "//comment2", "a + b;"
-    // "//comment1", "//comment2", "a  + b;"
-    _scan(
-        r'''
-//comment1
-//comment2
-a''',
-        "",
-        " ",
-        " + b;");
-    _assertTokens(1, 2, ["a", "+", "b", ";"]);
-    expect(_incrementalScanner.hasNonWhitespaceChange, isFalse);
-  }
-
-  void test_replace_identifier_beginning() {
-    // "bell + b;"
-    // "fell + b;"
-    _scan("", "b", "f", "ell + b;");
-    _assertTokens(-1, 1, ["fell", "+", "b", ";"]);
-    expect(_incrementalScanner.hasNonWhitespaceChange, isTrue);
-  }
-
-  void test_replace_identifier_end() {
-    // "bell + b;"
-    // "belt + b;"
-    _scan("bel", "l", "t", " + b;");
-    _assertTokens(-1, 1, ["belt", "+", "b", ";"]);
-    expect(_incrementalScanner.hasNonWhitespaceChange, isTrue);
-  }
-
-  void test_replace_identifier_middle() {
-    // "first + b;"
-    // "frost + b;"
-    _scan("f", "ir", "ro", "st + b;");
-    _assertTokens(-1, 1, ["frost", "+", "b", ";"]);
-    expect(_incrementalScanner.hasNonWhitespaceChange, isTrue);
-  }
-
-  void test_replace_multiple_partialFirstAndLast() {
-    // "aa + bb;"
-    // "ab * ab;"
-    _scan("a", "a + b", "b * a", "b;");
-    _assertTokens(-1, 3, ["ab", "*", "ab", ";"]);
-    expect(_incrementalScanner.hasNonWhitespaceChange, isTrue);
-  }
-
-  void test_replace_operator_oneForMany() {
-    // "a + b;"
-    // "a * c - b;"
-    _scan("a ", "+", "* c -", " b;");
-    _assertTokens(0, 4, ["a", "*", "c", "-", "b", ";"]);
-    expect(_incrementalScanner.hasNonWhitespaceChange, isTrue);
-  }
-
-  void test_replace_operator_oneForOne() {
-    // "a + b;"
-    // "a * b;"
-    _scan("a ", "+", "*", " b;");
-    _assertTokens(0, 2, ["a", "*", "b", ";"]);
-    expect(_incrementalScanner.hasNonWhitespaceChange, isTrue);
-  }
-
-  /**
-   * Assert that the comments associated with the token at the given [index]
-   * have lexemes that match the given list of lexemes, both in number and in
-   * content.
-   */
-  void _assertComments(int index, List<String> lexemes) {
-    Token token = _incrementalTokens;
-    for (int i = 0; i < index; i++) {
-      token = token.next;
-    }
-    Token comment = token.precedingComments;
-    if (lexemes.isEmpty) {
-      expect(comment, isNull,
-          reason: "No comments expected but comments found");
-    }
-    int count = 0;
-    for (String lexeme in lexemes) {
-      if (comment == null) {
-        fail("Expected ${lexemes.length} comments but found $count");
-      }
-      expect(comment.lexeme, lexeme);
-      count++;
-      comment = comment.next;
-    }
-    if (comment != null) {
-      while (comment != null) {
-        count++;
-        comment = comment.next;
-      }
-      fail("Expected ${lexemes.length} comments but found $count");
-    }
-  }
-
-  /**
-   * Assert that the [expected] token is equal to the [actual] token.
-   */
-  void _assertEqualTokens(Token actual, Token expected) {
-    expect(actual.type, same(expected.type), reason: "Wrong type for token");
-    expect(actual.lexeme, expected.lexeme, reason: "Wrong lexeme for token");
-    expect(actual.offset, expected.offset,
-        reason:
-            "Wrong offset for token ('${actual.lexeme}' != '${expected.lexeme}')");
-    expect(actual.length, expected.length,
-        reason:
-            "Wrong length for token ('${actual.lexeme}' != '${expected.lexeme}')");
-  }
-
-  /**
-   * Assert that the result of the incremental scan matches the given list of
-   * [lexemes] and that the left and right tokens correspond to the tokens at
-   * the [leftIndex] and [rightIndex].
-   */
-  void _assertTokens(int leftIndex, int rightIndex, List<String> lexemes) {
-    int count = lexemes.length;
-    expect(leftIndex >= -1 && leftIndex < count, isTrue,
-        reason: "Invalid left index");
-    expect(rightIndex >= 0 && rightIndex <= count, isTrue,
-        reason: "Invalid right index");
-    Token leftToken = null;
-    Token rightToken = null;
-    Token token = _incrementalTokens;
-    if (leftIndex < 0) {
-      leftToken = token.previous;
-    }
-    for (int i = 0; i < count; i++) {
-      expect(token.lexeme, lexemes[i]);
-      if (i == leftIndex) {
-        leftToken = token;
-      }
-      if (i == rightIndex) {
-        rightToken = token;
-      }
-      token = token.next;
-    }
-    if (rightIndex >= count) {
-      rightToken = token;
-    }
-    expect(token.type, same(TokenType.EOF), reason: "Too many tokens");
-    if (leftIndex >= 0) {
-      expect(leftToken, isNotNull);
-    }
-    expect(_incrementalScanner.leftToken, same(leftToken),
-        reason: "Invalid left token");
-    if (rightIndex >= 0) {
-      expect(rightToken, isNotNull);
-    }
-    expect(_incrementalScanner.rightToken, same(rightToken),
-        reason: "Invalid right token");
-  }
-
-  /**
-   * Given a description of the original and modified contents, perform an
-   * incremental scan of the two pieces of text. Verify that the incremental
-   * scan produced the same tokens as those that would be produced by a full
-   * scan of the new contents.
-   *
-   * The original content is the concatenation of the [prefix], [removed] and
-   * [suffix] fragments. The modeified content is the concatenation of the
-   * [prefix], [added] and [suffix] fragments.
-   */
-  void _scan(String prefix, String removed, String added, String suffix) {
-    //
-    // Compute the information needed to perform the test.
-    //
-    String originalContents = "$prefix$removed$suffix";
-    String modifiedContents = "$prefix$added$suffix";
-    int replaceStart = prefix.length;
-    Source source = new TestSource();
-    //
-    // Scan the original contents.
-    //
-    GatheringErrorListener originalListener = new GatheringErrorListener();
-    Scanner originalScanner = new Scanner(
-        source, new CharSequenceReader(originalContents), originalListener);
-    _originalTokens = originalScanner.tokenize();
-    expect(_originalTokens, isNotNull);
-    //
-    // Scan the modified contents.
-    //
-    GatheringErrorListener modifiedListener = new GatheringErrorListener();
-    Scanner modifiedScanner = new Scanner(
-        source, new CharSequenceReader(modifiedContents), modifiedListener);
-    Token modifiedTokens = modifiedScanner.tokenize();
-    expect(modifiedTokens, isNotNull);
-    //
-    // Incrementally scan the modified contents.
-    //
-    GatheringErrorListener incrementalListener = new GatheringErrorListener();
-    AnalysisOptionsImpl options = new AnalysisOptionsImpl();
-    _incrementalScanner = new IncrementalScanner(source,
-        new CharSequenceReader(modifiedContents), incrementalListener, options);
-    _incrementalTokens = _incrementalScanner.rescan(
-        _originalTokens, replaceStart, removed.length, added.length);
-    //
-    // Validate that the results of the incremental scan are the same as the
-    // full scan of the modified source.
-    //
-    Token incrementalToken = _incrementalTokens;
-    expect(incrementalToken, isNotNull);
-    while (incrementalToken.type != TokenType.EOF &&
-        modifiedTokens.type != TokenType.EOF) {
-      _assertEqualTokens(incrementalToken, modifiedTokens);
-      Token incrementalComment = incrementalToken.precedingComments;
-      Token modifiedComment = modifiedTokens.precedingComments;
-      while (incrementalComment != null && modifiedComment != null) {
-        _assertEqualTokens(incrementalComment, modifiedComment);
-        incrementalComment = incrementalComment.next;
-        modifiedComment = modifiedComment.next;
-      }
-      expect(incrementalComment, isNull,
-          reason:
-              "Too many comment tokens preceeding '${incrementalToken.lexeme}'");
-      expect(modifiedComment, isNull,
-          reason:
-              "Not enough comment tokens preceeding '${incrementalToken.lexeme}'");
-      incrementalToken = incrementalToken.next;
-      modifiedTokens = modifiedTokens.next;
-    }
-    expect(incrementalToken.type, same(TokenType.EOF),
-        reason: "Too many tokens");
-    expect(modifiedTokens.type, same(TokenType.EOF),
-        reason: "Not enough tokens");
-    // TODO(brianwilkerson) Verify that the errors are correct?
-  }
-}
diff --git a/pkg/analyzer/test/generated/parser_test.dart b/pkg/analyzer/test/generated/parser_test.dart
index 596fb0e..38d3464 100644
--- a/pkg/analyzer/test/generated/parser_test.dart
+++ b/pkg/analyzer/test/generated/parser_test.dart
@@ -8,14 +8,10 @@
 import 'package:analyzer/dart/ast/token.dart';
 import 'package:analyzer/dart/ast/visitor.dart';
 import 'package:analyzer/src/dart/ast/token.dart';
-import 'package:analyzer/src/dart/ast/utilities.dart';
 import 'package:analyzer/src/dart/scanner/reader.dart';
 import 'package:analyzer/src/dart/scanner/scanner.dart';
-import 'package:analyzer/src/generated/engine.dart';
 import 'package:analyzer/src/generated/error.dart';
-import 'package:analyzer/src/generated/incremental_scanner.dart';
 import 'package:analyzer/src/generated/parser.dart';
-import 'package:analyzer/src/generated/source.dart' show Source;
 import 'package:analyzer/src/generated/testing/ast_factory.dart';
 import 'package:analyzer/src/generated/testing/token_factory.dart';
 import 'package:analyzer/src/generated/utilities_dart.dart';
@@ -29,8 +25,6 @@
   initializeTestEnvironment();
   defineReflectiveTests(ComplexParserTest);
   defineReflectiveTests(ErrorParserTest);
-  // ignore: deprecated_member_use
-  defineReflectiveTests(IncrementalParserTest);
   defineReflectiveTests(NonErrorParserTest);
   defineReflectiveTests(RecoveryParserTest);
   defineReflectiveTests(SimpleParserTest);
@@ -2367,383 +2361,6 @@
   }
 }
 
-@deprecated
-@reflectiveTest
-class IncrementalParserTest extends EngineTestCase {
-  void fail_replace_identifier_with_functionLiteral_in_initializer_interp() {
-    // TODO(paulberry, brianwilkerson): broken due to incremental scanning bugs
-
-    // Function literals are allowed inside interpolation expressions in
-    // initializers.
-    //
-    // 'class A { var a; A(b) : a = "${b}";'
-    // 'class A { var a; A(b) : a = "${() {}}";'
-    _assertParse(r'class A { var a; A(b) : a = "${', 'b', '() {}', '}";');
-  }
-
-  void test_delete_everything() {
-    // "f() => a + b;"
-    // ""
-    _assertParse("", "f() => a + b;", "", "");
-  }
-
-  void test_delete_identifier_beginning() {
-    // "f() => abs + b;"
-    // "f() => s + b;"
-    _assertParse("f() => ", "ab", "", "s + b;");
-  }
-
-  void test_delete_identifier_end() {
-    // "f() => abs + b;"
-    // "f() => a + b;"
-    _assertParse("f() => a", "bs", "", " + b;");
-  }
-
-  void test_delete_identifier_middle() {
-    // "f() => abs + b;"
-    // "f() => as + b;"
-    _assertParse("f() => a", "b", "", "s + b;");
-  }
-
-  void test_delete_mergeTokens() {
-    // "f() => a + b + c;"
-    // "f() => ac;"
-    _assertParse("f() => a", " + b + ", "", "c;");
-  }
-
-  void test_insert_afterIdentifier1() {
-    // "f() => a + b;"
-    // "f() => abs + b;"
-    _assertParse("f() => a", "", "bs", " + b;");
-  }
-
-  void test_insert_afterIdentifier2() {
-    // "f() => a + b;"
-    // "f() => a + bar;"
-    _assertParse("f() => a + b", "", "ar", ";");
-  }
-
-  void test_insert_beforeIdentifier1() {
-    // "f() => a + b;"
-    // "f() => xa + b;"
-    _assertParse("f() => ", "", "x", "a + b;");
-  }
-
-  void test_insert_beforeIdentifier2() {
-    // "f() => a + b;"
-    // "f() => a + xb;"
-    _assertParse("f() => a + ", "", "x", "b;");
-  }
-
-  void test_insert_convertOneFunctionToTwo() {
-    // "f() {}"
-    // "f() => 0; g() {}"
-    _assertParse("f()", "", " => 0; g()", " {}");
-  }
-
-  void test_insert_end() {
-    // "class A {}"
-    // "class A {} class B {}"
-    _assertParse("class A {}", "", " class B {}", "");
-  }
-
-  void test_insert_final_before_field_declaration() {
-    _assertParse('class C { ', '', 'final ', 'int x; }');
-  }
-
-  void test_insert_function_parameter() {
-    _assertParse('class C { void f(', '', 'arg', ') {} }');
-  }
-
-  void test_insert_identifier_inCombinator() {
-    _assertParse("import 'foo.dart' show x", "", ", y", ";");
-  }
-
-  void test_insert_insideClassBody() {
-    // "class C {C(); }"
-    // "class C { C(); }"
-    _assertParse("class C {", "", " ", "C(); }");
-  }
-
-  void test_insert_insideIdentifier() {
-    // "f() => cob;"
-    // "f() => cow.b;"
-    _assertParse("f() => co", "", "w.", "b;");
-  }
-
-  void test_insert_newIdentifier1() {
-    // "f() => a; c;"
-    // "f() => a; b c;"
-    _assertParse("f() => a;", "", " b", " c;");
-  }
-
-  void test_insert_newIdentifier2() {
-    // "f() => a;  c;"
-    // "f() => a;b  c;"
-    _assertParse("f() => a;", "", "b", "  c;");
-  }
-
-  void test_insert_newIdentifier3() {
-    // "/** A simple function. */ f() => a; c;"
-    // "/** A simple function. */ f() => a; b c;"
-    _assertParse("/** A simple function. */ f() => a;", "", " b", " c;");
-  }
-
-  void test_insert_newIdentifier4() {
-    // "/** An [A]. */ class A {} class B { m() { return 1; } }"
-    // "/** An [A]. */ class A {} class B { m() { return 1 + 2; } }"
-    _assertParse("/** An [A]. */ class A {} class B { m() { return 1", "",
-        " + 2", "; } }");
-  }
-
-  void test_insert_period() {
-    // "f() => a + b;"
-    // "f() => a + b.;"
-    _assertParse("f() => a + b", "", ".", ";");
-  }
-
-  void test_insert_period_betweenIdentifiers1() {
-    // "f() => a b;"
-    // "f() => a. b;"
-    _assertParse("f() => a", "", ".", " b;");
-  }
-
-  void test_insert_period_betweenIdentifiers2() {
-    // "f() => a b;"
-    // "f() => a .b;"
-    _assertParse("f() => a ", "", ".", "b;");
-  }
-
-  void test_insert_period_betweenIdentifiers3() {
-    // "f() => a  b;"
-    // "f() => a . b;"
-    _assertParse("f() => a ", "", ".", " b;");
-  }
-
-  void test_insert_period_insideExistingIdentifier() {
-    // "f() => ab;"
-    // "f() => a.b;"
-    _assertParse("f() => a", "", ".", "b;");
-  }
-
-  void test_insert_periodAndIdentifier() {
-    // "f() => a + b;"
-    // "f() => a + b.x;"
-    _assertParse("f() => a + b", "", ".x", ";");
-  }
-
-  void test_insert_simpleToComplexExression() {
-    // "/** An [A]. */ class A {} class B { m() => 1; }"
-    // "/** An [A]. */ class A {} class B { m() => 1 + 2; }"
-    _assertParse(
-        "/** An [A]. */ class A {} class B { m() => 1", "", " + 2", "; }");
-  }
-
-  void test_insert_statement_in_method_with_mismatched_braces() {
-    _assertParse(
-        '''
-class C {
-  void f() {
-''',
-        '',
-        'g();',
-        '''
-    if (b) {
-
-
-  }
-
-  void g() {
-    h((x) {});
-  }
-}
-''');
-  }
-
-  void test_insert_whitespace_end() {
-    // "f() => a + b;"
-    // "f() => a + b; "
-    _assertParse("f() => a + b;", "", " ", "");
-  }
-
-  void test_insert_whitespace_end_multiple() {
-    // "f() => a + b;"
-    // "f() => a + b;  "
-    _assertParse("f() => a + b;", "", "  ", "");
-  }
-
-  void test_insert_whitespace_middle() {
-    // "f() => a + b;"
-    // "f() => a  + b;"
-    _assertParse("f() => a", "", " ", " + b;");
-  }
-
-  void test_rename_class_withConstructor() {
-    // "class C { C() {} }"
-    // "class D { C() {} }"
-    _assertParse('class ', 'C', 'D', ' { C() {} }');
-  }
-
-  void test_replace_field_type_with_void() {
-    // Note: this produces an error, but we still need the parser to produce a
-    // consistent parse tree for it.
-    _assertParse('class C { ', 'int', 'void', ' x; }');
-  }
-
-  void test_replace_identifier_beginning() {
-    // "f() => bell + b;"
-    // "f() => fell + b;"
-    _assertParse("f() => ", "b", "f", "ell + b;");
-  }
-
-  void test_replace_identifier_end() {
-    // "f() => bell + b;"
-    // "f() => belt + b;"
-    _assertParse("f() => bel", "l", "t", " + b;");
-  }
-
-  void test_replace_identifier_middle() {
-    // "f() => first + b;"
-    // "f() => frost + b;"
-    _assertParse("f() => f", "ir", "ro", "st + b;");
-  }
-
-  void test_replace_identifier_with_functionLiteral_in_initializer() {
-    // Function literals aren't allowed inside initializers; incremental parsing
-    // needs to gather the appropriate context.
-    //
-    // "class A { var a; A(b) : a = b ? b : 0 { } }"
-    // "class A { var a; A(b) : a = b ? () {} : 0 { } }"
-    _assertParse(
-        "class A { var a; A(b) : a = b ? ", "b", "() {}", " : 0 { } }");
-  }
-
-  void test_replace_identifier_with_functionLiteral_in_initializer_index() {
-    // Function literals are allowed inside index expressions in initializers.
-    //
-    // "class A { var a; A(b) : a = b[b];"
-    // "class A { var a; A(b) : a = b[() {}];"
-    _assertParse('class A { var a; A(b) : a = b[', 'b', '() {}', '];');
-  }
-
-  void test_replace_identifier_with_functionLiteral_in_initializer_list() {
-    // Function literals are allowed inside list literals in initializers.
-    //
-    // "class A { var a; A(b) : a = [b];"
-    // "class A { var a; A(b) : a = [() {}];"
-    _assertParse('class A { var a; A(b) : a = [', 'b', '() {}', '];');
-  }
-
-  void test_replace_identifier_with_functionLiteral_in_initializer_map() {
-    // Function literals are allowed inside map literals in initializers.
-    //
-    // "class A { var a; A(b) : a = {0: b};"
-    // "class A { var a; A(b) : a = {0: () {}};"
-    _assertParse('class A { var a; A(b) : a = {0: ', 'b', '() {}', '};');
-  }
-
-  void test_replace_identifier_with_functionLiteral_in_initializer_parens() {
-    // Function literals are allowed inside parentheses in initializers.
-    //
-    // "class A { var a; A(b) : a = (b);"
-    // "class A { var a; A(b) : a = (() {});"
-    _assertParse('class A { var a; A(b) : a = (', 'b', '() {}', ');');
-  }
-
-  void test_replace_multiple_partialFirstAndLast() {
-    // "f() => aa + bb;"
-    // "f() => ab * ab;"
-    _assertParse("f() => a", "a + b", "b * a", "b;");
-  }
-
-  void test_replace_operator_oneForMany() {
-    // "f() => a + b;"
-    // "f() => a * c - b;"
-    _assertParse("f() => a ", "+", "* c -", " b;");
-  }
-
-  void test_replace_operator_oneForOne() {
-    // "f() => a + b;"
-    // "f() => a * b;"
-    _assertParse("f() => a ", "+", "*", " b;");
-  }
-
-  void test_split_combinator() {
-    // "import 'foo.dart' show A;"
-    // "import 'foo.dart' show B hide A;"
-    _assertParse("import 'foo.dart' show ", "", "B hide ", "A;");
-  }
-
-  /**
-   * Given a description of the original and modified contents, perform an incremental scan of the
-   * two pieces of text.
-   *
-   * @param prefix the unchanged text before the edit region
-   * @param removed the text that was removed from the original contents
-   * @param added the text that was added to the modified contents
-   * @param suffix the unchanged text after the edit region
-   */
-  void _assertParse(
-      String prefix, String removed, String added, String suffix) {
-    //
-    // Compute the information needed to perform the test.
-    //
-    String originalContents = "$prefix$removed$suffix";
-    String modifiedContents = "$prefix$added$suffix";
-    int replaceStart = prefix.length;
-    Source source = new TestSource();
-    //
-    // Parse the original contents.
-    //
-    GatheringErrorListener originalListener = new GatheringErrorListener();
-    Scanner originalScanner = new Scanner(
-        source, new CharSequenceReader(originalContents), originalListener);
-    Token originalTokens = originalScanner.tokenize();
-    expect(originalTokens, isNotNull);
-    Parser originalParser = new Parser(source, originalListener);
-    CompilationUnit originalUnit =
-        originalParser.parseCompilationUnit(originalTokens);
-    expect(originalUnit, isNotNull);
-    //
-    // Parse the modified contents.
-    //
-    GatheringErrorListener modifiedListener = new GatheringErrorListener();
-    Scanner modifiedScanner = new Scanner(
-        source, new CharSequenceReader(modifiedContents), modifiedListener);
-    Token modifiedTokens = modifiedScanner.tokenize();
-    expect(modifiedTokens, isNotNull);
-    Parser modifiedParser = new Parser(source, modifiedListener);
-    CompilationUnit modifiedUnit =
-        modifiedParser.parseCompilationUnit(modifiedTokens);
-    expect(modifiedUnit, isNotNull);
-    //
-    // Incrementally parse the modified contents.
-    //
-    GatheringErrorListener incrementalListener = new GatheringErrorListener();
-    AnalysisOptionsImpl options = new AnalysisOptionsImpl();
-    IncrementalScanner incrementalScanner = new IncrementalScanner(source,
-        new CharSequenceReader(modifiedContents), incrementalListener, options);
-    Token incrementalTokens = incrementalScanner.rescan(
-        originalTokens, replaceStart, removed.length, added.length);
-    expect(incrementalTokens, isNotNull);
-    IncrementalParser incrementalParser = new IncrementalParser(
-        source, incrementalScanner.tokenMap, incrementalListener);
-    CompilationUnit incrementalUnit = incrementalParser.reparse(
-        originalUnit,
-        incrementalScanner.leftToken,
-        incrementalScanner.rightToken,
-        replaceStart,
-        prefix.length + removed.length);
-    expect(incrementalUnit, isNotNull);
-    //
-    // Validate that the results of the incremental parse are the same as the
-    // full parse of the modified source.
-    //
-    expect(AstComparator.equalNodes(modifiedUnit, incrementalUnit), isTrue);
-    // TODO(brianwilkerson) Verify that the errors are correct?
-  }
-}
-
 @reflectiveTest
 class NonErrorParserTest extends ParserTestCase {
   void test_constFactory_external() {
diff --git a/pkg/analyzer/test/generated/resolver_test.dart b/pkg/analyzer/test/generated/resolver_test.dart
index 006ef07..db8f4cf 100644
--- a/pkg/analyzer/test/generated/resolver_test.dart
+++ b/pkg/analyzer/test/generated/resolver_test.dart
@@ -17,7 +17,6 @@
 import 'package:analyzer/src/dart/element/type.dart';
 import 'package:analyzer/src/generated/engine.dart';
 import 'package:analyzer/src/generated/error.dart';
-import 'package:analyzer/src/generated/java_core.dart';
 import 'package:analyzer/src/generated/parser.dart' show ParserErrorCode;
 import 'package:analyzer/src/generated/resolver.dart';
 import 'package:analyzer/src/generated/source_io.dart';
@@ -106,7 +105,6 @@
     expect(map, hasLength(1));
     expect(map[source], same(content));
     expect(changeSet.changedRanges, hasLength(0));
-    expect(changeSet.deletedSources, hasLength(0));
     expect(changeSet.removedSources, hasLength(0));
     expect(changeSet.removedContainers, hasLength(0));
   }
@@ -127,7 +125,6 @@
     expect(change.offset, 1);
     expect(change.oldLength, 2);
     expect(change.newLength, 3);
-    expect(changeSet.deletedSources, hasLength(0));
     expect(changeSet.removedSources, hasLength(0));
     expect(changeSet.removedContainers, hasLength(0));
   }
@@ -138,7 +135,6 @@
     changeSet.changedSource(new TestSource());
     changeSet.changedContent(new TestSource(), "");
     changeSet.changedRange(new TestSource(), "", 0, 0, 0);
-    changeSet.deletedSource(new TestSource());
     changeSet.removedSource(new TestSource());
     changeSet
         .removedContainer(new SourceContainer_ChangeSetTest_test_toString());
@@ -194,30 +190,14 @@
 @reflectiveTest
 class EnclosedScopeTest extends ResolverTestCase {
   void test_define_duplicate() {
-    GatheringErrorListener listener = new GatheringErrorListener();
-    Scope rootScope =
-        new Scope_EnclosedScopeTest_test_define_duplicate(listener);
+    Scope rootScope = new _RootScope();
     EnclosedScope scope = new EnclosedScope(rootScope);
-    SimpleIdentifier identifier = AstFactory.identifier3("v1");
+    SimpleIdentifier identifier = AstFactory.identifier3('v');
     VariableElement element1 = ElementFactory.localVariableElement(identifier);
     VariableElement element2 = ElementFactory.localVariableElement(identifier);
     scope.define(element1);
     scope.define(element2);
-    expect(scope.lookup(identifier, null), element1);
-  }
-
-  void test_define_normal() {
-    GatheringErrorListener listener = new GatheringErrorListener();
-    Scope rootScope = new Scope_EnclosedScopeTest_test_define_normal(listener);
-    EnclosedScope outerScope = new EnclosedScope(rootScope);
-    EnclosedScope innerScope = new EnclosedScope(outerScope);
-    VariableElement element1 =
-        ElementFactory.localVariableElement(AstFactory.identifier3("v1"));
-    VariableElement element2 =
-        ElementFactory.localVariableElement(AstFactory.identifier3("v2"));
-    outerScope.define(element1);
-    innerScope.define(element2);
-    listener.assertNoErrors();
+    expect(scope.lookup(identifier, null), same(element1));
   }
 }
 
@@ -434,54 +414,16 @@
   }
 }
 
-class Scope_EnclosedScopeTest_test_define_duplicate extends Scope {
-  GatheringErrorListener listener;
-
-  Scope_EnclosedScopeTest_test_define_duplicate(this.listener) : super();
-
-  @override
-  AnalysisErrorListener get errorListener => listener;
-
-  @override
-  Element internalLookup(Identifier identifier, String name,
-          LibraryElement referencingLibrary) =>
-      null;
-}
-
-class Scope_EnclosedScopeTest_test_define_normal extends Scope {
-  GatheringErrorListener listener;
-
-  Scope_EnclosedScopeTest_test_define_normal(this.listener) : super();
-
-  @override
-  AnalysisErrorListener get errorListener => listener;
-
-  @override
-  Element internalLookup(Identifier identifier, String name,
-          LibraryElement referencingLibrary) =>
-      null;
-}
-
 @reflectiveTest
 class ScopeTest extends ResolverTestCase {
   void test_define_duplicate() {
-    ScopeTest_TestScope scope = new ScopeTest_TestScope();
-    SimpleIdentifier identifier = AstFactory.identifier3("v1");
+    Scope scope = new _RootScope();
+    SimpleIdentifier identifier = AstFactory.identifier3('v');
     VariableElement element1 = ElementFactory.localVariableElement(identifier);
     VariableElement element2 = ElementFactory.localVariableElement(identifier);
     scope.define(element1);
     scope.define(element2);
-    expect(scope.lookup(identifier, null), element1);
-  }
-
-  void test_define_normal() {
-    ScopeTest_TestScope scope = new ScopeTest_TestScope();
-    VariableElement element1 =
-        ElementFactory.localVariableElement(AstFactory.identifier3("v1"));
-    VariableElement element2 =
-        ElementFactory.localVariableElement(AstFactory.identifier3("v2"));
-    scope.define(element1);
-    scope.define(element2);
+    expect(scope.localLookup('v', null), same(element1));
   }
 
   void test_isPrivateName_nonPrivate() {
@@ -493,22 +435,6 @@
   }
 }
 
-/**
- * A non-abstract subclass that can be used for testing purposes.
- */
-class ScopeTest_TestScope extends Scope {
-  ScopeTest_TestScope();
-
-  @deprecated
-  @override
-  AnalysisErrorListener get errorListener => null;
-
-  @override
-  Element internalLookup(Identifier identifier, String name,
-          LibraryElement referencingLibrary) =>
-      localLookup(name, referencingLibrary);
-}
-
 class SourceContainer_ChangeSetTest_test_toString implements SourceContainer {
   @override
   bool contains(Source source) => false;
@@ -3373,6 +3299,13 @@
   }
 }
 
+class _RootScope extends Scope {
+  @override
+  Element internalLookup(Identifier identifier, String name,
+          LibraryElement referencingLibrary) =>
+      null;
+}
+
 /**
  * Represents an element left over from a previous resolver run.
  *
diff --git a/pkg/analyzer/test/generated/resolver_test_case.dart b/pkg/analyzer/test/generated/resolver_test_case.dart
index 10b0b97..4dfa5c7 100644
--- a/pkg/analyzer/test/generated/resolver_test_case.dart
+++ b/pkg/analyzer/test/generated/resolver_test_case.dart
@@ -13,7 +13,6 @@
 import 'package:analyzer/src/dart/element/type.dart';
 import 'package:analyzer/src/generated/engine.dart';
 import 'package:analyzer/src/generated/error.dart';
-import 'package:analyzer/src/generated/java_core.dart';
 import 'package:analyzer/src/generated/java_engine.dart';
 import 'package:analyzer/src/generated/resolver.dart';
 import 'package:analyzer/src/generated/source_io.dart';
diff --git a/pkg/analyzer/test/generated/simple_resolver_test.dart b/pkg/analyzer/test/generated/simple_resolver_test.dart
index 6486ae4..9431dea 100644
--- a/pkg/analyzer/test/generated/simple_resolver_test.dart
+++ b/pkg/analyzer/test/generated/simple_resolver_test.dart
@@ -8,9 +8,9 @@
 import 'package:analyzer/dart/ast/visitor.dart';
 import 'package:analyzer/dart/element/element.dart';
 import 'package:analyzer/dart/element/type.dart';
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/src/generated/engine.dart';
 import 'package:analyzer/src/generated/error.dart';
-import 'package:analyzer/src/generated/java_engine.dart';
 import 'package:analyzer/src/generated/source_io.dart';
 import 'package:test_reflective_loader/test_reflective_loader.dart';
 import 'package:unittest/unittest.dart';
@@ -656,11 +656,29 @@
   }
 
   void test_fieldFormalParameter() {
+    AnalysisOptionsImpl options = new AnalysisOptionsImpl();
+    options.enableInitializingFormalAccess = true;
+    resetWithOptions(options);
     Source source = addSource(r'''
 class A {
   int x;
-  A(this.x) {}
+  int y;
+  A(this.x) : y = x {}
 }''');
+    CompilationUnit unit =
+        analysisContext2.resolveCompilationUnit2(source, source);
+    ClassDeclaration classA = unit.declarations[0];
+    FieldDeclaration field = classA.members[0];
+    ConstructorDeclaration constructor = classA.members[2];
+    ParameterElement paramElement =
+        constructor.parameters.parameters[0].element;
+    expect(paramElement, new isInstanceOf<FieldFormalParameterElement>());
+    expect((paramElement as FieldFormalParameterElement).field,
+        field.fields.variables[0].element);
+    ConstructorFieldInitializer initializer = constructor.initializers[0];
+    SimpleIdentifier identifierX = initializer.expression;
+    expect(identifierX.staticElement, paramElement);
+
     computeLibrarySourceErrors(source);
     assertNoErrors(source);
     verify([source]);
diff --git a/pkg/analyzer/test/generated/source_factory_test.dart b/pkg/analyzer/test/generated/source_factory_test.dart
index c8eb8f2..bc1e830 100644
--- a/pkg/analyzer/test/generated/source_factory_test.dart
+++ b/pkg/analyzer/test/generated/source_factory_test.dart
@@ -10,7 +10,6 @@
 import 'package:analyzer/file_system/memory_file_system.dart';
 import 'package:analyzer/source/package_map_resolver.dart';
 import 'package:analyzer/src/generated/engine.dart' show AnalysisEngine, Logger;
-import 'package:analyzer/src/generated/java_core.dart';
 import 'package:analyzer/src/generated/java_engine_io.dart';
 import 'package:analyzer/src/generated/source.dart';
 import 'package:analyzer/src/generated/source_io.dart';
@@ -317,7 +316,7 @@
     File file2 = resourceProvider.getFile("/some/file2.dart");
     Source source1 = new FileSource(file1);
     Source source2 = new FileSource(file2);
-    Uri expected1 = parseUriWithException("file:///my_file.dart");
+    Uri expected1 = Uri.parse("file:///my_file.dart");
     SourceFactory factory =
         new SourceFactory([new UriResolver_restoreUri(source1, expected1)]);
     expect(factory.restoreUri(source1), same(expected1));
diff --git a/pkg/analyzer/test/generated/test_all.dart b/pkg/analyzer/test/generated/test_all.dart
index 01ccba9..8aead2a 100644
--- a/pkg/analyzer/test/generated/test_all.dart
+++ b/pkg/analyzer/test/generated/test_all.dart
@@ -19,7 +19,6 @@
 import 'error_suppression_test.dart' as error_suppression_test;
 import 'hint_code_test.dart' as hint_code_test;
 import 'incremental_resolver_test.dart' as incremental_resolver_test;
-import 'incremental_scanner_test.dart' as incremental_scanner_test;
 import 'inheritance_manager_test.dart' as inheritance_manager_test;
 import 'java_core_test.dart' as java_core_test;
 import 'java_io_test.dart' as java_io_test;
@@ -53,7 +52,6 @@
     error_suppression_test.main();
     hint_code_test.main();
     incremental_resolver_test.main();
-    incremental_scanner_test.main();
     inheritance_manager_test.main();
     java_core_test.main();
     java_io_test.main();
diff --git a/pkg/analyzer/test/generated/test_support.dart b/pkg/analyzer/test/generated/test_support.dart
index c113838..caf5f36 100644
--- a/pkg/analyzer/test/generated/test_support.dart
+++ b/pkg/analyzer/test/generated/test_support.dart
@@ -9,6 +9,7 @@
 import 'package:analyzer/dart/ast/ast.dart' show AstNode, SimpleIdentifier;
 import 'package:analyzer/dart/element/element.dart';
 import 'package:analyzer/dart/element/type.dart';
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/src/dart/ast/utilities.dart';
 import 'package:analyzer/src/generated/engine.dart';
 import 'package:analyzer/src/generated/error.dart';
diff --git a/pkg/analyzer/test/generated/utilities_test.dart b/pkg/analyzer/test/generated/utilities_test.dart
index 3dc407d..8e23ae1 100644
--- a/pkg/analyzer/test/generated/utilities_test.dart
+++ b/pkg/analyzer/test/generated/utilities_test.dart
@@ -12,7 +12,6 @@
 import 'package:analyzer/src/dart/ast/utilities.dart';
 import 'package:analyzer/src/dart/scanner/reader.dart';
 import 'package:analyzer/src/dart/scanner/scanner.dart';
-import 'package:analyzer/src/generated/java_core.dart';
 import 'package:analyzer/src/generated/java_engine.dart';
 import 'package:analyzer/src/generated/parser.dart';
 import 'package:analyzer/src/generated/source.dart';
diff --git a/pkg/analyzer/test/resource_utils.dart b/pkg/analyzer/test/resource_utils.dart
index 688eae0..ef01daf 100644
--- a/pkg/analyzer/test/resource_utils.dart
+++ b/pkg/analyzer/test/resource_utils.dart
@@ -5,7 +5,7 @@
 library analyzer.test.resource_utils;
 
 import 'dart:async';
-import 'dart:core' hide Resource;
+import 'dart:core';
 
 import 'package:analyzer/file_system/file_system.dart';
 import 'package:analyzer/file_system/memory_file_system.dart';
diff --git a/pkg/analyzer/test/source/analysis_options_provider_test.dart b/pkg/analyzer/test/source/analysis_options_provider_test.dart
index 6382564..adbadc7 100644
--- a/pkg/analyzer/test/source/analysis_options_provider_test.dart
+++ b/pkg/analyzer/test/source/analysis_options_provider_test.dart
@@ -4,7 +4,7 @@
 
 library analyzer.test.source.analysis_options_provider_test;
 
-import 'dart:core' hide Resource;
+import 'dart:core';
 
 import 'package:analyzer/file_system/file_system.dart';
 import 'package:analyzer/file_system/memory_file_system.dart';
diff --git a/pkg/analyzer/test/source/embedder_test.dart b/pkg/analyzer/test/source/embedder_test.dart
index f217821..8773f09 100644
--- a/pkg/analyzer/test/source/embedder_test.dart
+++ b/pkg/analyzer/test/source/embedder_test.dart
@@ -5,7 +5,7 @@
 @deprecated
 library analyzer.test.source.embedder_test;
 
-import 'dart:core' hide Resource;
+import 'dart:core';
 
 import 'package:analyzer/source/embedder.dart';
 import 'package:analyzer/src/generated/sdk.dart';
diff --git a/pkg/analyzer/test/src/context/cache_test.dart b/pkg/analyzer/test/src/context/cache_test.dart
index 369cbdd..914a674b 100644
--- a/pkg/analyzer/test/src/context/cache_test.dart
+++ b/pkg/analyzer/test/src/context/cache_test.dart
@@ -4,6 +4,7 @@
 
 library analyzer.test.src.context.cache_test;
 
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/file_system/file_system.dart';
 import 'package:analyzer/file_system/memory_file_system.dart';
 import 'package:analyzer/file_system/physical_file_system.dart';
@@ -11,7 +12,6 @@
 import 'package:analyzer/src/context/cache.dart';
 import 'package:analyzer/src/dart/sdk/sdk.dart';
 import 'package:analyzer/src/generated/engine.dart';
-import 'package:analyzer/src/generated/java_engine.dart';
 import 'package:analyzer/src/generated/source.dart';
 import 'package:analyzer/src/generated/utilities_collection.dart';
 import 'package:analyzer/src/task/model.dart';
diff --git a/pkg/analyzer/test/src/context/context_test.dart b/pkg/analyzer/test/src/context/context_test.dart
index 7f86af5..490ba81 100644
--- a/pkg/analyzer/test/src/context/context_test.dart
+++ b/pkg/analyzer/test/src/context/context_test.dart
@@ -11,6 +11,7 @@
 import 'package:analyzer/dart/element/element.dart';
 import 'package:analyzer/dart/element/type.dart';
 import 'package:analyzer/dart/element/visitor.dart';
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/file_system/file_system.dart';
 import 'package:analyzer/file_system/memory_file_system.dart';
 import 'package:analyzer/source/package_map_resolver.dart';
@@ -21,7 +22,6 @@
 import 'package:analyzer/src/dart/scanner/scanner.dart';
 import 'package:analyzer/src/generated/engine.dart';
 import 'package:analyzer/src/generated/error.dart';
-import 'package:analyzer/src/generated/java_engine.dart';
 import 'package:analyzer/src/generated/resolver.dart';
 import 'package:analyzer/src/generated/source.dart';
 import 'package:analyzer/src/generated/utilities_collection.dart';
@@ -2494,9 +2494,6 @@
     LibraryElement library = compilationUnit.element.library;
     List<LibraryElement> importedLibraries = library.importedLibraries;
     assertNamedElements(importedLibraries, ["dart.core", "libB"]);
-    List<LibraryElement> visibleLibraries = library.visibleLibraries;
-    assertNamedElements(visibleLibraries,
-        ["dart.core", "dart.async", "dart.math", "libA", "libB"]);
   }
 
   void test_resolveCompilationUnit_import_relative_cyclic() {
@@ -2509,9 +2506,6 @@
     LibraryElement library = compilationUnit.element.library;
     List<LibraryElement> importedLibraries = library.importedLibraries;
     assertNamedElements(importedLibraries, ["dart.core", "libB"]);
-    List<LibraryElement> visibleLibraries = library.visibleLibraries;
-    assertNamedElements(visibleLibraries,
-        ["dart.core", "dart.async", "dart.math", "libA", "libB"]);
   }
 
 //  void test_resolveCompilationUnit_sourceChangeDuringResolution() {
@@ -2718,7 +2712,7 @@
     expect(context.sourcesNeedingProcessing.contains(source), isFalse);
   }
 
-  void test_validateCacheConsistency_deletedSource() {
+  void test_validateCacheConsistency_deletedFile() {
     MemoryResourceProvider resourceProvider = new MemoryResourceProvider();
     var fileA = resourceProvider.newFile('/a.dart', "");
     var fileB = resourceProvider.newFile('/b.dart', "import 'a.dart';");
@@ -2884,6 +2878,34 @@
     context.analysisOptions = options;
   }
 
+  void test_applyChanges_changedSource_removeFile() {
+    File file = resourceProvider.newFile('/test.dart', 'main() {}');
+    Source source = file.createSource();
+    context.applyChanges(new ChangeSet()..addedSource(source));
+    // Analyze all.
+    _performPendingAnalysisTasks();
+    expect(context.getResolvedCompilationUnit2(source, source), isNotNull);
+    // Delete the file, but tell the context that it is changed.
+    // This might happen as a race condition.
+    // Or it might be a mishandling of file notification events.
+    file.delete();
+    context.applyChanges(new ChangeSet()..changedSource(source));
+    // All the analysis results are gone.
+    void noResolvedUnits() {
+      LibrarySpecificUnit unit = new LibrarySpecificUnit(source, source);
+      RESOLVED_UNIT_RESULTS.forEach((result) {
+        expect(context.getResult(unit, result), isNull);
+      });
+    }
+
+    noResolvedUnits();
+    // Analyze again.
+    // The source does not exist, so still no resolution.
+    _performPendingAnalysisTasks();
+    noResolvedUnits();
+    expect(context.getModificationStamp(source), -1);
+  }
+
   void test_class_addMethod_useAsHole_inTopLevelVariable() {
     Source a = addSource(
         '/a.dart',
diff --git a/pkg/analyzer/test/src/dart/ast/utilities_test.dart b/pkg/analyzer/test/src/dart/ast/utilities_test.dart
index a48fb6e..d629a83 100644
--- a/pkg/analyzer/test/src/dart/ast/utilities_test.dart
+++ b/pkg/analyzer/test/src/dart/ast/utilities_test.dart
@@ -10,7 +10,6 @@
 import 'package:analyzer/dart/element/type.dart';
 import 'package:analyzer/src/dart/ast/utilities.dart';
 import 'package:analyzer/src/dart/element/element.dart';
-import 'package:analyzer/src/generated/java_core.dart';
 import 'package:analyzer/src/generated/java_engine.dart' show Predicate;
 import 'package:analyzer/src/generated/java_engine.dart';
 import 'package:analyzer/src/generated/testing/ast_factory.dart';
@@ -3341,8 +3340,8 @@
    * @throws AFE if the visitor does not produce the expected source for the given node
    */
   void _assertSource(String expectedSource, AstNode node) {
-    PrintStringWriter writer = new PrintStringWriter();
-    node.accept(new ToSourceVisitor(writer));
-    expect(writer.toString(), expectedSource);
+    StringBuffer buffer = new StringBuffer();
+    node.accept(new ToSourceVisitor(buffer));
+    expect(buffer.toString(), expectedSource);
   }
 }
diff --git a/pkg/analyzer/test/src/dart/element/element_test.dart b/pkg/analyzer/test/src/dart/element/element_test.dart
index 6bc35ef..97a687a 100644
--- a/pkg/analyzer/test/src/dart/element/element_test.dart
+++ b/pkg/analyzer/test/src/dart/element/element_test.dart
@@ -3842,81 +3842,6 @@
         unorderedEquals(<CompilationUnitElement>[unitLib, unitA, unitB]));
   }
 
-  void test_getVisibleLibraries_cycle() {
-    AnalysisContext context = createAnalysisContext();
-    LibraryElementImpl library = ElementFactory.library(context, "app");
-    LibraryElementImpl libraryA = ElementFactory.library(context, "A");
-    libraryA.imports = <ImportElementImpl>[
-      ElementFactory.importFor(library, null)
-    ];
-    library.imports = <ImportElementImpl>[
-      ElementFactory.importFor(libraryA, null)
-    ];
-    List<LibraryElement> libraries = library.visibleLibraries;
-    expect(libraries, unorderedEquals(<LibraryElement>[library, libraryA]));
-  }
-
-  void test_getVisibleLibraries_directExports() {
-    AnalysisContext context = createAnalysisContext();
-    LibraryElementImpl library = ElementFactory.library(context, "app");
-    LibraryElementImpl libraryA = ElementFactory.library(context, "A");
-    library.exports = <ExportElementImpl>[ElementFactory.exportFor(libraryA)];
-    List<LibraryElement> libraries = library.visibleLibraries;
-    expect(libraries, unorderedEquals(<LibraryElement>[library]));
-  }
-
-  void test_getVisibleLibraries_directImports() {
-    AnalysisContext context = createAnalysisContext();
-    LibraryElementImpl library = ElementFactory.library(context, "app");
-    LibraryElementImpl libraryA = ElementFactory.library(context, "A");
-    library.imports = <ImportElementImpl>[
-      ElementFactory.importFor(libraryA, null)
-    ];
-    List<LibraryElement> libraries = library.visibleLibraries;
-    expect(libraries, unorderedEquals(<LibraryElement>[library, libraryA]));
-  }
-
-  void test_getVisibleLibraries_indirectExports() {
-    AnalysisContext context = createAnalysisContext();
-    LibraryElementImpl library = ElementFactory.library(context, "app");
-    LibraryElementImpl libraryA = ElementFactory.library(context, "A");
-    LibraryElementImpl libraryAA = ElementFactory.library(context, "AA");
-    libraryA.exports = <ExportElementImpl>[ElementFactory.exportFor(libraryAA)];
-    library.imports = <ImportElementImpl>[
-      ElementFactory.importFor(libraryA, null)
-    ];
-    List<LibraryElement> libraries = library.visibleLibraries;
-    expect(libraries,
-        unorderedEquals(<LibraryElement>[library, libraryA, libraryAA]));
-  }
-
-  void test_getVisibleLibraries_indirectImports() {
-    AnalysisContext context = createAnalysisContext();
-    LibraryElementImpl library = ElementFactory.library(context, "app");
-    LibraryElementImpl libraryA = ElementFactory.library(context, "A");
-    LibraryElementImpl libraryAA = ElementFactory.library(context, "AA");
-    LibraryElementImpl libraryB = ElementFactory.library(context, "B");
-    libraryA.imports = <ImportElementImpl>[
-      ElementFactory.importFor(libraryAA, null)
-    ];
-    library.imports = <ImportElementImpl>[
-      ElementFactory.importFor(libraryA, null),
-      ElementFactory.importFor(libraryB, null)
-    ];
-    List<LibraryElement> libraries = library.visibleLibraries;
-    expect(
-        libraries,
-        unorderedEquals(
-            <LibraryElement>[library, libraryA, libraryAA, libraryB]));
-  }
-
-  void test_getVisibleLibraries_noImports() {
-    AnalysisContext context = createAnalysisContext();
-    LibraryElementImpl library = ElementFactory.library(context, "app");
-    expect(
-        library.visibleLibraries, unorderedEquals(<LibraryElement>[library]));
-  }
-
   void test_invalidateLibraryCycles_withHandle() {
     AnalysisContext context = createAnalysisContext();
     context.sourceFactory = new SourceFactory([]);
@@ -3935,18 +3860,6 @@
     library.invalidateLibraryCycles();
   }
 
-  void test_isUpToDate() {
-    AnalysisContext context = createAnalysisContext();
-    context.sourceFactory = new SourceFactory([]);
-    LibraryElement library = ElementFactory.library(context, "foo");
-    context.setContents(library.definingCompilationUnit.source, "sdfsdff");
-    // Assert that we are not up to date if the target has an old time stamp.
-    expect(library.isUpToDate(-1), isFalse);
-    // Assert that we are up to date with a target modification time in the
-    // future.
-    expect(library.isUpToDate(1 << 33), isTrue);
-  }
-
   void test_setImports() {
     AnalysisContext context = createAnalysisContext();
     LibraryElementImpl library = new LibraryElementImpl.forNode(
@@ -4334,7 +4247,7 @@
     expect(type.isMoreSpecificThan(ElementFactory.object.type), isTrue);
   }
 
-  void test_isMoreSpecificThan_typeArguments_resursive() {
+  void test_isMoreSpecificThan_typeArguments_recursive() {
     ClassElementImpl classS = ElementFactory.classElement2("A");
     TypeParameterElementImpl typeParameterU =
         new TypeParameterElementImpl.forNode(AstFactory.identifier3("U"));
diff --git a/pkg/analyzer/test/src/source/source_resource_test.dart b/pkg/analyzer/test/src/source/source_resource_test.dart
index e2a9183..8079c17 100644
--- a/pkg/analyzer/test/src/source/source_resource_test.dart
+++ b/pkg/analyzer/test/src/source/source_resource_test.dart
@@ -7,7 +7,6 @@
 import 'package:analyzer/file_system/file_system.dart';
 import 'package:analyzer/file_system/memory_file_system.dart';
 import 'package:analyzer/file_system/physical_file_system.dart';
-import 'package:analyzer/src/generated/java_core.dart';
 import 'package:analyzer/src/generated/java_engine_io.dart';
 import 'package:analyzer/src/generated/sdk.dart';
 import 'package:analyzer/src/generated/source.dart';
@@ -126,8 +125,7 @@
     UriResolver resolver = new DartUriResolver(sdk);
     SourceFactory factory = new SourceFactory([resolver]);
     // resolve dart:core
-    Source result =
-        resolver.resolveAbsolute(parseUriWithException("dart:async"));
+    Source result = resolver.resolveAbsolute(Uri.parse("dart:async"));
     expect(result, isNotNull);
     expect(result.isInSystemLibrary, isTrue);
     // system libraries reference only other system libraries
@@ -162,8 +160,7 @@
     File file = resourceProvider.getFile("/a/b/test.dart");
     FileSource source = new FileSource(file);
     expect(source, isNotNull);
-    Uri relative =
-        resolveRelativeUri(source.uri, parseUriWithException("lib.dart"));
+    Uri relative = resolveRelativeUri(source.uri, Uri.parse("lib.dart"));
     expect(relative, isNotNull);
     expect(relative.toString(), "file:///a/b/lib.dart");
   }
@@ -178,8 +175,7 @@
     File file = resourceProvider.getFile("/a/b/test.dart");
     FileSource source = new FileSource(file);
     expect(source, isNotNull);
-    Uri relative =
-        resolveRelativeUri(source.uri, parseUriWithException("c/lib.dart"));
+    Uri relative = resolveRelativeUri(source.uri, Uri.parse("c/lib.dart"));
     expect(relative, isNotNull);
     expect(relative.toString(), "file:///a/b/c/lib.dart");
   }
@@ -193,16 +189,14 @@
     File file = resourceProvider.getFile("/a/b/test.dart");
     FileSource source = new FileSource(file);
     expect(source, isNotNull);
-    Uri relative =
-        resolveRelativeUri(source.uri, parseUriWithException("../c/lib.dart"));
+    Uri relative = resolveRelativeUri(source.uri, Uri.parse("../c/lib.dart"));
     expect(relative, isNotNull);
     expect(relative.toString(), "file:///a/c/lib.dart");
   }
 
   void test_system() {
     File file = resourceProvider.getFile("/does/not/exist.dart");
-    FileSource source =
-        new FileSource(file, parseUriWithException("dart:core"));
+    FileSource source = new FileSource(file, Uri.parse("dart:core"));
     expect(source, isNotNull);
     expect(source.fullName, file.path);
     expect(source.isInSystemLibrary, isTrue);
diff --git a/pkg/analyzer/test/src/summary/resynthesize_test.dart b/pkg/analyzer/test/src/summary/resynthesize_test.dart
index 4a378a0..1739dba 100644
--- a/pkg/analyzer/test/src/summary/resynthesize_test.dart
+++ b/pkg/analyzer/test/src/summary/resynthesize_test.dart
@@ -696,7 +696,6 @@
     expect(rImpl.codeLength, oImpl.codeLength, reason: desc);
     expect(resynthesized.documentationComment, original.documentationComment,
         reason: desc);
-    expect(resynthesized.docRange, original.docRange, reason: desc);
     compareMetadata(resynthesized.metadata, original.metadata, desc);
 
     // Validate modifiers.
@@ -1722,6 +1721,11 @@
     checkLibrary('class C implements D, E {} class D {} class E {}');
   }
 
+  test_class_interfaces_unresolved() {
+    checkLibrary('class C implements X, Y, Z {} class X {} class Z {}',
+        allowErrors: true);
+  }
+
   test_class_method_abstract() {
     checkLibrary('abstract class C { f(); }');
   }
@@ -1746,6 +1750,11 @@
     checkLibrary('class C extends Object with D, E {} class D {} class E {}');
   }
 
+  test_class_mixins_unresolved() {
+    checkLibrary('class C extends Object with X, Y, Z; class X {} class Z {}',
+        allowErrors: true);
+  }
+
   test_class_setter_abstract() {
     checkLibrary('abstract class C { void set x(int value); }');
   }
@@ -1774,6 +1783,10 @@
     checkLibrary('class C extends D {} class D {}');
   }
 
+  test_class_supertype_unresolved() {
+    checkLibrary('class C extends D {}', allowErrors: true);
+  }
+
   test_class_type_parameters() {
     checkLibrary('class C<T, U> {}');
   }
diff --git a/pkg/analyzer/test/src/summary/summary_common.dart b/pkg/analyzer/test/src/summary/summary_common.dart
index ca386ff..5d9d9a7 100644
--- a/pkg/analyzer/test/src/summary/summary_common.dart
+++ b/pkg/analyzer/test/src/summary/summary_common.dart
@@ -286,8 +286,6 @@
     String expectedCommentText =
         text.substring(commentStart, commentEnd).replaceAll('\r\n', '\n');
     expect(documentationComment.text, expectedCommentText);
-    expect(documentationComment.offset, commentStart);
-    expect(documentationComment.length, commentEnd - commentStart);
   }
 
   /**
diff --git a/pkg/analyzer/test/src/task/dart_work_manager_test.dart b/pkg/analyzer/test/src/task/dart_work_manager_test.dart
index 8f525ba..f1d05e4 100644
--- a/pkg/analyzer/test/src/task/dart_work_manager_test.dart
+++ b/pkg/analyzer/test/src/task/dart_work_manager_test.dart
@@ -5,6 +5,7 @@
 library analyzer.test.src.task.dart_work_manager_test;
 
 import 'package:analyzer/dart/ast/ast.dart';
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/src/context/cache.dart';
 import 'package:analyzer/src/dart/scanner/scanner.dart' show ScannerErrorCode;
 import 'package:analyzer/src/generated/engine.dart'
@@ -14,7 +15,6 @@
         ChangeNoticeImpl,
         InternalAnalysisContext;
 import 'package:analyzer/src/generated/error.dart' show AnalysisError;
-import 'package:analyzer/src/generated/java_engine.dart' show CaughtException;
 import 'package:analyzer/src/generated/sdk.dart';
 import 'package:analyzer/src/generated/source.dart';
 import 'package:analyzer/src/generated/testing/ast_factory.dart';
diff --git a/pkg/analyzer/test/src/task/driver_test.dart b/pkg/analyzer/test/src/task/driver_test.dart
index ea71433..14620f7 100644
--- a/pkg/analyzer/test/src/task/driver_test.dart
+++ b/pkg/analyzer/test/src/task/driver_test.dart
@@ -4,9 +4,9 @@
 
 library analyzer.test.src.task.driver_test;
 
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/src/context/cache.dart';
 import 'package:analyzer/src/generated/engine.dart';
-import 'package:analyzer/src/generated/java_engine.dart';
 import 'package:analyzer/src/task/driver.dart';
 import 'package:analyzer/src/task/inputs.dart';
 import 'package:analyzer/src/task/manager.dart';
diff --git a/pkg/analyzer/test/src/task/html_work_manager_test.dart b/pkg/analyzer/test/src/task/html_work_manager_test.dart
index 5f99c44..2c6e410 100644
--- a/pkg/analyzer/test/src/task/html_work_manager_test.dart
+++ b/pkg/analyzer/test/src/task/html_work_manager_test.dart
@@ -4,6 +4,7 @@
 
 library analyzer.test.src.task.html_work_manager_test;
 
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/src/context/cache.dart';
 import 'package:analyzer/src/generated/engine.dart'
     show
@@ -15,7 +16,6 @@
         InternalAnalysisContext;
 import 'package:analyzer/src/generated/error.dart'
     show AnalysisError, HtmlErrorCode;
-import 'package:analyzer/src/generated/java_engine.dart' show CaughtException;
 import 'package:analyzer/src/generated/source.dart';
 import 'package:analyzer/src/task/html.dart';
 import 'package:analyzer/src/task/html_work_manager.dart';
diff --git a/pkg/analyzer/test/src/task/manager_test.dart b/pkg/analyzer/test/src/task/manager_test.dart
index 57444b3..cc35b85 100644
--- a/pkg/analyzer/test/src/task/manager_test.dart
+++ b/pkg/analyzer/test/src/task/manager_test.dart
@@ -4,7 +4,7 @@
 
 library analyzer.test.src.task.manager_test;
 
-import 'package:analyzer/src/generated/java_engine.dart';
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/src/task/manager.dart';
 import 'package:analyzer/task/model.dart';
 import 'package:test_reflective_loader/test_reflective_loader.dart';
diff --git a/pkg/analyzer/test/src/task/model_test.dart b/pkg/analyzer/test/src/task/model_test.dart
index 0646a52..edc8f28 100644
--- a/pkg/analyzer/test/src/task/model_test.dart
+++ b/pkg/analyzer/test/src/task/model_test.dart
@@ -5,7 +5,7 @@
 library analyzer.test.src.task.model_test;
 
 import 'package:analyzer/src/generated/engine.dart';
-import 'package:analyzer/src/generated/java_engine.dart';
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/src/task/model.dart';
 import 'package:analyzer/task/model.dart';
 import 'package:test_reflective_loader/test_reflective_loader.dart';
diff --git a/pkg/analyzer/test/src/task/options_work_manager_test.dart b/pkg/analyzer/test/src/task/options_work_manager_test.dart
index 2a39cca..707d630 100644
--- a/pkg/analyzer/test/src/task/options_work_manager_test.dart
+++ b/pkg/analyzer/test/src/task/options_work_manager_test.dart
@@ -4,6 +4,7 @@
 
 library analyzer.test.src.task.options_work_manager_test;
 
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/src/context/cache.dart';
 import 'package:analyzer/src/generated/engine.dart'
     show
@@ -15,7 +16,6 @@
         InternalAnalysisContext;
 import 'package:analyzer/src/generated/error.dart'
     show AnalysisError, AnalysisOptionsErrorCode;
-import 'package:analyzer/src/generated/java_engine.dart';
 import 'package:analyzer/src/generated/source.dart';
 import 'package:analyzer/src/task/options.dart';
 import 'package:analyzer/src/task/options_work_manager.dart';
diff --git a/pkg/analyzer/test/src/task/test_support.dart b/pkg/analyzer/test/src/task/test_support.dart
index 6db9c95..f501e54 100644
--- a/pkg/analyzer/test/src/task/test_support.dart
+++ b/pkg/analyzer/test/src/task/test_support.dart
@@ -4,8 +4,8 @@
 
 library analyzer.test.src.task.test_support;
 
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/src/generated/engine.dart';
-import 'package:analyzer/src/generated/java_engine.dart';
 import 'package:analyzer/task/model.dart';
 
 /**
diff --git a/pkg/analyzer/tool/summary/generate.dart b/pkg/analyzer/tool/summary/generate.dart
index 124a6b8..b9616867 100644
--- a/pkg/analyzer/tool/summary/generate.dart
+++ b/pkg/analyzer/tool/summary/generate.dart
@@ -119,7 +119,7 @@
         }
       }
       Map<int, String> idsUsed = <int, String>{};
-      for (idlModel.FieldDeclaration field in cls.fields) {
+      for (idlModel.FieldDeclaration field in cls.allFields) {
         String fieldName = field.name;
         idlModel.FieldType type = field.type;
         if (type.isList) {
diff --git a/pkg/analyzer/tool/task_dependency_graph/generate.dart b/pkg/analyzer/tool/task_dependency_graph/generate.dart
index db88145..db2cd09 100644
--- a/pkg/analyzer/tool/task_dependency_graph/generate.dart
+++ b/pkg/analyzer/tool/task_dependency_graph/generate.dart
@@ -31,7 +31,6 @@
 import 'package:analyzer/src/dart/sdk/sdk.dart';
 import 'package:analyzer/src/generated/constant.dart';
 import 'package:analyzer/src/generated/engine.dart';
-import 'package:analyzer/src/generated/java_io.dart';
 import 'package:analyzer/src/generated/sdk.dart';
 import 'package:analyzer/src/generated/source.dart';
 import 'package:analyzer/src/generated/source_io.dart';
@@ -161,10 +160,12 @@
     } else {
       packageRootPath = path.join(rootDir, 'packages');
     }
-    JavaFile packagesDir = new JavaFile(packageRootPath);
+    ContextBuilder builder = new ContextBuilder(resourceProvider, null, null);
+    builder.defaultPackagesDirectoryPath = packageRootPath;
     List<UriResolver> uriResolvers = [
       new DartUriResolver(sdk),
-      new PackageUriResolver(<JavaFile>[packagesDir]),
+      new PackageMapUriResolver(resourceProvider,
+          builder.convertPackagesToMap(builder.createPackageMap(''))),
       new ResourceUriResolver(PhysicalResourceProvider.INSTANCE)
     ];
     context.sourceFactory = new SourceFactory(uriResolvers);
diff --git a/pkg/analyzer_cli/lib/src/analyzer_impl.dart b/pkg/analyzer_cli/lib/src/analyzer_impl.dart
index da846c2..75acfa9 100644
--- a/pkg/analyzer_cli/lib/src/analyzer_impl.dart
+++ b/pkg/analyzer_cli/lib/src/analyzer_impl.dart
@@ -8,10 +8,10 @@
 import 'dart:io';
 
 import 'package:analyzer/dart/element/element.dart';
+import 'package:analyzer/exception/exception.dart';
 import 'package:analyzer/source/error_processor.dart';
 import 'package:analyzer/src/generated/engine.dart';
 import 'package:analyzer/src/generated/error.dart';
-import 'package:analyzer/src/generated/java_engine.dart';
 import 'package:analyzer/src/generated/java_io.dart';
 import 'package:analyzer/src/generated/source.dart';
 import 'package:analyzer/src/generated/source_io.dart';
diff --git a/pkg/analyzer_cli/lib/src/build_mode.dart b/pkg/analyzer_cli/lib/src/build_mode.dart
index 025e620..7632e69 100644
--- a/pkg/analyzer_cli/lib/src/build_mode.dart
+++ b/pkg/analyzer_cli/lib/src/build_mode.dart
@@ -4,7 +4,7 @@
 
 library analyzer_cli.src.build_mode;
 
-import 'dart:core' hide Resource;
+import 'dart:core';
 import 'dart:io' as io;
 
 import 'package:analyzer/dart/ast/ast.dart' show CompilationUnit;
diff --git a/pkg/analyzer_cli/lib/src/driver.dart b/pkg/analyzer_cli/lib/src/driver.dart
index e0c1eea..b16b787 100644
--- a/pkg/analyzer_cli/lib/src/driver.dart
+++ b/pkg/analyzer_cli/lib/src/driver.dart
@@ -25,7 +25,6 @@
 import 'package:analyzer/src/generated/error.dart';
 import 'package:analyzer/src/generated/interner.dart';
 import 'package:analyzer/src/generated/java_engine.dart';
-import 'package:analyzer/src/generated/java_io.dart';
 import 'package:analyzer/src/generated/sdk.dart';
 import 'package:analyzer/src/generated/source.dart';
 import 'package:analyzer/src/generated/source_io.dart';
@@ -285,6 +284,10 @@
     if (options.disableHints != _previousOptions.disableHints) {
       return false;
     }
+    if (options.enableInitializingFormalAccess !=
+        _previousOptions.enableInitializingFormalAccess) {
+      return false;
+    }
     if (options.enableStrictCallChecks !=
         _previousOptions.enableStrictCallChecks) {
       return false;
@@ -366,8 +369,10 @@
     UriResolver packageUriResolver;
 
     if (options.packageRootPath != null) {
-      JavaFile packageDirectory = new JavaFile(options.packageRootPath);
-      packageUriResolver = new PackageUriResolver([packageDirectory]);
+      ContextBuilder builder = new ContextBuilder(resourceProvider, null, null);
+      builder.defaultPackagesDirectoryPath = options.packageRootPath;
+      packageUriResolver = new PackageMapUriResolver(resourceProvider,
+          builder.convertPackagesToMap(builder.createPackageMap('')));
     } else if (options.packageConfigPath == null) {
       // TODO(pq): remove?
       if (packageInfo.packageMap == null) {
@@ -646,6 +651,8 @@
     AnalysisOptionsImpl contextOptions = new AnalysisOptionsImpl();
     contextOptions.trackCacheDependencies = false;
     contextOptions.hint = !options.disableHints;
+    contextOptions.enableInitializingFormalAccess =
+        options.enableInitializingFormalAccess;
     contextOptions.enableStrictCallChecks = options.enableStrictCallChecks;
     contextOptions.enableSuperMixins = options.enableSuperMixins;
     contextOptions.generateImplicitErrors = options.showPackageWarnings;
diff --git a/pkg/analyzer_cli/lib/src/options.dart b/pkg/analyzer_cli/lib/src/options.dart
index 2ad8bc4..6a4c426 100644
--- a/pkg/analyzer_cli/lib/src/options.dart
+++ b/pkg/analyzer_cli/lib/src/options.dart
@@ -87,6 +87,10 @@
   /// Whether to display version information
   final bool displayVersion;
 
+  /// A flag indicating whether access to field formal parameters should be
+  /// allowed in a constructor's initializer list.
+  final bool enableInitializingFormalAccess;
+
   /// Whether to enable null-aware operators (DEP 9).
   final bool enableNullAwareOperators;
 
@@ -181,6 +185,7 @@
         analysisOptionsFile = args['options'],
         disableHints = args['no-hints'],
         displayVersion = args['version'],
+        enableInitializingFormalAccess = args['initializing-formal-access'],
         enableNullAwareOperators = args['enable-null-aware-operators'],
         enableStrictCallChecks = args['enable-strict-call-checks'],
         enableSuperMixins = args['supermixin'],
@@ -470,6 +475,12 @@
           defaultsTo: false,
           negatable: false,
           hide: true)
+      ..addFlag('initializing-formal-access',
+          help:
+              'Enable support for allowing access to field formal parameters in a constructor\'s initializer list',
+          defaultsTo: false,
+          negatable: false,
+          hide: true)
       ..addFlag('supermixin',
           help: 'Relax restrictions on mixins (DEP 34).',
           defaultsTo: false,
diff --git a/pkg/analyzer_cli/test/utils.dart b/pkg/analyzer_cli/test/utils.dart
index 07dbe4b..8e28b93 100644
--- a/pkg/analyzer_cli/test/utils.dart
+++ b/pkg/analyzer_cli/test/utils.dart
@@ -8,9 +8,7 @@
 import 'dart:mirrors';
 
 import 'package:analyzer/analyzer.dart';
-import 'package:analyzer/src/generated/java_io.dart';
 import 'package:path/path.dart' as pathos;
-import 'package:path/path.dart' as path;
 import 'package:unittest/unittest.dart';
 
 /// Gets the test directory in a way that works with
@@ -46,7 +44,6 @@
 /// Test env setup (copied from `analyzer/test/utils.dart`).
 void initializeTestEnvironment() {
   groupSep = ' | ';
-  JavaFile.pathContext = path.posix;
 }
 
 /// Creates a temporary directory and passes its path to [fn]. Once [fn]
diff --git a/pkg/compiler/lib/src/apiimpl.dart b/pkg/compiler/lib/src/apiimpl.dart
index 3bddb9b..dbff8df 100644
--- a/pkg/compiler/lib/src/apiimpl.dart
+++ b/pkg/compiler/lib/src/apiimpl.dart
@@ -381,7 +381,9 @@
     // Private libraries are not exposed to the users.
     if (libraryName.startsWith("_")) return null;
 
-    if (compiler.resolvedUriTranslator.sdkLibraries.containsKey(libraryName)) {
+    Uri libraryUri =
+        compiler.resolvedUriTranslator.sdkLibraries[libraryName];
+    if (libraryUri != null && libraryUri.scheme != "unsupported") {
       // Dart2js always "supports" importing 'dart:mirrors' but will abort
       // the compilation at a later point if the backend doesn't support
       // mirrors. In this case 'mirrors' should not be in the environment.
diff --git a/pkg/compiler/lib/src/js/rewrite_async.dart b/pkg/compiler/lib/src/js/rewrite_async.dart
index eb0b535..5d37861 100644
--- a/pkg/compiler/lib/src/js/rewrite_async.dart
+++ b/pkg/compiler/lib/src/js/rewrite_async.dart
@@ -1712,8 +1712,7 @@
       addStatement(new js.Comment("implicit return"));
     }
     addStatement(js.js.statement(
-        "return #runtimeHelper(#returnValue, #successCode, "
-        "#completer, null);",
+        "return #runtimeHelper(#returnValue, #successCode, #completer);",
         {
           "runtimeHelper": asyncHelper,
           "successCode": js.number(error_codes.SUCCESS),
@@ -1772,7 +1771,7 @@
             }
             #rewrittenBody;
           });
-          return #asyncHelper(null, #bodyName, #completer, null);
+          return #asyncHelper(null, #bodyName, #completer);
         }""",
         {
           "parameters": parameters,
diff --git a/pkg/compiler/lib/src/js_backend/backend.dart b/pkg/compiler/lib/src/js_backend/backend.dart
index e813fe9..41e7227 100644
--- a/pkg/compiler/lib/src/js_backend/backend.dart
+++ b/pkg/compiler/lib/src/js_backend/backend.dart
@@ -40,15 +40,14 @@
 import '../library_loader.dart' show LibraryLoader, LoadedLibraries;
 import '../native/native.dart' as native;
 import '../ssa/ssa.dart' show SsaFunctionCompiler;
-import '../ssa/nodes.dart' show HInstruction;
 import '../tree/tree.dart';
 import '../types/types.dart';
 import '../universe/call_structure.dart' show CallStructure;
-import '../universe/selector.dart' show Selector, SelectorKind;
+import '../universe/feature.dart';
+import '../universe/selector.dart' show Selector;
 import '../universe/universe.dart';
 import '../universe/use.dart'
     show DynamicUse, StaticUse, StaticUseKind, TypeUse, TypeUseKind;
-import '../universe/feature.dart';
 import '../universe/world_impact.dart'
     show
         ImpactStrategy,
@@ -66,6 +65,7 @@
 import 'custom_elements_analysis.dart';
 import 'enqueuer.dart';
 import 'js_interop_analysis.dart' show JsInteropAnalysis;
+import 'kernel_task.dart';
 import 'lookup_map_analysis.dart' show LookupMapAnalysis;
 import 'namer.dart';
 import 'native_data.dart' show NativeData;
@@ -564,6 +564,9 @@
   /// Support for classifying `noSuchMethod` implementations.
   NoSuchMethodRegistry noSuchMethodRegistry;
 
+  /// Builds kernel representation for the program.
+  KernelTask kernelTask;
+
   JavaScriptConstantTask constantCompilerTask;
 
   JavaScriptImpactTransformer impactTransformer;
@@ -612,6 +615,7 @@
     jsInteropAnalysis = new JsInteropAnalysis(this);
 
     noSuchMethodRegistry = new NoSuchMethodRegistry(this);
+    kernelTask = new KernelTask(this);
     constantCompilerTask = new JavaScriptConstantTask(compiler);
     impactTransformer = new JavaScriptImpactTransformer(this);
     patchResolverTask = new PatchResolverTask(compiler);
@@ -635,7 +639,7 @@
   JavaScriptConstantCompiler get constants {
     return constantCompilerTask.jsConstantCompiler;
   }
-  
+
   @override
   bool isDefaultNoSuchMethod(MethodElement element) {
     return noSuchMethodRegistry.isDefaultNoSuchMethodImplementation(element);
@@ -2365,6 +2369,10 @@
       enabledNoSuchMethod = true;
     }
 
+    if (compiler.options.useKernel) {
+      kernelTask.buildKernelIr();
+    }
+
     if (compiler.options.hasIncrementalSupport) {
       // Always enable tear-off closures during incremental compilation.
       Element e = helpers.closureFromTearOff;
diff --git a/pkg/compiler/lib/src/js_backend/enqueuer.dart b/pkg/compiler/lib/src/js_backend/enqueuer.dart
index 80f241f..29bec96 100644
--- a/pkg/compiler/lib/src/js_backend/enqueuer.dart
+++ b/pkg/compiler/lib/src/js_backend/enqueuer.dart
@@ -109,8 +109,7 @@
     // Codegen inlines field initializers. It only needs to generate
     // code for checked setters.
     if (element.isField && element.isInstanceMember) {
-      if (!options.enableTypeAssertions ||
-          element.enclosingElement.isClosure) {
+      if (!options.enableTypeAssertions || element.enclosingElement.isClosure) {
         return;
       }
     }
@@ -145,8 +144,7 @@
       universe.registerTypeInstantiation(type,
           isNative: isNative,
           byMirrors: mirrorUsage, onImplemented: (ClassElement cls) {
-        backend
-            .registerImplementedClass(cls, this, globalDependencies);
+        backend.registerImplementedClass(cls, this, globalDependencies);
       });
       // TODO(johnniwinther): Share this reasoning with [Universe].
       if (!cls.isAbstract || isNative || mirrorUsage) {
@@ -271,8 +269,7 @@
         // We only tell the backend once that [superclass] was instantiated, so
         // any additional dependencies must be treated as global
         // dependencies.
-        backend.registerInstantiatedClass(
-            superclass, this, globalDependencies);
+        backend.registerInstantiatedClass(superclass, this, globalDependencies);
       }
 
       ClassElement superclass = cls;
@@ -307,8 +304,7 @@
         includedEnclosing: enclosingWasIncluded)) {
       logEnqueueReflectiveAction(ctor);
       ClassElement cls = ctor.declaration.enclosingClass;
-      backend.registerInstantiatedType(
-          cls.rawType, this, mirrorDependencies,
+      backend.registerInstantiatedType(cls.rawType, this, mirrorDependencies,
           mirrorUsage: true);
       registerStaticUse(new StaticUse.foreignUse(ctor.declaration));
     }
@@ -356,8 +352,7 @@
     if (includeClass) {
       logEnqueueReflectiveAction(cls, "register");
       ClassElement decl = cls.declaration;
-      backend.registerInstantiatedType(
-          decl.rawType, this, mirrorDependencies,
+      backend.registerInstantiatedType(decl.rawType, this, mirrorDependencies,
           mirrorUsage: true);
     }
     // If the class is never instantiated, we know nothing of it can possibly
@@ -382,13 +377,11 @@
   /// that none of its methods are reflectable, unless reflectable by
   /// inheritance.
   void enqueueReflectiveSpecialClasses() {
-    Iterable<ClassElement> classes =
-        backend.classesRequiredForReflection;
+    Iterable<ClassElement> classes = backend.classesRequiredForReflection;
     for (ClassElement cls in classes) {
       if (backend.referencedFromMirrorSystem(cls)) {
         logEnqueueReflectiveAction(cls);
-        backend.registerInstantiatedType(
-            cls.rawType, this, mirrorDependencies,
+        backend.registerInstantiatedType(cls.rawType, this, mirrorDependencies,
             mirrorUsage: true);
       }
     }
diff --git a/pkg/compiler/lib/src/js_backend/kernel_task.dart b/pkg/compiler/lib/src/js_backend/kernel_task.dart
new file mode 100644
index 0000000..7f53580
--- /dev/null
+++ b/pkg/compiler/lib/src/js_backend/kernel_task.dart
@@ -0,0 +1,28 @@
+// Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import '../compiler.dart';
+import '../kernel/kernel.dart';
+
+import 'backend.dart';
+
+/// Visits the compiler main function and builds the kernel representation.
+///
+/// This creates a mapping from kernel nodes to AST nodes to be used later.
+class KernelTask {
+  final Compiler _compiler;
+  final Kernel kernel;
+
+  KernelTask(JavaScriptBackend backend)
+      : this._compiler = backend.compiler,
+        this.kernel = new Kernel(backend.compiler);
+
+  /// Builds the kernel IR for the main function.
+  ///
+  /// May enqueue more elements to the resolution queue.
+  void buildKernelIr() {
+    kernel.functionToIr(_compiler.mainFunction);
+    kernel.processWorkQueue();
+  }
+}
diff --git a/pkg/compiler/lib/src/js_backend/no_such_method_registry.dart b/pkg/compiler/lib/src/js_backend/no_such_method_registry.dart
index 39abf47..1b88780 100644
--- a/pkg/compiler/lib/src/js_backend/no_such_method_registry.dart
+++ b/pkg/compiler/lib/src/js_backend/no_such_method_registry.dart
@@ -7,7 +7,6 @@
 import '../compiler.dart' show Compiler;
 import '../elements/elements.dart';
 import '../tree/tree.dart';
-import '../types/types.dart';
 import 'backend.dart';
 
 /**
diff --git a/pkg/compiler/lib/src/kernel/accessors.dart b/pkg/compiler/lib/src/kernel/accessors.dart
index 026ba63..afe6687 100644
--- a/pkg/compiler/lib/src/kernel/accessors.dart
+++ b/pkg/compiler/lib/src/kernel/accessors.dart
@@ -20,10 +20,7 @@
   Kernel get kernel => builder.kernel;
 
   TopLevelStaticAccessor(
-      this.builder,
-      this.name,
-      ir.Member readTarget,
-      ir.Member writeTarget)
+      this.builder, this.name, ir.Member readTarget, ir.Member writeTarget)
       : super(readTarget, writeTarget);
 
   @override
@@ -54,8 +51,8 @@
 
   Kernel get kernel => builder.kernel;
 
-  ClassStaticAccessor(this.builder, this.name,
-      ir.Member readTarget, ir.Member writeTarget)
+  ClassStaticAccessor(
+      this.builder, this.name, ir.Member readTarget, ir.Member writeTarget)
       : super(readTarget, writeTarget);
 
   @override
@@ -80,27 +77,20 @@
 class SuperPropertyAccessor extends ir_accessors.SuperPropertyAccessor {
   final UnresolvedVisitor builder;
 
-  /// Name of the property attempted to be accessed, used to generate an
-  /// error if unresolved.
-  final String name;
-
   SuperPropertyAccessor(
-      this.builder,
-      this.name,
-      ir.Member readTarget,
-      ir.Member writeTarget)
-      : super(readTarget, writeTarget);
+      this.builder, ir.Name name, ir.Member getter, ir.Member setter)
+      : super(name, getter, setter);
 
   @override
   makeInvalidRead() {
     // TODO(asgerf): Technically, we should invoke 'super.noSuchMethod' for
     //   this and the other invalid super cases.
-    return builder.buildThrowUnresolvedSuperGetter(name);
+    return builder.buildThrowUnresolvedSuperGetter(name.name);
   }
 
   @override
   makeInvalidWrite(ir.Expression value) {
-    return builder.buildThrowUnresolvedSuperSetter(name, value);
+    return builder.buildThrowUnresolvedSuperSetter(name.name, value);
   }
 }
 
@@ -110,11 +100,8 @@
   Kernel get kernel => builder.kernel;
 
   SuperIndexAccessor(
-      this.builder,
-      ir.Expression index,
-      ir.Member readTarget,
-      ir.Member writeTarget)
-      : super(index, readTarget, writeTarget);
+      this.builder, ir.Expression index, ir.Member getter, ir.Member setter)
+      : super(index, getter, setter);
 
   @override
   makeInvalidRead() {
diff --git a/pkg/compiler/lib/src/kernel/kernel.dart b/pkg/compiler/lib/src/kernel/kernel.dart
index 34ac4f8..d5f1151 100644
--- a/pkg/compiler/lib/src/kernel/kernel.dart
+++ b/pkg/compiler/lib/src/kernel/kernel.dart
@@ -6,7 +6,6 @@
 
 import 'package:kernel/ast.dart' as ir;
 import 'package:kernel/checks.dart' show CheckParentPointers;
-import 'package:kernel/frontend/super_calls.dart' show moveSuperCallLast;
 
 import '../compiler.dart' show Compiler;
 import '../constants/expressions.dart' show TypeConstantExpression;
@@ -61,6 +60,9 @@
   final Map<LibraryElement, Map<String, int>> mixinApplicationNamesByLibrary =
       <LibraryElement, Map<String, int>>{};
 
+  final Map<ir.Node, Element> nodeToElement = <ir.Node, Element>{};
+  final Map<ir.Node, Node> nodeToAst = <ir.Node, Node>{};
+
   /// FIFO queue of work that needs to be completed before the returned AST
   /// nodes are correct.
   final Queue<WorkItem> workQueue = new Queue<WorkItem>();
@@ -162,6 +164,8 @@
   ir.Class classToIr(ClassElement cls) {
     cls = cls.declaration;
     return classes.putIfAbsent(cls, () {
+      cls.ensureResolved(compiler.resolution);
+      compiler.enqueuer.resolution.emptyDeferredQueueForTesting();
       String name = computeName(cls);
       ir.Class classNode = new ir.Class(
           name: name,
@@ -182,7 +186,8 @@
         cls.implementation
             .forEachMember((ClassElement enclosingClass, Element member) {
           if (member.enclosingClass.declaration != cls) {
-            internalError(cls, "`$member` isn't mine.");
+            // TODO(het): figure out why impact_test triggers this
+            //internalError(cls, "`$member` isn't mine.");
           } else if (member.isFunction ||
               member.isAccessor ||
               member.isConstructor) {
@@ -321,6 +326,8 @@
     }
     function = function.declaration;
     return functions.putIfAbsent(function, () {
+      compiler.analyzeElement(function);
+      compiler.enqueuer.resolution.emptyDeferredQueueForTesting();
       function = function.implementation;
       ir.Member member;
       ir.Constructor constructor;
@@ -358,7 +365,6 @@
           for (ir.Initializer initializer in irFunction.initializers) {
             initializer.parent = constructor;
           }
-          moveSuperCallLast(constructor);
         } else {
           assert(irFunction.kind != null);
           procedure.function = irFunction.node;
@@ -411,6 +417,8 @@
     }
     field = field.declaration;
     return fields.putIfAbsent(field, () {
+      compiler.analyzeElement(field);
+      compiler.enqueuer.resolution.emptyDeferredQueueForTesting();
       field = field.implementation;
       ir.DartType type =
           field.isMalformed ? const ir.InvalidType() : typeToIr(field.type);
@@ -445,6 +453,7 @@
         // TODO(ahe): This assignment will probably not be correct when dart2js
         // supports generic methods.
         ClassElement cls = variable.typeDeclaration;
+        cls.ensureResolved(compiler.resolution);
         parameter.parent = classToIr(cls);
         parameter.bound = typeToIr(variable.bound);
       });
diff --git a/pkg/compiler/lib/src/kernel/kernel_visitor.dart b/pkg/compiler/lib/src/kernel/kernel_visitor.dart
index 900c0cc..c2d458c 100644
--- a/pkg/compiler/lib/src/kernel/kernel_visitor.dart
+++ b/pkg/compiler/lib/src/kernel/kernel_visitor.dart
@@ -198,16 +198,13 @@
   final Map<CascadeReceiver, ir.VariableGet> cascadeReceivers =
       <CascadeReceiver, ir.VariableGet>{};
 
-  final Map<ir.Node, Element> nodeToElement = <ir.Node, Element>{};
-  final Map<ir.Node, Node> nodeToAst = <ir.Node, Node>{};
-
   ir.Node associateElement(ir.Node node, Element element) {
-    nodeToElement[node] = element;
+    kernel.nodeToElement[node] = element;
     return node;
   }
 
   ir.Node associateNode(ir.Node node, Node ast) {
-    nodeToAst[node] = ast;
+    kernel.nodeToAst[node] = ast;
     return node;
   }
 
@@ -479,12 +476,14 @@
       // situation, the assignment to [ir.PropertyGet] should act as an
       // assertion.
       ir.PropertyGet expression = visitForValue(send);
-      return PropertyAccessor.make(expression.receiver, expression.name);
+      return PropertyAccessor.make(
+          expression.receiver, expression.name, null, null);
     } else if (kernel.isSyntheticError(element)) {
       return buildStaticAccessor(null);
     } else if (element.isGetter) {
       if (element.isInstanceMember) {
-        return new ThisPropertyAccessor(kernel.irName(element.name, element));
+        return new ThisPropertyAccessor(
+            kernel.irName(element.name, element), null, null);
       } else {
         GetterElement getter = element;
         Element setter = getter.setter;
@@ -905,8 +904,7 @@
   @override
   ir.SymbolLiteral visitLiteralSymbol(LiteralSymbol node) {
     var result = new ir.SymbolLiteral(node.slowNameString);
-    nodeToAst[result] = node;
-    return result;
+    return associateNode(result, node);
   }
 
   @override
@@ -1263,7 +1261,8 @@
     ir.Expression receiverNode =
         receiver == null ? new ir.ThisExpression() : visitForValue(receiver);
     return buildCompound(
-        PropertyAccessor.make(receiverNode, nameToIrName(name)), rhs);
+        PropertyAccessor.make(receiverNode, nameToIrName(name), null, null),
+        rhs);
   }
 
   @override
@@ -1279,8 +1278,8 @@
       Send node, Node receiver, Name name, Node rhs, _) {
     ir.Name irName = nameToIrName(name);
     Accessor accessor = (receiver == null)
-        ? new ThisPropertyAccessor(irName)
-        : PropertyAccessor.make(visitForValue(receiver), irName);
+        ? new ThisPropertyAccessor(irName, null, null)
+        : PropertyAccessor.make(visitForValue(receiver), irName, null, null);
     return accessor.buildNullAwareAssignment(visitForValue(rhs),
         voidContext: isVoidContext);
   }
@@ -1310,7 +1309,7 @@
   ir.MethodInvocation buildBinaryOperator(
       Node left, String operator, Node right) {
     ir.Name name = kernel.irName(operator, currentElement);
-    return makeBinary(visitForValue(left), name, visitForValue(right));
+    return makeBinary(visitForValue(left), name, null, visitForValue(right));
   }
 
   @override
@@ -1490,7 +1489,7 @@
 
   Accessor buildNullAwarePropertyAccessor(Node receiver, Name name) {
     return new NullAwarePropertyAccessor(
-        visitForValue(receiver), nameToIrName(name));
+        visitForValue(receiver), nameToIrName(name), null, null);
   }
 
   @override
@@ -1551,7 +1550,8 @@
   }
 
   Accessor buildIndexAccessor(Node receiver, Node index) {
-    return IndexAccessor.make(visitForValue(receiver), visitForValue(index));
+    return IndexAccessor.make(
+        visitForValue(receiver), visitForValue(index), null, null);
   }
 
   @override
@@ -2151,8 +2151,10 @@
   @override
   ir.SuperMethodInvocation visitSuperBinary(Send node, FunctionElement function,
       BinaryOperator operator, Node argument, _) {
-    return new ir.SuperMethodInvocation(kernel.functionToIr(function),
-        new ir.Arguments(<ir.Expression>[visitForValue(argument)]));
+    return new ir.SuperMethodInvocation(
+        kernel.irName(operator.selectorName, currentElement),
+        new ir.Arguments(<ir.Expression>[visitForValue(argument)]),
+        kernel.functionToIr(function));
   }
 
   @override
@@ -2190,9 +2192,10 @@
   ir.SuperMethodInvocation buildSuperEquals(
       FunctionElement function, Node argument) {
     return new ir.SuperMethodInvocation(
-        kernel.functionToIr(function),
+        kernel.irName(function.name, function),
         new ir.Arguments(<ir.Expression>[visitForValue(argument)],
-            types: null, named: null));
+            types: null, named: null),
+        kernel.functionToIr(function));
   }
 
   @override
@@ -2273,7 +2276,9 @@
         !getter.isConst) {
       setter = getter;
     }
+    Element element = getter ?? setter;
     return new SuperPropertyAccessor(
+        kernel.irName(element.name, element),
         (getter == null) ? null : kernel.elementToIr(getter),
         (setter == null) ? null : kernel.elementToIr(setter));
   }
@@ -2365,8 +2370,8 @@
 
   ir.SuperMethodInvocation buildSuperMethodInvoke(
       MethodElement method, NodeList arguments) {
-    return new ir.SuperMethodInvocation(
-        kernel.functionToIr(method), buildArguments(arguments));
+    return new ir.SuperMethodInvocation(kernel.irName(method.name, method),
+        buildArguments(arguments), kernel.functionToIr(method));
   }
 
   @override
@@ -2424,8 +2429,8 @@
   @override
   ir.SuperMethodInvocation visitSuperUnary(
       Send node, UnaryOperator operator, FunctionElement function, _) {
-    return new ir.SuperMethodInvocation(
-        kernel.functionToIr(function), new ir.Arguments.empty());
+    return new ir.SuperMethodInvocation(kernel.irName(function.name, function),
+        new ir.Arguments.empty(), kernel.functionToIr(function));
   }
 
   @override
@@ -2455,7 +2460,7 @@
   }
 
   Accessor buildThisPropertyAccessor(Name name) {
-    return new ThisPropertyAccessor(nameToIrName(name));
+    return new ThisPropertyAccessor(nameToIrName(name), null, null);
   }
 
   @override
diff --git a/pkg/compiler/lib/src/kernel/unresolved.dart b/pkg/compiler/lib/src/kernel/unresolved.dart
index 167d211..c1e332d 100644
--- a/pkg/compiler/lib/src/kernel/unresolved.dart
+++ b/pkg/compiler/lib/src/kernel/unresolved.dart
@@ -130,6 +130,18 @@
         new ir.Arguments(<ir.Expression>[new ir.StringLiteral(errorMessage)])));
   }
 
+  SuperIndexAccessor buildUnresolvedSuperIndexAccessor(
+      Node index, Element element) {
+    ir.Member member = possiblyErroneousFunctionToIr(element);
+    return new SuperIndexAccessor(this, visitForValue(index), member, member);
+  }
+
+  SuperPropertyAccessor buildUnresolvedSuperPropertyAccessor(
+      String name, Element getter) {
+    return new SuperPropertyAccessor(this, kernel.irName(name, currentElement),
+        getter == null ? null : possiblyErroneousFunctionToIr(getter), null);
+  }
+
   ir.Expression visitUnresolvedClassConstructorInvoke(
       NewExpression node,
       ErroneousElement element,
@@ -280,10 +292,9 @@
 
   ir.Expression visitUnresolvedSuperCompoundIndexSet(Send node, Element element,
       Node index, AssignmentOperator operator, Node rhs, _) {
-    var accessor = new SuperIndexAccessor(this, visitForValue(index),
-        possiblyErroneousFunctionToIr(element), null);
-    return accessor.buildCompoundAssignment(
-        new ir.Name(operator.selectorName), visitForValue(rhs));
+    return buildUnresolvedSuperIndexAccessor(index, element)
+        .buildCompoundAssignment(
+            new ir.Name(operator.selectorName), visitForValue(rhs));
   }
 
   ir.Expression visitUnresolvedSuperGet(Send node, Element element, _) {
@@ -343,25 +354,22 @@
 
   ir.Expression visitUnresolvedSuperIndex(
       Send node, Element element, Node index, _) {
-    return new SuperIndexAccessor(this, visitForValue(index), null, null)
-        .buildSimpleRead();
+    return buildUnresolvedSuperIndexAccessor(index, element).buildSimpleRead();
   }
 
   ir.Expression visitUnresolvedSuperIndexPostfix(
       Send node, Element element, Node index, IncDecOperator operator, _) {
-    return new SuperIndexAccessor(this, visitForValue(index), null, null)
-        .buildSimpleRead();
+    return buildUnresolvedSuperIndexAccessor(index, element).buildSimpleRead();
   }
 
   ir.Expression visitUnresolvedSuperIndexPrefix(
       Send node, Element element, Node index, IncDecOperator operator, _) {
-    return new SuperIndexAccessor(this, visitForValue(index), null, null)
-        .buildSimpleRead();
+    return buildUnresolvedSuperIndexAccessor(index, element).buildSimpleRead();
   }
 
   ir.Expression visitUnresolvedSuperIndexSet(
       Send node, Element element, Node index, Node rhs, _) {
-    return new SuperIndexAccessor(this, visitForValue(index), null, null)
+    return buildUnresolvedSuperIndexAccessor(index, element)
         .buildAssignment(visitForValue(rhs));
   }
 
@@ -394,10 +402,9 @@
       AssignmentOperator operator,
       Node rhs,
       _) {
-    var accessor = new SuperPropertyAccessor(
-        this, '${node.selector}', possiblyErroneousFunctionToIr(getter), null);
-    return accessor.buildCompoundAssignment(
-        new ir.Name(operator.selectorName), visitForValue(rhs));
+    return buildUnresolvedSuperPropertyAccessor('${node.selector}', getter)
+        .buildCompoundAssignment(
+            new ir.Name(operator.selectorName), visitForValue(rhs));
   }
 
   ir.Expression visitUnresolvedSuperSetterCompoundIndexSet(
@@ -408,10 +415,9 @@
       AssignmentOperator operator,
       Node rhs,
       _) {
-    var accessor = new SuperIndexAccessor(this, visitForValue(index),
-        possiblyErroneousFunctionToIr(getter), null);
-    return accessor.buildCompoundAssignment(
-        new ir.Name(operator.selectorName), visitForValue(rhs));
+    return buildUnresolvedSuperIndexAccessor(index, element)
+        .buildCompoundAssignment(
+            new ir.Name(operator.selectorName), visitForValue(rhs));
   }
 
   ir.Expression visitUnresolvedSuperSetterIndexPostfix(
@@ -421,9 +427,8 @@
       Node index,
       IncDecOperator operator,
       _) {
-    var accessor = new SuperIndexAccessor(this, visitForValue(index),
-        possiblyErroneousFunctionToIr(indexFunction), null);
-    return accessor.buildPostfixIncrement(new ir.Name(operator.selectorName));
+    return buildUnresolvedSuperIndexAccessor(index, element)
+        .buildPostfixIncrement(new ir.Name(operator.selectorName));
   }
 
   ir.Expression visitUnresolvedSuperSetterIndexPrefix(
@@ -433,30 +438,26 @@
       Node index,
       IncDecOperator operator,
       _) {
-    var accessor = new SuperIndexAccessor(this, visitForValue(index),
-        possiblyErroneousFunctionToIr(indexFunction), null);
-    return accessor.buildPrefixIncrement(new ir.Name(operator.selectorName));
+    return buildUnresolvedSuperIndexAccessor(index, element)
+        .buildPrefixIncrement(new ir.Name(operator.selectorName));
   }
 
   ir.Expression visitUnresolvedSuperSetterPostfix(Send node,
       MethodElement getter, Element element, IncDecOperator operator, _) {
-    var accessor = new SuperPropertyAccessor(
-        this, '${node.selector}', possiblyErroneousFunctionToIr(getter), null);
-    return accessor.buildPostfixIncrement(new ir.Name(operator.selectorName));
+    return buildUnresolvedSuperPropertyAccessor('${node.selector}', getter)
+        .buildPostfixIncrement(new ir.Name(operator.selectorName));
   }
 
   ir.Expression visitUnresolvedSuperSetterPrefix(Send node,
       MethodElement getter, Element element, IncDecOperator operator, _) {
-    var accessor = new SuperPropertyAccessor(
-        this, '${node.selector}', possiblyErroneousFunctionToIr(getter), null);
-    return accessor.buildPrefixIncrement(new ir.Name(operator.selectorName));
+    return buildUnresolvedSuperPropertyAccessor('${node.selector}', getter)
+        .buildPrefixIncrement(new ir.Name(operator.selectorName));
   }
 
   ir.Expression visitUnresolvedSuperSetterSetIfNull(
       Send node, MethodElement getter, Element element, Node rhs, _) {
-    var accessor = new SuperPropertyAccessor(
-        this, '${node.selector}', possiblyErroneousFunctionToIr(getter), null);
-    return accessor.buildNullAwareAssignment(visitForValue(rhs));
+    return buildUnresolvedSuperPropertyAccessor('${node.selector}', getter)
+        .buildNullAwareAssignment(visitForValue(rhs));
   }
 
   ir.Expression visitUnresolvedSuperUnary(
@@ -538,23 +539,20 @@
 
   ir.Expression visitUnresolvedSuperGetterIndexSetIfNull(Send node,
       Element element, MethodElement setter, Node index, Node rhs, _) {
-    var accessor = new SuperIndexAccessor(this, visitForValue(index), null,
-        possiblyErroneousFunctionToIr(setter));
-    return accessor.buildNullAwareAssignment(visitForValue(rhs));
+    return buildUnresolvedSuperIndexAccessor(index, element)
+        .buildNullAwareAssignment(visitForValue(rhs));
   }
 
   ir.Expression visitUnresolvedSuperSetterIndexSetIfNull(Send node,
       MethodElement getter, Element element, Node index, Node rhs, _) {
-    var accessor = new SuperIndexAccessor(this, visitForValue(index),
-        possiblyErroneousFunctionToIr(getter), null);
-    return accessor.buildNullAwareAssignment(visitForValue(rhs));
+    return buildUnresolvedSuperIndexAccessor(index, element)
+        .buildNullAwareAssignment(visitForValue(rhs));
   }
 
   ir.Expression visitUnresolvedSuperIndexSetIfNull(
       Send node, Element element, Node index, Node rhs, _) {
-    var accessor =
-        new SuperIndexAccessor(this, visitForValue(index), null, null);
-    return accessor.buildNullAwareAssignment(visitForValue(rhs));
+    return buildUnresolvedSuperIndexAccessor(index, element)
+        .buildNullAwareAssignment(visitForValue(rhs));
   }
 
   ir.Expression visitUnresolvedSuperSet(
diff --git a/pkg/compiler/lib/src/resolution/members.dart b/pkg/compiler/lib/src/resolution/members.dart
index efc6e0d..14c1aab 100644
--- a/pkg/compiler/lib/src/resolution/members.dart
+++ b/pkg/compiler/lib/src/resolution/members.dart
@@ -4061,7 +4061,9 @@
     DartType type = typeResolver.resolveTypeAnnotation(this, node,
         malformedIsError: malformedIsError,
         deferredIsMalformed: deferredIsMalformed);
-    registry.registerTypeUse(new TypeUse.checkedModeCheck(type));
+    if (!type.isDynamic) {
+      registry.registerTypeUse(new TypeUse.checkedModeCheck(type));
+    }
     return type;
   }
 
diff --git a/pkg/compiler/lib/src/resolution/registry.dart b/pkg/compiler/lib/src/resolution/registry.dart
index 7f5e927..d6aa72c 100644
--- a/pkg/compiler/lib/src/resolution/registry.dart
+++ b/pkg/compiler/lib/src/resolution/registry.dart
@@ -25,7 +25,7 @@
 import 'send_structure.dart';
 import 'tree_elements.dart' show TreeElementMapping;
 
-class _ResolutionWorldImpact extends ResolutionImpact
+class ResolutionWorldImpactBuilder extends ResolutionImpact
     with WorldImpactBuilder
     implements NativeRegistry {
   final String name;
@@ -36,7 +36,7 @@
   Setlet<ConstantExpression> _constantLiterals;
   Setlet<dynamic> _nativeData;
 
-  _ResolutionWorldImpact(this.name);
+  ResolutionWorldImpactBuilder(this.name);
 
   void registerMapLiteral(MapLiteralUse mapLiteralUse) {
     assert(mapLiteralUse != null);
@@ -158,12 +158,12 @@
 class ResolutionRegistry extends Registry {
   final Target target;
   final TreeElementMapping mapping;
-  final _ResolutionWorldImpact worldImpact;
+  final ResolutionWorldImpactBuilder impactBuilder;
 
   ResolutionRegistry(this.target, TreeElementMapping mapping)
       : this.mapping = mapping,
-        this.worldImpact =
-            new _ResolutionWorldImpact(mapping.analyzedElement.toString());
+        this.impactBuilder = new ResolutionWorldImpactBuilder(
+            mapping.analyzedElement.toString());
 
   bool get isForResolution => true;
 
@@ -324,12 +324,12 @@
   //////////////////////////////////////////////////////////////////////////////
 
   void registerStaticUse(StaticUse staticUse) {
-    worldImpact.registerStaticUse(staticUse);
+    impactBuilder.registerStaticUse(staticUse);
   }
 
   /// Register the use of a type.
   void registerTypeUse(TypeUse typeUse) {
-    worldImpact.registerTypeUse(typeUse);
+    impactBuilder.registerTypeUse(typeUse);
   }
 
   void registerSuperUse(SourceSpan span) {
@@ -338,20 +338,20 @@
 
   void registerTypeLiteral(Send node, DartType type) {
     mapping.setType(node, type);
-    worldImpact.registerTypeUse(new TypeUse.typeLiteral(type));
+    impactBuilder.registerTypeUse(new TypeUse.typeLiteral(type));
   }
 
   void registerLiteralList(Node node, InterfaceType type,
       {bool isConstant, bool isEmpty}) {
     setType(node, type);
-    worldImpact.registerListLiteral(
+    impactBuilder.registerListLiteral(
         new ListLiteralUse(type, isConstant: isConstant, isEmpty: isEmpty));
   }
 
   void registerMapLiteral(Node node, InterfaceType type,
       {bool isConstant, bool isEmpty}) {
     setType(node, type);
-    worldImpact.registerMapLiteral(
+    impactBuilder.registerMapLiteral(
         new MapLiteralUse(type, isConstant: isConstant, isEmpty: isEmpty));
   }
 
@@ -362,24 +362,24 @@
     if (nativeData != null) {
       // Split impact from resolution result.
       mapping.registerNativeData(node, nativeData);
-      worldImpact.registerNativeData(nativeData);
+      impactBuilder.registerNativeData(nativeData);
     }
   }
 
   void registerDynamicUse(DynamicUse dynamicUse) {
-    worldImpact.registerDynamicUse(dynamicUse);
+    impactBuilder.registerDynamicUse(dynamicUse);
   }
 
   void registerFeature(Feature feature) {
-    worldImpact.registerFeature(feature);
+    impactBuilder.registerFeature(feature);
   }
 
   void registerConstSymbol(String name) {
-    worldImpact.registerConstSymbolName(name);
+    impactBuilder.registerConstSymbolName(name);
   }
 
   void registerConstantLiteral(ConstantExpression constant) {
-    worldImpact.registerConstantLiteral(constant);
+    impactBuilder.registerConstantLiteral(constant);
   }
 
   ClassElement defaultSuperclass(ClassElement element) {
@@ -387,7 +387,7 @@
   }
 
   void registerInstantiation(InterfaceType type) {
-    worldImpact.registerTypeUse(new TypeUse.instantiation(type));
+    impactBuilder.registerTypeUse(new TypeUse.instantiation(type));
   }
 
   void registerSendStructure(Send node, SendStructure sendStructure) {
diff --git a/pkg/compiler/lib/src/resolution/resolution.dart b/pkg/compiler/lib/src/resolution/resolution.dart
index 4d747cd..743ede2 100644
--- a/pkg/compiler/lib/src/resolution/resolution.dart
+++ b/pkg/compiler/lib/src/resolution/resolution.dart
@@ -289,9 +289,9 @@
         reporter.reportErrorMessage(tree, MessageKind.NO_SUCH_METHOD_IN_NATIVE);
       }
 
-      resolution.target.resolveNativeElement(element, registry.worldImpact);
+      resolution.target.resolveNativeElement(element, registry.impactBuilder);
 
-      return registry.worldImpact;
+      return registry.impactBuilder;
     });
   }
 
@@ -320,7 +320,7 @@
             registry.registerStaticUse(new StaticUse.superConstructorInvoke(
                 target, CallStructure.NO_ARGS));
           }
-          return registry.worldImpact;
+          return registry.impactBuilder;
         } else {
           assert(element.isDeferredLoaderGetter || element.isMalformed);
           _ensureTreeElements(element);
@@ -424,9 +424,9 @@
       // Perform various checks as side effect of "computing" the type.
       element.computeType(resolution);
 
-      resolution.target.resolveNativeElement(element, registry.worldImpact);
+      resolution.target.resolveNativeElement(element, registry.impactBuilder);
 
-      return registry.worldImpact;
+      return registry.impactBuilder;
     });
   }
 
@@ -1031,7 +1031,7 @@
               new TypedefResolverVisitor(resolution, element, registry);
           visitor.visit(node);
           element.resolutionState = STATE_DONE;
-          return registry.worldImpact;
+          return registry.impactBuilder;
         });
       });
     });
diff --git a/pkg/compiler/lib/src/ssa/builder.dart b/pkg/compiler/lib/src/ssa/builder.dart
index 9f54ceb..2456e81 100644
--- a/pkg/compiler/lib/src/ssa/builder.dart
+++ b/pkg/compiler/lib/src/ssa/builder.dart
@@ -1502,10 +1502,10 @@
         hasRtiInput = true;
         List<HInstruction> typeArguments = <HInstruction>[];
         classElement.typeVariables.forEach((TypeVariableType typeVariable) {
-            HInstruction argument = localsHandler
-                .readLocal(localsHandler.getTypeVariableAsLocal(typeVariable));
-            typeArguments.add(argument);
-          });
+          HInstruction argument = localsHandler
+              .readLocal(localsHandler.getTypeVariableAsLocal(typeVariable));
+          typeArguments.add(argument);
+        });
 
         HInstruction typeInfo = new HTypeInfoExpression(
             TypeInfoExpressionKind.INSTANCE,
diff --git a/pkg/compiler/lib/src/ssa/builder_kernel.dart b/pkg/compiler/lib/src/ssa/builder_kernel.dart
index fc4dc48..88cfe18 100644
--- a/pkg/compiler/lib/src/ssa/builder_kernel.dart
+++ b/pkg/compiler/lib/src/ssa/builder_kernel.dart
@@ -4,10 +4,10 @@
 
 import 'package:kernel/ast.dart' as ir;
 
+import '../common.dart';
 import '../common/codegen.dart' show CodegenRegistry, CodegenWorkItem;
 import '../common/tasks.dart' show CompilerTask;
 import '../compiler.dart';
-import '../diagnostics/spannable.dart';
 import '../elements/elements.dart';
 import '../io/source_information.dart';
 import '../js_backend/backend.dart' show JavaScriptBackend;
@@ -36,15 +36,8 @@
   HGraph build(CodegenWorkItem work) {
     return measure(() {
       AstElement element = work.element.implementation;
-      TreeElements treeElements = work.resolvedAst.elements;
-      Kernel kernel = new Kernel(backend.compiler);
-      KernelVisitor visitor = new KernelVisitor(element, treeElements, kernel);
-      IrFunction function;
-      try {
-        function = visitor.buildFunction();
-      } catch (e) {
-        throw "Failed to convert to Kernel IR: $e";
-      }
+      Kernel kernel = backend.kernelTask.kernel;
+      ir.Procedure function = kernel.functions[element];
       KernelSsaBuilder builder = new KernelSsaBuilder(
           function,
           element,
@@ -52,7 +45,6 @@
           backend.compiler,
           work.registry,
           sourceInformationFactory,
-          visitor,
           kernel);
       return builder.build();
     });
@@ -60,7 +52,7 @@
 }
 
 class KernelSsaBuilder extends ir.Visitor with GraphBuilder {
-  final IrFunction function;
+  final ir.Procedure function;
   final FunctionElement functionElement;
   final ResolvedAst resolvedAst;
   final Compiler compiler;
@@ -78,7 +70,6 @@
       this.compiler,
       this.registry,
       SourceInformationStrategy sourceInformationFactory,
-      KernelVisitor visitor,
       Kernel kernel) {
     graph.element = functionElement;
     // TODO(het): Should sourceInformationBuilder be in GraphBuilder?
@@ -91,9 +82,10 @@
     this.astAdapter = new KernelAstAdapter(
         compiler.backend,
         resolvedAst,
-        visitor.nodeToAst,
-        visitor.nodeToElement,
+        kernel.nodeToAst,
+        kernel.nodeToElement,
         kernel.functions,
+        kernel.classes,
         kernel.libraries);
   }
 
@@ -131,13 +123,14 @@
   }
 
   /// Builds a SSA graph for [method].
-  void buildMethod(IrFunction method, FunctionElement functionElement) {
-    openFunction(method, functionElement);
-    method.node.body.accept(this);
+  void buildMethod(ir.Procedure method, FunctionElement functionElement) {
+    openFunction(functionElement);
+    method.function.body.accept(this);
     closeFunction();
   }
 
-  void openFunction(IrFunction method, FunctionElement functionElement) {
+  // TODO(het): get function element from astAdapter?
+  void openFunction(FunctionElement functionElement) {
     HBasicBlock block = graph.addNewBlock();
     open(graph.entry);
     localsHandler.startFunction(functionElement, resolvedAst.node);
diff --git a/pkg/compiler/lib/src/ssa/kernel_ast_adapter.dart b/pkg/compiler/lib/src/ssa/kernel_ast_adapter.dart
index 719b346..8682d35 100644
--- a/pkg/compiler/lib/src/ssa/kernel_ast_adapter.dart
+++ b/pkg/compiler/lib/src/ssa/kernel_ast_adapter.dart
@@ -4,9 +4,10 @@
 
 import 'package:kernel/ast.dart' as ir;
 
+import '../common.dart';
 import '../compiler.dart';
 import '../constants/values.dart';
-import '../diagnostics/invariant.dart';
+import '../dart_types.dart';
 import '../elements/elements.dart';
 import '../js_backend/js_backend.dart';
 import '../resolution/tree_elements.dart';
@@ -26,6 +27,7 @@
   final ResolvedAst _resolvedAst;
   final Map<ir.Node, ast.Node> _nodeToAst;
   final Map<ir.Node, Element> _nodeToElement;
+  DartTypeConverter _typeConverter;
 
   KernelAstAdapter(
       this._backend,
@@ -33,13 +35,18 @@
       this._nodeToAst,
       this._nodeToElement,
       Map<FunctionElement, ir.Member> functions,
+      Map<ClassElement, ir.Class> classes,
       Map<LibraryElement, ir.Library> libraries) {
     for (FunctionElement functionElement in functions.keys) {
       _nodeToElement[functions[functionElement]] = functionElement;
     }
+    for (ClassElement classElement in classes.keys) {
+      _nodeToElement[classes[classElement]] = classElement;
+    }
     for (LibraryElement libraryElement in libraries.keys) {
       _nodeToElement[libraries[libraryElement]] = libraryElement;
     }
+    _typeConverter = new DartTypeConverter(this);
   }
 
   Compiler get _compiler => _backend.compiler;
@@ -80,6 +87,12 @@
     return _compiler.world.getSideEffectsOfElement(getElement(node));
   }
 
+  CallStructure getCallStructure(ir.Arguments arguments) {
+    int argumentCount = arguments.positional.length + arguments.named.length;
+    List<String> namedArguments = arguments.named.map((e) => e.name).toList();
+    return new CallStructure(argumentCount, namedArguments);
+  }
+
   // TODO(het): Create the selector directly from the invocation
   Selector getSelector(ir.MethodInvocation invocation) {
     SelectorKind kind = Elements.isOperatorName(invocation.name.name)
@@ -89,13 +102,7 @@
     ir.Name irName = invocation.name;
     Name name = new Name(
         irName.name, irName.isPrivate ? getElement(irName.library) : null);
-
-    int argumentCount = invocation.arguments.positional.length +
-        invocation.arguments.named.length;
-    List<String> namedArguments =
-        invocation.arguments.named.map((e) => e.name).toList();
-    CallStructure callStructure =
-        new CallStructure(argumentCount, namedArguments);
+    CallStructure callStructure = getCallStructure(invocation.arguments);
 
     return new Selector(kind, name, callStructure);
   }
@@ -113,4 +120,50 @@
   bool isIntercepted(ir.MethodInvocation invocation) {
     return _backend.isInterceptedSelector(getSelector(invocation));
   }
+
+  DartType getDartType(ir.DartType type) {
+    return type.accept(_typeConverter);
+  }
+}
+
+class DartTypeConverter extends ir.DartTypeVisitor<DartType> {
+  final KernelAstAdapter astAdapter;
+
+  DartTypeConverter(this.astAdapter);
+
+  List<DartType> visitTypes(List<ir.DartType> types) {
+    return new List.generate(
+        types.length, (int index) => types[index].accept(this));
+  }
+
+  @override
+  DartType visitTypeParameterType(ir.TypeParameterType node) {
+    return new TypeVariableType(astAdapter.getElement(node.parameter));
+  }
+
+  @override
+  DartType visitFunctionType(ir.FunctionType node) {
+    throw new UnimplementedError("Function types not currently supported");
+  }
+
+  @override
+  DartType visitInterfaceType(ir.InterfaceType node) {
+    ClassElement cls = astAdapter.getElement(node.classNode);
+    return new InterfaceType(cls, visitTypes(node.typeArguments));
+  }
+
+  @override
+  DartType visitVoidType(ir.VoidType node) {
+    return const VoidType();
+  }
+
+  @override
+  DartType visitDynamicType(ir.DynamicType node) {
+    return const DynamicType();
+  }
+
+  @override
+  DartType visitInvalidType(ir.InvalidType node) {
+    throw new UnimplementedError("Invalid types not currently supported");
+  }
 }
diff --git a/pkg/compiler/lib/src/ssa/kernel_impact.dart b/pkg/compiler/lib/src/ssa/kernel_impact.dart
new file mode 100644
index 0000000..30f66a5
--- /dev/null
+++ b/pkg/compiler/lib/src/ssa/kernel_impact.dart
@@ -0,0 +1,201 @@
+// Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:kernel/ast.dart' as ir;
+
+import '../common.dart';
+import '../compiler.dart';
+import '../constants/expressions.dart';
+import '../dart_types.dart';
+import '../elements/elements.dart';
+import '../js_backend/backend.dart' show JavaScriptBackend;
+import '../kernel/kernel.dart';
+import '../kernel/kernel_visitor.dart';
+import '../resolution/registry.dart' show ResolutionWorldImpactBuilder;
+import '../universe/feature.dart';
+import '../universe/use.dart';
+
+import 'kernel_ast_adapter.dart';
+import '../common/resolution.dart';
+
+/// Computes the [ResolutionImpact] for [resolvedAst] through kernel.
+ResolutionImpact build(Compiler compiler, ResolvedAst resolvedAst) {
+  AstElement element = resolvedAst.element.implementation;
+  JavaScriptBackend backend = compiler.backend;
+  Kernel kernel = backend.kernelTask.kernel;
+  ir.Procedure function = kernel.functions[element];
+  if (function == null) {
+    print("FOUND NULL FUNCTION: $element");
+    print(kernel.functions);
+  }
+  KernelImpactBuilder builder =
+      new KernelImpactBuilder(function, element, resolvedAst, compiler, kernel);
+  return builder.build();
+}
+
+class KernelImpactBuilder extends ir.Visitor {
+  final ir.Procedure function;
+  final FunctionElement functionElement;
+  final ResolvedAst resolvedAst;
+  final Compiler compiler;
+
+  JavaScriptBackend get backend => compiler.backend;
+
+  ResolutionWorldImpactBuilder impactBuilder;
+  KernelAstAdapter astAdapter;
+
+  KernelImpactBuilder(this.function, this.functionElement, this.resolvedAst,
+      this.compiler, Kernel kernel) {
+    this.impactBuilder = new ResolutionWorldImpactBuilder('$functionElement');
+    this.astAdapter = new KernelAstAdapter(
+        compiler.backend,
+        resolvedAst,
+        kernel.nodeToAst,
+        kernel.nodeToElement,
+        kernel.functions,
+        kernel.classes,
+        kernel.libraries);
+  }
+
+  ResolutionImpact build() {
+    if (function.kind == ir.ProcedureKind.Method ||
+        function.kind == ir.ProcedureKind.Operator) {
+      buildMethod(function);
+    } else {
+      compiler.reporter.internalError(
+          functionElement,
+          "Unable to compute resolution impact for this kind of Kernel "
+          "procedure: ${function.kind}");
+    }
+    return impactBuilder;
+  }
+
+  /// Add a checked-mode type use of [type] if it is not `dynamic`.
+  DartType checkType(DartType type) {
+    if (!type.isDynamic) {
+      impactBuilder.registerTypeUse(new TypeUse.checkedModeCheck(type));
+    }
+    return type;
+  }
+
+  void buildMethod(ir.Procedure method) {
+    method.function.body.accept(this);
+  }
+
+  void visitNodes(Iterable<ir.Node> nodes) {
+    nodes.forEach((ir.Node node) => node.accept(this));
+  }
+
+  @override
+  void visitBlock(ir.Block block) => visitNodes(block.statements);
+
+  @override
+  void visitExpressionStatement(ir.ExpressionStatement exprStatement) {
+    exprStatement.expression.accept(this);
+  }
+
+  @override
+  void visitReturnStatement(ir.ReturnStatement returnStatement) {
+    returnStatement.expression?.accept(this);
+  }
+
+  @override
+  void visitIfStatement(ir.IfStatement ifStatement) {
+    ifStatement.condition.accept(this);
+    ifStatement.then.accept(this);
+    ifStatement.otherwise?.accept(this);
+  }
+
+  @override
+  void visitIntLiteral(ir.IntLiteral literal) {
+    impactBuilder
+        .registerConstantLiteral(new IntConstantExpression(literal.value));
+  }
+
+  @override
+  void visitDoubleLiteral(ir.DoubleLiteral literal) {
+    impactBuilder
+        .registerConstantLiteral(new DoubleConstantExpression(literal.value));
+  }
+
+  @override
+  void visitBoolLiteral(ir.BoolLiteral literal) {
+    impactBuilder
+        .registerConstantLiteral(new BoolConstantExpression(literal.value));
+  }
+
+  @override
+  void visitStringLiteral(ir.StringLiteral literal) {
+    impactBuilder
+        .registerConstantLiteral(new StringConstantExpression(literal.value));
+  }
+
+  @override
+  void visitSymbolLiteral(ir.SymbolLiteral literal) {
+    impactBuilder.registerConstSymbolName(literal.value);
+  }
+
+  @override
+  void visitNullLiteral(ir.NullLiteral literal) {
+    impactBuilder.registerConstantLiteral(new NullConstantExpression());
+  }
+
+  @override
+  void visitListLiteral(ir.ListLiteral literal) {
+    visitNodes(literal.expressions);
+    DartType elementType =
+        checkType(astAdapter.getDartType(literal.typeArgument));
+
+    impactBuilder.registerListLiteral(new ListLiteralUse(
+        compiler.coreTypes.listType(elementType),
+        isConstant: literal.isConst,
+        isEmpty: literal.expressions.isEmpty));
+  }
+
+  @override
+  void visitMapLiteral(ir.MapLiteral literal) {
+    visitNodes(literal.entries);
+    DartType keyType = checkType(astAdapter.getDartType(literal.keyType));
+    DartType valueType = checkType(astAdapter.getDartType(literal.valueType));
+    impactBuilder.registerMapLiteral(new MapLiteralUse(
+        compiler.coreTypes.mapType(keyType, valueType),
+        isConstant: literal.isConst,
+        isEmpty: literal.entries.isEmpty));
+  }
+
+  void visitMapEntry(ir.MapEntry entry) {
+    entry.key.accept(this);
+    entry.value.accept(this);
+  }
+
+  void _visitArguments(ir.Arguments arguments) {
+    for (ir.Expression argument in arguments.positional) {
+      argument.accept(this);
+    }
+    for (ir.NamedExpression argument in arguments.named) {
+      argument.value.accept(this);
+    }
+  }
+
+  @override
+  void visitStaticInvocation(ir.StaticInvocation invocation) {
+    _visitArguments(invocation.arguments);
+    Element target = astAdapter.getElement(invocation.target).declaration;
+    impactBuilder.registerStaticUse(new StaticUse.staticInvoke(
+        target, astAdapter.getCallStructure(invocation.arguments)));
+  }
+
+  @override
+  void visitMethodInvocation(ir.MethodInvocation invocation) {
+    invocation.receiver.accept(this);
+    _visitArguments(invocation.arguments);
+    impactBuilder.registerDynamicUse(
+        new DynamicUse(astAdapter.getSelector(invocation), null));
+  }
+
+  @override
+  void visitNot(ir.Not not) {
+    not.operand.accept(this);
+  }
+}
diff --git a/pkg/dev_compiler/lib/src/compiler/command.dart b/pkg/dev_compiler/lib/src/compiler/command.dart
index d2e8d8c..5aaf262 100644
--- a/pkg/dev_compiler/lib/src/compiler/command.dart
+++ b/pkg/dev_compiler/lib/src/compiler/command.dart
@@ -68,7 +68,7 @@
     printFn('''
 We're sorry, you've found a bug in our compiler.
 You can report this bug at:
-    https://github.com/dart-lang/dev_compiler/issues
+    https://github.com/dart-lang/sdk/issues/labels/area-dev-compiler
 Please include the information below in your report, along with
 any other information that may help us track it down. Thanks!
     dartdevc arguments: ${args.join(' ')}
diff --git a/pkg/dev_compiler/pubspec.lock b/pkg/dev_compiler/pubspec.lock
index 2608c73..c337317 100644
--- a/pkg/dev_compiler/pubspec.lock
+++ b/pkg/dev_compiler/pubspec.lock
@@ -6,7 +6,7 @@
       path: "../analyzer"
       relative: true
     source: path
-    version: "0.28.2-alpha.0"
+    version: "0.29.0-alpha.0"
   archive:
     description:
       name: archive
@@ -144,7 +144,7 @@
       name: js
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.6.0"
+    version: "0.6.1"
   logging:
     description:
       name: logging
@@ -204,7 +204,7 @@
       name: protobuf
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.5.2"
+    version: "0.5.3"
   pub_semver:
     description:
       name: pub_semver
@@ -312,7 +312,7 @@
       name: webdriver
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.2.0"
+    version: "1.2.1"
   when:
     description:
       name: when
@@ -332,4 +332,4 @@
     source: hosted
     version: "2.1.10"
 sdks:
-  dart: ">=1.17.0-dev.6.2 <2.0.0"
+  dart: ">=1.19.0-dev.0.0 <2.0.0"
diff --git a/pkg/dev_compiler/pubspec.yaml b/pkg/dev_compiler/pubspec.yaml
index 3586510..30a5bb3 100644
--- a/pkg/dev_compiler/pubspec.yaml
+++ b/pkg/dev_compiler/pubspec.yaml
@@ -8,7 +8,7 @@
 homepage: https://github.com/dart-lang/dev_compiler
 
 dependencies:
-  analyzer: ^0.28.0-alpha.1
+  analyzer: ^0.29.0-alpha.0
   args: ^0.13.0
   bazel_worker: ^0.1.0
   browser: ^0.10.0
diff --git a/pkg/dev_compiler/web/main.dart b/pkg/dev_compiler/web/main.dart
index a604412..3ec8888 100755
--- a/pkg/dev_compiler/web/main.dart
+++ b/pkg/dev_compiler/web/main.dart
@@ -60,7 +60,8 @@
     messageHandler("");
     messageHandler("We're sorry, you've found a bug in our compiler.");
     messageHandler("You can report this bug at:");
-    messageHandler("    https://github.com/dart-lang/dev_compiler/issues");
+    messageHandler(
+      "    https://github.com/dart-lang/sdk/issues/labels/area-dev-compiler");
     messageHandler("");
     messageHandler(
         "Please include the information below in your report, along with");
diff --git a/pkg/pkgbuild.status b/pkg/pkgbuild.status
index 15b2cc2..20e54e1 100644
--- a/pkg/pkgbuild.status
+++ b/pkg/pkgbuild.status
@@ -6,7 +6,7 @@
 pkg/compiler: SkipByDesign # js_ast is not published
 
 [ ($use_repository_packages || $use_public_packages) ]
-third_party/pkg/dev_compiler: SkipByDesign # we have relative paths to analyzer
+pkg/dev_compiler: SkipByDesign # we have relative paths to analyzer
 
 [ $use_repository_packages ]
  # third_party/pkg/dart2js_info: Fail # Issue https://github.com/dart-lang/dart2js_info/pull/14
diff --git a/runtime/bin/run_vm_tests_fuchsia.cc b/runtime/bin/run_vm_tests_fuchsia.cc
index 4525a7f..8137a59 100644
--- a/runtime/bin/run_vm_tests_fuchsia.cc
+++ b/runtime/bin/run_vm_tests_fuchsia.cc
@@ -109,6 +109,8 @@
   "DirectoryCreateDelete",
   // Needs rename
   "DirectoryRename",
+  // Needs read of RSS.
+  "InitialRSS",
 };
 
 
@@ -168,6 +170,8 @@
   RETURN_IF_ERROR(status);
   status = launchpad_add_pipe(lp, stderr_out, 2);
   RETURN_IF_ERROR(status);
+  status = launchpad_add_vdso_vmo(lp);
+  RETURN_IF_ERROR(status);
   status = launchpad_elf_load(lp, binary_vmo);
   RETURN_IF_ERROR(status);
   status = launchpad_load_vdso(lp, MX_HANDLE_INVALID);
diff --git a/runtime/bin/vmservice/server.dart b/runtime/bin/vmservice/server.dart
index 8d6a932..e1cb822 100644
--- a/runtime/bin/vmservice/server.dart
+++ b/runtime/bin/vmservice/server.dart
@@ -79,9 +79,8 @@
   static ContentType jsonContentType =
       new ContentType("application", "json", charset: "utf-8");
   final HttpRequest request;
-  final List<String> _allowedOrigins;
 
-  HttpRequestClient(this.request, VMService service, this._allowedOrigins)
+  HttpRequestClient(this.request, VMService service)
       : super(service, sendEvents:false);
 
   disconnect() {
@@ -95,15 +94,9 @@
       return;
     }
     HttpResponse response = request.response;
+    // We closed the connection for bad origins earlier.
+    response.headers.add('Access-Control-Allow-Origin', '*');
     response.headers.contentType = jsonContentType;
-    final origins = request.headers['Origin'];
-    if ((origins != null) && (origins.isNotEmpty)) {
-      final uri = Uri.parse(origins.first);
-      final noPortOrigin = new Uri(host: uri.host, scheme: uri.scheme).origin;
-      if (_allowedOrigins.contains(noPortOrigin)) {
-        response.headers.add('Access-Control-Allow-Origin', uri.origin);
-      }
-    }
     if (result is String) {
       response.write(result);
     } else {
@@ -131,7 +124,6 @@
   final String _ip;
   final int _port;
   final bool _originCheckDisabled;
-  final List<String> _allowedOrigins = <String>[];
   HttpServer _server;
   bool get running => _server != null;
   bool _displayMessages = false;
@@ -140,22 +132,27 @@
     _displayMessages = (_ip != '127.0.0.1' || _port != 8181);
   }
 
-  void _addOrigin(String host, String port) {
-    if (port == null) {
-      String origin = 'http://$host';
-      _allowedOrigins.add(origin);
-    } else {
-      String origin = 'http://$host:$port';
-      _allowedOrigins.add(origin);
-    }
-  }
-
   bool _isAllowedOrigin(String origin) {
-    for (String allowedOrigin in _allowedOrigins) {
-      if (origin.startsWith(allowedOrigin)) {
-        return true;
-      }
+    Uri uri;
+    try {
+      uri = Uri.parse(origin);
+    } catch (_) {
+      return false;
     }
+
+    // Explicitly add localhost and 127.0.0.1 on any port (necessary for
+    // adb port forwarding).
+    if ((uri.host == 'localhost') ||
+        (uri.host == '127.0.0.1')) {
+      return true;
+    }
+
+    if ((uri.port == _server.port) &&
+        ((uri.host == _server.address.address) ||
+         (uri.host == _server.address.host))) {
+      return true;
+    }
+
     return false;
   }
 
@@ -248,7 +245,7 @@
     }
     // HTTP based service request.
     try {
-      var client = new HttpRequestClient(request, _service, _allowedOrigins);
+      var client = new HttpRequestClient(request, _service);
       var message = new Message.fromUri(client, request.uri);
       client.onMessage(null, message);
     } catch (e) {
@@ -264,23 +261,13 @@
       return new Future.value(this);
     }
 
-    // Clear allowed origins.
-    _allowedOrigins.clear();
-
     var address = new InternetAddress(_ip);
     // Startup HTTP server.
     return HttpServer.bind(address, _port).then((s) {
       _server = s;
       _server.listen(_requestHandler, cancelOnError: true);
-      var ip = _server.address.address.toString();
-      var port = _server.port.toString();
-      // Add the numeric ip and host name to our allowed origins.
-      _addOrigin(ip, port);
-      _addOrigin(_server.address.host.toString(), port);
-      // Explicitly add localhost and 127.0.0.1 on any port (necessary for
-      // adb port forwarding).
-      _addOrigin('127.0.0.1', null);
-      _addOrigin('localhost', null);
+      var ip = _server.address.address;
+      var port = _server.port;
       if (_displayMessages) {
         print('Observatory listening on http://$ip:$port');
       }
diff --git a/runtime/observatory/lib/src/elements/css/shared.css b/runtime/observatory/lib/src/elements/css/shared.css
index 9e6defc..717ad46 100644
--- a/runtime/observatory/lib/src/elements/css/shared.css
+++ b/runtime/observatory/lib/src/elements/css/shared.css
@@ -1971,20 +1971,19 @@
   position: absolute;
   display: inline-block;
   top: 5px;
-  color: #888888;
-  line-height: 30px;
-  font: 400 20px 'Montserrat', sans-serif;
+}
+script-inset button.refresh > svg,
+script-inset button.toggle-profile > svg {
+  fill: #888888;
 }
 script-inset button.refresh {
   right: 5px;
-  font-size: 25px;
 }
 script-inset button.toggle-profile {
   right: 30px;
-  font-size: 20px;
 }
-script-inset button.toggle-profile.enabled {
-  color: #BB3322;
+script-inset button.toggle-profile.enabled > svg {
+  fill: #BB3322;
 }
 script-inset a {
   color: #0489c3;
diff --git a/runtime/observatory/lib/src/elements/icdata_view.dart b/runtime/observatory/lib/src/elements/icdata_view.dart
index 1582a27..d21c164 100644
--- a/runtime/observatory/lib/src/elements/icdata_view.dart
+++ b/runtime/observatory/lib/src/elements/icdata_view.dart
@@ -133,6 +133,13 @@
               new DivElement()..classes = ['memberItem']
                 ..children = [
                   new DivElement()..classes = ['memberName']
+                    ..text = 'selector',
+                  new DivElement()..classes = ['memberName']
+                    ..text = _icdata.selector
+                ],
+              new DivElement()..classes = ['memberItem']
+                ..children = [
+                  new DivElement()..classes = ['memberName']
                     ..text = 'owner',
                   new DivElement()..classes = ['memberName']
                     ..children = [
diff --git a/runtime/observatory/lib/src/elements/objectpool_view.dart b/runtime/observatory/lib/src/elements/objectpool_view.dart
index 24ac047..890b5d1 100644
--- a/runtime/observatory/lib/src/elements/objectpool_view.dart
+++ b/runtime/observatory/lib/src/elements/objectpool_view.dart
@@ -128,7 +128,7 @@
       ]),
       new DivElement()..classes = ['content-centered-big']
         ..children = [
-          new HeadingElement.h2()..text = 'Object Pool',
+          new HeadingElement.h2()..text = 'ObjectPool',
           new HRElement(),
           new ObjectCommonElement(_isolate, _pool, _retainedSizes,
                                   _reachableSizes, _references, _retainingPaths,
diff --git a/runtime/observatory/lib/src/elements/script_inset.dart b/runtime/observatory/lib/src/elements/script_inset.dart
index 0162ab5..a4beb89 100644
--- a/runtime/observatory/lib/src/elements/script_inset.dart
+++ b/runtime/observatory/lib/src/elements/script_inset.dart
@@ -6,6 +6,7 @@
 
 import 'dart:async';
 import 'dart:html';
+import 'dart:svg';
 import 'package:observatory/app.dart';
 import 'package:observatory/models.dart' as M;
 import 'package:observatory/service.dart' as S;
@@ -591,7 +592,9 @@
       button.disabled = false;
     });
     button.title = 'Refresh coverage';
-    button.text = '↺';
+    button.children = [
+      _iconRefresh.clone(true)
+    ];
     return button;
   }
 
@@ -607,7 +610,9 @@
       _refresh();
       button.disabled = false;
     });
-    button.text = '🔥';
+    button.children = [
+      _iconWhatsHot.clone(true)
+    ];
     return button;
   }
 
@@ -1347,3 +1352,29 @@
   bool isHot(bool self) => _percent(self) > kHotThreshold;
   bool isMedium(bool self) => _percent(self) > kMediumThreshold;
 }
+
+final SvgSvgElement _iconRefresh = new SvgSvgElement()
+    ..setAttribute('width', '24')
+    ..setAttribute('height', '24')
+    ..children = [
+      new PathElement()
+        ..setAttribute('d', 'M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 '
+                            '3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 '
+                            '7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 '
+                            '0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 '
+                            '1.78L13 11h7V4l-2.35 2.35z')
+    ];
+
+final SvgSvgElement _iconWhatsHot = new SvgSvgElement()
+    ..setAttribute('width', '24')
+    ..setAttribute('height', '24')
+    ..children = [
+      new PathElement()
+        ..setAttribute('d', 'M13.5.67s.74 2.65.74 4.8c0 2.06-1.35 3.73-3.41 '
+                            '3.73-2.07 0-3.63-1.67-3.63-3.73l.03-.36C5.21 7.51 '
+                            '4 10.62 4 14c0 4.42 3.58 8 8 8s8-3.58 8-8C20 8.61 '
+                            '17.41 3.8 13.5.67zM11.71 19c-1.78 '
+                            '0-3.22-1.4-3.22-3.14 0-1.62 1.05-2.76 2.81-3.12 '
+                            '1.77-.36 3.6-1.21 4.62-2.58.39 1.29.59 2.65.59 '
+                            '4.04 0 2.65-2.15 4.8-4.8 4.8z')
+    ];
diff --git a/runtime/observatory/lib/src/elements/vm_view.dart b/runtime/observatory/lib/src/elements/vm_view.dart
index d5ff9a4..9b28c5e 100644
--- a/runtime/observatory/lib/src/elements/vm_view.dart
+++ b/runtime/observatory/lib/src/elements/vm_view.dart
@@ -17,6 +17,7 @@
 import 'package:observatory/src/elements/nav/top_menu.dart';
 import 'package:observatory/src/elements/nav/vm_menu.dart';
 import 'package:observatory/src/elements/view_footer.dart';
+import 'package:observatory/utils.dart';
 
 class VMViewElement extends HtmlElement implements Renderable {
   static const tag = const Tag<VMViewElement>('vm-view',
@@ -152,9 +153,9 @@
               new DivElement()..classes = ['memberItem']
                 ..children = [
                   new DivElement()..classes = ['memberName']
-                    ..text = 'maxRSS',
+                    ..text = 'peak memory',
                   new DivElement()..classes = ['memberValue']
-                    ..text = '${_vm.maxRSS}'
+                    ..text = Utils.formatSize(_vm.maxRSS)
                 ],
               new BRElement(),
               new DivElement()..classes = ['memberItem']
diff --git a/runtime/vm/ast.h b/runtime/vm/ast.h
index 972263c..cd25dc7 100644
--- a/runtime/vm/ast.h
+++ b/runtime/vm/ast.h
@@ -1875,6 +1875,7 @@
     ASSERT(stacktrace_var != NULL);
   }
 
+  SequenceNode* sequence() const { return catch_block_; }
   const Array& handler_types() const { return handler_types_; }
   const LocalVariable& context_var() const { return context_var_; }
   const LocalVariable& exception_var() const { return exception_var_; }
diff --git a/runtime/vm/benchmark_test.cc b/runtime/vm/benchmark_test.cc
index b630698..0dcfa2b 100644
--- a/runtime/vm/benchmark_test.cc
+++ b/runtime/vm/benchmark_test.cc
@@ -730,4 +730,9 @@
   benchmark->set_score(elapsed_time);
 }
 
+
+BENCHMARK_MEMORY(InitialRSS) {
+  benchmark->set_score(OS::MaxRSS());
+}
+
 }  // namespace dart
diff --git a/runtime/vm/benchmark_test.h b/runtime/vm/benchmark_test.h
index 357fde6b..ab572e4 100644
--- a/runtime/vm/benchmark_test.h
+++ b/runtime/vm/benchmark_test.h
@@ -48,7 +48,7 @@
 
 #define BENCHMARK(name) BENCHMARK_HELPER(name, "RunTime")
 #define BENCHMARK_SIZE(name) BENCHMARK_HELPER(name, "CodeSize")
-
+#define BENCHMARK_MEMORY(name) BENCHMARK_HELPER(name, "Memory")
 
 inline Dart_Handle NewString(const char* str) {
   return Dart_NewStringFromCString(str);
diff --git a/runtime/vm/compiler.cc b/runtime/vm/compiler.cc
index 3293a18..aa92737 100644
--- a/runtime/vm/compiler.cc
+++ b/runtime/vm/compiler.cc
@@ -1251,7 +1251,6 @@
                num_tokens_after - num_tokens_before);
     }
 
-
     CompileParsedFunctionHelper helper(parsed_function, optimized, osr_id);
 
     if (Compiler::IsBackgroundCompilation()) {
diff --git a/runtime/vm/compiler_stats.cc b/runtime/vm/compiler_stats.cc
index e8d39b3..38afef2 100644
--- a/runtime/vm/compiler_stats.cc
+++ b/runtime/vm/compiler_stats.cc
@@ -235,6 +235,7 @@
   log.Print("Local functions:         %" Pd64 "\n", num_local_functions);
   log.Print("Consts cached:           %" Pd64 "\n", num_cached_consts);
   log.Print("Consts cache hits:       %" Pd64 "\n", num_const_cache_hits);
+  log.Print("Consts calcuated:        %" Pd64 "\n", num_execute_const);
 
   int64_t scan_usecs = scanner_timer.TotalElapsedTime();
   log.Print("Scanner time:            %" Pd64 " ms\n", scan_usecs / 1000);
diff --git a/runtime/vm/compiler_stats.h b/runtime/vm/compiler_stats.h
index 5ed7537..98143a3 100644
--- a/runtime/vm/compiler_stats.h
+++ b/runtime/vm/compiler_stats.h
@@ -41,6 +41,7 @@
   V(num_tokens_consumed)                                                       \
   V(num_cached_consts)                                                         \
   V(num_const_cache_hits)                                                      \
+  V(num_execute_const)                                                         \
   V(num_classes_parsed)                                                        \
   V(num_class_tokens)                                                          \
   V(num_functions_parsed)                                                      \
@@ -85,6 +86,7 @@
   int64_t num_tokens_consumed;
   int64_t num_cached_consts;
   int64_t num_const_cache_hits;
+  int64_t num_execute_const;
 
   int64_t num_classes_parsed;
   int64_t num_class_tokens;
diff --git a/runtime/vm/constants_dbc.h b/runtime/vm/constants_dbc.h
index f5b2117..c5dbe04 100644
--- a/runtime/vm/constants_dbc.h
+++ b/runtime/vm/constants_dbc.h
@@ -231,7 +231,7 @@
 //
 //  - WriteIntoDouble rA, rD
 //
-//    Box the double in FP[rD] with the result in FP[rA].
+//    Box the double in FP[rD] using the box in FP[rA].
 //
 //  - UnboxDouble rA, rD
 //
@@ -309,10 +309,24 @@
 //
 //    Allocate array of length SP[0] with type arguments SP[-1].
 //
+//  - CreateArrayOpt rA, rB, rC
+//
+//    Try to allocate a new array where FP[rB] is the length, and FP[rC] is the
+//    type. If allocation is successful, the result is stored in FP[rA], and
+//    the next four instructions, which should be the
+//    (Push type; Push length; AllocateTOS; PopLocal) slow path are skipped.
+//
 //  - Allocate D
 //
 //    Allocate object of class PP[D] with no type arguments.
 //
+//  - AllocateOpt rA, D
+//
+//    Try allocating an object with tags in PP[D] with no type arguments.
+//    If allocation is successful, the result is stored in FP[rA], and
+//    the next two instructions, which should be the (Allocate class; PopLocal)
+//    slow path are skipped
+//
 //  - AllocateT
 //
 //    Allocate object of class SP[0] with type arguments SP[-1].
@@ -684,8 +698,10 @@
   V(IfEqNull,                        A, reg, ___, ___) \
   V(IfNeNull,                        A, reg, ___, ___) \
   V(CreateArrayTOS,                  0, ___, ___, ___) \
+  V(CreateArrayOpt,              A_B_C, reg, reg, ___) \
   V(Allocate,                        D, lit, ___, ___) \
   V(AllocateT,                       0, ___, ___, ___) \
+  V(AllocateOpt,                   A_D, reg, lit, ___) \
   V(StoreIndexedTOS,                 0, ___, ___, ___) \
   V(StoreIndexed,                A_B_C, reg, reg, reg) \
   V(StoreIndexedUint8,           A_B_C, reg, reg, reg) \
diff --git a/runtime/vm/flow_graph_builder.cc b/runtime/vm/flow_graph_builder.cc
index 6ac47b8..7a01480 100644
--- a/runtime/vm/flow_graph_builder.cc
+++ b/runtime/vm/flow_graph_builder.cc
@@ -4225,6 +4225,24 @@
 
 void EffectGraphVisitor::VisitTryCatchNode(TryCatchNode* node) {
   InlineBailout("EffectGraphVisitor::VisitTryCatchNode (exception)");
+  CatchClauseNode* catch_block = node->catch_block();
+  SequenceNode* finally_block = node->finally_block();
+  if ((finally_block != NULL) && (finally_block->length() == 0)) {
+    SequenceNode* catch_sequence = catch_block->sequence();
+    if (catch_sequence->length() == 1) {
+      // Check for a single rethrow statement. This only matches the synthetic
+      // catch-clause generated for try-finally.
+      ThrowNode* throw_node = catch_sequence->NodeAt(0)->AsThrowNode();
+      if ((throw_node != NULL) && (throw_node->stacktrace() != NULL)) {
+        // Empty finally-block in a try-finally can be optimized away.
+        EffectGraphVisitor for_try(owner());
+        node->try_block()->Visit(&for_try);
+        Append(for_try);
+        return;
+      }
+    }
+  }
+
   const intptr_t original_handler_index = owner()->try_index();
   const intptr_t try_handler_index = node->try_index();
   ASSERT(try_handler_index != original_handler_index);
@@ -4254,9 +4272,6 @@
   // We are done generating code for the try block.
   owner()->set_try_index(original_handler_index);
 
-  CatchClauseNode* catch_block = node->catch_block();
-  SequenceNode* finally_block = node->finally_block();
-
   // If there is a finally block, it is the handler for code in the catch
   // block.
   const intptr_t catch_handler_index = (finally_block == NULL)
diff --git a/runtime/vm/intermediate_language_dbc.cc b/runtime/vm/intermediate_language_dbc.cc
index 08f05d7..d619f09 100644
--- a/runtime/vm/intermediate_language_dbc.cc
+++ b/runtime/vm/intermediate_language_dbc.cc
@@ -683,13 +683,18 @@
                  2, Location::RequiresRegister(),
                  LocationSummary::kCall) {
   if (compiler->is_optimizing()) {
-    __ Push(locs()->in(0).reg());
-    __ Push(locs()->in(1).reg());
-  }
-  __ CreateArrayTOS();
-  compiler->RecordSafepoint(locs());
-  if (compiler->is_optimizing()) {
-    __ PopLocal(locs()->out(0).reg());
+    const Register length = locs()->in(kLengthPos).reg();
+    const Register type_arguments = locs()->in(kElementTypePos).reg();
+    const Register out = locs()->out(0).reg();
+    __ CreateArrayOpt(out, length, type_arguments);
+    __ Push(type_arguments);
+    __ Push(length);
+    __ CreateArrayTOS();
+    compiler->RecordSafepoint(locs());
+    __ PopLocal(out);
+  } else {
+    __ CreateArrayTOS();
+    compiler->RecordSafepoint(locs());
   }
 }
 
@@ -910,21 +915,45 @@
                  0, Location::RequiresRegister(),
                  LocationSummary::kCall) {
   if (ArgumentCount() == 1) {
+    // Allocate with type arguments.
     __ PushConstant(cls());
     __ AllocateT();
     compiler->AddCurrentDescriptor(RawPcDescriptors::kOther,
                                    Thread::kNoDeoptId,
                                    token_pos());
+    compiler->RecordSafepoint(locs());
+    if (compiler->is_optimizing()) {
+      __ PopLocal(locs()->out(0).reg());
+    }
+  } else if (compiler->is_optimizing()) {
+    // If we're optimizing, try a streamlined fastpath.
+    const intptr_t instance_size = cls().instance_size();
+    Isolate* isolate = Isolate::Current();
+    if (Heap::IsAllocatableInNewSpace(instance_size) &&
+        !cls().TraceAllocation(isolate)) {
+      uword tags = 0;
+      tags = RawObject::SizeTag::update(instance_size, tags);
+      ASSERT(cls().id() != kIllegalCid);
+      tags = RawObject::ClassIdTag::update(cls().id(), tags);
+      if (Smi::IsValid(tags)) {
+        const intptr_t tags_kidx = __ AddConstant(Smi::Handle(Smi::New(tags)));
+        __ AllocateOpt(locs()->out(0).reg(), tags_kidx);
+      }
+    }
+    const intptr_t kidx = __ AddConstant(cls());
+    __ Allocate(kidx);
+    compiler->AddCurrentDescriptor(RawPcDescriptors::kOther,
+                                   Thread::kNoDeoptId,
+                                   token_pos());
+    compiler->RecordSafepoint(locs());
+    __ PopLocal(locs()->out(0).reg());
   } else {
     const intptr_t kidx = __ AddConstant(cls());
     __ Allocate(kidx);
     compiler->AddCurrentDescriptor(RawPcDescriptors::kOther,
                                    Thread::kNoDeoptId,
                                    token_pos());
-  }
-  compiler->RecordSafepoint(locs());
-  if (compiler->is_optimizing()) {
-    __ PopLocal(locs()->out(0).reg());
+    compiler->RecordSafepoint(locs());
   }
 }
 
@@ -1413,13 +1442,25 @@
   ASSERT(from_representation() == kUnboxedDouble);
   const Register value = locs()->in(0).reg();
   const Register out = locs()->out(0).reg();
+  const intptr_t instance_size = compiler->double_class().instance_size();
+  Isolate* isolate = Isolate::Current();
+  ASSERT(Heap::IsAllocatableInNewSpace(instance_size));
+  if (!compiler->double_class().TraceAllocation(isolate)) {
+    uword tags = 0;
+    tags = RawObject::SizeTag::update(instance_size, tags);
+    tags = RawObject::ClassIdTag::update(compiler->double_class().id(), tags);
+    if (Smi::IsValid(tags)) {
+      const intptr_t tags_kidx = __ AddConstant(Smi::Handle(Smi::New(tags)));
+      __ AllocateOpt(out, tags_kidx);
+    }
+  }
   const intptr_t kidx = __ AddConstant(compiler->double_class());
   __ Allocate(kidx);
   compiler->AddCurrentDescriptor(RawPcDescriptors::kOther,
                                  Thread::kNoDeoptId,
                                  token_pos());
   compiler->RecordSafepoint(locs());
-  // __ Allocate puts the box at the top of the stack.
+  __ PopLocal(out);
   __ WriteIntoDouble(out, value);
 }
 
diff --git a/runtime/vm/object.cc b/runtime/vm/object.cc
index 3af1f36..4ed0793 100644
--- a/runtime/vm/object.cc
+++ b/runtime/vm/object.cc
@@ -4554,7 +4554,7 @@
   hash += hash << 3;
   hash ^= hash >> 11;  // Logical shift, unsigned hash.
   hash += hash << 15;
-  hash &= ((static_cast<intptr_t>(1) << hashbits) - 1);
+  hash &= ((static_cast<uintptr_t>(1) << hashbits) - 1);
   return (hash == 0) ? 1 : hash;
 }
 
diff --git a/runtime/vm/parser.cc b/runtime/vm/parser.cc
index 4134d2b..7c5eefc 100644
--- a/runtime/vm/parser.cc
+++ b/runtime/vm/parser.cc
@@ -2730,12 +2730,7 @@
     if (init_expr->EvalConstExpr() != NULL) {
       // If the expression is a compile-time constant, ensure that it
       // is evaluated and canonicalized. See issue 27164.
-      Instance& const_instance = Instance::ZoneHandle(Z);
-      if (!GetCachedConstant(expr_pos, &const_instance)) {
-        const_instance = EvaluateConstExpr(expr_pos, init_expr).raw();
-        CacheConstantValue(expr_pos, const_instance);
-      }
-      init_expr = new(Z) LiteralNode(expr_pos, const_instance);
+      init_expr = FoldConstExpr(expr_pos, init_expr);
     }
   }
   Field& field = Field::ZoneHandle(Z, cls.LookupInstanceField(field_name));
@@ -2812,12 +2807,7 @@
   } else {
     init_expr = ParseExpr(kAllowConst, kConsumeCascades);
     if (init_expr->EvalConstExpr() != NULL) {
-      Instance& expr_value = Instance::ZoneHandle(Z);
-      if (!GetCachedConstant(expr_pos, &expr_value)) {
-        expr_value = EvaluateConstExpr(expr_pos, init_expr).raw();
-        CacheConstantValue(expr_pos, expr_value);
-      }
-      init_expr = new(Z) LiteralNode(field.token_pos(), expr_value);
+      init_expr = FoldConstExpr(expr_pos, init_expr);
     }
   }
   set_library(saved_library);
@@ -2860,12 +2850,7 @@
           TokenPosition expr_pos = TokenPos();
           init_expr = ParseExpr(kAllowConst, kConsumeCascades);
           if (init_expr->EvalConstExpr() != NULL) {
-            Instance& expr_value = Instance::ZoneHandle(Z);
-            if (!GetCachedConstant(expr_pos, &expr_value)) {
-              expr_value = EvaluateConstExpr(expr_pos, init_expr).raw();
-              CacheConstantValue(expr_pos, expr_value);
-            }
-            init_expr = new(Z) LiteralNode(field.token_pos(), expr_value);
+            init_expr = FoldConstExpr(expr_pos, init_expr);
           }
         }
       }
@@ -11033,13 +11018,10 @@
   if (binary_op == Token::kIFNULL) {
     // Handle a ?? b.
     if ((lhs->EvalConstExpr() != NULL) && (rhs->EvalConstExpr() != NULL)) {
-      Instance& expr_value = Instance::ZoneHandle(Z);
-      if (!GetCachedConstant(op_pos, &expr_value)) {
-        expr_value = EvaluateConstExpr(lhs->token_pos(), lhs).raw();
-        if (expr_value.IsNull()) {
-          expr_value = EvaluateConstExpr(rhs->token_pos(), rhs).raw();
-        }
-        CacheConstantValue(op_pos, expr_value);
+      Instance& expr_value = Instance::ZoneHandle(Z,
+          EvaluateConstExpr(lhs->token_pos(), lhs).raw());
+      if (expr_value.IsNull()) {
+        expr_value = EvaluateConstExpr(rhs->token_pos(), rhs).raw();
       }
       return new(Z) LiteralNode(op_pos, expr_value);
     }
@@ -11117,8 +11099,7 @@
   if (expr->EvalConstExpr() == NULL) {
     ReportError(expr_pos, "expression is not a valid compile-time constant");
   }
-  return new(Z) LiteralNode(
-      expr_pos, EvaluateConstExpr(expr_pos, expr));
+  return new(Z) LiteralNode(expr_pos, EvaluateConstExpr(expr_pos, expr));
 }
 
 
@@ -11379,10 +11360,7 @@
       return ParseCascades(expr);
     }
     if (require_compiletime_const) {
-      const bool use_cache = !expr->IsLiteralNode();
-      LiteralNode* const_value = FoldConstExpr(expr_pos, expr);
-      if (use_cache) CacheConstantValue(expr_pos, const_value->literal());
-      expr = const_value;
+      expr = FoldConstExpr(expr_pos, expr);
     } else {
       expr = LiteralIfStaticConst(Z, expr);
     }
@@ -12477,6 +12455,7 @@
     return;
   }
   InsertCachedConstantValue(script_, token_pos, value);
+  INC_STAT(thread_, num_cached_consts, 1);
 }
 
 
@@ -14480,15 +14459,31 @@
     ASSERT(field.StaticValue() != Object::sentinel().raw());
     ASSERT(field.StaticValue() != Object::transition_sentinel().raw());
     return Instance::ZoneHandle(Z, field.StaticValue());
+  } else if (expr->IsTypeNode()) {
+    AbstractType& type =
+        AbstractType::ZoneHandle(Z, expr->AsTypeNode()->type().raw());
+    ASSERT(type.IsInstantiated() && !type.IsMalformedOrMalbounded());
+    return type;
+  } else if (expr->IsClosureNode()) {
+    const Function& func = expr->AsClosureNode()->function();
+    ASSERT((func.IsImplicitStaticClosureFunction()));
+    Instance& closure = Instance::ZoneHandle(Z, func.ImplicitStaticClosure());
+    closure = TryCanonicalize(closure, expr_pos);
+    return closure;
   } else {
     ASSERT(expr->EvalConstExpr() != NULL);
-    ReturnNode* ret = new(Z) ReturnNode(expr->token_pos(), expr);
+    Instance& value = Instance::ZoneHandle(Z);
+    if (GetCachedConstant(expr_pos, &value)) {
+      return value;
+    }
+    ReturnNode* ret = new(Z) ReturnNode(expr_pos, expr);
     // Compile time constant expressions cannot reference anything from a
     // local scope.
     LocalScope* empty_scope = new(Z) LocalScope(NULL, 0, 0);
-    SequenceNode* seq = new(Z) SequenceNode(expr->token_pos(), empty_scope);
+    SequenceNode* seq = new(Z) SequenceNode(expr_pos, empty_scope);
     seq->Add(ret);
 
+    INC_STAT(thread_, num_execute_const, 1);
     Object& result = Object::Handle(Z, Compiler::ExecuteOnce(seq));
     if (result.IsError()) {
       ReportErrors(Error::Cast(result),
@@ -14496,9 +14491,9 @@
                    "error evaluating constant expression");
     }
     ASSERT(result.IsInstance() || result.IsNull());
-    Instance& value = Instance::ZoneHandle(Z);
     value ^= result.raw();
-    value = TryCanonicalize(value, TokenPos());
+    value = TryCanonicalize(value, expr_pos);
+    CacheConstantValue(expr_pos, value);
     return value;
   }
 }
diff --git a/runtime/vm/simulator_dbc.cc b/runtime/vm/simulator_dbc.cc
index 2e271c7..e02cec3 100644
--- a/runtime/vm/simulator_dbc.cc
+++ b/runtime/vm/simulator_dbc.cc
@@ -256,8 +256,6 @@
     RawTypedData* array = reinterpret_cast<RawTypedData*>(obj);
     const intptr_t byte_offset = Smi::Value(RAW_CAST(Smi, index));
     ASSERT(byte_offset >= 0);
-    ASSERT(((byte_offset + (1 << scale)) >> scale) <=
-               Smi::Value(array->ptr()->length_));
     return array->ptr()->data() + byte_offset;
   }
 };
@@ -1826,9 +1824,8 @@
   {
     BYTECODE(WriteIntoDouble, A_D);
     const double value = bit_cast<double, RawObject*>(FP[rD]);
-    RawDouble* box = RAW_CAST(Double, *SP--);
+    RawDouble* box = RAW_CAST(Double, FP[rA]);
     box->ptr()->value_ = value;
-    FP[rA] = box;
     DISPATCH();
   }
 
@@ -2324,6 +2321,25 @@
   }
 
   {
+    BYTECODE(AllocateOpt, A_D);
+    const uword tags =
+        static_cast<uword>(Smi::Value(RAW_CAST(Smi, LOAD_CONSTANT(rD))));
+    const intptr_t instance_size = RawObject::SizeTag::decode(tags);
+    const uword start = thread->heap()->new_space()->TryAllocate(instance_size);
+    if (LIKELY(start != 0)) {
+      *reinterpret_cast<uword*>(start + Instance::tags_offset()) = tags;
+      for (intptr_t current_offset = sizeof(RawInstance);
+           current_offset < instance_size;
+           current_offset += kWordSize) {
+        *reinterpret_cast<RawObject**>(start + current_offset) = null_value;
+      }
+      FP[rA] = reinterpret_cast<RawObject*>(start + kHeapObjectTag);
+      pc += 2;
+    }
+    DISPATCH();
+  }
+
+  {
     BYTECODE(Allocate, A_D);
     SP[1] = 0;  // Space for the result.
     SP[2] = LOAD_CONSTANT(rD);  // Class object.
@@ -2347,6 +2363,38 @@
   }
 
   {
+    BYTECODE(CreateArrayOpt, A_B_C);
+    const intptr_t length = Smi::Value(RAW_CAST(Smi, FP[rB]));
+    if (LIKELY(length <= Array::kMaxElements)) {
+      const intptr_t fixed_size = sizeof(RawArray) + kObjectAlignment - 1;
+      const intptr_t instance_size =
+          (fixed_size + length*kWordSize) & ~(kObjectAlignment - 1);
+      const uword start =
+          thread->heap()->new_space()->TryAllocate(instance_size);
+      if (LIKELY(start != 0)) {
+        const intptr_t cid = kArrayCid;
+        uword tags = 0;
+        if (LIKELY(instance_size < RawObject::SizeTag::kMaxSizeTag)) {
+          tags = RawObject::SizeTag::update(instance_size, tags);
+        }
+        tags = RawObject::ClassIdTag::update(cid, tags);
+        *reinterpret_cast<uword*>(start + Instance::tags_offset()) = tags;
+        *reinterpret_cast<RawObject**>(start + Array::length_offset()) = FP[rB];
+        *reinterpret_cast<RawObject**>(start + Array::type_arguments_offset()) =
+            FP[rC];
+        RawObject** data =
+            reinterpret_cast<RawObject**>(start + Array::data_offset());
+        for (intptr_t i = 0; i < length; i++) {
+          data[i] = null_value;
+        }
+        FP[rA] = reinterpret_cast<RawObject*>(start + kHeapObjectTag);
+        pc += 4;
+      }
+    }
+    DISPATCH();
+  }
+
+  {
     BYTECODE(CreateArrayTOS, 0);
     SP[1] = SP[-0];  // Length.
     SP[2] = SP[-1];  // Type.
diff --git a/runtime/vm/virtual_memory_fuchsia.cc b/runtime/vm/virtual_memory_fuchsia.cc
index 6e7d439..b7b8b89 100644
--- a/runtime/vm/virtual_memory_fuchsia.cc
+++ b/runtime/vm/virtual_memory_fuchsia.cc
@@ -7,6 +7,7 @@
 
 #include "vm/virtual_memory.h"
 
+#include <magenta/process.h>
 #include <magenta/syscalls.h>
 #include <unistd.h>  // NOLINT
 
@@ -37,7 +38,8 @@
                    MX_VM_FLAG_PERM_WRITE |
                    MX_VM_FLAG_PERM_EXECUTE;
   uintptr_t addr;
-  mx_status_t status = mx_process_vm_map(0, vmo, 0, size, &addr, prot);
+  mx_status_t status = mx_process_map_vm(
+      mx_process_self(), vmo, 0, size, &addr, prot);
   if (status != NO_ERROR) {
     mx_handle_close(vmo);
     FATAL("VirtualMemory::ReserveInternal FAILED");
@@ -53,8 +55,9 @@
   if (!embedder_allocated()) {
     // TODO(zra): Use reserved_size_.
     // Issue MG-162.
-    mx_status_t status = mx_process_vm_unmap(
-        0, reinterpret_cast<uintptr_t>(address()), 0 /*reserved_size_*/);
+    uintptr_t addr = reinterpret_cast<uintptr_t>(address());
+    mx_status_t status = mx_process_unmap_vm(
+        mx_process_self(), addr, 0 /*reserved_size_*/);
     if (status != NO_ERROR) {
       FATAL("VirtualMemory::~VirtualMemory: unamp FAILED");
     }
diff --git a/runtime/vm/weak_table.h b/runtime/vm/weak_table.h
index 01a607b..2c40aa3 100644
--- a/runtime/vm/weak_table.h
+++ b/runtime/vm/weak_table.h
@@ -154,7 +154,7 @@
   void Rehash();
 
   static intptr_t Hash(RawObject* key) {
-    return reinterpret_cast<intptr_t>(key) * 92821;
+    return reinterpret_cast<uintptr_t>(key) * 92821;
   }
 
   // data_ contains size_ tuples of key/value.
diff --git a/sdk/lib/_internal/js_runtime/lib/js_rti.dart b/sdk/lib/_internal/js_runtime/lib/js_rti.dart
index 497666f..ba18319 100644
--- a/sdk/lib/_internal/js_runtime/lib/js_rti.dart
+++ b/sdk/lib/_internal/js_runtime/lib/js_rti.dart
@@ -228,23 +228,21 @@
  * possible values for [substitution].
  */
 substitute(var substitution, var arguments) {
-  assert(substitution == null ||
-         isJsFunction(substitution));
+  if (substitution == null) return arguments;
+  assert(isJsFunction(substitution));
   assert(arguments == null || isJsArray(arguments));
+  substitution = invoke(substitution, arguments);
+  if (substitution == null) return null;
+  if (isJsArray(substitution)) {
+    // Substitutions are generated too late to mark Array as used, so use a
+    // tautological JS 'cast' to mark Array as used. This is needed only in
+    // some tiny tests where the substition is the only thing that creates an
+    // Array.
+    return JS('JSArray', '#', substitution);
+  }
   if (isJsFunction(substitution)) {
-    substitution = invoke(substitution, arguments);
-    if (substitution == null) return substitution;
-    if (isJsArray(substitution)) {
-      // Substitutions are generated too late to mark Array as used, so use a
-      // tautological JS 'cast' to mark Array as used. This is needed only in
-      // some tiny tests where the substition is the only thing that creates an
-      // Array.
-      return JS('JSArray', '#', substitution);
-    }
-    if (isJsFunction(substitution)) {
-      // TODO(johnniwinther): Check if this is still needed.
-      return invoke(substitution, arguments);
-    }
+    // TODO(johnniwinther): Check if this is still needed.
+    return invoke(substitution, arguments);
   }
   return arguments;
 }
@@ -467,12 +465,12 @@
   // Get the necessary substitution of the type arguments, if there is one.
   var substitution;
   if (isNotIdentical(typeOfT, typeOfS)) {
-    if (!builtinIsSubtype(typeOfS, runtimeTypeToString(typeOfT))) {
+    String typeOfTString = runtimeTypeToString(typeOfT);
+    if (!builtinIsSubtype(typeOfS, typeOfTString)) {
       return false;
     }
     var typeOfSPrototype = JS('', '#.prototype', typeOfS);
-    var field = '${JS_GET_NAME(JsGetName.OPERATOR_AS_PREFIX)}'
-        '${runtimeTypeToString(typeOfT)}';
+    var field = '${JS_GET_NAME(JsGetName.OPERATOR_AS_PREFIX)}${typeOfTString}';
     substitution = getField(typeOfSPrototype, field);
   }
   // The class of [s] is a subclass of the class of [t].  If [s] has no type
diff --git a/sdk/lib/html/dartium/html_dartium.dart b/sdk/lib/html/dartium/html_dartium.dart
index e007fc3..b3be182 100644
--- a/sdk/lib/html/dartium/html_dartium.dart
+++ b/sdk/lib/html/dartium/html_dartium.dart
@@ -9381,7 +9381,7 @@
     // TODO(alanknight): I think that all the __getter__ generators should just
     // do property access, but that's major surgery. This one is a problem, so
     // just hard-code it for now.
-    return _blink.Blink_JsNative_DomException.getProperty(this, index);
+    return _blink.Blink_JsNative_DomException.getProperty(this, index.toString());
   }
 
 }
diff --git a/tests/co19/co19-analyzer2.status b/tests/co19/co19-analyzer2.status
index 12e0ed9..0d0cdc5 100644
--- a/tests/co19/co19-analyzer2.status
+++ b/tests/co19/co19-analyzer2.status
@@ -12,347 +12,14 @@
 Language/Expressions/Method_Invocation/Ordinary_Invocation/syntax_t05: MissingCompileTimeError
 Language/Expressions/Method_Invocation/Ordinary_Invocation/syntax_t10: MissingCompileTimeError
 Language/Expressions/Method_Invocation/Super_Invocation/syntax_t05: MissingCompileTimeError
+# End issue #26644
 
-WebPlatformTest/html/semantics/forms/the-textarea-element/textarea-type_t01: fail
-LayoutTests/fast/events/event-creation_t01: Skip # Roll 45 OverflowEvent removed
-LayoutTests/fast/forms/checkValidity-001_t01: fail
-LayoutTests/fast/xmlhttprequest/xmlhttprequest-get_t01: Skip # Roll 45 clipboardData changed
-Language/Expressions/Assignable_Expressions/syntax_t08: StaticWarning
-Language/Libraries_and_Scripts/Parts/compilation_t15: fail, pass # Issue 23595
-
-# TBF: Static members should not be accessible via subclasses.
-Language/Classes/Superclasses/Inheritance_and_Overriding/inheritance_t05: MissingStaticWarning
-
-# co19 issue #442, undefined name "Expect"
-Language/Types/Interface_Types/subtype_t12: fail, OK
-
-# co19 issue #438, Static variables are initialized lazily, need not be constants
-Language/Expressions/Constants/exception_t01: fail, OK
-Language/Expressions/Constants/exception_t02: fail, OK
-
-LibTest/isolate/IsolateStream/any_A01_t01: Fail # co19-roll r706: Please triage this failure.
-LibTest/isolate/IsolateStream/asBroadcastStream_A01_t01: Fail # co19-roll r706: Please triage this failure.
-LibTest/isolate/IsolateStream/contains_A01_t01: Fail # co19-roll r706: Please triage this failure.
-LibTest/isolate/IsolateStream/first_A01_t01: Fail # co19-roll r706: Please triage this failure.
-LibTest/isolate/IsolateStream/first_A02_t01: Fail # co19-roll r706: Please triage this failure.
-LibTest/isolate/IsolateStream/first_A02_t02: Fail # co19-roll r706: Please triage this failure.
-LibTest/isolate/IsolateStream/isBroadcast_A01_t01: Fail # co19-roll r706: Please triage this failure.
-LibTest/isolate/IsolateStream/isBroadcast_A01_t02: Fail # co19-roll r706: Please triage this failure.
-LibTest/isolate/IsolateStream/isEmpty_A01_t01: Fail # co19-roll r706: Please triage this failure.
-LibTest/isolate/IsolateStream/last_A01_t01: Fail # co19-roll r706: Please triage this failure.
-LibTest/isolate/IsolateStream/last_A02_t01: Fail # co19-roll r706: Please triage this failure.
-LibTest/isolate/IsolateStream/length_A01_t01: Fail # co19-roll r706: Please triage this failure.
-LibTest/isolate/IsolateStream/single_A01_t01: Fail # co19-roll r706: Please triage this failure.
-LibTest/isolate/IsolateStream/single_A02_t01: Fail # co19-roll r706: Please triage this failure.
-LibTest/isolate/ReceivePort/receive_A01_t01: Fail # co19-roll r706: Please triage this failure.
-LibTest/isolate/ReceivePort/receive_A01_t03: Fail # co19-roll r706: Please triage this failure.
-LibTest/isolate/ReceivePort/toSendPort_A01_t01: Fail # co19-roll r706: Please triage this failure.
-LibTest/isolate/ReceivePort/toSendPort_A01_t03: Fail # co19-roll r706: Please triage this failure.
-LibTest/isolate/SendPort/call_A01_t01: Fail # co19-roll r706: Please triage this failure.
-LibTest/isolate/SendPort/send_A02_t04: Fail # co19-roll r706: Please triage this failure.
-LibTest/isolate/SendPort/send_A02_t03: Fail # co19-roll r706: Please triage this failure.
-LibTest/isolate/SendPort/send_A02_t05: Fail # co19-roll r706: Please triage this failure.
-LibTest/isolate/SendPort/send_A02_t06: Fail # co19-roll r706: Please triage this failure.
-LibTest/isolate/SendPort/send_A03_t01: Fail # co19-roll r706: Please triage this failure.
-LibTest/isolate/SendPort/send_A03_t02: Fail # co19-roll r706: Please triage this failure.
-LibTest/isolate/IsolateStream/any_A02_t01: Fail # co19-roll r706: Please triage this failure.
-LibTest/isolate/IsolateStream/contains_A02_t01: Fail # co19-roll r706: Please triage this failure.
-LibTest/isolate/ReceivePort/receive_A01_t02: Fail # co19-roll r706: Please triage this failure.
-LibTest/isolate/ReceivePort/toSendPort_A01_t02: Fail # co19-roll r706: Please triage this failure.
-
-# co19 issue 642, The argument type 'int' cannot be assigned to the parameter type 'Iterable'
-LibTest/collection/DoubleLinkedQueue/DoubleLinkedQueue_class_A01_t01: Fail, OK
-LibTest/collection/ListQueue/ListQueue_class_A01_t01: Fail, OK
-LibTest/collection/Queue/Queue_class_A01_t01: Fail, OK
-
-Language/Statements/Switch/last_statement_t03: MissingStaticWarning
-Language/Statements/Assert/type_t04: MissingStaticWarning
-
-Language/Variables/final_t04: MissingCompileTimeError # co19-roll r651: Please triage this failure
-Language/Variables/final_t05: MissingCompileTimeError # co19-roll r651: Please triage this failure
-Language/Variables/final_t06: MissingCompileTimeError # co19-roll r651: Please triage this failure
-Language/Variables/final_t07: MissingCompileTimeError # co19-roll r651: Please triage this failure
-Language/Variables/final_or_static_initialization_t01: MissingCompileTimeError # co19-roll r651: Please triage this failure
-Language/Variables/final_or_static_initialization_t02: MissingCompileTimeError # co19-roll r651: Please triage this failure
-Language/Variables/final_or_static_initialization_t03: MissingCompileTimeError # co19-roll r651: Please triage this failure
-Language/Expressions/Function_Invocation/Unqualified_Invocation/invocation_t17: MissingCompileTimeError # co19-roll r651: Please triage this failure
-Language/Expressions/Function_Invocation/Unqualified_Invocation/invocation_t18: MissingCompileTimeError # co19-roll r651: Please triage this failure
-
-LibTest/convert/JsonEncoder/JsonEncoder_A01_t01: StaticWarning # co19-roll r667: Please triage this failure
-
-# co19 issue 656
-LibTest/typed_data/Float32x4/equal_A01_t01: Skip # co19 issue 656
-LibTest/typed_data/Float32x4/notEqual_A01_t01: Skip # co19 issue 656
-LibTest/typed_data/Float32x4/greaterThan_A01_t01: Skip # co19 issue 656
-LibTest/typed_data/Float32x4/greaterThanOrEqual_A01_t01: Skip # co19 issue 656
-LibTest/typed_data/Float32x4/lessThan_A01_t01: Skip # co19 issue 656
-LibTest/typed_data/Float32x4/lessThanOrEqual_A01_t01: Skip # co19 issue 656
-
-WebPlatformTest/custom-elements/*: Pass, StaticWarning # Issue 18095.
-
-# co19 roll to r706: Please triage all these issues.
-Language/Expressions/Method_Invocation/Super_Invocation/accessible_instance_member_t03: StaticWarning # co19-roll r706: Please triage this failure.
-Language/Expressions/Method_Invocation/Super_Invocation/accessible_instance_member_t04: StaticWarning # co19-roll r706: Please triage this failure.
-Language/Expressions/Method_Invocation/Super_Invocation/accessible_instance_member_t05: StaticWarning # co19-roll r706: Please triage this failure.
-LayoutTests/fast/dom/DOMImplementation/createDocument-namespace-err_t01: StaticWarning # co19-roll r706: Please triage this failure.
-LayoutTests/fast/dom/DOMImplementation/createDocumentType-err_t01: StaticWarning # co19-roll r706: Please triage this failure.
-LayoutTests/fast/dom/Document/CaretRangeFromPoint/caretRangeFromPoint-in-zoom-and-scroll_t01: StaticWarning # co19-roll r706: Please triage this failure.
-LayoutTests/fast/dom/Element/scrollWidth_t01: StaticWarning # co19-roll r706: Please triage this failure.
-LayoutTests/fast/html/article-element_t01: StaticWarning # co19-roll r706: Please triage this failure.
-LayoutTests/fast/html/aside-element_t01: StaticWarning # co19-roll r706: Please triage this failure.
-LayoutTests/fast/html/imports/import-events_t01: CompileTimeError # co19-roll r706: Please triage this failure.
-LayoutTests/fast/html/text-field-input-types_t01: StaticWarning # co19-roll r706: Please triage this failure.
-LibTest/html/Document/adoptNode_A01_t01: StaticWarning # co19-roll r706: Please triage this failure.
-LibTest/html/Document/childNodes_A01_t01: StaticWarning # co19-roll r706: Please triage this failure.
-LibTest/html/Document/importNode_A01_t01: StaticWarning # co19-roll r706: Please triage this failure.
-LibTest/html/Document/securityPolicy_A01_t01: StaticWarning # co19-roll r706: Please triage this failure.
-LibTest/html/HttpRequest/responseText_A01_t02: StaticWarning # co19-roll r706: Please triage this failure.
-LibTest/html/HttpRequest/responseType_A01_t03: CompileTimeError # co19-roll r706: Please triage this failure.
-LibTest/html/IFrameElement/attributeChanged_A01_t01: StaticWarning # co19-roll r706: Please triage this failure.
-LibTest/html/IFrameElement/contentWindow_A01_t01: StaticWarning # co19-roll r706: Please triage this failure.
-LibTest/html/IFrameElement/enteredView_A01_t01: CompileTimeError # co19-roll r706: Please triage this failure.
-LibTest/html/IFrameElement/getNamespacedAttributes_A01_t01: StaticWarning # co19-roll r706: Please triage this failure.
-LibTest/html/Window/document_A01_t01: StaticWarning # co19-roll r706: Please triage this failure.
-LibTest/html/Window/moveBy_A01_t01: StaticWarning # co19-roll r706: Please triage this failure.
-LibTest/html/Window/moveTo_A01_t01: StaticWarning # co19-roll r706: Please triage this failure.
-LibTest/html/Window/moveTo_A02_t01: StaticWarning # co19-roll r706: Please triage this failure.
-LibTest/html/Window/postMessage_A01_t01: StaticWarning # co19-roll r706: Please triage this failure.
-LibTest/html/Window/postMessage_A01_t02: StaticWarning # co19-roll r706: Please triage this failure.
-LibTest/html/Window/requestFileSystem_A01_t01: StaticWarning # co19-roll r706: Please triage this failure.
-LibTest/html/Window/requestFileSystem_A01_t02: StaticWarning # co19-roll r706: Please triage this failure.
-LibTest/html/Window/requestFileSystem_A02_t01: StaticWarning # co19-roll r706: Please triage this failure.
-LibTest/html/Window/resizeBy_A01_t01: StaticWarning # co19-roll r706: Please triage this failure.
-LibTest/html/Window/resizeTo_A01_t01: StaticWarning # co19-roll r706: Please triage this failure.
-LibTest/isolate/ReceivePort/sendPort_A01_t01: StaticWarning # co19-roll r706: Please triage this failure.
-LibTest/math/Point/operator_addition_A02_t01: StaticWarning # co19-roll r706: Please triage this failure.
-LibTest/math/Point/operator_mult_A03_t01: StaticWarning # co19-roll r706: Please triage this failure.
-LibTest/math/Point/operator_subtraction_A02_t01: StaticWarning # co19-roll r706: Please triage this failure.
-WebPlatformTest/dom/events/event_constants/constants_A01_t01: StaticWarning # co19-roll r706: Please triage this failure.
-
-# co19-roll r722
-LayoutTests/fast/dom/HTMLAnchorElement/anchor-ismap-crash_t01: StaticWarning # co19-roll r722: Please triage this failure.
-LayoutTests/fast/dom/HTMLAnchorElement/set-href-attribute-rebase_t01: StaticWarning # co19-roll r722: Please triage this failure.
-LayoutTests/fast/dom/HTMLBaseElement/href-attribute-resolves-with-respect-to-document_t01: StaticWarning # co19-roll r722: Please triage this failure.
-LayoutTests/fast/dom/HTMLDialogElement/inert-does-not-match-disabled-selector_t01: StaticWarning # co19-roll r722: Please triage this failure.
-LayoutTests/fast/dom/HTMLDialogElement/show-modal-focusing-steps_t01: StaticWarning # co19-roll r722: Please triage this failure.
-LayoutTests/fast/dom/HTMLDialogElement/top-layer-position-relative_t01: StaticWarning # co19-roll r722: Please triage this failure.
-LayoutTests/fast/dom/HTMLDialogElement/top-layer-position-static_t01: StaticWarning # co19-roll r722: Please triage this failure.
-LayoutTests/fast/dom/HTMLDocument/clone-node_t01: StaticWarning # co19-roll r722: Please triage this failure.
-LayoutTests/fast/dom/HTMLInputElement/size-attribute_t01: StaticWarning # co19-roll r722: Please triage this failure.
-LayoutTests/fast/dom/HTMLLabelElement/form/test1_t01: StaticWarning # co19-roll r722: Please triage this failure.
-LayoutTests/fast/dom/HTMLLabelElement/label-control_t01: StaticWarning # co19-roll r722: Please triage this failure.
-LayoutTests/fast/dom/HTMLObjectElement/set-type-to-null-crash_t01: StaticWarning # co19-roll r722: Please triage this failure.
-LibTest/html/IFrameElement/outerHtml_setter_A01_t01: StaticWarning # co19-roll r722: Please triage this failure.
-LibTest/html/Node/childNodes_A01_t02: StaticWarning # co19-roll r722: Please triage this failure.
-LibTest/html/Node/contains_A01_t02: StaticWarning # co19-roll r722: Please triage this failure.
-LibTest/html/Node/dispatchEvent_A01_t01: StaticWarning # co19-roll r722: Please triage this failure.
-LibTest/html/Node/nodes_A01_t01: StaticWarning # co19-roll r722: Please triage this failure.
-WebPlatformTest/shadow-dom/events/event-dispatch/test-001_t01: StaticWarning # co19-roll r722: Please triage this failure.
-LayoutTests/fast/dom/HTMLOptionElement/collection-setter-getter_t01: StaticWarning # co19-roll r722: Please triage this failure.
-LayoutTests/fast/dom/HTMLScriptElement/isURLAttribute_t01: StaticWarning # co19-roll r722: Please triage this failure.
-LayoutTests/fast/dom/HTMLScriptElement/script-async-attr_t01: StaticWarning # co19-roll r722: Please triage this failure.
-LayoutTests/fast/dom/HTMLScriptElement/script-set-src_t01: StaticWarning
-LayoutTests/fast/dom/HTMLTableElement/createCaption_t01: StaticWarning # co19-roll r722: Please triage this failure.
-LayoutTests/fast/dom/HTMLTableElement/insert-row_t01: StaticWarning # co19-roll r722: Please triage this failure.
-LayoutTests/fast/dom/HTMLTemplateElement/custom-element-wrapper-gc_t01: StaticWarning # co19-roll r722: Please triage this failure.
-LayoutTests/fast/dom/HTMLTemplateElement/inertContents_t01: StaticWarning # co19-roll r722: Please triage this failure.
-LayoutTests/fast/dom/HTMLTemplateElement/no-form-association_t01: StaticWarning # co19-roll r722: Please triage this failure.
-LayoutTests/fast/dom/MutationObserver/clear-transient-without-delivery_t01: StaticWarning # co19-roll r722: Please triage this failure.
-LayoutTests/fast/dom/MutationObserver/disconnect-cancel-pending_t01: StaticWarning # co19-roll r722: Please triage this failure.
-LayoutTests/fast/dom/MutationObserver/document-fragment-insertion_t01: StaticWarning # co19-roll r722: Please triage this failure.
-LayoutTests/fast/dom/MutationObserver/mutation-record-constructor_t01: StaticWarning # co19-roll r722: Please triage this failure.
-LayoutTests/fast/dom/MutationObserver/observe-exceptions_t01: StaticWarning # co19-roll r722: Please triage this failure.
-LayoutTests/fast/dom/NodeList/nodelist-reachable_t01: StaticWarning # co19-roll r722: Please triage this failure.
-LayoutTests/fast/dom/Range/missing-arguments_t01: StaticWarning # co19-roll r722: Please triage this failure.
-LayoutTests/fast/dom/Range/surroundContents-check-boundary-points_t01: StaticWarning # co19-roll r722: Please triage this failure.
-LayoutTests/fast/html/imports/import-element-removed-flag_t01: StaticWarning # co19-roll r722: Please triage this failure.
-LibTest/html/CanvasRenderingContext2D/addEventListener_A01_t03: StaticWarning # co19-roll r722: Please triage this failure.
-WebPlatformTest/dom/collections/emptyName_A01_t03: StaticWarning # co19-roll r722: Please triage this failure.
-WebPlatformTest/dom/nodes/DOMImplementation-createDocument_t01: StaticWarning # co19-roll r722: Please triage this failure.
-WebPlatformTest/dom/nodes/DOMImplementation-createHTMLDocument_t01: CompileTimeError # co19-roll r722: Please triage this failure.
-WebPlatformTest/dom/nodes/Document-createElement-namespace_t01: StaticWarning # co19-roll r722: Please triage this failure.
-WebPlatformTest/dom/nodes/Document-createElement_t01: CompileTimeError # co19-roll r722: Please triage this failure.
-WebPlatformTest/dom/nodes/Element-childElementCount-nochild_t01: CompileTimeError # co19-roll r722: Please triage this failure.
-WebPlatformTest/dom/nodes/Node-appendChild_t02: StaticWarning # co19-roll r722: Please triage this failure.
-WebPlatformTest/dom/nodes/Node-contains_t01: StaticWarning # co19-roll r722: Please triage this failure.
-WebPlatformTest/dom/nodes/Node-isEqualNode_t01: StaticWarning # co19-roll r722: Please triage this failure.
-WebPlatformTest/dom/nodes/Node-parentNode_t01: StaticWarning # co19-roll r722: Please triage this failure.
-
-# co19-roll r738
-Language/Classes/Classes/method_definition_t06: MissingStaticWarning # co19-roll r738: Please triage this failure.
-LayoutTests/fast/dom/StyleSheet/detached-parent-rule-without-wrapper_t01: StaticWarning # co19-roll r738: Please triage this failure.
-LayoutTests/fast/dom/StyleSheet/removed-media-rule-deleted-parent-crash_t01: StaticWarning # co19-roll r738: Please triage this failure.
-LayoutTests/fast/dom/StyleSheet/removed-stylesheet-rule-deleted-parent-crash_t01: StaticWarning # co19-roll r738: Please triage this failure.
-LayoutTests/fast/dom/TreeWalker/TreeWalker-basic_t01: StaticWarning # co19-roll r738: Please triage this failure.
-LayoutTests/fast/dom/Window/atob-btoa_t01: StaticWarning # co19-roll r738: Please triage this failure.
-LayoutTests/fast/dom/Window/replaceable_t01: StaticWarning # co19-roll r738: Please triage this failure.
-LayoutTests/fast/dom/Window/window-scroll-arguments_t01: StaticWarning # co19-roll r738: Please triage this failure.
-LayoutTests/fast/dom/characterdata-api-arguments_t01: StaticWarning # co19-roll r738: Please triage this failure.
-LayoutTests/fast/dom/css-cached-import-rule_t01: StaticWarning # co19-roll r738: Please triage this failure.
-LayoutTests/fast/dom/css-insert-import-rule-twice_t01: StaticWarning # co19-roll r738: Please triage this failure.
-LayoutTests/fast/dom/css-insert-import-rule_t01: StaticWarning # co19-roll r738: Please triage this failure.
-LayoutTests/fast/dom/css-mediarule-deleteRule-update_t01: StaticWarning # co19-roll r738: Please triage this failure.
-LayoutTests/fast/dom/css-mediarule-functions_t01: StaticWarning # co19-roll r738: Please triage this failure.
-LayoutTests/fast/dom/css-mediarule-insertRule-update_t01: StaticWarning # co19-roll r738: Please triage this failure.
-LayoutTests/fast/dom/css-rule-functions_t01: StaticWarning # co19-roll r738: Please triage this failure.
-LayoutTests/fast/dom/destroy-selected-radio-button-crash_t01: StaticWarning # co19-roll r738: Please triage this failure.
-LayoutTests/fast/dom/icon-url-change_t01: StaticWarning # co19-roll r738: Please triage this failure.
-LayoutTests/fast/dom/icon-url-list_t01: StaticWarning # co19-roll r738: Please triage this failure.
-LayoutTests/fast/dom/implementation-api-args_t01: StaticWarning # co19-roll r738: Please triage this failure.
-LayoutTests/fast/dom/javascript-backslash_t01: StaticWarning # co19-roll r738: Please triage this failure.
-LayoutTests/fast/dom/location-missing-arguments_t01: StaticWarning # co19-roll r738: Please triage this failure.
-LayoutTests/fast/dom/option-properties_t01: StaticWarning # co19-roll r738: Please triage this failure.
-LayoutTests/fast/dom/remove-named-attribute-crash_t01: StaticWarning # co19-roll r738: Please triage this failure.
-LayoutTests/fast/dom/shadow/content-pseudo-element-css-text_t01: StaticWarning # co19-roll r738: Please triage this failure.
-LayoutTests/fast/dom/shadow/content-pseudo-element-relative-selector-css-text_t01: StaticWarning # co19-roll r738: Please triage this failure.
-LayoutTests/fast/dom/shadow/shadow-root-js-api_t01: StaticWarning # co19-roll r738: Please triage this failure.
-WebPlatformTest/DOMEvents/approved/Event.bubbles.false_t01: StaticWarning # co19-roll r738: Please triage this failure.
-WebPlatformTest/DOMEvents/approved/Propagation.path.target.removed_t01: StaticWarning # co19-roll r738: Please triage this failure.
-WebPlatformTest/html/browsers/browsing-the-web/read-media/pageload-image_t01: StaticWarning # co19-roll r738: Please triage this failure.
-WebPlatformTest/html/browsers/browsing-the-web/read-media/pageload-video_t01: StaticWarning # co19-roll r738: Please triage this failure.
-WebPlatformTest/html/browsers/browsing-the-web/read-text/load-text-plain_t01: StaticWarning # co19-roll r738: Please triage this failure.
-WebPlatformTest/html/dom/documents/dom-tree-accessors/document.body-getter_t01: StaticWarning # co19-roll r738: Please triage this failure.
-WebPlatformTest/html/dom/documents/dom-tree-accessors/document.body-setter_t01: StaticWarning # co19-roll r738: Please triage this failure.
-WebPlatformTest/html/dom/documents/dom-tree-accessors/document.head_t01: StaticWarning # co19-roll r738: Please triage this failure.
-WebPlatformTest/html/dom/documents/dom-tree-accessors/document.title_t01: StaticWarning # co19-roll r738: Please triage this failure.
-WebPlatformTest/html/dom/documents/dom-tree-accessors/document.title_t07: StaticWarning # co19-roll r738: Please triage this failure.
-WebPlatformTest/html/dom/elements/global-attributes/dataset-delete_t01: StaticWarning # co19-roll r738: Please triage this failure.
-WebPlatformTest/html/dom/elements/global-attributes/dataset-get_t01: StaticWarning # co19-roll r738: Please triage this failure.
-WebPlatformTest/html/dom/elements/global-attributes/dataset-set_t01: StaticWarning # co19-roll r738: Please triage this failure.
-WebPlatformTest/html/semantics/document-metadata/styling/LinkStyle_t01: StaticWarning # co19-roll r738: Please triage this failure.
-WebPlatformTest/html/semantics/embedded-content/media-elements/error-codes/error_t01: StaticWarning # co19-roll r738: Please triage this failure.
-WebPlatformTest/html/semantics/embedded-content/media-elements/interfaces/TextTrack/mode_t01: StaticWarning # co19-roll r738: Please triage this failure.
-WebPlatformTest/html/semantics/embedded-content/the-audio-element/audio_constructor_t01: StaticWarning # co19-roll r738: Please triage this failure.
-WebPlatformTest/html/semantics/forms/attributes-common-to-form-controls/formAction_document_address_t01: StaticWarning # co19-roll r738: Please triage this failure.
-WebPlatformTest/html/semantics/forms/textfieldselection/selection_t01: StaticWarning # co19-roll r738: Please triage this failure.
-WebPlatformTest/html/semantics/forms/the-datalist-element/datalistelement_t01: StaticWarning # co19-roll r738: Please triage this failure.
-WebPlatformTest/html/semantics/forms/the-datalist-element/datalistoptions_t01: StaticWarning # co19-roll r738: Please triage this failure.
-WebPlatformTest/html/semantics/forms/the-fieldset-element/disabled_t01: StaticWarning # co19-roll r738: Please triage this failure.
-
-# co19-roll r761
-LayoutTests/fast/animation/request-animation-frame-missing-arguments_t01: StaticWarning # co19-roll r761: Please triage this failure.
-LayoutTests/fast/backgrounds/001_t01: StaticWarning # co19-roll r761: Please triage this failure.
-LayoutTests/fast/canvas/canvas-arc-negative-radius_t01: StaticWarning # Issue 20939
-LayoutTests/fast/canvas/canvas-createImageBitmap-animated_t01: StaticWarning # co19-roll r761: Please triage this failure.
-LayoutTests/fast/canvas/webgl/framebuffer-object-attachment_t01: StaticWarning # co19-roll r761: Please triage this failure.
-LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-array-buffer-view_t01: StaticWarning # co19-roll r761: Please triage this failure.
-LayoutTests/fast/canvas/webgl/webgl-specific_t01: StaticWarning # co19-roll r761: Please triage this failure.
-LayoutTests/fast/dom/text-api-arguments_t01: StaticWarning # co19-roll r761: Please triage this failure.
-LayoutTests/fast/html/imports/import-events_t01: StaticWarning # co19-roll r761: Please triage this failure.
-
-# co19-roll r786
-LayoutTests/fast/events/initkeyboardevent-crash_t01: StaticWarning # co19-roll r786: Please triage this failure.
-
-# co19-roll r801
-LayoutTests/fast/html/select-dropdown-consistent-background-color_t01: StaticWarning # co19-roll r801: Please triage this failure.
-LayoutTests/fast/inline/boundingBox-with-continuation_t01: StaticWarning # co19-roll r801: Please triage this failure.
-LayoutTests/fast/loader/about-blank-hash-kept_t01: StaticWarning # co19-roll r801: Please triage this failure.
-LayoutTests/fast/loader/hashchange-event-properties_t01: StaticWarning # co19-roll r801: Please triage this failure.
-LayoutTests/fast/loader/scroll-position-restored-on-reload-at-load-event_t01: StaticWarning # co19-roll r801: Please triage this failure.
-LayoutTests/fast/loader/stateobjects/replacestate-in-onunload_t01: StaticWarning # co19-roll r801: Please triage this failure.
-LayoutTests/fast/media/media-query-list-syntax_t01: StaticWarning # co19-roll r801: Please triage this failure.
-LayoutTests/fast/media/mq-append-delete_t01: StaticWarning # co19-roll r801: Please triage this failure.
-LayoutTests/fast/media/mq-color-index_t02: StaticWarning # co19-roll r801: Please triage this failure.
-LayoutTests/fast/media/mq-js-media-except_t01: StaticWarning # co19-roll r801: Please triage this failure.
-LayoutTests/fast/media/mq-js-media-except_t02: StaticWarning # co19-roll r801: Please triage this failure.
-LayoutTests/fast/media/mq-parsing_t01: StaticWarning # co19-roll r801: Please triage this failure.
-LayoutTests/fast/mediastream/RTCPeerConnection-AddRemoveStream_t01: StaticWarning # co19-roll r801: Please triage this failure.
-LayoutTests/fast/multicol/vertical-lr/float-truncation_t01: StaticWarning # co19-roll r801: Please triage this failure.
-LayoutTests/fast/multicol/vertical-lr/image-inside-nested-blocks-with-border_t01: StaticWarning # co19-roll r801: Please triage this failure.
-LayoutTests/fast/multicol/vertical-rl/float-truncation_t01: StaticWarning # co19-roll r801: Please triage this failure.
-LayoutTests/fast/multicol/vertical-rl/image-inside-nested-blocks-with-border_t01: StaticWarning # co19-roll r801: Please triage this failure.
-LayoutTests/fast/overflow/scroll-vertical-not-horizontal_t01: StaticWarning # co19-roll r801: Please triage this failure.
-LayoutTests/fast/ruby/after-doesnt-crash_t01: StaticWarning # co19-roll r801: Please triage this failure.
-LayoutTests/fast/shapes/shape-outside-floats/shape-outside-big-box-border-radius_t01: StaticWarning # co19-roll r801: Please triage this failure.
-LayoutTests/fast/shapes/shape-outside-floats/shape-outside-floats-diamond-margin-polygon_t01: StaticWarning # co19-roll r801: Please triage this failure.
-LayoutTests/fast/shapes/shape-outside-floats/shape-outside-floats-image-margin_t01: StaticWarning # co19-roll r801: Please triage this failure.
-LayoutTests/fast/shapes/shape-outside-floats/shape-outside-floats-image-margin_t02: StaticWarning # co19-roll r801: Please triage this failure.
-LayoutTests/fast/shapes/shape-outside-floats/shape-outside-rounded-boxes_t01: StaticWarning # co19-roll r801: Please triage this failure.
-
-LayoutTests/fast/xpath/4XPath/Core/test_core_functions_t01: StaticWarning # co19 issue 703
-WebPlatformTest/dom/Node-replaceChild_t01: CompileTimeError # co19-roll r761: Please triage this failure.
-WebPlatformTest/html/semantics/forms/the-input-element/email_t02: StaticWarning # co19 issue 701
-
-# isProtocolHandlerRegistered and unregisterProtocolHandler don't exist
-LayoutTests/fast/dom/navigatorcontentutils/is-protocol-handler-registered_t01: Skip # Please triage this failure.
-WebPlatformTest/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/t01: StaticWarning # Please triage this failure.
-WebPlatformTest/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/t02: StaticWarning # Please triage this failure.
-WebPlatformTest/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/t03: StaticWarning # Please triage this failure.
-WebPlatformTest/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/t04: StaticWarning # Please triage this failure.
-WebPlatformTest/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/t05: StaticWarning # Please triage this failure.
-WebPlatformTest/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/t06: StaticWarning # Please triage this failure.
-LayoutTests/fast/dom/navigatorcontentutils/unregister-protocol-handler_t01: StaticWarning # Please triage this failure.
-
-# co19 roll to Sep 29 2015 (3ed795ea02e022ef19c77cf1b6095b7c8f5584d0)
+Language/Classes/Classes/method_definition_t06: MissingStaticWarning # Please triage this failure.
+Language/Classes/Getters/static_getter_t02: CompileTimeError # Issue 24534
 Language/Classes/Getters/static_t01: StaticWarning # Please triage this failure.
 Language/Classes/Getters/type_object_t01: StaticWarning # Please triage this failure.
 Language/Classes/Getters/type_object_t02: StaticWarning # Please triage this failure.
 Language/Classes/Instance_Variables/definition_t03: StaticWarning # Please triage this failure.
-Language/Classes/Setters/type_object_t01: StaticWarning # Please triage this failure.
-Language/Classes/Setters/type_object_t02: StaticWarning # Please triage this failure.
-Language/Classes/Static_Methods/same_name_method_and_setter_t01: MissingStaticWarning # Please triage this failure.
-Language/Classes/Static_Methods/type_object_t01: StaticWarning # Please triage this failure.
-Language/Classes/Static_Methods/type_object_t02: StaticWarning # Please triage this failure.
-Language/Classes/method_definition_t06: MissingStaticWarning # Please triage this failure.
-Language/Expressions/Lookup/Method_Lookup/superclass_t07: StaticWarning # Please triage this failure.
-Language/Expressions/Lookup/Method_Lookup/superclass_t08: StaticWarning # Please triage this failure.
-Language/Expressions/Property_Extraction/General_Closurization/expression_evaluation_t01: CompileTimeError # Please triage this failure.
-Language/Expressions/Property_Extraction/General_Closurization/expression_evaluation_t02: CompileTimeError # Please triage this failure.
-Language/Expressions/Property_Extraction/General_Closurization/expression_evaluation_t03: CompileTimeError # Please triage this failure.
-Language/Expressions/Property_Extraction/General_Closurization/getter_lookup_t01: CompileTimeError # Please triage this failure.
-Language/Expressions/Property_Extraction/General_Closurization/getter_lookup_t02: CompileTimeError # Please triage this failure.
-Language/Expressions/Property_Extraction/General_Closurization/getter_lookup_t03: CompileTimeError # Please triage this failure.
-Language/Expressions/Property_Extraction/General_Closurization/getter_lookup_t04: CompileTimeError # Please triage this failure.
-Language/Expressions/Property_Extraction/General_Closurization/method_lookup_t01: CompileTimeError # Please triage this failure.
-Language/Expressions/Property_Extraction/General_Closurization/method_lookup_t02: CompileTimeError # Please triage this failure.
-Language/Expressions/Property_Extraction/General_Closurization/method_lookup_t03: CompileTimeError # Please triage this failure.
-Language/Expressions/Property_Extraction/General_Closurization/method_lookup_t04: CompileTimeError # Please triage this failure.
-Language/Expressions/Property_Extraction/General_Closurization/no_accessible_member_t01: CompileTimeError # Please triage this failure.
-Language/Expressions/Property_Extraction/General_Closurization/no_accessible_member_t02: CompileTimeError # Please triage this failure.
-Language/Expressions/Property_Extraction/General_Closurization/no_accessible_member_t03: CompileTimeError # Please triage this failure.
-Language/Expressions/Property_Extraction/General_Closurization/no_accessible_member_t04: CompileTimeError # Please triage this failure.
-Language/Expressions/Property_Extraction/General_Closurization/no_accessible_member_t05: CompileTimeError # Please triage this failure.
-Language/Expressions/Property_Extraction/General_Closurization/no_accessible_member_t06: CompileTimeError # Please triage this failure.
-Language/Expressions/Property_Extraction/General_Closurization/no_accessible_member_t07: CompileTimeError # Please triage this failure.
-Language/Expressions/Property_Extraction/General_Closurization/no_accessible_member_t08: CompileTimeError # Please triage this failure.
-Language/Expressions/Property_Extraction/General_Closurization/setter_lookup_t01: CompileTimeError # Please triage this failure.
-Language/Expressions/Property_Extraction/General_Closurization/setter_lookup_t02: CompileTimeError # Please triage this failure.
-Language/Expressions/Property_Extraction/General_Closurization/setter_lookup_t03: CompileTimeError # Please triage this failure.
-Language/Expressions/Property_Extraction/General_Closurization/setter_lookup_t04: CompileTimeError # Please triage this failure.
-Language/Expressions/Property_Extraction/General_Closurization/static_type_t01: CompileTimeError # Please triage this failure.
-Language/Expressions/Property_Extraction/General_Closurization/static_type_t02: CompileTimeError # Please triage this failure.
-Language/Expressions/Property_Extraction/General_Closurization/static_type_t03: CompileTimeError # Please triage this failure.
-Language/Expressions/Property_Extraction/General_Closurization/static_type_t04: CompileTimeError # Please triage this failure.
-Language/Expressions/Property_Extraction/General_Closurization/static_type_t05: CompileTimeError # Please triage this failure.
-Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/class_object_member_t01: MissingCompileTimeError # Please triage this failure.
-Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/class_object_member_t02: MissingCompileTimeError # Please triage this failure.
-Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/class_object_member_t03: MissingCompileTimeError # Please triage this failure.
-Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/class_object_member_t04: MissingCompileTimeError # Please triage this failure.
-Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/class_object_member_t05: MissingCompileTimeError # Please triage this failure.
-Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/class_object_member_t06: MissingCompileTimeError # Please triage this failure.
-Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/class_object_member_t07: MissingCompileTimeError # Please triage this failure.
-Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/class_object_member_t08: MissingCompileTimeError # Please triage this failure.
-Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/expression_evaluation_t07: CompileTimeError # Please triage this failure.
-Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/no_such_method_t01: StaticWarning # Please triage this failure.
-Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/proxy_annotation_t05: StaticWarning # Please triage this failure.
-Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/proxy_annotation_t06: StaticWarning # Please triage this failure.
-Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/proxy_annotation_t07: StaticWarning # Please triage this failure.
-Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/proxy_annotation_t08: StaticWarning # Please triage this failure.
-Language/Expressions/Property_Extraction/Named_Constructor_Extraction/deferred_type_t01: CompileTimeError # Please triage this failure.
-Language/Expressions/Property_Extraction/Named_Constructor_Extraction/malformed_type_t01: CompileTimeError # Please triage this failure.
-Language/Expressions/Property_Extraction/Named_Constructor_Extraction/malformed_type_t02: CompileTimeError # Please triage this failure.
-Language/Expressions/Property_Extraction/Named_Constructor_Extraction/not_class_t01: CompileTimeError # Please triage this failure.
-Language/Expressions/Property_Extraction/Named_Constructor_Extraction/not_class_t02: CompileTimeError # Please triage this failure.
-Language/Expressions/Property_Extraction/Named_Constructor_Extraction/not_class_t03: CompileTimeError # Please triage this failure.
-Language/Interfaces/Superinterfaces/Inheritance_and_Overriding/inheritance_t03: StaticWarning # Please triage this failure.
-Language/Interfaces/Superinterfaces/Inheritance_and_Overriding/same_name_method_and_getter_t01: CompileTimeError # Please triage this failure.
-Language/Interfaces/Superinterfaces/Inheritance_and_Overriding/same_name_method_and_getter_t02: CompileTimeError # Please triage this failure.
-Language/Mixins/Mixin_Application/error_t01: MissingCompileTimeError # Please triage this failure.
-Language/Mixins/Mixin_Application/error_t02: MissingCompileTimeError # Please triage this failure.
-Language/Mixins/Mixin_Application/warning_t01: MissingStaticWarning # Please triage this failure.
-Language/Mixins/Mixin_Application/warning_t02: MissingStaticWarning # Please triage this failure.
-
-Language/Classes/Getters/static_getter_t02: CompileTimeError # Issue 24534
 Language/Classes/Setters/name_t08: CompileTimeError # Issue 23777
 Language/Classes/Setters/name_t09: CompileTimeError # Issue 23777
 Language/Classes/Setters/name_t10: CompileTimeError # Issue 23777
@@ -361,11 +28,23 @@
 Language/Classes/Setters/name_t13: CompileTimeError # Issue 23777
 Language/Classes/Setters/name_t14: CompileTimeError # Issue 23777
 Language/Classes/Setters/name_t15: CompileTimeError # Issue 23777
+Language/Classes/Setters/type_object_t01: StaticWarning # Please triage this failure.
+Language/Classes/Setters/type_object_t02: StaticWarning # Please triage this failure.
+Language/Classes/Static_Methods/same_name_method_and_setter_t01: MissingStaticWarning # Please triage this failure.
+Language/Classes/Static_Methods/type_object_t01: StaticWarning # Please triage this failure.
+Language/Classes/Static_Methods/type_object_t02: StaticWarning # Please triage this failure.
+Language/Classes/Superclasses/Inheritance_and_Overriding/inheritance_t05: MissingStaticWarning # TBF: Static members should not be accessible via subclasses.
+Language/Classes/method_definition_t06: MissingStaticWarning # Please triage this failure.
 Language/Enums/syntax_t08: MissingCompileTimeError # Please triage this failure.
 Language/Enums/syntax_t09: MissingCompileTimeError # Please triage this failure.
+Language/Expressions/Assignable_Expressions/syntax_t08: StaticWarning
 Language/Expressions/Assignment/super_assignment_static_warning_t03: StaticWarning # Issue 15467
+Language/Expressions/Constants/exception_t01: fail, OK # co19 issue #438, Static variables are initialized lazily, need not be constants
+Language/Expressions/Constants/exception_t02: fail, OK # co19 issue #438, Static variables are initialized lazily, need not be constants
 Language/Expressions/Function_Invocation/Unqualified_Invocation/instance_context_invocation_t03: MissingCompileTimeError # Please triage this failure.
 Language/Expressions/Function_Invocation/Unqualified_Invocation/instance_context_invocation_t04: MissingCompileTimeError # Please triage this failure.
+Language/Expressions/Function_Invocation/Unqualified_Invocation/invocation_t17: MissingCompileTimeError # Please triage this failure
+Language/Expressions/Function_Invocation/Unqualified_Invocation/invocation_t18: MissingCompileTimeError # Please triage this failure
 Language/Expressions/Identifier_Reference/built_in_identifier_t53: MissingCompileTimeError # Issue 25733
 Language/Expressions/Identifier_Reference/built_in_identifier_t54: MissingCompileTimeError # Issue 25733
 Language/Expressions/Identifier_Reference/built_in_identifier_t55: MissingCompileTimeError # Issue 25733
@@ -398,14 +77,104 @@
 Language/Expressions/Identifier_Reference/built_in_not_dynamic_t31: MissingCompileTimeError # Please triage this failure.
 Language/Expressions/Identifier_Reference/built_in_not_dynamic_t32: MissingCompileTimeError # Please triage this failure.
 Language/Expressions/Identifier_Reference/evaluation_type_parameter_t02: MissingCompileTimeError # Please triage this failure.
+Language/Expressions/Instance_Creation/Const/abstract_class_t01/01: MissingCompileTimeError # Please triage this failure.
+Language/Expressions/Instance_Creation/Const/abstract_class_t03/01: MissingCompileTimeError # Please triage this failure.
+Language/Expressions/Lookup/Method_Lookup/superclass_t07: StaticWarning # Please triage this failure.
+Language/Expressions/Lookup/Method_Lookup/superclass_t08: StaticWarning # Please triage this failure.
 Language/Expressions/Method_Invocation/Ordinary_Invocation/object_method_invocation_t01: MissingCompileTimeError # Issue 25496
 Language/Expressions/Method_Invocation/Ordinary_Invocation/object_method_invocation_t02: MissingCompileTimeError # Issue 25496
+Language/Expressions/Method_Invocation/Super_Invocation/accessible_instance_member_t03: StaticWarning # Please triage this failure.
+Language/Expressions/Method_Invocation/Super_Invocation/accessible_instance_member_t04: StaticWarning # Please triage this failure.
+Language/Expressions/Method_Invocation/Super_Invocation/accessible_instance_member_t05: StaticWarning # Please triage this failure.
+Language/Expressions/Property_Extraction/Anonymous_Constructor_Closurization/identical_t01: CompileTimeError # Issue 23777
+Language/Expressions/Property_Extraction/Anonymous_Constructor_Closurization/identical_t02: CompileTimeError # Issue 23777
+Language/Expressions/Property_Extraction/Anonymous_Constructor_Closurization/identical_t03: CompileTimeError # Issue 23777
+Language/Expressions/Property_Extraction/Anonymous_Constructor_Closurization/named_parameters_t01: CompileTimeError # Issue 23777
+Language/Expressions/Property_Extraction/Anonymous_Constructor_Closurization/positional_parameters_t01: CompileTimeError # Issue 23777
 Language/Expressions/Property_Extraction/Anonymous_Constructor_Extraction: CompileTimeError # Issue 23777
+Language/Expressions/Property_Extraction/General_Closurization/expression_evaluation_t01: CompileTimeError # Please triage this failure.
+Language/Expressions/Property_Extraction/General_Closurization/expression_evaluation_t02: CompileTimeError # Please triage this failure.
+Language/Expressions/Property_Extraction/General_Closurization/expression_evaluation_t03: CompileTimeError # Please triage this failure.
+Language/Expressions/Property_Extraction/General_Closurization/getter_lookup_t01: CompileTimeError # Please triage this failure.
+Language/Expressions/Property_Extraction/General_Closurization/getter_lookup_t02: CompileTimeError # Please triage this failure.
+Language/Expressions/Property_Extraction/General_Closurization/getter_lookup_t03: CompileTimeError # Please triage this failure.
+Language/Expressions/Property_Extraction/General_Closurization/getter_lookup_t04: CompileTimeError # Please triage this failure.
+Language/Expressions/Property_Extraction/General_Closurization/getter_lookup_t05: CompileTimeError # Issue 23777
+Language/Expressions/Property_Extraction/General_Closurization/getter_lookup_t06: CompileTimeError # Issue 23777
+Language/Expressions/Property_Extraction/General_Closurization/getter_lookup_t07: CompileTimeError # Issue 23777
+Language/Expressions/Property_Extraction/General_Closurization/getter_lookup_t08: CompileTimeError # Issue 23777
+Language/Expressions/Property_Extraction/General_Closurization/getter_lookup_t09: CompileTimeError # Issue 23777
+Language/Expressions/Property_Extraction/General_Closurization/method_lookup_t01: CompileTimeError # Please triage this failure.
+Language/Expressions/Property_Extraction/General_Closurization/method_lookup_t02: CompileTimeError # Please triage this failure.
+Language/Expressions/Property_Extraction/General_Closurization/method_lookup_t03: CompileTimeError # Please triage this failure.
+Language/Expressions/Property_Extraction/General_Closurization/method_lookup_t04: CompileTimeError # Please triage this failure.
+Language/Expressions/Property_Extraction/General_Closurization/method_lookup_t05: CompileTimeError # Issue 23777
+Language/Expressions/Property_Extraction/General_Closurization/method_lookup_t06: CompileTimeError # Issue 23777
+Language/Expressions/Property_Extraction/General_Closurization/method_lookup_t07: CompileTimeError # Issue 23777
+Language/Expressions/Property_Extraction/General_Closurization/no_accessible_member_t01: CompileTimeError # Please triage this failure.
+Language/Expressions/Property_Extraction/General_Closurization/no_accessible_member_t02: CompileTimeError # Please triage this failure.
+Language/Expressions/Property_Extraction/General_Closurization/no_accessible_member_t03: CompileTimeError # Please triage this failure.
+Language/Expressions/Property_Extraction/General_Closurization/no_accessible_member_t04: CompileTimeError # Please triage this failure.
+Language/Expressions/Property_Extraction/General_Closurization/no_accessible_member_t05: CompileTimeError # Please triage this failure.
+Language/Expressions/Property_Extraction/General_Closurization/no_accessible_member_t06: CompileTimeError # Please triage this failure.
+Language/Expressions/Property_Extraction/General_Closurization/no_accessible_member_t07: CompileTimeError # Please triage this failure.
+Language/Expressions/Property_Extraction/General_Closurization/no_accessible_member_t08: CompileTimeError # Please triage this failure.
+Language/Expressions/Property_Extraction/General_Closurization/setter_lookup_t01: CompileTimeError # Please triage this failure.
+Language/Expressions/Property_Extraction/General_Closurization/setter_lookup_t02: CompileTimeError # Please triage this failure.
+Language/Expressions/Property_Extraction/General_Closurization/setter_lookup_t03: CompileTimeError # Please triage this failure.
+Language/Expressions/Property_Extraction/General_Closurization/setter_lookup_t04: CompileTimeError # Please triage this failure.
+Language/Expressions/Property_Extraction/General_Closurization/setter_lookup_t05: CompileTimeError # Issue 23777
+Language/Expressions/Property_Extraction/General_Closurization/setter_lookup_t06: CompileTimeError # Issue 23777
+Language/Expressions/Property_Extraction/General_Closurization/setter_lookup_t07: CompileTimeError # Issue 23777
+Language/Expressions/Property_Extraction/General_Closurization/setter_lookup_t08: CompileTimeError # Issue 23777
+Language/Expressions/Property_Extraction/General_Closurization/setter_lookup_t09: CompileTimeError # Issue 23777
+Language/Expressions/Property_Extraction/General_Closurization/static_type_t01: CompileTimeError # Please triage this failure.
+Language/Expressions/Property_Extraction/General_Closurization/static_type_t02: CompileTimeError # Please triage this failure.
+Language/Expressions/Property_Extraction/General_Closurization/static_type_t03: CompileTimeError # Please triage this failure.
+Language/Expressions/Property_Extraction/General_Closurization/static_type_t04: CompileTimeError # Please triage this failure.
+Language/Expressions/Property_Extraction/General_Closurization/static_type_t05: CompileTimeError # Please triage this failure.
+Language/Expressions/Property_Extraction/General_Closurization/static_type_t06: CompileTimeError # Issue 23777
+Language/Expressions/Property_Extraction/General_Closurization/static_type_t07: CompileTimeError # Issue 23777
 Language/Expressions/Property_Extraction/General_Super_Property_Extraction: CompileTimeError # Issue 23777
+Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/class_object_member_t01: MissingCompileTimeError # Please triage this failure.
+Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/class_object_member_t02: MissingCompileTimeError # Please triage this failure.
+Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/class_object_member_t03: MissingCompileTimeError # Please triage this failure.
+Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/class_object_member_t04: MissingCompileTimeError # Please triage this failure.
+Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/class_object_member_t05: MissingCompileTimeError # Please triage this failure.
+Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/class_object_member_t06: MissingCompileTimeError # Please triage this failure.
+Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/class_object_member_t07: MissingCompileTimeError # Please triage this failure.
+Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/class_object_member_t08: MissingCompileTimeError # Please triage this failure.
+Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/expression_evaluation_t07: CompileTimeError # Please triage this failure.
+Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/no_such_method_t01: StaticWarning # Please triage this failure.
+Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/proxy_annotation_t05: StaticWarning # Please triage this failure.
+Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/proxy_annotation_t06: StaticWarning # Please triage this failure.
+Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/proxy_annotation_t07: StaticWarning # Please triage this failure.
+Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/proxy_annotation_t08: StaticWarning # Please triage this failure.
+Language/Expressions/Property_Extraction/Named_Constructor_Closurization/identical_t01: CompileTimeError # Issue 23777
+Language/Expressions/Property_Extraction/Named_Constructor_Closurization/identical_t02: CompileTimeError # Issue 23777
+Language/Expressions/Property_Extraction/Named_Constructor_Closurization/named_parameters_t01: CompileTimeError # Issue 23777
+Language/Expressions/Property_Extraction/Named_Constructor_Closurization/positional_parameters_t01: CompileTimeError # Issue 23777
+Language/Expressions/Property_Extraction/Named_Constructor_Extraction/deferred_type_t01: CompileTimeError # Please triage this failure.
+Language/Expressions/Property_Extraction/Named_Constructor_Extraction/malformed_type_t01: CompileTimeError # Please triage this failure.
+Language/Expressions/Property_Extraction/Named_Constructor_Extraction/malformed_type_t02: CompileTimeError # Please triage this failure.
+Language/Expressions/Property_Extraction/Named_Constructor_Extraction/not_class_t01: CompileTimeError # Please triage this failure.
+Language/Expressions/Property_Extraction/Named_Constructor_Extraction/not_class_t02: CompileTimeError # Please triage this failure.
+Language/Expressions/Property_Extraction/Named_Constructor_Extraction/not_class_t03: CompileTimeError # Please triage this failure.
 Language/Expressions/Property_Extraction/Named_Constructor_Extraction: CompileTimeError # Issue 23777
 Language/Expressions/Property_Extraction/Ordinary_Member_Closurization: CompileTimeError # Issue 23777
 Language/Expressions/Property_Extraction/Super_Closurization: CompileTimeError # Issue 23777
+Language/Interfaces/Superinterfaces/Inheritance_and_Overriding/inheritance_t03: StaticWarning # Please triage this failure.
+Language/Interfaces/Superinterfaces/Inheritance_and_Overriding/same_name_method_and_getter_t01: CompileTimeError # Please triage this failure.
+Language/Interfaces/Superinterfaces/Inheritance_and_Overriding/same_name_method_and_getter_t02: CompileTimeError # Please triage this failure.
+Language/Libraries_and_Scripts/Imports/deferred_import_t02: CompileTimeError # co19 issue 60.
 Language/Libraries_and_Scripts/Imports/invalid_uri_deferred_t02: CompileTimeError # Please triage this failure.
+Language/Libraries_and_Scripts/Parts/compilation_t01: Pass, MissingCompileTimeError # Issue 26692
+Language/Libraries_and_Scripts/Parts/compilation_t02: Pass, MissingCompileTimeError # Issue 26692
+Language/Libraries_and_Scripts/Parts/compilation_t04: Pass, CompileTimeError # Issue 26592
+Language/Libraries_and_Scripts/Parts/compilation_t15: fail, pass # Issue 23595
+Language/Libraries_and_Scripts/Scripts/syntax_t11: Pass, CompileTimeError # Issue 26592
+Language/Mixins/Mixin_Application/error_t01: MissingCompileTimeError # Please triage this failure.
+Language/Mixins/Mixin_Application/error_t02: MissingCompileTimeError # Please triage this failure.
 Language/Mixins/Mixin_Application/static_warning_t01: CompileTimeError # Issue 26409
 Language/Mixins/Mixin_Application/static_warning_t02: CompileTimeError # Issue 26409
 Language/Mixins/Mixin_Application/superinterfaces_t06: CompileTimeError # Issue 26409
@@ -420,42 +189,368 @@
 Language/Mixins/Mixin_Application/syntax_t23: CompileTimeError # Issue 26409
 Language/Mixins/Mixin_Application/syntax_t24: CompileTimeError # Issue 26409
 Language/Mixins/Mixin_Application/syntax_t25: CompileTimeError # Issue 26409
+Language/Mixins/Mixin_Application/warning_t01: MissingStaticWarning # Please triage this failure.
+Language/Mixins/Mixin_Application/warning_t02: MissingStaticWarning # Please triage this failure.
 Language/Mixins/declaring_constructor_t05: MissingCompileTimeError # Issue 24767
 Language/Mixins/declaring_constructor_t06: MissingCompileTimeError # Issue 24767
+Language/Statements/Assert/type_t04: MissingStaticWarning
+Language/Statements/Switch/last_statement_t03: MissingStaticWarning
 Language/Statements/Yield_and_Yield_Each/Yield_Each/location_t01: MissingCompileTimeError # Issue 25495
 Language/Statements/Yield_and_Yield_Each/Yield_Each/location_t03: MissingCompileTimeError # Issue 25495
 Language/Statements/Yield_and_Yield_Each/Yield_Each/location_t05: MissingCompileTimeError # Issue 25495
-
-Language/Expressions/Property_Extraction/Anonymous_Constructor_Closurization/identical_t01: CompileTimeError # Issue 23777
-Language/Expressions/Property_Extraction/Anonymous_Constructor_Closurization/identical_t02: CompileTimeError # Issue 23777
-Language/Expressions/Property_Extraction/Anonymous_Constructor_Closurization/identical_t03: CompileTimeError # Issue 23777
-Language/Expressions/Property_Extraction/Anonymous_Constructor_Closurization/positional_parameters_t01: CompileTimeError # Issue 23777
-Language/Expressions/Property_Extraction/Anonymous_Constructor_Closurization/named_parameters_t01: CompileTimeError # Issue 23777
-Language/Expressions/Property_Extraction/Named_Constructor_Closurization/identical_t01: CompileTimeError # Issue 23777
-Language/Expressions/Property_Extraction/Named_Constructor_Closurization/identical_t02: CompileTimeError # Issue 23777
-Language/Expressions/Property_Extraction/Named_Constructor_Closurization/positional_parameters_t01: CompileTimeError # Issue 23777
-Language/Expressions/Property_Extraction/Named_Constructor_Closurization/named_parameters_t01: CompileTimeError # Issue 23777
-Language/Expressions/Identifier_Reference/evaluation_library_or_getter_t05: StaticWarning # Misspelled "@static-waning"
-LibTest/core/Set/IterableBase_A01_t01: StaticWarning # Imports libraries with static warnings
-LibTest/collection/LinkedHashSet/LinkedHashSet_class_A01_t01: StaticWarning # Imports libraries with static warnings
-LibTest/collection/IterableBase/IterableBase_class_A01_t02: StaticWarning # Imports libraries with static warnings
+Language/Types/Interface_Types/subtype_t12: fail, OK # co19 issue #442, undefined name "Expect"
+Language/Variables/final_or_static_initialization_t01: MissingCompileTimeError # Please triage this failure
+Language/Variables/final_or_static_initialization_t02: MissingCompileTimeError # Please triage this failure
+Language/Variables/final_or_static_initialization_t03: MissingCompileTimeError # Please triage this failure
+Language/Variables/final_t04: MissingCompileTimeError # Please triage this failure
+Language/Variables/final_t05: MissingCompileTimeError # Please triage this failure
+Language/Variables/final_t06: MissingCompileTimeError # Please triage this failure
+Language/Variables/final_t07: MissingCompileTimeError # Please triage this failure
+LayoutTests/fast/animation/request-animation-frame-missing-arguments_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/backgrounds/001_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/canvas/canvas-arc-negative-radius_t01: StaticWarning # Issue 20939
+LayoutTests/fast/canvas/canvas-createImageBitmap-animated_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-array-buffer-view_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/canvas/webgl/webgl-specific_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/DOMImplementation/createDocument-namespace-err_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/DOMImplementation/createDocumentType-err_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/Document/CaretRangeFromPoint/caretRangeFromPoint-in-zoom-and-scroll_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/Element/scrollWidth_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/HTMLAnchorElement/anchor-ismap-crash_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/HTMLAnchorElement/set-href-attribute-rebase_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/HTMLBaseElement/href-attribute-resolves-with-respect-to-document_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/HTMLDialogElement/inert-does-not-match-disabled-selector_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/HTMLDialogElement/show-modal-focusing-steps_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/HTMLDialogElement/top-layer-position-relative_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/HTMLDialogElement/top-layer-position-static_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/HTMLDocument/clone-node_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/HTMLInputElement/size-attribute_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/HTMLLabelElement/form/test1_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/HTMLLabelElement/label-control_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/HTMLObjectElement/set-type-to-null-crash_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/HTMLOptionElement/collection-setter-getter_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/HTMLScriptElement/isURLAttribute_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/HTMLScriptElement/script-async-attr_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/HTMLScriptElement/script-set-src_t01: StaticWarning
+LayoutTests/fast/dom/HTMLTableElement/createCaption_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/HTMLTableElement/insert-row_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/HTMLTemplateElement/custom-element-wrapper-gc_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/HTMLTemplateElement/inertContents_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/HTMLTemplateElement/no-form-association_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/MutationObserver/clear-transient-without-delivery_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/MutationObserver/disconnect-cancel-pending_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/MutationObserver/document-fragment-insertion_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/MutationObserver/mutation-record-constructor_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/MutationObserver/observe-exceptions_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/NodeList/nodelist-reachable_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/Range/missing-arguments_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/Range/surroundContents-check-boundary-points_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/StyleSheet/detached-parent-rule-without-wrapper_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/StyleSheet/removed-media-rule-deleted-parent-crash_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/StyleSheet/removed-stylesheet-rule-deleted-parent-crash_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/TreeWalker/TreeWalker-basic_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/Window/atob-btoa_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/Window/replaceable_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/Window/window-scroll-arguments_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/characterdata-api-arguments_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/css-cached-import-rule_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/css-insert-import-rule-twice_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/css-insert-import-rule_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/css-mediarule-deleteRule-update_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/css-mediarule-functions_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/css-mediarule-insertRule-update_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/css-rule-functions_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/destroy-selected-radio-button-crash_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/icon-url-change_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/icon-url-list_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/implementation-api-args_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/javascript-backslash_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/location-missing-arguments_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/navigatorcontentutils/is-protocol-handler-registered_t01: Skip # Please triage this failure. isProtocolHandlerRegistered and unregisterProtocolHandler don't exist
+LayoutTests/fast/dom/navigatorcontentutils/unregister-protocol-handler_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/option-properties_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/remove-named-attribute-crash_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/shadow/content-pseudo-element-css-text_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/shadow/content-pseudo-element-relative-selector-css-text_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/shadow/shadow-root-js-api_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/dom/text-api-arguments_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/events/event-creation_t01: Skip # Roll 45 OverflowEvent removed
+LayoutTests/fast/events/initkeyboardevent-crash_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/forms/checkValidity-001_t01: fail
+LayoutTests/fast/html/article-element_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/html/aside-element_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/html/imports/import-element-removed-flag_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/html/imports/import-events_t01: CompileTimeError # Please triage this failure.
+LayoutTests/fast/html/imports/import-events_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/html/select-dropdown-consistent-background-color_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/html/text-field-input-types_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/inline/boundingBox-with-continuation_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/loader/about-blank-hash-kept_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/loader/hashchange-event-properties_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/loader/scroll-position-restored-on-reload-at-load-event_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/loader/stateobjects/replacestate-in-onunload_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/media/media-query-list-syntax_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/media/mq-append-delete_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/media/mq-color-index_t02: StaticWarning # Please triage this failure.
+LayoutTests/fast/media/mq-js-media-except_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/media/mq-js-media-except_t02: StaticWarning # Please triage this failure.
+LayoutTests/fast/media/mq-parsing_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/mediastream/RTCPeerConnection-AddRemoveStream_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/multicol/vertical-lr/float-truncation_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/multicol/vertical-lr/image-inside-nested-blocks-with-border_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/multicol/vertical-rl/float-truncation_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/overflow/scroll-vertical-not-horizontal_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/ruby/after-doesnt-crash_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/shapes/shape-outside-floats/shape-outside-big-box-border-radius_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/shapes/shape-outside-floats/shape-outside-floats-diamond-margin-polygon_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/shapes/shape-outside-floats/shape-outside-floats-image-margin_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/shapes/shape-outside-floats/shape-outside-floats-image-margin_t02: StaticWarning # Please triage this failure.
+LayoutTests/fast/shapes/shape-outside-floats/shape-outside-rounded-boxes_t01: StaticWarning # Please triage this failure.
+LayoutTests/fast/xmlhttprequest/xmlhttprequest-get_t01: Skip # Roll 45 clipboardData changed
+LayoutTests/fast/xpath/4XPath/Core/test_core_functions_t01: StaticWarning # co19 issue 703
+LibTest/async/StreamController/EventSink_class_A01_t01: StaticWarning # Please triage this failure.
+LibTest/async/StreamController/StreamConsumer_class_A01_t01: StaticWarning # Please triage this failure.
+LibTest/collection/DoubleLinkedQueue/DoubleLinkedQueue_class_A01_t01: Fail, OK # co19 issue 642, The argument type 'int' cannot be assigned to the parameter type 'Iterable'
+LibTest/collection/HashMap/HashMap_class_A01_t01: StaticWarning # Please triage this failure.
 LibTest/collection/HashSet/HashSet_class_A01_t01: StaticWarning # Imports libraries with static warnings
-Language/Expressions/Property_Extraction/General_Closurization/method_lookup_t05: CompileTimeError # Issue 23777
-Language/Expressions/Property_Extraction/General_Closurization/method_lookup_t06: CompileTimeError # Issue 23777
-Language/Expressions/Property_Extraction/General_Closurization/method_lookup_t07: CompileTimeError # Issue 23777
-Language/Expressions/Property_Extraction/General_Closurization/getter_lookup_t05: CompileTimeError # Issue 23777
-Language/Expressions/Property_Extraction/General_Closurization/getter_lookup_t06: CompileTimeError # Issue 23777
-Language/Expressions/Property_Extraction/General_Closurization/getter_lookup_t07: CompileTimeError # Issue 23777
-Language/Expressions/Property_Extraction/General_Closurization/getter_lookup_t08: CompileTimeError # Issue 23777
-Language/Expressions/Property_Extraction/General_Closurization/getter_lookup_t09: CompileTimeError # Issue 23777
-Language/Expressions/Property_Extraction/General_Closurization/setter_lookup_t05: CompileTimeError # Issue 23777
-Language/Expressions/Property_Extraction/General_Closurization/setter_lookup_t06: CompileTimeError # Issue 23777
-Language/Expressions/Property_Extraction/General_Closurization/setter_lookup_t07: CompileTimeError # Issue 23777
-Language/Expressions/Property_Extraction/General_Closurization/setter_lookup_t08: CompileTimeError # Issue 23777
-Language/Expressions/Property_Extraction/General_Closurization/setter_lookup_t09: CompileTimeError # Issue 23777
-Language/Expressions/Property_Extraction/General_Closurization/static_type_t06: CompileTimeError # Issue 23777
-Language/Expressions/Property_Extraction/General_Closurization/static_type_t07: CompileTimeError # Issue 23777
-Language/Libraries_and_Scripts/Scripts/syntax_t11: Pass, CompileTimeError # Issue 26592
-Language/Libraries_and_Scripts/Parts/compilation_t04: Pass, CompileTimeError # Issue 26592
-Language/Libraries_and_Scripts/Parts/compilation_t02: Pass, MissingCompileTimeError # Issue 26692
-Language/Libraries_and_Scripts/Parts/compilation_t01: Pass, MissingCompileTimeError # Issue 26692
+LibTest/collection/IterableBase/IterableBase_class_A01_t02: StaticWarning # Imports libraries with static warnings
+LibTest/collection/IterableMixin/IterableMixin_class_A02_t01: StaticWarning # Please triage this failure.
+LibTest/collection/LinkedHashMap/LinkedHashMap_class_A01_t01: StaticWarning # Please triage this failure.
+LibTest/collection/LinkedHashSet/LinkedHashSet_class_A01_t01: StaticWarning # Imports libraries with static warnings
+LibTest/collection/ListQueue/ListQueue_class_A01_t01: Fail, OK # co19 issue 642, The argument type 'int' cannot be assigned to the parameter type 'Iterable'
+LibTest/collection/MapView/MapView_class_A01_t01: StaticWarning # Please triage this failure.
+LibTest/collection/Queue/Queue_class_A01_t01: Fail, OK # co19 issue 642, The argument type 'int' cannot be assigned to the parameter type 'Iterable'
+LibTest/collection/SetBase/SetBase_class_A01_t01: StaticWarning # Please triage this failure.
+LibTest/collection/SetMixin/SetMixin_class_A01_t01: StaticWarning # Please triage this failure.
+LibTest/collection/SplayTreeMap/inherited_tests_A01_t01: StaticWarning # Please triage this failure.
+LibTest/collection/SplayTreeSet/SplayTreeSet_class_A01_t01: StaticWarning # Please triage this failure.
+LibTest/convert/JsonEncoder/JsonEncoder_A01_t01: StaticWarning # Please triage this failure
+LibTest/core/Set/IterableBase_A01_t01: StaticWarning # Imports libraries with static warnings
+LibTest/html/CanvasRenderingContext2D/addEventListener_A01_t03: StaticWarning # Please triage this failure.
+LibTest/html/Document/adoptNode_A01_t01: StaticWarning # Please triage this failure.
+LibTest/html/Document/childNodes_A01_t01: StaticWarning # Please triage this failure.
+LibTest/html/Document/importNode_A01_t01: StaticWarning # Please triage this failure.
+LibTest/html/Document/securityPolicy_A01_t01: StaticWarning # Please triage this failure.
+LibTest/html/HttpRequest/responseText_A01_t02: StaticWarning # Please triage this failure.
+LibTest/html/HttpRequest/responseType_A01_t03: CompileTimeError # Please triage this failure.
+LibTest/html/IFrameElement/attributeChanged_A01_t01: StaticWarning # Please triage this failure.
+LibTest/html/IFrameElement/contentWindow_A01_t01: StaticWarning # Please triage this failure.
+LibTest/html/IFrameElement/enteredView_A01_t01: CompileTimeError # Please triage this failure.
+LibTest/html/IFrameElement/getNamespacedAttributes_A01_t01: StaticWarning # Please triage this failure.
+LibTest/html/IFrameElement/outerHtml_setter_A01_t01: StaticWarning # Please triage this failure.
+LibTest/html/Node/childNodes_A01_t02: StaticWarning # Please triage this failure.
+LibTest/html/Node/contains_A01_t02: StaticWarning # Please triage this failure.
+LibTest/html/Node/dispatchEvent_A01_t01: StaticWarning # Please triage this failure.
+LibTest/html/Node/nodes_A01_t01: StaticWarning # Please triage this failure.
+LibTest/html/Window/document_A01_t01: StaticWarning # Please triage this failure.
+LibTest/html/Window/moveBy_A01_t01: StaticWarning # Please triage this failure.
+LibTest/html/Window/moveTo_A01_t01: StaticWarning # Please triage this failure.
+LibTest/html/Window/moveTo_A02_t01: StaticWarning # Please triage this failure.
+LibTest/html/Window/postMessage_A01_t01: StaticWarning # Please triage this failure.
+LibTest/html/Window/postMessage_A01_t02: StaticWarning # Please triage this failure.
+LibTest/html/Window/requestFileSystem_A01_t01: StaticWarning # Please triage this failure.
+LibTest/html/Window/requestFileSystem_A01_t02: StaticWarning # Please triage this failure.
+LibTest/html/Window/requestFileSystem_A02_t01: StaticWarning # Please triage this failure.
+LibTest/html/Window/resizeBy_A01_t01: StaticWarning # Please triage this failure.
+LibTest/html/Window/resizeTo_A01_t01: StaticWarning # Please triage this failure.
+LibTest/isolate/Isolate/spawnUri_A02_t01: StaticWarning # co19 issue 74
+LibTest/isolate/Isolate/spawnUri_A02_t06: StaticWarning # co19 issue 74
+LibTest/isolate/Isolate/spawnUri_A02_t07: StaticWarning # co19 issue 74
+LibTest/isolate/Isolate/spawn_A02_t04: StaticWarning # co19 issue 74
+LibTest/isolate/Isolate/spawn_A02_t05: StaticWarning # co19 issue 74
+LibTest/isolate/Isolate/spawn_A02_t06: StaticWarning # co19 issue 74
+LibTest/isolate/Isolate/spawn_A02_t07: StaticWarning # co19 issue 74
+LibTest/isolate/Isolate/spawn_A04_t01: StaticWarning # co19 issue 74
+LibTest/isolate/Isolate/spawn_A04_t02: StaticWarning # co19 issue 74
+LibTest/isolate/Isolate/spawn_A04_t03: StaticWarning # co19 issue 74
+LibTest/isolate/Isolate/spawn_A04_t04: StaticWarning # co19 issue 74
+LibTest/isolate/Isolate/spawn_A04_t05: StaticWarning # co19 issue 74
+LibTest/isolate/Isolate/spawn_A05_t03: StaticWarning # co19 issue 74
+LibTest/isolate/Isolate/spawn_A06_t01: StaticWarning # co19 issue 74
+LibTest/isolate/Isolate/spawn_A06_t02: StaticWarning # co19 issue 74
+LibTest/isolate/Isolate/spawn_A06_t03: StaticWarning # co19 issue 74
+LibTest/isolate/Isolate/spawn_A06_t04: StaticWarning # co19 issue 74
+LibTest/isolate/Isolate/spawn_A06_t05: StaticWarning # co19 issue 74
+LibTest/isolate/Isolate/spawn_A06_t06: StaticWarning # co19 issue 74
+LibTest/isolate/Isolate/spawn_A06_t07: StaticWarning # co19 issue 74
+LibTest/isolate/IsolateStream/any_A01_t01: Fail # Please triage this failure.
+LibTest/isolate/IsolateStream/any_A02_t01: Fail # Please triage this failure.
+LibTest/isolate/IsolateStream/asBroadcastStream_A01_t01: Fail # Please triage this failure.
+LibTest/isolate/IsolateStream/contains_A01_t01: Fail # Please triage this failure.
+LibTest/isolate/IsolateStream/contains_A02_t01: Fail # Please triage this failure.
+LibTest/isolate/IsolateStream/first_A01_t01: Fail # Please triage this failure.
+LibTest/isolate/IsolateStream/first_A02_t01: Fail # Please triage this failure.
+LibTest/isolate/IsolateStream/first_A02_t02: Fail # Please triage this failure.
+LibTest/isolate/IsolateStream/isBroadcast_A01_t01: Fail # Please triage this failure.
+LibTest/isolate/IsolateStream/isBroadcast_A01_t02: Fail # Please triage this failure.
+LibTest/isolate/IsolateStream/isEmpty_A01_t01: Fail # Please triage this failure.
+LibTest/isolate/IsolateStream/last_A01_t01: Fail # Please triage this failure.
+LibTest/isolate/IsolateStream/last_A02_t01: Fail # Please triage this failure.
+LibTest/isolate/IsolateStream/length_A01_t01: Fail # Please triage this failure.
+LibTest/isolate/IsolateStream/single_A01_t01: Fail # Please triage this failure.
+LibTest/isolate/IsolateStream/single_A02_t01: Fail # Please triage this failure.
+LibTest/isolate/ReceivePort/receive_A01_t01: Fail # Please triage this failure.
+LibTest/isolate/ReceivePort/receive_A01_t02: Fail # Please triage this failure.
+LibTest/isolate/ReceivePort/receive_A01_t03: Fail # Please triage this failure.
+LibTest/isolate/ReceivePort/sendPort_A01_t01: StaticWarning # Please triage this failure.
+LibTest/isolate/ReceivePort/toSendPort_A01_t01: Fail # Please triage this failure.
+LibTest/isolate/ReceivePort/toSendPort_A01_t02: Fail # Please triage this failure.
+LibTest/isolate/ReceivePort/toSendPort_A01_t03: Fail # Please triage this failure.
+LibTest/isolate/SendPort/call_A01_t01: Fail # Please triage this failure.
+LibTest/isolate/SendPort/send_A02_t03: Fail # Please triage this failure.
+LibTest/isolate/SendPort/send_A02_t04: Fail # Please triage this failure.
+LibTest/isolate/SendPort/send_A02_t05: Fail # Please triage this failure.
+LibTest/isolate/SendPort/send_A02_t06: Fail # Please triage this failure.
+LibTest/isolate/SendPort/send_A03_t01: Fail # Please triage this failure.
+LibTest/isolate/SendPort/send_A03_t02: Fail # Please triage this failure.
+LibTest/math/Point/operator_addition_A02_t01: StaticWarning # Please triage this failure.
+LibTest/math/Point/operator_mult_A03_t01: StaticWarning # Please triage this failure.
+LibTest/math/Point/operator_subtraction_A02_t01: StaticWarning # Please triage this failure.
+LibTest/typed_data/Float32x4/equal_A01_t01: Skip # co19 issue 656
+LibTest/typed_data/Float32x4/greaterThanOrEqual_A01_t01: Skip # co19 issue 656
+LibTest/typed_data/Float32x4/greaterThan_A01_t01: Skip # co19 issue 656
+LibTest/typed_data/Float32x4/lessThanOrEqual_A01_t01: Skip # co19 issue 656
+LibTest/typed_data/Float32x4/lessThan_A01_t01: Skip # co19 issue 656
+LibTest/typed_data/Float32x4/notEqual_A01_t01: Skip # co19 issue 656
+WebPlatformTest/DOMEvents/approved/Event.bubbles.false_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/DOMEvents/approved/Propagation.path.target.removed_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/custom-elements/*: Pass, StaticWarning # Issue 18095.
+WebPlatformTest/dom/Node-replaceChild_t01: CompileTimeError # Please triage this failure.
+WebPlatformTest/dom/collections/emptyName_A01_t03: StaticWarning # Please triage this failure.
+WebPlatformTest/dom/events/event_constants/constants_A01_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/dom/nodes/DOMImplementation-createDocument_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/dom/nodes/DOMImplementation-createHTMLDocument_t01: CompileTimeError # Please triage this failure.
+WebPlatformTest/dom/nodes/Document-createElement-namespace_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/dom/nodes/Document-createElement_t01: CompileTimeError # Please triage this failure.
+WebPlatformTest/dom/nodes/Element-childElementCount-nochild_t01: CompileTimeError # Please triage this failure.
+WebPlatformTest/dom/nodes/Node-appendChild_t02: StaticWarning # Please triage this failure.
+WebPlatformTest/dom/nodes/Node-contains_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/dom/nodes/Node-isEqualNode_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/dom/nodes/Node-parentNode_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/html/browsers/browsing-the-web/read-media/pageload-image_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/html/browsers/browsing-the-web/read-media/pageload-video_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/html/browsers/browsing-the-web/read-text/load-text-plain_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/html/dom/documents/dom-tree-accessors/document.body-getter_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/html/dom/documents/dom-tree-accessors/document.body-setter_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/html/dom/documents/dom-tree-accessors/document.head_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/html/dom/documents/dom-tree-accessors/document.title_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/html/dom/documents/dom-tree-accessors/document.title_t07: StaticWarning # Please triage this failure.
+WebPlatformTest/html/dom/elements/global-attributes/dataset-delete_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/html/dom/elements/global-attributes/dataset-get_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/html/dom/elements/global-attributes/dataset-set_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/html/semantics/document-metadata/styling/LinkStyle_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/html/semantics/embedded-content/media-elements/error-codes/error_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/html/semantics/embedded-content/media-elements/interfaces/TextTrack/mode_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/html/semantics/embedded-content/the-audio-element/audio_constructor_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/html/semantics/forms/attributes-common-to-form-controls/formAction_document_address_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/html/semantics/forms/textfieldselection/selection_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/html/semantics/forms/the-datalist-element/datalistelement_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/html/semantics/forms/the-datalist-element/datalistoptions_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/html/semantics/forms/the-fieldset-element/disabled_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/html/semantics/forms/the-input-element/email_t02: StaticWarning # co19 issue 701
+WebPlatformTest/html/semantics/forms/the-textarea-element/textarea-type_t01: fail
+WebPlatformTest/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/t01: StaticWarning # Please triage this failure.
+WebPlatformTest/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/t02: StaticWarning # Please triage this failure.
+WebPlatformTest/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/t03: StaticWarning # Please triage this failure.
+WebPlatformTest/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/t04: StaticWarning # Please triage this failure.
+WebPlatformTest/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/t05: StaticWarning # Please triage this failure.
+WebPlatformTest/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/t06: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-001_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-004_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-004_t02: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-005_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-006_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/elements-001_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/test-001_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/test-002_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/test-003_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/elements-and-dom-objects/extensions-to-event-interface/event-path-001_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-007_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-008_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-009_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-010_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-011_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-012_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-013_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-001_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-006_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-007_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-010_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/elements-and-dom-objects/the-content-html-element/test-001_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/elements-and-dom-objects/the-content-html-element/test-002_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/elements-and-dom-objects/the-content-html-element/test-003_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/elements-and-dom-objects/the-content-html-element/test-004_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/elements-and-dom-objects/the-content-html-element/test-004_t02: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/elements-and-dom-objects/the-content-html-element/test-005_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/elements-and-dom-objects/the-content-html-element/test-006_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-001_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-002_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-003_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-003_t02: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-004_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-005_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/events/event-dispatch/test-001_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/events/event-dispatch/test-002_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/events/event-dispatch/test-003_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/events/event-retargeting/test-001_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/events/event-retargeting/test-002_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/events/event-retargeting/test-003_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/events/event-retargeting/test-004_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/events/events-that-are-always-stopped/test-001_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/events/events-that-are-always-stopped/test-002_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/events/events-that-are-always-stopped/test-003_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/events/events-that-are-always-stopped/test-004_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/events/events-that-are-always-stopped/test-005_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/events/events-that-are-always-stopped/test-006_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/events/events-that-are-always-stopped/test-007_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/events/events-that-are-always-stopped/test-008_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/events/events-that-are-always-stopped/test-009_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/events/retargeting-focus-events/test-001_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/events/retargeting-focus-events/test-001_t02: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/events/retargeting-focus-events/test-001_t03: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/events/retargeting-focus-events/test-001_t04: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/events/retargeting-focus-events/test-001_t05: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/events/retargeting-focus-events/test-001_t06: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/events/retargeting-focus-events/test-002_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/events/retargeting-focus-events/test-003_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/events/retargeting-relatedtarget/test-001_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/events/retargeting-relatedtarget/test-002_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/events/retargeting-relatedtarget/test-003_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/html-elements-and-their-shadow-trees/test-001_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/html-elements-and-their-shadow-trees/test-002_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/html-elements-and-their-shadow-trees/test-003_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/html-elements-and-their-shadow-trees/test-004_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/html-elements-in-shadow-trees/html-forms/test-001_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/html-elements-in-shadow-trees/html-forms/test-002_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/html-elements-in-shadow-trees/inert-html-elements/test-002_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/shadow-trees/composition/test-001_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/shadow-trees/custom-pseudo-elements/test-001_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/shadow-trees/distributed-pseudo-element/test-001_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/shadow-trees/distributed-pseudo-element/test-002_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/shadow-trees/hosting-multiple-shadow-trees/test-001_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/shadow-trees/hosting-multiple-shadow-trees/test-002_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/shadow-trees/hosting-multiple-shadow-trees/test-003_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-003_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/shadow-trees/lower-boundary-encapsulation/test-003_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/shadow-trees/lower-boundary-encapsulation/test-004_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/shadow-trees/lower-boundary-encapsulation/test-005_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/shadow-trees/nested-shadow-trees/test-001_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/shadow-trees/rendering-shadow-trees/test-001_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/shadow-trees/reprojection/test-001_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/shadow-trees/satisfying-matching-criteria/test-001_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/shadow-trees/satisfying-matching-criteria/test-002_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/shadow-trees/satisfying-matching-criteria/test-003_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/shadow-trees/satisfying-matching-criteria/test-004_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/shadow-trees/satisfying-matching-criteria/test-005_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/shadow-trees/satisfying-matching-criteria/test-006_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/shadow-trees/satisfying-matching-criteria/test-017_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-002_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/ownerdocument-001_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/ownerdocument-002_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/selectors-api-001_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/selectors-api-002_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/shadow-root-001_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-005_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-007_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-009_t01: StaticWarning # Please triage this failure.
+WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-011_t01: StaticWarning # Please triage this failure.
diff --git a/tests/co19/co19-co19.status b/tests/co19/co19-co19.status
index 9d68884..8b1627d 100644
--- a/tests/co19/co19-co19.status
+++ b/tests/co19/co19-co19.status
@@ -18,37 +18,30 @@
 
 LibTest/core/RegExp/firstMatch_A01_t01: Fail # co19 issue 742
 
+[ $system == linux ]
+LibTest/collection/ListBase/ListBase_class_A01_t01: Fail # co19 issue 72
+LibTest/collection/ListBase/ListBase_class_A01_t02: Fail # co19 issue 72
+LibTest/collection/ListBase/listToString_A01_t01: Fail # co19 issue 72
+LibTest/collection/ListBase/listToString_A02_t01: Fail # co19 issue 72
+LibTest/collection/MapBase/MapBase_class_A01_t01: Fail # co19 issue 72
+LibTest/collection/MapMixin/MapMixin_class_A01_t01: Fail # co19 issue 72
+
 [ $compiler != dart2analyzer ]
 # Tests that fail on every runtime, but not on the analyzer.
-LibTest/isolate/ReceivePort/asBroadcastStream_A02_t01: Fail # co19 issue 687
-LibTest/async/Stream/asBroadcastStream_A02_t01: Fail # co19 issue 687
-
-LibTest/core/Symbol/Symbol_A01_t04: RuntimeError # Issue 25804
-
 Language/Classes/same_name_type_variable_t04: Pass, MissingCompileTimeError, Fail # Issue 14513,25525
 Language/Classes/same_name_type_variable_t07: Pass, MissingCompileTimeError, Fail # Issue 14513,25525
-
 Language/Expressions/Instance_Creation/Const/abstract_class_t01: Pass, Fail # co19 issue 66
 Language/Expressions/Instance_Creation/Const/abstract_class_t03: Pass, Fail # co19 issue 66
-
-LibTest/math/acos_A01_t01: PASS, FAIL, OK  # Issue 26261
-LibTest/math/asin_A01_t01: PASS, FAIL, OK  # Issue 26261
-LibTest/math/atan_A01_t01: PASS, FAIL, OK  # Issue 26261
-
-LibTest/math/cos_A01_t01: PASS, FAIL, OK  # Issue 26261
-LibTest/math/tan_A01_t01: PASS, FAIL, OK  # Issue 26261
-
+LibTest/async/Stream/asBroadcastStream_A02_t01: Fail # co19 issue 687
+LibTest/collection/DoubleLinkedQueue/DoubleLinkedQueue_class_A01_t01: RuntimeError # Issue 27183
+LibTest/collection/LinkedListEntry/unlink_A01_t02: Fail # co19 pull request 73
 LibTest/core/Expando/Expando_A03_t01: RuntimeError # Issue 17735
 LibTest/core/Expando/Expando_A03_t03: RuntimeError # Issue 17735
 LibTest/core/Expando/Expando_A03_t04: RuntimeError # Issue 17735
 LibTest/core/Expando/Expando_A03_t05: RuntimeError # Issue 17735
-
-LibTest/core/RegExp/Pattern_semantics/firstMatch_DecimalEscape_A01_t02: Fail # co19 issue 740
 LibTest/core/RegExp/Pattern_semantics/firstMatch_CharacterEscape_A06_t02: RuntimeError # co19 issue 741
-
-LibTest/isolate/SendPort/send_A02_t02: SKIP # co19 issue 493 (not fixed in r672)
-LibTest/isolate/SendPort/send_A02_t03: SKIP # co19 issue 495 (not fixed in r672)
-
+LibTest/core/RegExp/Pattern_semantics/firstMatch_DecimalEscape_A01_t02: Fail # co19 issue 740
+LibTest/core/Symbol/Symbol_A01_t04: RuntimeError # Issue 25804
 LibTest/isolate/IsolateStream/any_A01_t01: Fail # Co19 issue 639 (Fixed in r674)
 LibTest/isolate/IsolateStream/asBroadcastStream_A01_t01: Fail # Co19 issue 639
 LibTest/isolate/IsolateStream/contains_A01_t01: Fail # Co19 issue 639
@@ -63,15 +56,24 @@
 LibTest/isolate/IsolateStream/length_A01_t01: Fail # Co19 issue 639
 LibTest/isolate/IsolateStream/single_A01_t01: Fail # Co19 issue 639
 LibTest/isolate/IsolateStream/single_A02_t01: Fail # Co19 issue 639
+LibTest/isolate/ReceivePort/asBroadcastStream_A02_t01: Fail # co19 issue 687
 LibTest/isolate/ReceivePort/receive_A01_t01: Fail # Co19 issue 639
 LibTest/isolate/ReceivePort/receive_A01_t03: Fail # Co19 issue 639
 LibTest/isolate/ReceivePort/sendPort_A01_t01: Fail # Co19 issue 639
 LibTest/isolate/SendPort/call_A01_t01: Fail # Co19 issue 639
+LibTest/isolate/SendPort/send_A02_t02: SKIP # co19 issue 493 (not fixed in r672)
+LibTest/isolate/SendPort/send_A02_t03: SKIP # co19 issue 495 (not fixed in r672)
 LibTest/isolate/SendPort/send_A02_t04: Fail # Co19 issue 639
 LibTest/isolate/SendPort/send_A02_t05: Fail # Co19 issue 639
 LibTest/isolate/SendPort/send_A02_t06: Fail # Co19 issue 639
 LibTest/isolate/SendPort/send_A03_t01: Fail # Co19 issue 639
 LibTest/isolate/SendPort/send_A03_t02: Fail # Co19 issue 639
+LibTest/math/acos_A01_t01: PASS, FAIL, OK  # Issue 26261
+LibTest/math/asin_A01_t01: PASS, FAIL, OK  # Issue 26261
+LibTest/math/atan_A01_t01: PASS, FAIL, OK  # Issue 26261
+LibTest/math/cos_A01_t01: PASS, FAIL, OK  # Issue 26261
+LibTest/math/tan_A01_t01: PASS, FAIL, OK  # Issue 26261
+LibTest/math/log_A01_t01: PASS, FAIL, OK  # Issue 26261
 
 [ $runtime == dartium || $compiler == dart2js ]
 LibTest/async/Future/Future.delayed_A01_t02: Pass, Fail # Issue 15524
diff --git a/tests/co19/co19-dart2js.status b/tests/co19/co19-dart2js.status
index d48159f..0fcf220 100644
--- a/tests/co19/co19-dart2js.status
+++ b/tests/co19/co19-dart2js.status
@@ -11,6 +11,10 @@
 Language/Expressions/Method_Invocation/Ordinary_Invocation/syntax_t05: MissingCompileTimeError
 Language/Expressions/Method_Invocation/Ordinary_Invocation/syntax_t10: MissingCompileTimeError
 Language/Expressions/Method_Invocation/Super_Invocation/syntax_t05: MissingCompileTimeError
+# End of issue 26644
+Language/Variables/final_t01/01: CompileTimeError # co19 issue 77
+Language/Variables/final_t02/01: CompileTimeError # co19 issue 77
+LibTest/isolate/Isolate/spawn_A03_t01: CompileTimeError # co19 issue 77
 
 Language/Classes/Constructors/Generative_Constructors/execution_of_a_superinitializer_t01: RuntimeError # compiler cancelled: cannot resolve type T
 Language/Classes/Constructors/Generative_Constructors/execution_of_a_superinitializer_t01: RuntimeError, OK # co19 issue 258
@@ -58,6 +62,7 @@
 Language/Expressions/Constants/identifier_denotes_a_constant_t07: MissingCompileTimeError # Issue 26580
 Language/Expressions/Function_Invocation/async_generator_invokation_t08: Timeout, Skip # Issue 25967
 Language/Expressions/Function_Invocation/async_generator_invokation_t10: Timeout, Skip # Issue 25967
+Language/Expressions/Function_Invocation/async_invokation_t04: RuntimeError, Pass # co19 issue 57
 Language/Expressions/Identifier_Reference/built_in_identifier_t35: MissingCompileTimeError # Issue 25732
 Language/Expressions/Identifier_Reference/built_in_identifier_t36: MissingCompileTimeError # Issue 25732
 Language/Expressions/Identifier_Reference/built_in_identifier_t37: MissingCompileTimeError # Issue 25732
@@ -91,9 +96,9 @@
 Language/Expressions/Numbers/syntax_t09: fail # Issue 21098
 Language/Expressions/Object_Identity/Object_Identity/constant_objects_t01: fail # Issue 11551, also related to issue 563, 18738
 Language/Expressions/Object_Identity/Object_Identity/double_t02: fail # Issue 11551, also related to issue 563, 18738
-Language/Expressions/Object_Identity/double_t03: RuntimeError # Please triage this failure
 Language/Expressions/Object_Identity/constant_objects_t01: RuntimeError # Please triage this failure
 Language/Expressions/Object_Identity/double_t02: RuntimeError # Please triage this failure
+Language/Expressions/Object_Identity/double_t03: RuntimeError # Please triage this failure
 Language/Expressions/Object_Identity/object_t02: RuntimeError # Issue 1533 (int/double related)
 Language/Expressions/Property_Extraction/Anonymous_Constructor_Closurization/identical_t01: CompileTimeError # Issue 24607
 Language/Expressions/Property_Extraction/Anonymous_Constructor_Closurization/identical_t02: CompileTimeError # Issue 24607
@@ -135,13 +140,6 @@
 Language/Expressions/Property_Extraction/General_Closurization/method_lookup_t05: CompileTimeError # Please triage this failure
 Language/Expressions/Property_Extraction/General_Closurization/method_lookup_t06: CompileTimeError # Please triage this failure
 Language/Expressions/Property_Extraction/General_Closurization/method_lookup_t07: CompileTimeError # Please triage this failure
-Language/Expressions/Property_Extraction/General_Closurization/setter_lookup_t05: CompileTimeError # Please triage this failure
-Language/Expressions/Property_Extraction/General_Closurization/setter_lookup_t06: CompileTimeError # Please triage this failure
-Language/Expressions/Property_Extraction/General_Closurization/setter_lookup_t07: CompileTimeError # Please triage this failure
-Language/Expressions/Property_Extraction/General_Closurization/setter_lookup_t08: CompileTimeError # Please triage this failure
-Language/Expressions/Property_Extraction/General_Closurization/setter_lookup_t09: CompileTimeError # Please triage this failure
-Language/Expressions/Property_Extraction/General_Closurization/static_type_t06: CompileTimeError # Please triage this failure
-Language/Expressions/Property_Extraction/General_Closurization/static_type_t07: CompileTimeError # Please triage this failure
 Language/Expressions/Property_Extraction/General_Closurization/no_accessible_member_t01: CompileTimeError # Please triage this failure
 Language/Expressions/Property_Extraction/General_Closurization/no_accessible_member_t02: CompileTimeError # Please triage this failure
 Language/Expressions/Property_Extraction/General_Closurization/no_accessible_member_t03: CompileTimeError # Please triage this failure
@@ -154,11 +152,19 @@
 Language/Expressions/Property_Extraction/General_Closurization/setter_lookup_t02: CompileTimeError # Please triage this failure
 Language/Expressions/Property_Extraction/General_Closurization/setter_lookup_t03: CompileTimeError # Please triage this failure
 Language/Expressions/Property_Extraction/General_Closurization/setter_lookup_t04: CompileTimeError # Please triage this failure
+Language/Expressions/Property_Extraction/General_Closurization/setter_lookup_t05: CompileTimeError # Please triage this failure
+Language/Expressions/Property_Extraction/General_Closurization/setter_lookup_t06: CompileTimeError # Please triage this failure
+Language/Expressions/Property_Extraction/General_Closurization/setter_lookup_t07: CompileTimeError # Please triage this failure
+Language/Expressions/Property_Extraction/General_Closurization/setter_lookup_t08: CompileTimeError # Please triage this failure
+Language/Expressions/Property_Extraction/General_Closurization/setter_lookup_t09: CompileTimeError # Please triage this failure
 Language/Expressions/Property_Extraction/General_Closurization/static_type_t01: CompileTimeError # Please triage this failure
 Language/Expressions/Property_Extraction/General_Closurization/static_type_t02: CompileTimeError # Please triage this failure
 Language/Expressions/Property_Extraction/General_Closurization/static_type_t03: CompileTimeError # Please triage this failure
 Language/Expressions/Property_Extraction/General_Closurization/static_type_t04: CompileTimeError # Please triage this failure
 Language/Expressions/Property_Extraction/General_Closurization/static_type_t05: CompileTimeError # Please triage this failure
+Language/Expressions/Property_Extraction/General_Closurization/static_type_t06: CompileTimeError # Please triage this failure
+Language/Expressions/Property_Extraction/General_Closurization/static_type_t07: CompileTimeError # Please triage this failure
+Language/Expressions/Property_Extraction/General_Super_Property_Extraction: CompileTimeError # Issue 26287
 Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/class_object_member_t01: MissingCompileTimeError # Please triage this failure
 Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/class_object_member_t02: MissingCompileTimeError # Please triage this failure
 Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/class_object_member_t03: MissingCompileTimeError # Please triage this failure
@@ -169,11 +175,10 @@
 Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/class_object_member_t08: MissingCompileTimeError # Please triage this failure
 Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/expression_evaluation_t07: CompileTimeError # Please triage this failure
 Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/no_such_method_t01: RuntimeError # Please triage this failure
-
-Language/Expressions/Property_Extraction/General_Super_Property_Extraction: CompileTimeError # Issue 26287
-
 Language/Expressions/Property_Extraction/Named_Constructor_Closurization/identical_t01: CompileTimeError # Please triage this failure
 Language/Expressions/Property_Extraction/Named_Constructor_Closurization/identical_t02: CompileTimeError # Please triage this failure
+Language/Expressions/Property_Extraction/Named_Constructor_Closurization/named_parameters_t01: CompileTimeError # Please triage this failure
+Language/Expressions/Property_Extraction/Named_Constructor_Closurization/positional_parameters_t01: CompileTimeError # Please triage this failure
 Language/Expressions/Property_Extraction/Named_Constructor_Extraction/closurization_t01: CompileTimeError # Please triage this failure
 Language/Expressions/Property_Extraction/Named_Constructor_Extraction/closurization_t02: CompileTimeError # Please triage this failure
 Language/Expressions/Property_Extraction/Named_Constructor_Extraction/deferred_type_t01: CompileTimeError # Please triage this failure
@@ -181,7 +186,6 @@
 Language/Expressions/Property_Extraction/Named_Constructor_Extraction/malbounded_type_t02: CompileTimeError # Please triage this failure
 Language/Expressions/Property_Extraction/Named_Constructor_Extraction/malformed_type_t01: CompileTimeError # Please triage this failure
 Language/Expressions/Property_Extraction/Named_Constructor_Extraction/malformed_type_t02: CompileTimeError # Please triage this failure
-Language/Expressions/Property_Extraction/Named_Constructor_Closurization/named_parameters_t01: CompileTimeError # Please triage this failure
 Language/Expressions/Property_Extraction/Named_Constructor_Extraction/no_such_method_t01: CompileTimeError # Please triage this failure
 Language/Expressions/Property_Extraction/Named_Constructor_Extraction/no_such_method_t02: CompileTimeError # Please triage this failure
 Language/Expressions/Property_Extraction/Named_Constructor_Extraction/not_class_t01: CompileTimeError # Please triage this failure
@@ -191,7 +195,6 @@
 Language/Expressions/Property_Extraction/Named_Constructor_Extraction/static_type_t02: CompileTimeError # Please triage this failure
 Language/Expressions/Property_Extraction/Named_Constructor_Extraction/static_type_t03: CompileTimeError # Please triage this failure
 Language/Expressions/Property_Extraction/Named_Constructor_Extraction/static_type_t04: CompileTimeError # Please triage this failure
-Language/Expressions/Property_Extraction/Named_Constructor_Closurization/positional_parameters_t01: CompileTimeError # Please triage this failure
 Language/Expressions/Property_Extraction/Ordinary_Member_Closurization/getter_closurization_t01: CompileTimeError # Please triage this failure
 Language/Expressions/Property_Extraction/Ordinary_Member_Closurization/getter_closurization_t02: CompileTimeError # Please triage this failure
 Language/Expressions/Property_Extraction/Ordinary_Member_Closurization/getter_closurization_t03: CompileTimeError # Please triage this failure
@@ -235,15 +238,14 @@
 Language/Expressions/Property_Extraction/Ordinary_Member_Closurization/setter_closurization_t06: CompileTimeError # Please triage this failure
 Language/Expressions/Property_Extraction/Ordinary_Member_Closurization/setter_closurization_t07: CompileTimeError # Please triage this failure
 Language/Expressions/Property_Extraction/Ordinary_Member_Closurization/setter_closurization_t08: CompileTimeError # Please triage this failure
-
 Language/Expressions/Property_Extraction/Super_Closurization: CompileTimeError # Issue 26287
-
 Language/Expressions/Property_Extraction/Super_Getter_Access_and_Method_Closurization/no_such_method_t01: RuntimeError # Please triage this failure
 Language/Functions/External_Functions/not_connected_to_a_body_t01: CompileTimeError, OK # Issue 5021
 Language/Generics/syntax_t17: fail # Issue 21203
 Language/Interfaces/Superinterfaces/Inheritance_and_Overriding/same_name_method_and_getter_t01: CompileTimeError # Please triage this failure
 Language/Interfaces/Superinterfaces/Inheritance_and_Overriding/same_name_method_and_getter_t02: CompileTimeError # Please triage this failure
-Language/Libraries_and_Scripts/Imports/invalid_uri_deferred_t01: CompileTimeError # Please triage this failure
+Language/Libraries_and_Scripts/Imports/deferred_import_t02: CompileTimeError # co19 issue 60
+Language/Libraries_and_Scripts/Imports/invalid_uri_deferred_t01/01: CompileTimeError # Please triage this failure
 Language/Libraries_and_Scripts/Imports/invalid_uri_deferred_t02: CompileTimeError # Please triage this failure
 Language/Libraries_and_Scripts/Scripts/top_level_main_t05: RuntimeError # Please triage this failure
 Language/Metadata/before_export_t01: RuntimeError # Please triage this failure
@@ -274,8 +276,6 @@
 Language/Mixins/reference_to_super_t01: MissingCompileTimeError # Please triage this failure
 Language/Reference/Lexical_Rules/Reserved_Words/whitespace_t04: MissingCompileTimeError # Checks that other Unicode whitespaces are not allowed:  check NO-BREAK SPACE (U+00A0)
 Language/Reference/Lexical_Rules/whitespace_t06: MissingCompileTimeError # Checks that Unicode whitespaces other than WHITESPACE are not permitted in the source code. Checks symbol U+00a0.
-Language/Reference/Operator_Precedence/precedence_12_Shift_t02: RuntimeError # Issue 26573
-Language/Reference/Operator_Precedence/precedence_15_unary_prefix_t04: RuntimeError # Issue 26573
 Language/Reference/Operator_Precedence/precedence_15_unary_prefix_t08: RuntimeError # Please triage this failure
 Language/Statements/Continue/async_loops_t09: Crash # Please triage this failure
 Language/Statements/Local_Function_Declaration/reference_before_declaration_t01: MissingCompileTimeError # Issue 21050
@@ -288,13 +288,12 @@
 Language/Statements/Yield_and_Yield_Each/Yield_Each/location_t05: MissingCompileTimeError # Issue 25495
 Language/Types/Dynamic_Type_System/deferred_type_error_t01: RuntimeError # Please triage this failure
 Language/Types/Interface_Types/subtype_t27: Skip # Times out or crashes. Issue 21174
-Language/Types/Interface_Types/subtype_t30: fail # Issue 14654
 Language/Types/Interface_Types/subtype_t28: Pass, Fail, Crash # Stack overflow. Issue 25282
-Language/Variables/final_t01: fail # Issue 21093
-Language/Variables/final_t02: fail # Issue 21093
+Language/Types/Interface_Types/subtype_t30: fail # Issue 14654
 Language/Variables/local_variable_t01: MissingCompileTimeError # Issue 21050
 LayoutTests/fast/dom/css-innerHTML_t01: SkipByDesign # Test is incorrect.
 LayoutTests/fast/loader/loadInProgress_t01: Skip # Issue 23466
+LibTest/collection/LinkedHashSet/LinkedHashSet.from_A03_t01: RuntimeError # Please triage this failure.
 LibTest/collection/LinkedList/add_A01_t01: Pass, Slow # Slow tests that needs extra time to finish.
 LibTest/collection/ListBase/ListBase_class_A01_t01: RuntimeError # Please triage this failure
 LibTest/collection/ListMixin/ListMixin_class_A01_t01: RuntimeError # Please triage this failure
@@ -302,8 +301,8 @@
 LibTest/convert/JsonCodec/encode_A01_t02: RuntimeError # code.google.com/p/co19/issues/detail?id=735
 LibTest/convert/JsonDecoder/fuse_A01_t01: RuntimeError # co19-roll r667: Please triage this failure
 LibTest/convert/JsonEncoder/convert_A01_t01: RuntimeError # co19-roll r667: Please triage this failure
-LibTest/core/DateTime/DateTime_A01_t03: fail # co19-roll r546: Please triage this failure
 LibTest/core/DateTime/DateTime.fromMicrosecondsSinceEpoch_A01_t01: RuntimeError # Please triage this failure
+LibTest/core/DateTime/DateTime_A01_t03: fail # co19-roll r546: Please triage this failure
 LibTest/core/DateTime/microsecond_A01_t01: RuntimeError # Please triage this failure
 LibTest/core/DateTime/microsecondsSinceEpoch_A01_t01: RuntimeError # Please triage this failure
 LibTest/core/DateTime/parse_A01_t03: RuntimeError # Please triage this failure
@@ -337,8 +336,12 @@
 LibTest/isolate/Isolate/spawnUri_A01_t03: Fail # Dart issue 15974
 LibTest/isolate/Isolate/spawnUri_A01_t04: Fail # Dart issue 15974
 LibTest/isolate/Isolate/spawnUri_A01_t05: Fail # Dart issue 15974
+LibTest/isolate/Isolate/spawnUri_A01_t06: RuntimeError # Dart issue 15974
+LibTest/isolate/Isolate/spawnUri_A01_t07: RuntimeError # Dart issue 15974
 LibTest/isolate/Isolate/spawnUri_A02_t01: RuntimeError, Pass # Dart issue 15617
 LibTest/isolate/Isolate/spawn_A02_t02: RuntimeError, Pass # Dart issue 15617
+LibTest/isolate/Isolate/spawn_A04_t01: RuntimeError # Dart issue 15974
+LibTest/isolate/Isolate/spawn_A06_t06: Skip # Times out. Please triage this failure.
 LibTest/isolate/SendPort/send_A01_t01: CompileTimeError # co19-roll r706: Please triage this failure
 LibTest/isolate/SendPort/send_A01_t02: CompileTimeError # co19-roll r706: Please triage this failure
 LibTest/isolate/SendPort/send_A01_t03: CompileTimeError # co19-roll r706: Please triage this failure
@@ -458,7 +461,6 @@
 WebPlatformTest/dom/nodes/Document-createElement_t01: CompileTimeError # co19-roll r722: Please triage this failure.
 WebPlatformTest/dom/nodes/Element-childElementCount-nochild_t01: CompileTimeError # co19-roll r722: Please triage this failure.
 WebPlatformTest/webstorage/storage_session_setitem_quotaexceedederr_t01: Pass, Slow
-Language/Expressions/Function_Invocation/async_invokation_t04: RuntimeError, Pass # co19 issue 57
 
 [ $compiler == dart2js && $checked ]
 Language/Errors_and_Warnings/static_warning_t02: RuntimeError # Please triage this failure
@@ -466,6 +468,9 @@
 Language/Errors_and_Warnings/static_warning_t04: RuntimeError # Please triage this failure
 Language/Errors_and_Warnings/static_warning_t05: RuntimeError # Please triage this failure
 Language/Errors_and_Warnings/static_warning_t06: RuntimeError # Please triage this failure
+Language/Expressions/Assignment/Compound_Assignment/null_aware_static_warning_super_t01/01: Fail # Please triage this failure
+Language/Expressions/Assignment/Compound_Assignment/null_aware_static_warning_variable_t01/01: Fail # Please triage this failure
+Language/Expressions/Assignment/super_assignment_static_warning_t04/01: Fail # Please triage this failure
 Language/Expressions/Assignment/super_assignment_dynamic_error_t01: RuntimeError # Please triage this failure
 Language/Expressions/Function_Expressions/static_type_dynamic_async_t03: RuntimeError # Please triage this failure
 Language/Expressions/Function_Expressions/static_type_dynamic_asyncs_t03: RuntimeError # Please triage this failure
@@ -480,18 +485,13 @@
 Language/Functions/async_return_type_t01: RuntimeError # Please triage this failure
 Language/Functions/generator_return_type_t01: RuntimeError # Please triage this failure
 Language/Functions/generator_return_type_t02: RuntimeError # Please triage this failure
-Language/Libraries_and_Scripts/Imports/deferred_import_t02: RuntimeError # co19 issue 60
 Language/Statements/Switch/execution_t01: Fail # Missing type check in switch expression
 Language/Statements/Switch/type_t01: RuntimeError # Issue 16089
 Language/Statements/Return/runtime_type_t04: RuntimeError # Issue 26584
 Language/Types/Static_Types/malformed_type_t01: RuntimeError # Issue 21089
 Language/Types/Dynamic_Type_System/malbounded_type_error_t01: RuntimeError # Issue 21088
 Language/Types/Parameterized_Types/malbounded_t06: RuntimeError # Issue 21088
-#LibTest/async/Future/whenComplete_A01_t01: Timeout, Skip # Please triage this failure
-#LibTest/async/Stream/Stream.eventTransformed_A01_t01: Timeout, Skip # Please triage this failure
-#LibTest/async/Stream/join_A02_t01: Timeout, Skip # Please triage this failure
-#LibTest/async/Stream/last_A02_t01: Timeout, Skip # Please triage this failure
-#LibTest/async/Stream/listen_A03_t01: Timeout, Skip # Please triage this failure
+LibTest/collection/DoubleLinkedQueue/DoubleLinkedQueue_class_A01_t01: Skip # Timesout. Please triage this failure.
 LibTest/core/Map/Map_class_A01_t04: Slow, Pass
 LibTest/core/Uri/Uri_A06_t03: Slow, Pass
 LibTest/math/Point/operator_mult_A02_t01: RuntimeError # Issue 1533
@@ -539,118 +539,11 @@
 Language/Metadata/compilation_t09: Pass # mirrors not supported, fails for the wrong reason
 Language/Metadata/compilation_t10: Pass # mirrors not supported, fails for the wrong reason
 Language/Metadata/compilation_t11: Pass # mirrors not supported, fails for the wrong reason
-WebPlatformTest/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-001_t01: Fail # custom elements not supported
-WebPlatformTest/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-001_t01: Fail # please triage
-WebPlatformTest/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-004_t01: Fail # please triage
-WebPlatformTest/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-004_t02: Fail # please triage
-WebPlatformTest/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-005_t01: Fail # please triage
-WebPlatformTest/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-006_t01: Fail # please triage
-WebPlatformTest/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/elements-001_t01: Fail # custom elements not supported
-WebPlatformTest/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/elements-001_t01: Fail # please triage
-WebPlatformTest/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/test-001_t01: Fail # please triage
-WebPlatformTest/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/test-002_t01: Fail # please triage
-WebPlatformTest/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/test-003_t01: Fail # please triage
-WebPlatformTest/shadow-dom/elements-and-dom-objects/extensions-to-event-interface/event-path-001_t01: Fail # please triage
-WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-007_t01: Fail # please triage
-WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-008_t01: Fail # please triage
-WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-009_t01: Fail # please triage
-WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-010_t01: Fail # please triage
-WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-011_t01: Fail # please triage
-WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-012_t01: Fail # please triage
-WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-013_t01: Fail # please triage
-WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-001_t01: Fail # custom elements not supported
-WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-001_t01: Fail # please triage
-WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-006_t01: Fail # custom elements not supported
-WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-006_t01: Fail # please triage
-WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-007_t01: Fail # custom elements not supported
-WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-007_t01: Fail # please triage
-WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-010_t01: Fail # please triage
-WebPlatformTest/shadow-dom/elements-and-dom-objects/the-content-html-element/test-001_t01: Fail # please triage
-WebPlatformTest/shadow-dom/elements-and-dom-objects/the-content-html-element/test-002_t01: Fail # please triage
-WebPlatformTest/shadow-dom/elements-and-dom-objects/the-content-html-element/test-003_t01: Fail # please triage
-WebPlatformTest/shadow-dom/elements-and-dom-objects/the-content-html-element/test-004_t01: Fail # please triage
-WebPlatformTest/shadow-dom/elements-and-dom-objects/the-content-html-element/test-004_t02: Fail # please triage
-WebPlatformTest/shadow-dom/elements-and-dom-objects/the-content-html-element/test-005_t01: Fail # please triage
-WebPlatformTest/shadow-dom/elements-and-dom-objects/the-content-html-element/test-006_t01: Fail # please triage
-WebPlatformTest/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-001_t01: Fail # please triage
-WebPlatformTest/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-002_t01: Fail # please triage
-WebPlatformTest/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-003_t01: Fail # please triage
-WebPlatformTest/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-003_t02: Fail # custom elements not supported
-WebPlatformTest/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-003_t02: Fail # please triage
-WebPlatformTest/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-004_t01: Fail # please triage
-WebPlatformTest/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-005_t01: Fail # please triage
-WebPlatformTest/shadow-dom/events/event-dispatch/test-001_t01: Fail # please triage
-WebPlatformTest/shadow-dom/events/event-dispatch/test-002_t01: Fail # please triage
-WebPlatformTest/shadow-dom/events/event-dispatch/test-003_t01: Fail # please triage
-WebPlatformTest/shadow-dom/events/event-retargeting/test-001_t01: Fail # please triage
-WebPlatformTest/shadow-dom/events/event-retargeting/test-002_t01: Fail # custom elements not supported
-WebPlatformTest/shadow-dom/events/event-retargeting/test-002_t01: Fail # please triage
-WebPlatformTest/shadow-dom/events/event-retargeting/test-003_t01: Fail # please triage
-WebPlatformTest/shadow-dom/events/event-retargeting/test-004_t01: Fail # please triage
-WebPlatformTest/shadow-dom/events/events-that-are-always-stopped/test-001_t01: Fail # please triage
-WebPlatformTest/shadow-dom/events/events-that-are-always-stopped/test-002_t01: Fail # please triage
-WebPlatformTest/shadow-dom/events/events-that-are-always-stopped/test-003_t01: Fail # please triage
-WebPlatformTest/shadow-dom/events/events-that-are-always-stopped/test-004_t01: Fail # please triage
-WebPlatformTest/shadow-dom/events/events-that-are-always-stopped/test-005_t01: Fail # custom elements not supported
-WebPlatformTest/shadow-dom/events/events-that-are-always-stopped/test-005_t01: Fail # please triage
-WebPlatformTest/shadow-dom/events/events-that-are-always-stopped/test-006_t01: Fail # please triage
-WebPlatformTest/shadow-dom/events/events-that-are-always-stopped/test-007_t01: Fail # please triage
-WebPlatformTest/shadow-dom/events/events-that-are-always-stopped/test-008_t01: Fail # please triage
-WebPlatformTest/shadow-dom/events/events-that-are-always-stopped/test-009_t01: Fail # please triage
-WebPlatformTest/shadow-dom/events/retargeting-focus-events/test-001_t01: Fail # please triage
-WebPlatformTest/shadow-dom/events/retargeting-focus-events/test-001_t02: Fail # please triage
-WebPlatformTest/shadow-dom/events/retargeting-focus-events/test-001_t03: Fail # please triage
-WebPlatformTest/shadow-dom/events/retargeting-focus-events/test-001_t04: Fail # please triage
-WebPlatformTest/shadow-dom/events/retargeting-focus-events/test-001_t05: Fail # please triage
-WebPlatformTest/shadow-dom/events/retargeting-focus-events/test-001_t06: Fail # please triage
-WebPlatformTest/shadow-dom/events/retargeting-focus-events/test-002_t01: Fail # please triage
-WebPlatformTest/shadow-dom/events/retargeting-focus-events/test-003_t01: Fail # please triage
-WebPlatformTest/shadow-dom/events/retargeting-relatedtarget/test-001_t01: Fail # please triage
-WebPlatformTest/shadow-dom/events/retargeting-relatedtarget/test-002_t01: Fail # please triage
-WebPlatformTest/shadow-dom/events/retargeting-relatedtarget/test-003_t01: Fail # please triage
-WebPlatformTest/shadow-dom/html-elements-and-their-shadow-trees/test-001_t01: Fail # please triage
-WebPlatformTest/shadow-dom/html-elements-and-their-shadow-trees/test-002_t01: Fail # please triage
-WebPlatformTest/shadow-dom/html-elements-and-their-shadow-trees/test-003_t01: Fail # please triage
-WebPlatformTest/shadow-dom/html-elements-and-their-shadow-trees/test-004_t01: Fail # custom elements not supported
-WebPlatformTest/shadow-dom/html-elements-and-their-shadow-trees/test-004_t01: Fail # please triage
-WebPlatformTest/shadow-dom/html-elements-in-shadow-trees/html-forms/test-001_t01: Fail # custom elements not supported
-WebPlatformTest/shadow-dom/html-elements-in-shadow-trees/html-forms/test-001_t01: Fail # please triage
-WebPlatformTest/shadow-dom/html-elements-in-shadow-trees/html-forms/test-002_t01: Fail # please triage
-WebPlatformTest/shadow-dom/html-elements-in-shadow-trees/inert-html-elements/test-002_t01: Fail # please triage
-WebPlatformTest/shadow-dom/shadow-trees/composition/test-001_t01: Fail # please triage
-WebPlatformTest/shadow-dom/shadow-trees/custom-pseudo-elements/test-001_t01: Fail # please triage
-WebPlatformTest/shadow-dom/shadow-trees/distributed-pseudo-element/test-001_t01: Fail # please triage
-WebPlatformTest/shadow-dom/shadow-trees/distributed-pseudo-element/test-002_t01: Fail # please triage
-WebPlatformTest/shadow-dom/shadow-trees/hosting-multiple-shadow-trees/test-001_t01: Fail # please triage
-WebPlatformTest/shadow-dom/shadow-trees/hosting-multiple-shadow-trees/test-002_t01: Fail # please triage
-WebPlatformTest/shadow-dom/shadow-trees/hosting-multiple-shadow-trees/test-003_t01: Fail # please triage
-WebPlatformTest/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-003_t01: Fail # please triage
-WebPlatformTest/shadow-dom/shadow-trees/lower-boundary-encapsulation/test-003_t01: Fail # please triage
-WebPlatformTest/shadow-dom/shadow-trees/lower-boundary-encapsulation/test-004_t01: Fail # please triage
-WebPlatformTest/shadow-dom/shadow-trees/lower-boundary-encapsulation/test-005_t01: Fail # please triage
-WebPlatformTest/shadow-dom/shadow-trees/nested-shadow-trees/test-001_t01: Fail # please triage
-WebPlatformTest/shadow-dom/shadow-trees/rendering-shadow-trees/test-001_t01: Fail # please triage
-WebPlatformTest/shadow-dom/shadow-trees/reprojection/test-001_t01: Fail # please triage
-WebPlatformTest/shadow-dom/shadow-trees/satisfying-matching-criteria/test-001_t01: Fail # please triage
-WebPlatformTest/shadow-dom/shadow-trees/satisfying-matching-criteria/test-002_t01: Fail # please triage
-WebPlatformTest/shadow-dom/shadow-trees/satisfying-matching-criteria/test-003_t01: Fail # please triage
-WebPlatformTest/shadow-dom/shadow-trees/satisfying-matching-criteria/test-004_t01: Fail # please triage
-WebPlatformTest/shadow-dom/shadow-trees/satisfying-matching-criteria/test-005_t01: Fail # please triage
-WebPlatformTest/shadow-dom/shadow-trees/satisfying-matching-criteria/test-006_t01: Fail # please triage
-WebPlatformTest/shadow-dom/shadow-trees/satisfying-matching-criteria/test-017_t01: Fail # custom elements not supported
-WebPlatformTest/shadow-dom/shadow-trees/satisfying-matching-criteria/test-017_t01: Fail # please triage
-WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-002_t01: Fail # please triage
-WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/ownerdocument-001_t01: Fail # please triage
-WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/ownerdocument-002_t01: Fail # please triage
-WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/selectors-api-001_t01: Fail # please triage
-WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/selectors-api-002_t01: Fail # please triage
-WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/shadow-root-001_t01: Fail # please triage
-WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-005_t01: Fail # please triage
-WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-007_t01: Fail # please triage
-WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-009_t01: Fail # please triage
-WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-011_t01: Fail # please triage
 WebPlatformTest/shadow-dom/testcommon: Fail # mirrors not supported
 
+[ $compiler == dart2js && ($runtime == jsshell || ($fast_startup && ($runtime != chrome && $runtime != ff && $runtime != drt)))]
+LibTest/isolate/Isolate/spawn_A04_t04: Fail # please triage
+
 [ $compiler == dart2js && $fast_startup && $runtime == jsshell ]
 LibTest/isolate/ReceivePort/asBroadcastStream_A03_t01: Fail # please triage
 
@@ -665,6 +558,39 @@
 LayoutTests/fast/dom/custom/element-type_t01: Fail # custom elements not supported
 LayoutTests/fast/dom/custom/element-upgrade_t01: Fail # please triage
 LayoutTests/fast/dom/custom/type-extensions_t01: Fail # custom elements not supported
+WebPlatformTest/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-001_t01: Fail # custom elements not supported
+WebPlatformTest/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-004_t01: Fail # please triage
+WebPlatformTest/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-004_t02: Fail # please triage
+WebPlatformTest/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/elements-001_t01: Fail # custom elements not supported
+WebPlatformTest/shadow-dom/elements-and-dom-objects/the-content-html-element/test-004_t01: Fail # please triage
+WebPlatformTest/shadow-dom/elements-and-dom-objects/the-content-html-element/test-004_t02: Fail # please triage
+WebPlatformTest/shadow-dom/elements-and-dom-objects/the-content-html-element/test-006_t01: Fail # please triage
+WebPlatformTest/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-001_t01: Fail # please triage
+WebPlatformTest/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-003_t01: Fail # please triage
+WebPlatformTest/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-003_t02: Fail # custom elements not supported
+WebPlatformTest/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-005_t01: Fail # please triage
+WebPlatformTest/shadow-dom/events/event-dispatch/test-001_t01: Fail # please triage
+WebPlatformTest/shadow-dom/events/event-dispatch/test-002_t01: Fail # please triage
+WebPlatformTest/shadow-dom/events/event-dispatch/test-003_t01: Fail # please triage
+WebPlatformTest/shadow-dom/events/event-retargeting/test-001_t01: Fail # please triage
+WebPlatformTest/shadow-dom/events/event-retargeting/test-002_t01: Fail # custom elements not supported
+WebPlatformTest/shadow-dom/events/event-retargeting/test-004_t01: Fail # please triage
+WebPlatformTest/shadow-dom/events/retargeting-focus-events/test-002_t01: Fail # please triage
+WebPlatformTest/shadow-dom/events/retargeting-focus-events/test-003_t01: Fail # please triage
+WebPlatformTest/shadow-dom/html-elements-and-their-shadow-trees/test-001_t01: Fail # please triage
+WebPlatformTest/shadow-dom/html-elements-and-their-shadow-trees/test-002_t01: Fail # please triage
+WebPlatformTest/shadow-dom/html-elements-and-their-shadow-trees/test-003_t01: Fail # please triage
+
+WebPlatformTest/shadow-dom/shadow-trees/custom-pseudo-elements/test-001_t01: Fail # please triage
+WebPlatformTest/shadow-dom/shadow-trees/distributed-pseudo-element/test-001_t01: Fail # please triage
+WebPlatformTest/shadow-dom/shadow-trees/distributed-pseudo-element/test-002_t01: Fail # please triage
+WebPlatformTest/shadow-dom/shadow-trees/lower-boundary-encapsulation/test-004_t01: Fail # please triage
+WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/ownerdocument-002_t01: Fail # please triage
+WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/selectors-api-001_t01: Fail # please triage
+WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/selectors-api-002_t01: Fail # please triage
+WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-005_t01: Fail # please triage
+WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-007_t01: Fail # please triage
+WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-009_t01: Fail # please triage
 WebPlatformTest/custom-elements/concepts/type_A07_t01: Fail # custom elements not supported
 WebPlatformTest/custom-elements/concepts/type_A08_t01: Fail # please triage
 WebPlatformTest/custom-elements/instantiating/createElementNS_A01_t01: Fail # please triage
@@ -675,10 +601,83 @@
 WebPlatformTest/custom-elements/instantiating/isAttribute_A03_t01: Fail # please triage
 WebPlatformTest/custom-elements/instantiating/localName_A01_t01: Fail # please triage
 
+[ $compiler == dart2js && $fast_startup && $browser && $runtime != chrome && $runtime != drt]
+WebPlatformTest/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-005_t01: Fail # please triage
+WebPlatformTest/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/test-001_t01: Fail # please triage
+WebPlatformTest/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/test-002_t01: Fail # please triage
+WebPlatformTest/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/test-003_t01: Fail # please triage
+WebPlatformTest/shadow-dom/elements-and-dom-objects/extensions-to-event-interface/event-path-001_t01: Fail # please triage
+WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-007_t01: Fail # please triage
+WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-008_t01: Fail # please triage
+WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-009_t01: Fail # please triage
+WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-010_t01: Fail # please triage
+WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-011_t01: Fail # please triage
+WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-012_t01: Fail # please triage
+WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-013_t01: Fail # please triage
+WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-001_t01: Fail # custom elements not supported
+WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-007_t01: Fail # custom elements not supported
+WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-010_t01: Fail # please triage
+WebPlatformTest/shadow-dom/elements-and-dom-objects/the-content-html-element/test-001_t01: Fail # please triage
+WebPlatformTest/shadow-dom/elements-and-dom-objects/the-content-html-element/test-002_t01: Fail # please triage
+WebPlatformTest/shadow-dom/elements-and-dom-objects/the-content-html-element/test-003_t01: Fail # please triage
+WebPlatformTest/shadow-dom/elements-and-dom-objects/the-content-html-element/test-005_t01: Fail # please triage
+WebPlatformTest/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-002_t01: Fail # please triage
+WebPlatformTest/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-004_t01: Fail # please triage
+WebPlatformTest/shadow-dom/events/event-retargeting/test-003_t01: Fail # please triage
+WebPlatformTest/shadow-dom/events/retargeting-focus-events/test-001_t03: Fail # please triage
+WebPlatformTest/shadow-dom/events/retargeting-focus-events/test-001_t04: Fail # please triage
+WebPlatformTest/shadow-dom/events/retargeting-relatedtarget/test-001_t01: Fail # please triage
+WebPlatformTest/shadow-dom/events/retargeting-relatedtarget/test-002_t01: Fail # please triage
+
+WebPlatformTest/shadow-dom/html-elements-in-shadow-trees/html-forms/test-001_t01: Fail # custom elements not supported
+WebPlatformTest/shadow-dom/html-elements-in-shadow-trees/html-forms/test-002_t01: Fail # please triage
+WebPlatformTest/shadow-dom/html-elements-in-shadow-trees/inert-html-elements/test-002_t01: Fail # please triage
+WebPlatformTest/shadow-dom/shadow-trees/composition/test-001_t01: Fail # please triage
+WebPlatformTest/shadow-dom/shadow-trees/hosting-multiple-shadow-trees/test-001_t01: Fail # please triage
+WebPlatformTest/shadow-dom/shadow-trees/hosting-multiple-shadow-trees/test-002_t01: Fail # please triage
+WebPlatformTest/shadow-dom/shadow-trees/hosting-multiple-shadow-trees/test-003_t01: Fail # please triage
+WebPlatformTest/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-003_t01: Fail # please triage
+WebPlatformTest/shadow-dom/shadow-trees/lower-boundary-encapsulation/test-003_t01: Fail # please triage
+WebPlatformTest/shadow-dom/shadow-trees/lower-boundary-encapsulation/test-005_t01: Fail # please triage
+WebPlatformTest/shadow-dom/shadow-trees/nested-shadow-trees/test-001_t01: Fail # please triage
+WebPlatformTest/shadow-dom/shadow-trees/rendering-shadow-trees/test-001_t01: Fail # please triage
+WebPlatformTest/shadow-dom/shadow-trees/reprojection/test-001_t01: Fail # please triage
+WebPlatformTest/shadow-dom/shadow-trees/satisfying-matching-criteria/test-001_t01: Fail # please triage
+WebPlatformTest/shadow-dom/shadow-trees/satisfying-matching-criteria/test-002_t01: Fail # please triage
+WebPlatformTest/shadow-dom/shadow-trees/satisfying-matching-criteria/test-003_t01: Fail # please triage
+WebPlatformTest/shadow-dom/shadow-trees/satisfying-matching-criteria/test-004_t01: Fail # please triage
+WebPlatformTest/shadow-dom/shadow-trees/satisfying-matching-criteria/test-005_t01: Fail # please triage
+WebPlatformTest/shadow-dom/shadow-trees/satisfying-matching-criteria/test-006_t01: Fail # please triage
+WebPlatformTest/shadow-dom/shadow-trees/satisfying-matching-criteria/test-017_t01: Fail # custom elements not supported
+WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-002_t01: Fail # please triage
+WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/ownerdocument-001_t01: Fail # please triage
+WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/shadow-root-001_t01: Fail # please triage
+WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-011_t01: Fail # please triage
+
+[ $compiler == dart2js && $fast_startup && $browser && $runtime != chrome ]
+WebPlatformTest/shadow-dom/events/retargeting-relatedtarget/test-003_t01: Fail # please triage
+
+[ $compiler == dart2js && $fast_startup && $browser && $runtime != drt ]
+WebPlatformTest/shadow-dom/html-elements-and-their-shadow-trees/test-004_t01: Fail # custom elements not supported
+WebPlatformTest/shadow-dom/events/events-that-are-always-stopped/test-001_t01: Fail # please triage
+WebPlatformTest/shadow-dom/events/events-that-are-always-stopped/test-002_t01: Fail # please triage
+WebPlatformTest/shadow-dom/events/events-that-are-always-stopped/test-003_t01: Fail # please triage
+WebPlatformTest/shadow-dom/events/events-that-are-always-stopped/test-004_t01: Fail # please triage
+WebPlatformTest/shadow-dom/events/events-that-are-always-stopped/test-005_t01: Fail # custom elements not supported
+WebPlatformTest/shadow-dom/events/events-that-are-always-stopped/test-006_t01: Fail # please triage
+WebPlatformTest/shadow-dom/events/events-that-are-always-stopped/test-007_t01: Fail # please triage
+WebPlatformTest/shadow-dom/events/events-that-are-always-stopped/test-008_t01: Fail # please triage
+WebPlatformTest/shadow-dom/events/events-that-are-always-stopped/test-009_t01: Fail # please triage
+WebPlatformTest/shadow-dom/events/retargeting-focus-events/test-001_t01: Fail # please triage
+WebPlatformTest/shadow-dom/events/retargeting-focus-events/test-001_t02: Fail # please triage
+WebPlatformTest/shadow-dom/events/retargeting-focus-events/test-001_t05: Fail # please triage
+WebPlatformTest/shadow-dom/events/retargeting-focus-events/test-001_t06: Fail # please triage
 
 [ $compiler == dart2js && $checked != true ]
 Language/Expressions/Property_Extraction/General_Super_Property_Extraction/getter_lookup_t02: Timeout, Skip # Please triage this failure
 Language/Expressions/Property_Extraction/Super_Closurization/setter_closurization_t09: CompileTimeError # Please triage this failure
+LibTest/isolate/Isolate/spawn_A02_t04: RuntimeError # Issue 27185
+LibTest/isolate/Isolate/spawn_A02_t05: RuntimeError # Issue 27185
 
 [ $compiler == dart2js && $minified ]
 LibTest/typed_data/Float32List/runtimeType_A01_t01: fail # co19-roll r559: Please triage this failure
@@ -718,6 +717,9 @@
 Language/Statements/Yield_and_Yield_Each/Yield_Each/execution_async_t10: RuntimeError # Issue 7728, timer not supported in jsshell
 LibTest/async/Future/Future.delayed_A01_t01: RuntimeError # Issue 7728, timer not supported in jsshell
 LibTest/async/Future/Future.delayed_A03_t01: fail # Issue 7728, timer not supported in jsshell
+LibTest/async/Future/doWhile_A05_t01: RuntimeError # Please triage. May be unsupported timer issue 7728.
+LibTest/async/Future/forEach_A04_t02: RuntimeError # Please triage. May be unsupported timer issue 7728.
+LibTest/async/Future/timeout_A01_t01: RuntimeError # Please triage. May be unsupported timer issue 7728.
 LibTest/async/Future/wait_A01_t07: RuntimeError # Issue 7728, timer not supported in jsshell
 LibTest/async/Stream/Stream.periodic_A01_t01: RuntimeError # Issue 7728, timer not supported in jsshell
 LibTest/async/Stream/Stream.periodic_A02_t01: fail # Issue 7728, timer not supported in jsshell
@@ -726,6 +728,10 @@
 LibTest/async/Stream/asBroadcastStream_A04_t03: RuntimeError # Issue 7728, timer not supported in jsshell
 LibTest/async/Stream/first_A01_t01: fail # co19-roll r546: Please triage this failure
 LibTest/async/Stream/first_A02_t02: fail # co19-roll r546: Please triage this failure
+LibTest/async/Stream/timeout_A01_t01: RuntimeError # Please triage. May be unsupported timer issue 7728.
+LibTest/async/Stream/timeout_A02_t01: RuntimeError # Please triage. May be unsupported timer issue 7728.
+LibTest/async/Stream/timeout_A03_t01: RuntimeError # Please triage. May be unsupported timer issue 7728.
+LibTest/async/Stream/timeout_A04_t01: RuntimeError # Please triage. May be unsupported timer issue 7728.
 LibTest/async/Timer/Timer.periodic_A01_t01: RuntimeError # Issue 7728, timer not supported in jsshell
 LibTest/async/Timer/Timer.periodic_A02_t01: RuntimeError # Issue 7728, timer not supported in jsshell
 LibTest/async/Timer/Timer_A01_t01: fail # Issue 7728, timer not supported in jsshell
@@ -750,6 +756,17 @@
 LibTest/core/Stopwatch/start_A01_t03: RuntimeError # Issue 7728, timer not supported in jsshell
 LibTest/core/Stopwatch/stop_A01_t01: RuntimeError # Issue 7728, timer not supported in jsshell
 LibTest/core/Uri/Uri_A06_t03: Pass, Slow
+LibTest/isolate/Isolate/spawn_A03_t01: Pass # co19 issue 77
+LibTest/isolate/Isolate/spawn_A03_t03: RuntimeError # Please triage this failure
+LibTest/isolate/Isolate/spawn_A03_t04: RuntimeError # Please triage this failure
+LibTest/isolate/Isolate/spawn_A04_t02: RuntimeError # Please triage this failure
+LibTest/isolate/Isolate/spawn_A04_t03: Fail # Please triage this failure
+LibTest/isolate/Isolate/spawn_A04_t05: Fail # Please triage this failure
+LibTest/isolate/Isolate/spawn_A06_t02: Fail # Please triage this failure
+LibTest/isolate/Isolate/spawn_A06_t03: Fail # Please triage this failure
+LibTest/isolate/Isolate/spawn_A06_t04: RuntimeError # Please triage this failure
+LibTest/isolate/Isolate/spawn_A06_t05: RuntimeError # Please triage this failure
+LibTest/isolate/Isolate/spawn_A06_t07: Fail # Please triage this failure
 LibTest/isolate/RawReceivePort/close_A01_t01: RuntimeError # Issue 7728, timer not supported in jsshell
 LibTest/isolate/ReceivePort/asBroadcastStream_A03_t01: RuntimeError # Issue 7728, timer not supported in jsshell
 LibTest/isolate/ReceivePort/asBroadcastStream_A04_t03: RuntimeError # Issue 7728, timer not supported in jsshell
@@ -798,15 +815,15 @@
 LibTest/core/int/toRadixString_A01_t01: RuntimeError, OK # Bad test: uses Expect.fail, Expect.throws, assumes case of result, and uses unsupported radixes.
 
 [ $compiler == dart2js && $runtime == d8 ]
+LibTest/isolate/Isolate/spawn_A03_t01: Pass # co19 issue 77
+LibTest/isolate/Isolate/spawn_A04_t02: RuntimeError # Please triage this failure.
 LibTest/typed_data/Float32x4List/Float32x4List.view_A06_t01: fail # co19-roll r587: Please triage this failure
 LibTest/typed_data/Int32x4/operator_OR_A01_t01: RuntimeError # Issue 7728, timer not supported in jsshell
 
+
 [ $compiler == dart2js && $runtime == d8 && $system == windows ]
 LibTest/async/DeferredLibrary/*: Skip # Issue 17458
 
-[ $compiler == dart2js && ($runtime == drt || $runtime == opera) ]
-*: Skip
-
 [ $compiler == dart2js && $browser ]
 Language/Classes/deсlarations_t01: Skip # Times out. Please triage this failure.
 Language/Classes/deсlarations_t34: Skip # Times out. Please triage this failure.
@@ -1060,13 +1077,12 @@
 LayoutTests/fast/css/checked-pseudo-selector_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/css/content/content-none_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/css/content/content-normal_t01: RuntimeError # Please triage this failure
-LayoutTests/fast/css/content/content-quotes-01_t01: RuntimeError # Issue https://github.com/dart-lang/co19/issues/46
 LayoutTests/fast/css/content/content-quotes-05_t01: RuntimeError # Issue https://github.com/dart-lang/co19/issues/46
 LayoutTests/fast/css/counters/complex-before_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/css/css-escaped-identifier_t01: RuntimeError # co19 issue 14
 LayoutTests/fast/css/css-properties-case-insensitive_t01: RuntimeError # Please triage this failure
-LayoutTests/fast/css/cssText-shorthand_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/css/css3-nth-tokens-style_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css/cssText-shorthand_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/css/csstext-of-content-string_t01: Pass, RuntimeError # Please triage this failure
 LayoutTests/fast/css/deprecated-flexbox-auto-min-size_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/css/ex-unit-with-no-x-height_t01: Pass, RuntimeError # Please triage this failure
@@ -1142,7 +1158,7 @@
 LayoutTests/fast/dom/Document/CaretRangeFromPoint/caretRangeFromPoint-in-strict-mode-wtih-checkbox_t01: Pass, RuntimeError # Please triage this failure
 LayoutTests/fast/dom/Document/CaretRangeFromPoint/caretRangeFromPoint-in-zoom-and-scroll_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/dom/Document/CaretRangeFromPoint/hittest-relative-to-viewport_t01: RuntimeError # Please triage this failure
-LayoutTests/fast/dom/Document/CaretRangeFromPoint/replace-element_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/Document/CaretRangeFromPoint/replace-element_t01: RuntimeError # Please triage this failure.
 LayoutTests/fast/dom/Document/createElementNS-namespace-err_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/dom/Element/attribute-uppercase_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/dom/Element/getClientRects_t01: RuntimeError # Please triage this failure
@@ -1252,10 +1268,6 @@
 LayoutTests/fast/dom/shadow/host-context-pseudo-class-css-text_t01: RuntimeError # https://github.com/dart-lang/co19/issues/49
 LayoutTests/fast/dom/shadow/host-pseudo-class-css-text_t01: RuntimeError # https://github.com/dart-lang/co19/issues/49
 LayoutTests/fast/dom/shadow/olderShadowRoot_t01: RuntimeError # Issue 26729
-LayoutTests/fast/dom/shadow/shadowdom-for-input-spellcheck_t01: RuntimeError # Issue 26729
-LayoutTests/fast/dom/shadow/shadowdom-for-input-type-change_t01: RuntimeError # Issue 26729
-LayoutTests/fast/dom/shadow/shadowroot-clonenode_t01: RuntimeError # Issue 26729
-LayoutTests/fast/dom/shadow/shadowroot-host_t01: RuntimeError # Issue 26729
 LayoutTests/fast/dom/shadow/pseudoclass-update-checked-option_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/dom/shadow/pseudoclass-update-disabled-optgroup_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/dom/shadow/pseudoclass-update-disabled-option_t01: RuntimeError # Please triage this failure
@@ -1265,7 +1277,11 @@
 LayoutTests/fast/dom/shadow/shadow-disable_t01: Pass, RuntimeError # Please triage this failure
 LayoutTests/fast/dom/shadow/shadow-element-inactive_t01: RuntimeError # Issue 25155
 LayoutTests/fast/dom/shadow/shadow-removechild-and-blur-event_t01: Pass, RuntimeError # Please triage this failure
+LayoutTests/fast/dom/shadow/shadowdom-for-input-spellcheck_t01: RuntimeError # Issue 26729
+LayoutTests/fast/dom/shadow/shadowdom-for-input-type-change_t01: RuntimeError # Issue 26729
 LayoutTests/fast/dom/shadow/shadowhost-keyframes_t01: Pass, RuntimeError # Please triage this failure
+LayoutTests/fast/dom/shadow/shadowroot-clonenode_t01: RuntimeError # Issue 26729
+LayoutTests/fast/dom/shadow/shadowroot-host_t01: RuntimeError # Issue 26729
 LayoutTests/fast/dom/shadow/shadowroot-keyframes_t01: Pass, RuntimeError # Please triage this failure
 LayoutTests/fast/dynamic/crash-generated-counter_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/dynamic/crash-generated-image_t01: RuntimeError # Please triage this failure
@@ -1335,7 +1351,6 @@
 LayoutTests/fast/forms/input-appearance-elementFromPoint_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/forms/input-hit-test-border_t01: Pass, RuntimeError # Please triage this failure
 LayoutTests/fast/forms/input-inputmode_t01: RuntimeError # Please triage this failure
-LayoutTests/fast/forms/input-maxlength_t01: RuntimeError # co19 issue 62
 LayoutTests/fast/forms/input-width-height-attributes-without-renderer-loaded-image_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/forms/listbox-selection-2_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/forms/menulist-disabled-selected-option_t01: RuntimeError # Please triage this failure
@@ -1401,7 +1416,6 @@
 LayoutTests/fast/multicol/newmulticol/balance_t09: RuntimeError # Please triage this failure
 LayoutTests/fast/multicol/newmulticol/balance_t10: RuntimeError # Please triage this failure
 LayoutTests/fast/multicol/vertical-lr/float-truncation_t01: RuntimeError # Please triage this failure
-LayoutTests/fast/multicol/vertical-rl/break-properties_t01: RuntimeError # co19 issue 63
 LayoutTests/fast/multicol/vertical-rl/float-truncation_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/multicol/widows_t01: Pass, RuntimeError # Please triage this failure
 LayoutTests/fast/overflow/replaced-child-100percent-height-inside-fixed-container-with-overflow-auto_t01: RuntimeError # Please triage this failure
@@ -1745,7 +1759,9 @@
 WebPlatformTest/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-003_t02: RuntimeError # Please triage this failure
 WebPlatformTest/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-005_t01: RuntimeError # Please triage this failure
 WebPlatformTest/shadow-dom/events/event-dispatch/test-001_t01: RuntimeError # Please triage this failure
+WebPlatformTest/shadow-dom/events/event-dispatch/test-002_t01: RuntimeError # Please triage this failure.
 WebPlatformTest/shadow-dom/events/event-dispatch/test-003_t01: RuntimeError # Please triage this failure
+WebPlatformTest/shadow-dom/events/event-dispatch/test-003_t01: Skip # Times out
 WebPlatformTest/shadow-dom/events/event-retargeting/test-001_t01: RuntimeError # Please triage this failure
 WebPlatformTest/shadow-dom/events/event-retargeting/test-002_t01: RuntimeError # Please triage this failure
 WebPlatformTest/shadow-dom/events/event-retargeting/test-004_t01: RuntimeError # Please triage this failure
@@ -1764,7 +1780,6 @@
 WebPlatformTest/shadow-dom/events/retargeting-focus-events/test-001_t06: Skip # Times out. Please triage this failure
 WebPlatformTest/shadow-dom/events/retargeting-focus-events/test-002_t01: Pass, RuntimeError, Timeout # Please triage this failure
 WebPlatformTest/shadow-dom/events/retargeting-focus-events/test-003_t01: Skip # Times out. Please triage this failure
-WebPlatformTest/shadow-dom/events/retargeting-relatedtarget/test-003_t01: RuntimeError # Please triage this failure
 WebPlatformTest/shadow-dom/html-elements-and-their-shadow-trees/test-001_t01: RuntimeError # Please triage this failure
 WebPlatformTest/shadow-dom/html-elements-and-their-shadow-trees/test-002_t01: RuntimeError # Please triage this failure
 WebPlatformTest/shadow-dom/html-elements-and-their-shadow-trees/test-003_t01: RuntimeError # Please triage this failure
@@ -1774,6 +1789,8 @@
 WebPlatformTest/shadow-dom/shadow-trees/distributed-pseudo-element/test-002_t01: RuntimeError # Please triage this failure
 WebPlatformTest/shadow-dom/shadow-trees/lower-boundary-encapsulation/test-004_t01: RuntimeError # Please triage this failure
 WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/ownerdocument-002_t01: RuntimeError # Please triage this failure
+WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/selectors-api-001_t01: RuntimeError # Please triage this failure.
+WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/selectors-api-002_t01: RuntimeError # Please triage this failure.
 WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-005_t01: RuntimeError # Issue 25155
 WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-007_t01: RuntimeError # Issue 25155
 WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-009_t01: RuntimeError # Please triage this failure
@@ -1872,7 +1889,6 @@
 LayoutTests/fast/dom/HTMLOutputElement/htmloutputelement_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/dom/MutationObserver/observe-attributes_t01: Skip # Times out. Please triage this failure
 LayoutTests/fast/multicol/newmulticol/balance_t04: RuntimeError # Please triage this failure
-LayoutTests/fast/multicol/vertical-rl/image-inside-nested-blocks-with-border_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-different-writing-modes-left_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/shapes/shape-outside-floats/shape-outside-rounded-boxes_t02: RuntimeError # Please triage this failure
 LayoutTests/fast/text/glyph-reordering_t01: RuntimeError # Please triage this failure
@@ -1981,7 +1997,6 @@
 LayoutTests/fast/canvas/webgl/webgl-unprefixed-context-id_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/canvas/webgl/webgl-viewport-parameters-preserved_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/multicol/newmulticol/balance_t04: RuntimeError # Please triage this failure
-LayoutTests/fast/multicol/vertical-rl/image-inside-nested-blocks-with-border_t01: RuntimeError # co19 issue #65
 LayoutTests/fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-different-writing-modes-left_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/shapes/shape-outside-floats/shape-outside-rounded-boxes_t02: RuntimeError # Please triage this failure
 LayoutTests/fast/text/line-break-after-question-mark_t01: RuntimeError # Please triage this failure
@@ -2002,6 +2017,768 @@
 LayoutTests/fast/text/international/combining-marks-position_t01: RuntimeError # Please triage this failure
 LibTest/math/log_A01_t01: RuntimeError # Please triage this failure
 
+[ $compiler == dart2js && $runtime == drt ]
+Language/Statements/Yield_and_Yield_Each/Yield/execution_async_t02: Pass # Fails on _all_ other platforms. Please triage
+LayoutTests/fast/alignment/parse-align-items_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/alignment/parse-align-self_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/alignment/parse-justify-self_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/backgrounds/repeat/parsing-background-repeat_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/alpha_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/canvas-arc-negative-radius_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/canvas-as-image-incremental-repaint_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/canvas-as-image_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/canvas-css-crazy_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/canvas-empty-image-pattern_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/canvas-getImageData-invalid_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/canvas-getImageData-large-crash_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/canvas-getImageData-largeNonintegralDimensions_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/canvas-lineDash_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/canvas-putImageData_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/crash-set-font_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/draw-custom-focus-ring_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/WebGLContextEvent_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/array-bounds-clamping_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/attrib-location-length-limits_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/bad-arguments-test_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/buffer-bind-test_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/buffer-data-array-buffer_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/canvas-2d-webgl-texture_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/canvas-resize-crash_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/canvas-test_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/canvas-zero-size_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/compressed-tex-image_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias-t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/context-destroyed-crash_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/context-lost-restored_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/context-lost_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/copy-tex-image-and-sub-image-2d_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/css-webkit-canvas-repaint_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/css-webkit-canvas_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/draw-arrays-out-of-bounds_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/draw-elements-out-of-bounds_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/draw-webgl-to-canvas-2d_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/drawingbuffer-test_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/error-reporting_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/framebuffer-bindings-unaffected-on-resize_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/framebuffer-object-attachment_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/framebuffer-test_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/functions-returning-strings_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/get-active-test_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/gl-bind-attrib-location-test_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/gl-enable-enum-test_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/gl-enum-tests_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/gl-get-calls_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/gl-getshadersource_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/gl-getstring_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/gl-object-get-calls_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/gl-pixelstorei_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/gl-teximage_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/gl-uniformmatrix4fv_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/gl-vertex-attrib-zero-issues_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/gl-vertex-attrib_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/gl-vertexattribpointer_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/glsl-conformance_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/incorrect-context-object-behaviour_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/index-validation-copies-indices_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/index-validation-crash-with-buffer-sub-data_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/index-validation-verifies-too-many-indices_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/index-validation-with-resized-buffer_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/index-validation_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/invalid-UTF-16_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/invalid-passed-params_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/is-object_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/null-object-behaviour_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/null-uniform-location_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/object-deletion-behaviour_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/oes-element-index-uint_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/oes-vertex-array-object_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/point-size_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/premultiplyalpha-test_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/program-test_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/read-pixels-pack-alignment_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/read-pixels-test_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/renderbuffer-initialization_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/renderer-and-vendor-strings_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/shader-precision-format_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-array-buffer-view_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgb565_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgba4444_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgba5551_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgb565_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgba4444_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgba5551_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgb565_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgba4444_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgba5551_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgb565_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgba4444_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgba5551_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-video_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/tex-image-and-uniform-binding-bugs_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/tex-image-webgl_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/tex-input-validation_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/tex-sub-image-2d-bad-args_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/tex-sub-image-2d_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/tex-sub-image-cube-maps_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/texImage2DImageDataTest_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/texImageTest_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/texture-active-bind_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/texture-bindings-uneffected-on-resize_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/texture-color-profile_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/texture-complete_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/texture-npot_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/texture-transparent-pixels-initialized_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/triangle_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/uniform-location-length-limits_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/uniform-location_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/uninitialized-test_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/viewport-unchanged-upon-resize_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/webgl-composite-modes-repaint_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/webgl-composite-modes_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/webgl-depth-texture_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/webgl-exceptions_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/webgl-large-texture_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/webgl-layer-update_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/webgl-specific_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/webgl-texture-binding-preserved_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/webgl-unprefixed-context-id_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/canvas/webgl/webgl-viewport-parameters-preserved_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-generated-content/pseudo-element-events_t01: Skip # Times out.
+LayoutTests/fast/css-generated-content/pseudo-transition-event_t01: Skip # Times out.
+LayoutTests/fast/css-generated-content/pseudo-transition_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-grid-layout/flex-and-minmax-content-resolution-rows_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-grid-layout/flex-content-resolution-columns_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-grid-layout/flex-content-resolution-rows_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-grid-layout/grid-auto-columns-rows-get-set_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-grid-layout/grid-auto-flow-get-set_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-grid-layout/grid-auto-flow-update_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-grid-layout/grid-container-change-explicit-grid-recompute-child_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-grid-layout/grid-element-border-grid-item_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-grid-layout/grid-element-border-padding-grid-item_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-grid-layout/grid-element-empty-row-column_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-grid-layout/grid-element-min-max-height_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-grid-layout/grid-element-padding-grid-item_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-grid-layout/grid-item-area-get-set_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-grid-layout/grid-item-bad-named-area-auto-placement_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-grid-layout/grid-item-bad-resolution-double-span_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-grid-layout/grid-item-change-order-auto-flow_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-grid-layout/grid-item-display_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-grid-layout/grid-item-margin-resolution_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-grid-layout/grid-item-order-auto-flow-resolution_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-grid-layout/justify-self-cell_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-grid-layout/percent-padding-margin-resolution-grid-item-update_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-grid-layout/percent-padding-margin-resolution-grid-item_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-grid-layout/place-cell-by-index_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css/MarqueeLayoutTest_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css/aspect-ratio-inheritance_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css/aspect-ratio-parsing-tests_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css/auto-min-size_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css/checked-pseudo-selector_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css/counters/complex-before_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css/css-properties-case-insensitive_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css/css3-nth-tokens-style_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css/deprecated-flexbox-auto-min-size_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css/font-face-unicode-range-load_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css/html-attr-case-sensitivity_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css/id-or-class-before-stylesheet_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css/inherit-initial-shorthand-values_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css/invalid-predefined-color_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css/modify-ua-rules-from-javascript_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css/parsing-css-allowed-string-characters_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css/parsing-object-position_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css/pseudo-target-indirect-sibling-001_t01: Skip # Times out.
+LayoutTests/fast/css/pseudo-target-indirect-sibling-002_t01: Skip # Times out.
+LayoutTests/fast/css/sticky/parsing-position-sticky_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css/sticky/remove-inline-sticky-crash_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css/style-scoped/style-scoped-nested_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css/style-scoped/style-scoped-with-dom-operation_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css/style-scoped/style-scoped-with-important-rule_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css/stylesheet-enable-first-alternate-on-load-sheet_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css/stylesheet-enable-second-alternate-link_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css/word-break-user-modify-allowed-values_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/52776_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/DOMException/XPathException_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/DOMImplementation/createDocument-namespace-err_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/Document/CaretRangeFromPoint/caretRangeFromPoint-in-zoom-and-scroll_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/Document/CaretRangeFromPoint/replace-element_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/Document/createElementNS-namespace-err_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/Element/attribute-uppercase_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/Element/getClientRects_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/Element/setAttributeNS-namespace-err_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/HTMLAnchorElement/set-href-attribute-hash_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/HTMLAnchorElement/set-href-attribute-host_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/HTMLAnchorElement/set-href-attribute-hostname_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/HTMLAnchorElement/set-href-attribute-pathname_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/HTMLAnchorElement/set-href-attribute-port_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/HTMLAnchorElement/set-href-attribute-protocol_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/HTMLAnchorElement/set-href-attribute-search_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/HTMLDialogElement/dialog-autofocus_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/HTMLDialogElement/dialog-scrolled-viewport_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/HTMLDialogElement/inert-node-is-unfocusable_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/HTMLDialogElement/inert-node-is-unselectable_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/HTMLDialogElement/multiple-centered-dialogs_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/HTMLDialogElement/non-anchored-dialog-positioning_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/HTMLDialogElement/show-modal-focusing-steps_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/HTMLDocument/set-focus-on-valid-element_t01: Skip # Times out.
+LayoutTests/fast/dom/HTMLElement/set-inner-outer-optimization_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/HTMLElement/spellcheck_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/HTMLFormElement/move-option-between-documents_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/HTMLHtmlElement/duplicate-html-element-crash_t01: Skip # Times out.
+LayoutTests/fast/dom/HTMLImageElement/parse-src_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/HTMLLabelElement/form/test1_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/HTMLLinkElement/link-beforeload-recursive_t01: Skip # Times out.
+LayoutTests/fast/dom/HTMLLinkElement/resolve-url-on-insertion_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/HTMLObjectElement/beforeload-set-text-crash_t01: Skip # Times out.
+LayoutTests/fast/dom/HTMLOptionElement/collection-setter-getter_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/HTMLOutputElement/dom-settable-token-list_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/HTMLScriptElement/async-onbeforeload_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/HTMLScriptElement/defer-onbeforeload_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/HTMLScriptElement/remove-in-beforeload_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/HTMLScriptElement/remove-source_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/HTMLSelectElement/remove-element-from-within-focus-handler-crash_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/HTMLSelectElement/selected-index-preserved-when-option-text-changes_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/HTMLTemplateElement/custom-element-wrapper-gc_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/HTMLTemplateElement/innerHTML_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/HTMLTemplateElement/ownerDocumentXHTML_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/MutationObserver/observe-childList_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/MutationObserver/weak-callback-gc-crash_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/Node/fragment-mutation_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/Node/initial-values_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/NodeIterator/NodeIterator-basic_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/Range/bug-19527_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/Range/insertNode-empty-fragment-crash_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/Range/mutation_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/Range/range-constructor_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/Range/range-detached-exceptions_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/Range/range-insertNode-separate-endContainer_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/Range/range-insertNode-splittext_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/SelectorAPI/dumpNodeList-2_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/SelectorAPI/dumpNodeList_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/StyleSheet/css-medialist-item_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/StyleSheet/detached-stylesheet-without-wrapper_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/TreeWalker/TreeWalker-basic_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/Window/window-resize-contents_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/Window/window-scroll-arguments_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/anchor-without-content_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/attribute-namespaces-get-set_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/characterdata-api-arguments_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/client-width-height-quirks_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/custom/document-register-basic_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/custom/document-register-svg-extends_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/custom/element-names_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/dataset-xhtml_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/dataset_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/document-importNode-arguments_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/domparser-parsefromstring-mimetype-support_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/getElementsByClassName/011_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/getElementsByClassName/dumpNodeList_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/horizontal-scrollbar-in-rtl_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/horizontal-scrollbar-when-dir-change_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/navigatorcontentutils/is-protocol-handler-registered_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/navigatorcontentutils/unregister-protocol-handler_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/object-plugin-hides-properties_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/partial-layout-overlay-scrollbars_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/set-innerHTML_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/shadow/event-path_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/shadow/pseudoclass-update-checked-option_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/shadow/pseudoclass-update-disabled-optgroup_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/shadow/pseudoclass-update-disabled-option_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/shadow/pseudoclass-update-enabled-optgroup_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/shadow/pseudoclass-update-enabled-option_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dynamic/ancestor-to-absolute_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/events/add-event-without-document_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/events/change-overflow-on-overflow-change_t01: Skip # Times out.
+LayoutTests/fast/events/document-elementFromPoint_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/events/event-creation_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/events/event-listener-html-non-html-confusion_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/events/event-trace_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/events/initkeyboardevent-crash_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/events/invalid-003_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/events/invalid-004_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/events/mutation-during-replace-child-2_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/events/mutation-during-replace-child_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/events/overflowchanged-event-raf-timing_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/events/scroll-event-does-not-bubble_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/exclusions/parsing/parsing-wrap-flow_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/exclusions/parsing/parsing-wrap-through_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/files/blob-parts-slice-test_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/files/blob-slice-test_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/files/url-null_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/files/xhr-response-blob_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/filesystem/directory-entry-to-uri_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/filesystem/file-entry-to-uri_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/forms/autofocus-focus-only-once_t01: Skip # Times out.
+LayoutTests/fast/forms/date/input-valueasdate-date_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/forms/datetimelocal/input-valueasdate-datetimelocal_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/forms/file/file-input-capture_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/forms/input-appearance-elementFromPoint_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/forms/input-width-height-attributes-without-renderer-loaded-image_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/forms/listbox-selection-2_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/forms/option-strip-unicode-spaces_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/forms/parser-associated-form-removal_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/forms/select-clientheight-large-size_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/forms/select-clientheight-with-multiple-attr_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/forms/setrangetext_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/html/details-add-child-2_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/html/imports/import-element-removed-flag_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/html/imports/import-events_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/html/unknown-tag_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/inline/boundingBox-with-continuation_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/inline/continuation-inlines-inserted-in-reverse-after-block_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/inline/inline-position-top-align_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/inline/out-of-flow-objects-and-whitespace-after-empty-inline_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/loader/about-blank-hash-change_t01: Skip # Times out.
+LayoutTests/fast/loader/about-blank-hash-kept_t01: Skip # Times out.
+LayoutTests/fast/loader/hashchange-event-properties_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/loader/onhashchange-attribute-listeners_t01: Skip # Times out.
+LayoutTests/fast/loader/scroll-position-restored-on-back_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/loader/scroll-position-restored-on-reload-at-load-event_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/loader/stateobjects/replacestate-in-onunload_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/masking/parsing-clip-path-shape_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/masking/parsing-mask_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/media/media-query-list-syntax_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/multicol/break-properties_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/multicol/cssom-view_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/multicol/hit-test-above-or-below_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/multicol/hit-test-end-of-column-with-line-height_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/multicol/hit-test-float_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/multicol/vertical-rl/float-truncation_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/overflow/scrollbar-restored_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/parser/foster-parent-adopted_t02: RuntimeError # Please triage this failure
+LayoutTests/fast/parser/fragment-parser-doctype_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/parser/innerhtml-with-prefixed-elements_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/replaced/container-width-zero_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/replaced/preferred-widths_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/replaced/table-percent-height_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/replaced/table-percent-width_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/ruby/ruby-line-height_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/shapes/parsing/parsing-shape-lengths_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/shapes/shape-outside-floats/shape-outside-big-box-border-radius_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/shapes/shape-outside-floats/shape-outside-floats-diamond-margin-polygon_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-margin-left_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-margin-right_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/shapes/shape-outside-floats/shape-outside-floats-image-margin_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/shapes/shape-outside-floats/shape-outside-floats-image-margin_t02: RuntimeError # Please triage this failure
+LayoutTests/fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-different-writing-modes-right_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/shapes/shape-outside-floats/shape-outside-rounded-boxes_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/speechsynthesis/speech-synthesis-boundary-events_t01: Skip # Times out.
+LayoutTests/fast/speechsynthesis/speech-synthesis-cancel_t01: Skip # Times out.
+LayoutTests/fast/speechsynthesis/speech-synthesis-pause-resume_t01: Skip # Times out.
+LayoutTests/fast/speechsynthesis/speech-synthesis-speak_t01: Skip # Times out.
+LayoutTests/fast/speechsynthesis/speech-synthesis-utterance-uses-voice_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/speechsynthesis/speech-synthesis-voices_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/storage/disallowed-storage_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/storage/storage-disallowed-in-data-url_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/sub-pixel/cssom-subpixel-precision_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/svg/getbbox_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/svg/whitespace-angle_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/svg/whitespace-integer_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/svg/whitespace-length-invalid_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/svg/whitespace-length_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/svg/whitespace-number_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/table/caption-orthogonal-writing-mode-sizing_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/table/hittest-tablecell-right-edge_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/table/hittest-tablecell-with-borders-right-edge_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/table/large-shrink-wrapped-width_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/table/margins-perpendicular-containing-block_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/table/min-width-css-block-table_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/table/min-width-css-inline-table_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/table/min-width-html-block-table_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/table/min-width-html-inline-table_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/table/nested-tables-with-div-offset_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/table/padding-height-and-override-height_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/table/table-all-rowspans-height-distribution-in-rows-except-overlapped_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/table/table-all-rowspans-height-distribution-in-rows_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/table/table-rowspan-height-distribution-in-rows_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/table/table-rowspan-height-distribution-in-rows_t02: RuntimeError # Please triage this failure
+LayoutTests/fast/table/table-with-content-width-exceeding-max-width_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/text-autosizing/vertical-writing-mode_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/text/find-spaces_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/text/international/cjk-segmentation_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/text/international/iso-8859-8_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/text/international/thai-offsetForPosition-inside-character_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/text/line-break-after-question-mark_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/text/offsetForPosition-cluster-at-zero_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/text/sub-pixel/text-scaling-ltr_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/text/sub-pixel/text-scaling-pixel_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/text/sub-pixel/text-scaling-rtl_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/text/sub-pixel/text-scaling-vertical_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/text/sub-pixel/text-scaling-webfont_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/transforms/hit-test-large-scale_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/url/file-http-base_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/url/file_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/url/host_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/url/idna2003_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/url/idna2008_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/url/invalid-urls-utf8_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/url/ipv4_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/url/ipv6_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/url/path_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/url/query_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/url/relative-unix_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/url/relative-win_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/url/relative_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/url/segments-from-data-url_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/url/segments_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/url/standard-url_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/writing-mode/display-mutation_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/writing-mode/table-hit-test_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/xmlhttprequest/xmlhttprequest-responseXML-xml-text-responsetype_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/xmlhttprequest/xmlhttprequest-responsetype-arraybuffer_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/xpath/4XPath/Borrowed/cz_20030217_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/xpath/4XPath/Borrowed/namespace-nodes_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/xpath/4XPath/Core/test_core_functions_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/xpath/4XPath/Core/test_core_functions_t02: RuntimeError # Please triage this failure
+LayoutTests/fast/xpath/4XPath/Core/test_node_test_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/xpath/4XPath/Core/test_node_test_t02: RuntimeError # Please triage this failure
+LayoutTests/fast/xpath/4XPath/Core/test_parser_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/xpath/ambiguous-operators_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/xpath/attr-namespace_t02: RuntimeError # Please triage this failure
+LayoutTests/fast/xpath/ensure-null-namespace_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/xpath/implicit-node-args_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/xpath/node-name-case-sensitivity_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/xpath/node-name-case-sensitivity_t02: RuntimeError # Please triage this failure
+LayoutTests/fast/xpath/position_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/xpath/py-dom-xpath/abbreviations_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/xpath/py-dom-xpath/axes_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/xpath/py-dom-xpath/data_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/xpath/py-dom-xpath/expressions_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/xpath/py-dom-xpath/paths_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/xpath/reverse-axes_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/xsl/default-html_t01: RuntimeError # Please triage this failure
+LibTest/core/RegExp/Pattern_semantics/firstMatch_NonEmptyClassRanges_A01_t01: RuntimeError # Please triage this failure
+LibTest/core/RegExp/Pattern_semantics/firstMatch_NonEmptyClassRanges_A01_t05: RuntimeError # Please triage this failure
+LibTest/core/RegExp/Pattern_semantics/firstMatch_NonEmptyClassRanges_A01_t06: RuntimeError # Please triage this failure
+LibTest/core/int/compareTo_A01_t01: RuntimeError # Please triage this failure
+LibTest/core/int/operator_left_shift_A01_t01: RuntimeError # Please triage this failure
+LibTest/core/int/operator_remainder_A01_t03: RuntimeError # Please triage this failure
+LibTest/core/int/operator_truncating_division_A01_t02: RuntimeError # Please triage this failure
+LibTest/core/int/remainder_A01_t01: RuntimeError # Please triage this failure
+LibTest/core/int/remainder_A01_t03: RuntimeError # Please triage this failure
+LibTest/core/int/toRadixString_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/CanvasRenderingContext2D/addEventListener_A01_t03: RuntimeError # Please triage this failure
+LibTest/html/CanvasRenderingContext2D/addEventListener_A01_t06: RuntimeError # Please triage this failure
+LibTest/html/Document/childNodes_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/Document/clone_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/Document/clone_A01_t02: RuntimeError # Please triage this failure
+LibTest/html/Document/securityPolicy_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/Element/borderEdge_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/Element/contentEdge_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/Element/dataset_A02_t01: RuntimeError # Please triage this failure
+LibTest/html/Element/getAttributeNS_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/Element/getNamespacedAttributes_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/Element/isContentEditable_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/Element/isContentEditable_A02_t01: RuntimeError # Please triage this failure
+LibTest/html/Element/marginEdge_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/Element/mouseWheelEvent_A01_t01: Skip # Times out.
+LibTest/html/Element/onMouseWheel_A01_t01: Skip # Times out.
+LibTest/html/Element/onTransitionEnd_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/Element/paddingEdge_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/Element/querySelectorAll_A01_t02: RuntimeError # Please triage this failure
+LibTest/html/Element/replaceWith_A01_t02: RuntimeError # Please triage this failure
+LibTest/html/Element/transitionEndEvent_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/HttpRequest/getAllResponseHeaders_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/HttpRequest/getResponseHeader_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/HttpRequest/getString_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/HttpRequest/onError_A01_t02: Skip # Times out.
+LibTest/html/HttpRequest/request_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/HttpRequest/responseText_A01_t02: Skip # Times out.
+LibTest/html/HttpRequest/responseType_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/HttpRequest/setRequestHeader_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/HttpRequest/statusText_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/HttpRequest/status_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/HttpRequestUpload/onError_A01_t02: Skip # Times out.
+LibTest/html/HttpRequestUpload/onLoadEnd_A01_t01: Skip # Times out.
+LibTest/html/HttpRequestUpload/onLoadStart_A01_t01: Skip # Times out.
+LibTest/html/HttpRequestUpload/onLoad_A01_t01: Skip # Times out.
+LibTest/html/IFrameElement/IFrameElement.created_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/IFrameElement/attributeChanged_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/IFrameElement/attributes_setter_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/IFrameElement/borderEdge_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/IFrameElement/clone_A01_t02: RuntimeError # Please triage this failure
+LibTest/html/IFrameElement/contentWindow_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/IFrameElement/createFragment_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/IFrameElement/createFragment_A01_t02: RuntimeError # Please triage this failure
+LibTest/html/IFrameElement/createFragment_A01_t03: RuntimeError # Please triage this failure
+LibTest/html/IFrameElement/createShadowRoot_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/IFrameElement/getNamespacedAttributes_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/IFrameElement/innerHtml_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/IFrameElement/isContentEditable_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/IFrameElement/leftView_A01_t01: Skip # Times out.
+LibTest/html/IFrameElement/marginEdge_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/IFrameElement/offsetTo_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/IFrameElement/onMouseWheel_A01_t01: Skip # Times out.
+LibTest/html/IFrameElement/onTransitionEnd_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/IFrameElement/outerHtml_setter_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/IFrameElement/paddingEdge_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/IFrameElement/querySelector_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/IFrameElement/setInnerHtml_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/Node/append_A01_t02: RuntimeError # Please triage this failure
+LibTest/html/Node/nodes_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/Node/nodes_A01_t02: RuntimeError # Please triage this failure
+LibTest/html/Node/parent_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/Node/previousNode_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/Window/close_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/Window/document_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/Window/find_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/Window/find_A03_t01: RuntimeError # Please triage this failure
+LibTest/html/Window/find_A06_t01: RuntimeError # Please triage this failure
+LibTest/html/Window/moveBy_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/Window/moveTo_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/Window/moveTo_A02_t01: RuntimeError # Please triage this failure
+LibTest/html/Window/open_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/Window/postMessage_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/Window/postMessage_A01_t02: RuntimeError # Please triage this failure
+LibTest/html/Window/requestFileSystem_A02_t01: RuntimeError # Please triage this failure
+LibTest/html/Window/resizeBy_A01_t01: RuntimeError # Please triage this failure
+LibTest/html/Window/resizeTo_A01_t01: RuntimeError # Please triage this failure
+LibTest/typed_data/Float32x4List/Float32x4List.view_A06_t01: RuntimeError # Please triage this failure
+LibTest/typed_data/Int32x4/operator_OR_A01_t01: RuntimeError # Please triage this failure
+WebPlatformTest/DOMEvents/approved/EventObject.after.dispatchEvenr_t01: RuntimeError # Please triage this failure
+WebPlatformTest/DOMEvents/approved/EventObject.multiple.dispatchEvent_t01: RuntimeError # Please triage this failure
+WebPlatformTest/DOMEvents/approved/ProcessingInstruction.DOMCharacterDataModified_t01: Skip # Times out.
+WebPlatformTest/DOMEvents/approved/addEventListener.optional.useCapture_t01: RuntimeError # Please triage this failure
+WebPlatformTest/Utils/test/asyncTestFail_t01: RuntimeError # Please triage this failure
+WebPlatformTest/Utils/test/asyncTestFail_t02: RuntimeError # Please triage this failure
+WebPlatformTest/Utils/test/asyncTestTimeout_t01: Skip # Times out.
+WebPlatformTest/custom-elements/concepts/type_A05_t01: RuntimeError # Please triage this failure
+WebPlatformTest/custom-elements/concepts/type_A06_t01: RuntimeError # Please triage this failure
+WebPlatformTest/dom/EventTarget/dispatchEvent_A02_t01: RuntimeError # Please triage this failure
+WebPlatformTest/dom/events/type_A01_t01: RuntimeError # Please triage this failure
+WebPlatformTest/dom/nodes/DOMImplementation-createDocument_t01: RuntimeError # Please triage this failure
+WebPlatformTest/dom/nodes/Document-adoptNode_t01: RuntimeError # Please triage this failure
+WebPlatformTest/dom/nodes/Document-getElementsByTagName_t01: RuntimeError # Please triage this failure
+WebPlatformTest/dom/nodes/Element-childElementCount_t01: RuntimeError # Please triage this failure
+WebPlatformTest/dom/nodes/Node-appendChild_t01: RuntimeError # Please triage this failure
+WebPlatformTest/dom/nodes/Node-appendChild_t02: RuntimeError # Please triage this failure
+WebPlatformTest/dom/nodes/Node-insertBefore_t01: RuntimeError # Please triage this failure
+WebPlatformTest/dom/nodes/Node-isEqualNode_t01: RuntimeError # Please triage this failure
+WebPlatformTest/dom/nodes/Node-nodeName_t01: RuntimeError # Please triage this failure
+WebPlatformTest/dom/nodes/Node-replaceChild_t01: RuntimeError # Please triage this failure
+WebPlatformTest/dom/nodes/Node-textContent_t01: RuntimeError # Please triage this failure
+WebPlatformTest/dom/nodes/attributes/setAttributeNS_A05_t01: RuntimeError # Please triage this failure
+WebPlatformTest/dom/nodes/attributes/setAttributeNS_A06_t03: RuntimeError # Please triage this failure
+WebPlatformTest/dom/nodes/attributes/setAttributeNS_A07_t02: RuntimeError # Please triage this failure
+WebPlatformTest/dom/nodes/attributes/setAttributeNS_A07_t03: RuntimeError # Please triage this failure
+WebPlatformTest/dom/nodes/attributes/setAttributeNS_A08_t01: RuntimeError # Please triage this failure
+WebPlatformTest/dom/nodes/attributes/setAttribute_A03_t01: RuntimeError # Please triage this failure
+WebPlatformTest/dom/ranges/Range-comparePoint_t02: RuntimeError # Please triage this failure
+WebPlatformTest/html-imports/link-import_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html-imports/link-import_t02: RuntimeError # Please triage this failure
+WebPlatformTest/html-imports/loading-import_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html-templates/innerhtml-on-templates/innerhtml_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html-templates/parsing-html-templates/additions-to-the-in-head-insertion-mode/generating-of-implied-end-tags_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html-templates/parsing-html-templates/creating-an-element-for-the-token/template-owner-document_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/browsers/browsing-the-web/read-media/pageload-image_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/browsers/browsing-the-web/read-media/pageload-video_t01: Skip # Times out.
+WebPlatformTest/html/browsers/browsing-the-web/read-text/load-text-plain_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/dom/documents/dom-tree-accessors/document.body-getter_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/dom/documents/dom-tree-accessors/document.body-setter_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/dom/documents/dom-tree-accessors/document.getElementsByName-namespace_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/dom/documents/dom-tree-accessors/document.title_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/dom/documents/dom-tree-accessors/document.title_t05: RuntimeError # Please triage this failure
+WebPlatformTest/html/dom/documents/dom-tree-accessors/document.title_t07: RuntimeError # Please triage this failure
+WebPlatformTest/html/dom/documents/dom-tree-accessors/nameditem_t02: RuntimeError # Please triage this failure
+WebPlatformTest/html/dom/elements/global-attributes/dataset-delete_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/dom/elements/global-attributes/dataset-get_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/dom/elements/global-attributes/dataset-set_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/embedded-content/media-elements/error-codes/error_t01: Skip # Times out.
+WebPlatformTest/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLMediaElement/addTextTrack_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLTrackElement/src_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/embedded-content/media-elements/interfaces/TextTrack/cues_t01: Skip # Times out.
+WebPlatformTest/html/semantics/embedded-content/media-elements/interfaces/TextTrack/mode_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/forms/attributes-common-to-form-controls/formAction_document_address_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/forms/attributes-common-to-form-controls/formaction_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/forms/textfieldselection/selection_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/forms/textfieldselection/textfieldselection-setRangeText_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/forms/the-button-element/button-validation_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/forms/the-fieldset-element/disabled_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/forms/the-form-element/form-autocomplete_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/forms/the-form-element/form-elements-matches_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/forms/the-form-element/form-elements-nameditem_t02: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/forms/the-input-element/date_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/forms/the-input-element/datetime-local_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/forms/the-input-element/datetime_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/forms/the-input-element/datetime_t02: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/forms/the-input-element/email_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/forms/the-input-element/hidden_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/forms/the-input-element/input-textselection_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/forms/the-input-element/month_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/forms/the-input-element/password_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/forms/the-input-element/range_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/forms/the-input-element/text_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/forms/the-input-element/time_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/forms/the-input-element/time_t02: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/forms/the-input-element/type-change-state_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/forms/the-input-element/url_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/forms/the-input-element/valueMode_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/forms/the-input-element/week_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/forms/the-meter-element/meter_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/forms/the-option-element/option-text-recurse_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/forms/the-option-element/option-text-spaces_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/grouping-content/the-blockquote-element/grouping-blockquote_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/interactive-elements/the-dialog-element/dialog-close_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/interactive-elements/the-dialog-element/dialog-showModal_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/scripting-1/the-script-element/script-text_t02: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/selectors/pseudo-classes/checked_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/selectors/pseudo-classes/default_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/selectors/pseudo-classes/dir_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/selectors/pseudo-classes/enabled_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/selectors/pseudo-classes/indeterminate_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/selectors/pseudo-classes/inrange-outofrange_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/tabular-data/the-table-element/table-rows_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/semantics/tabular-data/the-tr-element/rowIndex_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/syntax/parsing/Document.getElementsByTagName-foreign_t02: RuntimeError # Please triage this failure
+WebPlatformTest/html/syntax/serializing-html-fragments/outerHTML_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/t02: RuntimeError # Please triage this failure
+WebPlatformTest/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/t03: RuntimeError # Please triage this failure
+WebPlatformTest/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/t04: RuntimeError # Please triage this failure
+WebPlatformTest/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/t05: RuntimeError # Please triage this failure
+WebPlatformTest/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/t06: RuntimeError # Please triage this failure
+WebPlatformTest/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-001_t01: RuntimeError # Please triage this failure
+WebPlatformTest/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-004_t01: RuntimeError # Please triage this failure
+WebPlatformTest/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-004_t02: RuntimeError # Please triage this failure
+WebPlatformTest/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/elements-001_t01: RuntimeError # Please triage this failure
+WebPlatformTest/shadow-dom/elements-and-dom-objects/the-content-html-element/test-004_t01: RuntimeError # Please triage this failure
+WebPlatformTest/shadow-dom/elements-and-dom-objects/the-content-html-element/test-004_t02: RuntimeError # Please triage this failure
+WebPlatformTest/shadow-dom/elements-and-dom-objects/the-content-html-element/test-006_t01: RuntimeError # Please triage this failure
+WebPlatformTest/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-001_t01: RuntimeError # Please triage this failure
+WebPlatformTest/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-003_t01: RuntimeError # Please triage this failure
+WebPlatformTest/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-003_t02: RuntimeError # Please triage this failure
+WebPlatformTest/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-005_t01: RuntimeError # Please triage this failure
+WebPlatformTest/shadow-dom/events/event-dispatch/test-001_t01: RuntimeError # Please triage this failure
+WebPlatformTest/shadow-dom/events/event-dispatch/test-002_t01: RuntimeError # Please triage this failure
+WebPlatformTest/shadow-dom/events/event-dispatch/test-003_t01: RuntimeError # Please triage this failure
+WebPlatformTest/shadow-dom/events/event-retargeting/test-001_t01: RuntimeError # Please triage this failure
+WebPlatformTest/shadow-dom/events/event-retargeting/test-002_t01: RuntimeError # Please triage this failure
+WebPlatformTest/shadow-dom/events/event-retargeting/test-004_t01: RuntimeError # Please triage this failure
+WebPlatformTest/shadow-dom/events/retargeting-focus-events/test-002_t01: RuntimeError # Please triage this failure
+WebPlatformTest/shadow-dom/events/retargeting-focus-events/test-003_t01: RuntimeError # Please triage this failure
+WebPlatformTest/shadow-dom/events/retargeting-relatedtarget/test-003_t01: RuntimeError # Please triage this failure
+WebPlatformTest/shadow-dom/html-elements-and-their-shadow-trees/test-001_t01: RuntimeError # Please triage this failure
+WebPlatformTest/shadow-dom/html-elements-and-their-shadow-trees/test-002_t01: RuntimeError # Please triage this failure
+WebPlatformTest/shadow-dom/html-elements-and-their-shadow-trees/test-003_t01: RuntimeError # Please triage this failure
+WebPlatformTest/shadow-dom/shadow-trees/custom-pseudo-elements/test-001_t01: RuntimeError # Please triage this failure
+WebPlatformTest/shadow-dom/shadow-trees/distributed-pseudo-element/test-001_t01: RuntimeError # Please triage this failure
+WebPlatformTest/shadow-dom/shadow-trees/distributed-pseudo-element/test-002_t01: RuntimeError # Please triage this failure
+WebPlatformTest/shadow-dom/shadow-trees/lower-boundary-encapsulation/test-004_t01: RuntimeError # Please triage this failure
+WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/ownerdocument-002_t01: RuntimeError # Please triage this failure
+WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/selectors-api-001_t01: RuntimeError # Please triage this failure
+WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/selectors-api-002_t01: RuntimeError # Please triage this failure
+WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-009_t01: RuntimeError # Please triage this failure
+WebPlatformTest/webstorage/event_constructor_t01: RuntimeError # Please triage this failure
+WebPlatformTest/webstorage/event_constructor_t02: RuntimeError # Please triage this failure
+
+[ $compiler == dart2js && $runtime == drt && $fast_startup ]
+WebPlatformTest/custom-elements/concepts/type_A04_t01: RuntimeError # Please triage this failure
+WebPlatformTest/custom-elements/instantiating/createElementNS_A02_t01: RuntimeError # Please triage this failure
+WebPlatformTest/custom-elements/instantiating/createElementNS_A03_t01: RuntimeError # Please triage this failure
+WebPlatformTest/custom-elements/instantiating/createElement_A02_t01: RuntimeError # Please triage this failure
+WebPlatformTest/custom-elements/instantiating/createElement_A03_t01: RuntimeError # Please triage this failure
+WebPlatformTest/custom-elements/instantiating/createElement_A04_t01: RuntimeError # Please triage this failure
+WebPlatformTest/custom-elements/instantiating/isAttribute_A01_t01: RuntimeError # Please triage this failure
+WebPlatformTest/custom-elements/instantiating/isAttribute_A01_t02: RuntimeError # Please triage this failure
+WebPlatformTest/custom-elements/instantiating/isAttribute_A02_t01: RuntimeError # Please triage this failure
+WebPlatformTest/custom-elements/instantiating/namespace_A01_t01: RuntimeError # Please triage this failure
+
+[ $compiler == dart2js && $runtime == drt && $fast_startup == false ]
+WebPlatformTest/custom-elements/concepts/type_A03_t01: RuntimeError # Please triage this failure
+
+[ $compiler == dart2js && $runtime == drt && $fast_startup && $checked ]
+WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/ownerdocument-001_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-grid-layout/auto-content-resolution-rows_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-grid-layout/breadth-size-resolution-grid_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-grid-layout/calc-resolution-grid-item_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-grid-layout/grid-element-padding-margin_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-grid-layout/grid-element-shrink-to-fit_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-grid-layout/grid-item-margin-auto-columns-rows-horiz-bt_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-grid-layout/grid-item-margin-auto-columns-rows-vert-lr_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-grid-layout/grid-item-margin-auto-columns-rows-vert-rl_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-grid-layout/grid-item-margin-auto-columns-rows_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-grid-layout/implicit-rows-auto-resolution_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-grid-layout/minmax-fixed-logical-height-only_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-grid-layout/minmax-fixed-logical-width-only_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-grid-layout/percent-grid-item-in-percent-grid-track-in-percent-grid_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-grid-layout/percent-grid-item-in-percent-grid-track-update_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-grid-layout/percent-grid-item-in-percent-grid-track_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-grid-layout/percent-resolution-grid-item_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-intrinsic-dimensions/css-tables_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-intrinsic-dimensions/intrinsic-sized-absolutes_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-intrinsic-dimensions/intrinsic-sized-blocks_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-intrinsic-dimensions/intrinsic-sized-column-flex-items_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-intrinsic-dimensions/intrinsic-sized-flex-items_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-intrinsic-dimensions/intrinsic-sized-replaced-absolutes_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-intrinsic-dimensions/multicol_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-intrinsic-dimensions/tables_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css-intrinsic-dimensions/width-shrinks-avoid-floats_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css/box-sizing-border-box-dynamic-padding-border-update_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css/display-inline-block-scrollbar_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css/fixed-width-intrinsic-width-excludes-scrollbars_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css/focus-display-block-inline_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/css/style-scoped/style-scoped-scoping-nodes-different-order_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/HTMLDialogElement/top-layer-position-relative_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/HTMLDialogElement/top-layer-position-static_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/HTMLTableElement/insert-row_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/dom/Window/window-resize_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/filesystem/file-writer-abort_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/filesystem/file-writer-events_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/filesystem/op-copy_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/filesystem/op-get-entry_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/filesystem/op-get-metadata_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/filesystem/op-get-parent_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/filesystem/op-move_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/filesystem/op-read-directory_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/filesystem/op-remove_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/filesystem/op-restricted-chars_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/filesystem/op-restricted-names_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/filesystem/op-restricted-unicode_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/flexbox/flexing-overflow-scroll-item_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/flexbox/intrinsic-min-width-applies-with-fixed-width_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/html/article-element_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/html/aside-element_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/inline/empty-inline-before-collapsed-space_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/inline/inline-with-empty-inline-children_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/inline/parent-inline-element-padding-contributes-width_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/inline/positioned-element-padding-contributes-width_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/lists/marker-preferred-margins_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/multicol/fixed-column-percent-logical-height-orthogonal-writing-mode_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/multicol/vertical-lr/float-truncation_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/multicol/vertical-lr/image-inside-nested-blocks-with-border_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/parser/pre-first-line-break_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/replaced/available-height-for-content_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/shapes/parsing/parsing-shape-image-threshold_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/shapes/parsing/parsing-shape-margin_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/table/absolute-table-percent-lengths_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/table/css-table-max-height_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/table/css-table-width-with-border-padding_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/table/css-table-width_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/table/switch-table-layout-dynamic-cells_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/table/switch-table-layout-multiple-section_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/table/switch-table-layout_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/table/table-colgroup-present-after-table-row_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/table/table-rowspan-cell-with-empty-cell_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/text/line-break-after-inline-latin1_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/text/text-combine-shrink-to-fit_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/url/trivial-segments_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/url/trivial_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/writing-mode/auto-sizing-orthogonal-flows_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/xpath/xpath-result-eventlistener-crash_t01: RuntimeError # Please triage this failure
+LibTest/html/Node/ownerDocument_A01_t01: RuntimeError # Please triage this failure
+WebPlatformTest/DOMEvents/approved/Propagation.path.target.removed_t01: RuntimeError # Please triage this failure
+WebPlatformTest/dom/nodes/DOMImplementation-createDocumentType_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html-templates/parsing-html-templates/clearing-the-stack-back-to-a-given-context/clearing-stack-back-to-a-table-body-context_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html-templates/parsing-html-templates/clearing-the-stack-back-to-a-given-context/clearing-stack-back-to-a-table-context_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html-templates/parsing-html-templates/clearing-the-stack-back-to-a-given-context/clearing-stack-back-to-a-table-row-context_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html/dom/elements/global-attributes/dataset-enumeration_t01: RuntimeError # Please triage this failure
+
+[ $compiler == dart2js && $runtime == drt && $checked == false ]
+LayoutTests/fast/xpath/invalid-resolver_t01: RuntimeError # Please triage this failure
+
 [ $compiler == dart2js && $runtime == ff ]
 Language/Expressions/Postfix_Expressions/property_decrement_t02: Skip # Times out. Please triage this failure
 Language/Statements/Yield_and_Yield_Each/Yield/execution_async_t01: RuntimeError # Issue 26615
@@ -2009,7 +2786,7 @@
 LayoutTests/fast/alignment/parse-align-items_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/alignment/parse-align-self_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/alignment/parse-justify-self_t01: RuntimeError # Please triage this failure
-LayoutTests/fast/animation/request-animation-frame-cancel2_t01: RuntimeError # Please triage this failure
+LayoutTests/fast/animation/request-animation-frame-cancel2_t01: Skip # Times out and fails. Please triage this failure
 LayoutTests/fast/animation/request-animation-frame-prefix_t01: Skip # Times out. Please triage this failure
 LayoutTests/fast/animation/request-animation-frame-timestamps-advance_t01: Skip # Times out. Please triage this failure
 LayoutTests/fast/animation/request-animation-frame-within-callback_t01: Skip # Times out. Please triage this failure
@@ -2166,7 +2943,6 @@
 LayoutTests/fast/css/child-selector-implicit-tbody_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/css/content/content-none_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/css/content/content-normal_t01: RuntimeError # Please triage this failure
-LayoutTests/fast/css/content/content-quotes-01_t01: RuntimeError # co19 issue 61
 LayoutTests/fast/css/content/content-quotes-06_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/css/counters/complex-before_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/css/counters/counter-cssText_t01: RuntimeError # Please triage this failure
@@ -2756,7 +3532,6 @@
 LayoutTests/fast/forms/input-implicit-length-limit_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/forms/input-inputmode_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/forms/input-maxlength-unsupported_t01: RuntimeError # Please triage this failure
-LayoutTests/fast/forms/input-maxlength_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/forms/input-setvalue-selection_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/forms/input-text-paste-maxlength_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/forms/input-value-sanitization_t01: RuntimeError # Please triage this failure
@@ -2891,7 +3666,6 @@
 LayoutTests/fast/multicol/vertical-rl/break-properties_t01: RuntimeError # co19 issue 63
 LayoutTests/fast/multicol/vertical-rl/float-truncation_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/multicol/vertical-rl/gap-non-negative_t01: RuntimeError # Please triage this failure
-LayoutTests/fast/multicol/vertical-rl/image-inside-nested-blocks-with-border_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/multicol/widows_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/multicol/widows_t02: RuntimeError # Please triage this failure
 LayoutTests/fast/multicol/zeroColumnCount_t01: RuntimeError # Please triage this failure
@@ -4050,9 +4824,7 @@
 LayoutTests/fast/multicol/newmulticol/balance-images_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/multicol/orphans-relayout_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/multicol/vertical-lr/float-truncation_t01: RuntimeError # Please triage this failure
-LayoutTests/fast/multicol/vertical-rl/break-properties_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/multicol/vertical-rl/float-truncation_t01: RuntimeError # Please triage this failure
-LayoutTests/fast/multicol/vertical-rl/image-inside-nested-blocks-with-border_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/overflow/child-100percent-height-inside-fixed-container-with-overflow-auto_t01: Pass, RuntimeError # Please triage this failure
 LayoutTests/fast/overflow/replaced-child-100percent-height-inside-fixed-container-with-overflow-auto_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/overflow/scrollbar-restored_t01: RuntimeError # Fails 10 out of 10.
@@ -5331,7 +6103,6 @@
 LayoutTests/fast/multicol/vertical-lr/float-truncation_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/multicol/vertical-rl/break-properties_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/multicol/vertical-rl/float-truncation_t01: RuntimeError # Please triage this failure
-LayoutTests/fast/multicol/vertical-rl/image-inside-nested-blocks-with-border_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/multicol/widows_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/multicol/widows_t02: RuntimeError # Please triage this failure
 LayoutTests/fast/overflow/child-100percent-height-inside-fixed-container-with-overflow-auto_t01: RuntimeError # Please triage this failure
@@ -7085,7 +7856,6 @@
 LayoutTests/fast/multicol/vertical-rl/break-properties_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/multicol/vertical-rl/float-truncation_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/multicol/vertical-rl/gap-non-negative_t01: RuntimeError # Please triage this failure
-LayoutTests/fast/multicol/vertical-rl/image-inside-nested-blocks-with-border_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/multicol/widows_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/multicol/zeroColumnCount_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/overflow/height-during-simplified-layout_t01: RuntimeError # Please triage this failure
@@ -8156,7 +8926,6 @@
 LayoutTests/fast/css/computed-offset-with-zoom_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/css/content/content-none_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/css/content/content-normal_t01: RuntimeError # Please triage this failure
-LayoutTests/fast/css/content/content-quotes-01_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/css/content/content-quotes-03_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/css/content/content-quotes-06_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/css/counters/complex-before_t01: RuntimeError # Please triage this failure
@@ -9031,7 +9800,6 @@
 LayoutTests/fast/multicol/vertical-rl/break-properties_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/multicol/vertical-rl/float-truncation_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/multicol/vertical-rl/gap-non-negative_t01: RuntimeError # Please triage this failure
-LayoutTests/fast/multicol/vertical-rl/image-inside-nested-blocks-with-border_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/multicol/widows_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/multicol/zeroColumnCount_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/overflow/height-during-simplified-layout_t01: RuntimeError # Please triage this failure
diff --git a/tests/co19/co19-dartium.status b/tests/co19/co19-dartium.status
index 927945b..34b7cc1 100644
--- a/tests/co19/co19-dartium.status
+++ b/tests/co19/co19-dartium.status
@@ -209,18 +209,14 @@
 Language/Expressions/Identifier_Reference/built_in_not_dynamic_t19: Fail # Issue 25772
 Language/Expressions/Instance_Creation/New/execution_t04: Fail, OK
 Language/Expressions/Instance_Creation/New/execution_t06: Fail, OK
-Language/Expressions/Method_Invocation/Ordinary_Invocation/object_method_invocation_t01: Fail # Issue 25496
-Language/Expressions/Method_Invocation/Ordinary_Invocation/object_method_invocation_t02: Fail # Issue 25496
+Language/Expressions/Method_Invocation/Ordinary_Invocation/syntax_t05: Pass
 Language/Expressions/Property_Extraction/Anonymous_Constructor_Closurization/identical_t01: RuntimeError # Issue 24607
 Language/Expressions/Property_Extraction/Anonymous_Constructor_Closurization/identical_t02: RuntimeError # Issue 24607
-
 Language/Expressions/Property_Extraction/General_Super_Property_Extraction: RuntimeError # Issue 26287
-
 Language/Expressions/Property_Extraction/Named_Constructor_Closurization/identical_t01: RuntimeError # Issue 24607
-
 Language/Expressions/Property_Extraction/Super_Closurization: RuntimeError # Issue 26287
-
 Language/Expressions/Spawning_an_Isolate/new_isolate_t01: RuntimeError, OK  # Uses Isolate.spawn.
+Language/Functions/Formal_Parameters/syntax_t05: Pass
 Language/Libraries_and_Scripts/Exports/reexport_t01: fail # Dart issue 12916
 Language/Libraries_and_Scripts/Exports/reexport_t02: fail # Dart issue 12916
 Language/Libraries_and_Scripts/Parts/compilation_t02: Skip # Please triage this failure.
@@ -233,8 +229,6 @@
 Language/Mixins/declaring_constructor_t06: Fail # Issue 24767
 Language/Mixins/not_object_superclass_t01: Fail # Please triage this failure.
 Language/Mixins/reference_to_super_t01: Fail # Please triage this failure.
-Language/Reference/Operator_Precedence/precedence_12_Shift_t02: RuntimeError # Please triage this failure
-Language/Reference/Operator_Precedence/precedence_15_unary_prefix_t04: RuntimeError # Please triage this failure
 Language/Statements/Assert/execution_t02: skip # co19 issue 734
 Language/Statements/Assert/execution_t03: skip # co19 issue 734
 Language/Statements/Assert/type_t02: skip # co19 issue 734
@@ -372,6 +366,7 @@
 LayoutTests/fast/canvas/webgl/texture-color-profile_t01: RuntimeError # Issue 25653
 LayoutTests/fast/canvas/webgl/texture-complete_t01: RuntimeError # Issue 25653
 LayoutTests/fast/canvas/webgl/texture-npot_t01: RuntimeError # Issue 25653
+LayoutTests/fast/canvas/webgl/texture-transparent-pixels-initialized_t01: RuntimeError # 45 rollwebgl doesn't run on on windows/linux but failed on mac bots.
 LayoutTests/fast/canvas/webgl/triangle_t01: RuntimeError, Pass # co19-roll r761: Please triage this failure.
 LayoutTests/fast/canvas/webgl/uniform-location-length-limits_t01: Pass, RuntimeError # Issue 22026
 LayoutTests/fast/canvas/webgl/uniform-location_t01: RuntimeError # Please triage this failure
@@ -437,13 +432,16 @@
 LayoutTests/fast/css-grid-layout/percent-padding-margin-resolution-grid-item_t01: RuntimeError # co19-roll r786: Please triage this failure.
 LayoutTests/fast/css-grid-layout/percent-resolution-grid-item_t01: RuntimeError # co19-roll r786: Please triage this failure.
 LayoutTests/fast/css-grid-layout/place-cell-by-index_t01: RuntimeError # co19-roll r786: Please triage this failure.
+LayoutTests/fast/css-intrinsic-dimensions/intrinsic-sized-replaced-absolutes_t01: Skip # 45 Roll failure.
+LayoutTests/fast/css/aspect-ratio-inheritance_t01: Skip # 45 Roll No longer supported.
+LayoutTests/fast/css/aspect-ratio-parsing-tests_t01: Skip # 45 Roll No longer supported.
+LayoutTests/fast/css/auto-min-size_t01: RuntimeError #  45 Roll co19 test rewrite issue 25807
 LayoutTests/fast/css/checked-pseudo-selector_t01: RuntimeError # co19-roll r761: Please triage this failure.
 LayoutTests/fast/css/collapsed-whitespace-reattach-in-style-recalc_t01: RuntimeError # co19-roll r761: Please triage this failure.
 LayoutTests/fast/css/collapsed-whitespace-reattach-in-style-recalc_t01: Skip # co19 issue 732.
 LayoutTests/fast/css/computed-offset-with-zoom_t01: Skip # co19 issue 732.
 LayoutTests/fast/css/content/content-none_t01: RuntimeError # co19-roll r761: Please triage this failure.
 LayoutTests/fast/css/content/content-normal_t01: RuntimeError # co19-roll r761: Please triage this failure.
-LayoutTests/fast/css/content/content-quotes-01_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/css/counters/complex-before_t01: RuntimeError, Pass # co19-roll r761: Please triage this failure.
 LayoutTests/fast/css/css-properties-case-insensitive_t01: RuntimeError # co19-roll r761: Please triage this failure.
 LayoutTests/fast/css/css3-nth-tokens-style_t01: RuntimeError # co19-roll r761: Please triage this failure.
@@ -468,6 +466,7 @@
 LayoutTests/fast/css/link-alternate-stylesheet-5_t01: RuntimeError # co19-roll r761: Please triage this failure.
 LayoutTests/fast/css/media-query-recovery_t01: RuntimeError # co19-roll r761: Please triage this failure.
 LayoutTests/fast/css/parsing-at-rule-recovery_t01: RuntimeError # co19-roll r761: Please triage this failure.
+LayoutTests/fast/css/parsing-css-allowed-string-characters_t01: RuntimeError #  45 Roll co19 test rewrite issue 25807
 LayoutTests/fast/css/parsing-object-position_t01: RuntimeError # Please triage this failure
 LayoutTests/fast/css/parsing-page-rule_t01: RuntimeError # co19-roll r761: Please triage this failure.
 LayoutTests/fast/css/parsing-selector-error-recovery_t01: RuntimeError # co19-roll r761: Please triage this failure.
@@ -572,6 +571,7 @@
 LayoutTests/fast/dom/cssTarget-crash_t01: Skip # Test reloads itself. Issue 18558.
 LayoutTests/fast/dom/custom/document-register-basic_t01: RuntimeError # Bad test can't register HtmlElement.
 LayoutTests/fast/dom/custom/document-register-svg-extends_t01: RuntimeError # co19-roll r738: Please triage this failure.
+LayoutTests/fast/dom/custom/element-names_t01: RuntimeError # 45 Roll issue dart-lang/co19/issues/25
 LayoutTests/fast/dom/dataset-xhtml_t01: RuntimeError # co19-roll r738: Please triage this failure.
 LayoutTests/fast/dom/dataset_t01: RuntimeError # co19-roll r738: Please triage this failure.
 LayoutTests/fast/dom/document-importNode-arguments_t01: RuntimeError # Please triage this failure.
@@ -602,6 +602,7 @@
 LayoutTests/fast/dynamic/insertAdjacentElement_t01: Skip # Timeout. co19-roll r786: Please triage this failure.
 LayoutTests/fast/dynamic/insertAdjacentHTML_t01: Pass, RuntimeError # co19 issue 11.
 LayoutTests/fast/dynamic/recursive-layout_t01: RuntimeError # co19-roll r786: Please triage this failure.
+LayoutTests/fast/encoding/css-charset-dom_t01: Skip #  45 Roll No longer supported see issue https://github.com/dart-lang/co19/issues/35
 LayoutTests/fast/events/change-overflow-on-overflow-change_t01: Skip # Timeout. Please triage this failure.
 LayoutTests/fast/events/clipboard-clearData_t01: Skip # Timeout. co19-roll r786: Please triage this failure.
 LayoutTests/fast/events/clipboard-dataTransferItemList_t01: Skip # Timeout. co19-roll r786: Please triage this failure.
@@ -618,6 +619,7 @@
 LayoutTests/fast/events/mutation-during-replace-child-2_t01: RuntimeError # co19-roll r786: Please triage this failure.
 LayoutTests/fast/events/mutation-during-replace-child_t01: RuntimeError # co19-roll r786: Please triage this failure.
 LayoutTests/fast/events/nested-event-remove-node-crash_t01: Skip # Flaky timeout. co19-roll r786: Please triage this failure.
+LayoutTests/fast/events/overflowchanged-event-raf-timing_t01: Skip #  45 Roll No longer supported.
 LayoutTests/fast/events/scoped/editing-commands_t01: Pass, RuntimeError # co19-roll r786: Please triage this failure.
 LayoutTests/fast/events/scroll-event-does-not-bubble_t01: RuntimeError # co19-roll r786: Please triage this failure.
 LayoutTests/fast/events/tabindex-removal-from-focused-element_t01: Pass, RuntimeError # co19-roll r786: Please triage this failure.
@@ -662,6 +664,7 @@
 LayoutTests/fast/forms/formmethod-attribute-input-html_t01: Skip # Test reloads itself. Issue 18558.
 LayoutTests/fast/forms/input-hit-test-border_t01: Pass, RuntimeError # co19-roll r801: Please triage this failure.
 LayoutTests/fast/forms/input-inputmode_t01: RuntimeError # Experimental feature not exposed in Chrome yet
+LayoutTests/fast/forms/input-value-sanitization_t01: RuntimeError # 45 roll issue
 LayoutTests/fast/forms/input-width-height-attributes-without-renderer-loaded-image_t01: RuntimeError # co19-roll r801: Please triage this failure.
 LayoutTests/fast/forms/listbox-select-all_t01: Pass, RuntimeError # co19-roll r801: Please triage this failure.
 LayoutTests/fast/forms/listbox-selection-2_t01: RuntimeError # co19-roll r801: Please triage this failure.
@@ -749,9 +752,7 @@
 LayoutTests/fast/multicol/newmulticol/balance_t10: RuntimeError # co19-roll r801: Please triage this failure.
 LayoutTests/fast/multicol/orphans-relayout_t01: Pass, RuntimeError # co19 issue 11.
 LayoutTests/fast/multicol/vertical-lr/float-truncation_t01: RuntimeError # co19-roll r801: Please triage this failure.
-LayoutTests/fast/multicol/vertical-rl/break-properties_t01: RuntimeError # co19-roll r801: Please triage this failure.
 LayoutTests/fast/multicol/vertical-rl/float-truncation_t01: RuntimeError # co19-roll r801: Please triage this failure.
-LayoutTests/fast/multicol/vertical-rl/image-inside-nested-blocks-with-border_t01: RuntimeError # co19-roll r801: Please triage this failure.
 LayoutTests/fast/multicol/widows_t01: Pass, RuntimeError # co19 issue 11.
 LayoutTests/fast/multicol/widows_t01: Pass, RuntimeError # co19-roll r801: Please triage this failure.
 LayoutTests/fast/overflow/child-100percent-height-inside-fixed-container-with-overflow-auto_t01: Pass, RuntimeError # co19-roll r801: Please triage this failure.
@@ -1010,7 +1011,10 @@
 LibTest/isolate/Isolate/spawnUri_A01_t03: Skip # Dart issue 15974
 LibTest/isolate/Isolate/spawnUri_A01_t04: RuntimeError # Dart issue 15974
 LibTest/isolate/Isolate/spawnUri_A01_t05: RuntimeError # Dart issue 15974
+LibTest/isolate/Isolate/spawnUri_A01_t06: RuntimeError # Issue 27219
+LibTest/isolate/Isolate/spawnUri_A01_t07: RuntimeError # Issue 27219
 LibTest/isolate/Isolate/spawnUri_A02_t01: RuntimeError # Dart issue 15974
+LibTest/isolate/Isolate/spawnUri_A02_t01: RuntimeError # Issue 27219
 LibTest/isolate/Isolate/spawnUri_A02_t02: Skip # Dart issue 15974
 LibTest/isolate/Isolate/spawnUri_A02_t03: Skip # Dart issue 15974
 LibTest/isolate/Isolate/spawnUri_A02_t04: Skip # Dart issue 15974
@@ -1019,7 +1023,28 @@
 LibTest/isolate/Isolate/spawn_A01_t03: RuntimeError, OK  # Uses Isolate.spawn.
 LibTest/isolate/Isolate/spawn_A01_t04: RuntimeError, OK  # Uses Isolate.spawn.
 LibTest/isolate/Isolate/spawn_A01_t05: RuntimeError, OK  # Uses Isolate.spawn.
+LibTest/isolate/Isolate/spawn_A01_t06: RuntimeError # Issue 27219
 LibTest/isolate/Isolate/spawn_A02_t02: RuntimeError # Dart issue 15617
+LibTest/isolate/Isolate/spawn_A02_t02: RuntimeError # Issue 27219
+LibTest/isolate/Isolate/spawn_A03_t01: RuntimeError # Issue 27219
+LibTest/isolate/Isolate/spawn_A03_t02: RuntimeError # Issue 27219
+LibTest/isolate/Isolate/spawn_A03_t03: RuntimeError # Issue 27219
+LibTest/isolate/Isolate/spawn_A03_t04: RuntimeError # Issue 27219
+LibTest/isolate/Isolate/spawn_A04_t01: RuntimeError # Issue 27219
+LibTest/isolate/Isolate/spawn_A04_t02: RuntimeError # Issue 27219
+LibTest/isolate/Isolate/spawn_A04_t03: RuntimeError # Issue 27219
+LibTest/isolate/Isolate/spawn_A04_t04: RuntimeError # Issue 27219
+LibTest/isolate/Isolate/spawn_A04_t05: RuntimeError # Issue 27219
+LibTest/isolate/Isolate/spawn_A05_t01: RuntimeError # Issue 27219
+LibTest/isolate/Isolate/spawn_A05_t02: RuntimeError # Issue 27219
+LibTest/isolate/Isolate/spawn_A05_t03: RuntimeError # Issue 27219
+LibTest/isolate/Isolate/spawn_A06_t01: RuntimeError # Issue 27219
+LibTest/isolate/Isolate/spawn_A06_t02: RuntimeError # Issue 27219
+LibTest/isolate/Isolate/spawn_A06_t03: RuntimeError # Issue 27219
+LibTest/isolate/Isolate/spawn_A06_t04: RuntimeError # Issue 27219
+LibTest/isolate/Isolate/spawn_A06_t05: RuntimeError # Issue 27219
+LibTest/isolate/Isolate/spawn_A06_t06: RuntimeError # Issue 27219
+LibTest/isolate/Isolate/spawn_A06_t07: RuntimeError # Issue 27219
 LibTest/isolate/RawReceivePort/RawReceivePort_A01_t01: RuntimeError, OK  # Uses Isolate.spawn.
 LibTest/isolate/RawReceivePort/RawReceivePort_A01_t02: RuntimeError, OK  # Uses Isolate.spawn.
 LibTest/isolate/RawReceivePort/close_A01_t01: Pass, RuntimeError # Issue 13921, co19 issue for false pass https://github.com/dart-lang/co19/issues/13
@@ -1242,6 +1267,8 @@
 WebPlatformTest/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/elements-001_t01: RuntimeError # co19-roll r722: Please triage this failure.
 WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-005_t01: RuntimeError # Please triage this failure.
 WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-006_t01: RuntimeError # Please triage this failure.
+WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-002_t01: RuntimeError # 45 roll issue https://github.com/dart-lang/co19/issues/33
+WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-005_t01: RuntimeError #  45 Roll co19 test rewrite issue 25807
 WebPlatformTest/shadow-dom/elements-and-dom-objects/the-content-html-element/test-004_t01: RuntimeError # Please triage this failure.
 WebPlatformTest/shadow-dom/elements-and-dom-objects/the-content-html-element/test-004_t02: RuntimeError # Please triage this failure.
 WebPlatformTest/shadow-dom/elements-and-dom-objects/the-content-html-element/test-006_t01: RuntimeError # co19-roll r722: Please triage this failure.
@@ -1250,6 +1277,7 @@
 WebPlatformTest/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-003_t02: RuntimeError # Please triage this failure.
 WebPlatformTest/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-005_t01: RuntimeError # co19-roll r722: Please triage this failure.
 WebPlatformTest/shadow-dom/events/event-dispatch/test-001_t01: RuntimeError # co19-roll r722: Please triage this failure.
+WebPlatformTest/shadow-dom/events/event-dispatch/test-002_t01: RuntimeError # Please triage this failure.
 WebPlatformTest/shadow-dom/events/event-dispatch/test-003_t01: RuntimeError # co19-roll r722: Please triage this failure.
 WebPlatformTest/shadow-dom/events/event-retargeting/test-001_t01: RuntimeError # co19-roll r722: Please triage this failure.
 WebPlatformTest/shadow-dom/events/event-retargeting/test-002_t01: RuntimeError # Not clear that any of this works. Also suppressed in dart2js
@@ -1269,23 +1297,13 @@
 WebPlatformTest/shadow-dom/shadow-trees/distributed-pseudo-element/test-002_t01: RuntimeError # co19-roll r722: Please triage this failure.
 WebPlatformTest/shadow-dom/shadow-trees/lower-boundary-encapsulation/test-004_t01: RuntimeError # co19-roll r722: Please triage this failure.
 WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/ownerdocument-002_t01: RuntimeError # co19-roll r722: Please triage this failure.
+WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/selectors-api-001_t01: RuntimeError # Please triage this failure.
 WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-009_t01: RuntimeError # Please triage this failure.
 WebPlatformTest/webstorage/event_constructor_t01: RuntimeError # co19-roll r761: Please triage this failure.
 WebPlatformTest/webstorage/event_constructor_t02: RuntimeError # co19-roll r761: Please triage this failure.
 WebPlatformTest/webstorage/storage_local_setitem_quotaexceedederr_t01: Skip # Times out flakily. co19-roll r761: Please triage this failure.
 WebPlatformTest/webstorage/storage_session_setitem_quotaexceedederr_t01: Skip # Times out flakily. co19-roll r761: Please triage this failure.
-LayoutTests/fast/css/aspect-ratio-inheritance_t01: Skip # 45 Roll No longer supported.
-LayoutTests/fast/css/aspect-ratio-parsing-tests_t01: Skip # 45 Roll No longer supported.
-LayoutTests/fast/css/auto-min-size_t01: RuntimeError #  45 Roll co19 test rewrite issue 25807
-LayoutTests/fast/css-intrinsic-dimensions/intrinsic-sized-replaced-absolutes_t01: Skip # 45 Roll failure.
-LayoutTests/fast/css/parsing-css-allowed-string-characters_t01: RuntimeError #  45 Roll co19 test rewrite issue 25807
-LayoutTests/fast/dom/custom/element-names_t01: RuntimeError # 45 Roll issue dart-lang/co19/issues/25
-LayoutTests/fast/encoding/css-charset-dom_t01: Skip #  45 Roll No longer supported see issue https://github.com/dart-lang/co19/issues/35
-LayoutTests/fast/events/overflowchanged-event-raf-timing_t01: Skip #  45 Roll No longer supported.
-LayoutTests/fast/forms/input-value-sanitization_t01: RuntimeError # 45 roll issue
-LayoutTests/fast/canvas/webgl/texture-transparent-pixels-initialized_t01: RuntimeError # 45 rollwebgl doesn't run on on windows/linux but failed on mac bots.
-WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-005_t01: RuntimeError #  45 Roll co19 test rewrite issue 25807
-WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-002_t01: RuntimeError # 45 roll issue https://github.com/dart-lang/co19/issues/33
+WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/selectors-api-002_t01: RuntimeError # Please triage this failure.
 # Must fix failures below after JsInterop checkin.
 WebPlatformTest/dom/nodes/Node-appendChild_t01: RuntimeError # Issue 26134
 WebPlatformTest/dom/nodes/attributes/setAttribute_A01_t01: RuntimeError # Issue 26134
diff --git a/tests/co19/co19-runtime.status b/tests/co19/co19-runtime.status
index a41e0b9..df65d1f 100644
--- a/tests/co19/co19-runtime.status
+++ b/tests/co19/co19-runtime.status
@@ -29,13 +29,17 @@
 
 LibTest/core/DateTime/DateTime.now_A01_t02: Pass, Fail # co19 issue 709
 
-LibTest/isolate/Isolate/spawnUri_A01_t02: Skip # Dart issue 15974
-LibTest/isolate/Isolate/spawnUri_A01_t03: Skip # Dart issue 15974
-LibTest/isolate/Isolate/spawnUri_A02_t01: RuntimeError # Dart issue 15617
-LibTest/isolate/Isolate/spawnUri_A02_t02: Skip # Dart issue 15974
-LibTest/isolate/Isolate/spawnUri_A02_t03: Skip # Dart issue 15974
-LibTest/isolate/Isolate/spawnUri_A02_t04: Skip # Dart issue 15974
-LibTest/isolate/Isolate/spawn_A02_t02: RuntimeError # Dart issue 15617
+LibTest/isolate/Isolate/spawnUri_A01_t02: Skip # Issue 15974
+LibTest/isolate/Isolate/spawnUri_A01_t03: Skip # Issue 15974
+LibTest/isolate/Isolate/spawnUri_A02_t02: Skip # Issue 15974
+LibTest/isolate/Isolate/spawnUri_A02_t03: Skip # Issue 15974
+LibTest/isolate/Isolate/spawnUri_A02_t04: Skip # Issue 15974
+LibTest/isolate/Isolate/spawn_A03_t02: Skip # Issue 15974
+LibTest/isolate/Isolate/spawn_A04_t01: Skip # Issue 15974
+LibTest/isolate/Isolate/spawn_A04_t04: Skip # Issue 15974
+LibTest/isolate/Isolate/spawn_A06_t03: Skip # Issue 15974
+LibTest/isolate/Isolate/spawn_A06_t05: Skip # Issue 15974
+LibTest/isolate/Isolate/spawn_A04_t03: Pass, RuntimeError # Issue 27202
 
 LibTest/core/Symbol/Symbol_A01_t03: RuntimeError # Issue 13596
 LibTest/core/Symbol/Symbol_A01_t05: RuntimeError # Issue 13596
@@ -50,10 +54,15 @@
 
 [ ($runtime == vm || $runtime == dart_precompiled || $runtime == dart_app) && $mode == debug ]
 LibTest/core/List/List_class_A01_t02: Pass, Slow
+Language/Libraries_and_Scripts/Imports/deferred_import_t02: Crash # Issue 27201
 
 [ ($runtime == vm || $runtime == dart_precompiled || $runtime == dart_app) && $system == windows ]
 Language/Expressions/Function_Invocation/async_invokation_t04: Pass, RuntimeError # co19 issue 54
 
+[ ($runtime == vm || $runtime == dart_precompiled || $runtime == dart_app) && $checked == false ]
+LibTest/isolate/Isolate/spawn_A02_t04: RuntimeError # Issue 27185
+LibTest/isolate/Isolate/spawn_A02_t05: RuntimeError, Crash # Issue 27185
+
 [ ($runtime == vm || $runtime == dart_precompiled || $runtime == dart_app) && ($arch != x64 && $arch != simarm64 && $arch != arm64 && $arch != simdbc && $arch != simdbc64) ]
 LibTest/core/int/operator_left_shift_A01_t02: Fail # co19 issue 129
 
@@ -65,11 +74,14 @@
 LibTest/collection/ListBase/ListBase_class_A01_t02: Skip # co19 issue 673
 
 [ ($runtime == vm || $runtime == dart_precompiled || $runtime == dart_app) && ($arch == simarm || $arch == simarmv6 || $arch == simarmv5te || $arch == simmips || $arch == simarm64 || $arch == simdbc || $arch == simdbc64) ]
-LibTest/core/Uri/Uri_A06_t03: Skip  # Timeout
-LibTest/collection/ListMixin/ListMixin_class_A01_t01: Skip  # Timeout
+LibTest/collection/DoubleLinkedQueue/DoubleLinkedQueue_class_A01_t01: Skip  # Timeout
+LibTest/collection/IterableBase/IterableBase_class_A01_t02: Skip  # Timeout
+LibTest/collection/IterableMixin/IterableMixin_class_A02_t01: Skip  # Timeout
 LibTest/collection/ListBase/ListBase_class_A01_t01: Skip  # Timeout
-LibTest/collection/ListMixin/ListMixin_class_A01_t02: Skip  # Timeout
 LibTest/collection/ListBase/ListBase_class_A01_t02: Skip  # Timeout
+LibTest/collection/ListMixin/ListMixin_class_A01_t01: Skip  # Timeout
+LibTest/collection/ListMixin/ListMixin_class_A01_t02: Skip  # Timeout
+LibTest/core/Uri/Uri_A06_t03: Skip  # Timeout
 
 [ $system == windows ]
 LibTest/collection/ListMixin/ListMixin_class_A01_t02: Pass, Slow
@@ -150,15 +162,12 @@
 Language/Expressions/Property_Extraction/General_Super_Property_Extraction: CompileTimeError # Issue 26287
 Language/Expressions/Property_Extraction/Super_Closurization: CompileTimeError # Issue 26287
 
-# co19 Roll May 30 2016
-Language/Reference/Operator_Precedence/precedence_12_Shift_t02: RuntimeError # Issue 26573
-Language/Reference/Operator_Precedence/precedence_15_unary_prefix_t04: RuntimeError # Issue 26573
-
 [ $noopt || $compiler == precompiler || $mode == product ]
 Language/Metadata/*: SkipByDesign # Uses dart:mirrors
 Language/Expressions/Null/instance_of_class_null_t01: Skip # Uses dart:mirrors
 
 [ $noopt || $compiler == precompiler || $compiler == dart2appjit || $mode == product ]
+Language/Libraries_and_Scripts/Imports/deferred_import_t01: Skip # Eager loading
 Language/Libraries_and_Scripts/Imports/deferred_import_t02: Skip # Eager loading
 Language/Libraries_and_Scripts/Imports/invalid_uri_deferred_t01: Skip # Eager loading
 Language/Libraries_and_Scripts/Imports/invalid_uri_deferred_t02: Skip # Eager loading
@@ -184,6 +193,7 @@
 LibTest/collection/ListBase/ListBase_class_A01_t02: Timeout
 
 [ $compiler == precompiler && $runtime == dart_precompiled && $system == android ]
+*: Skip # Issue 27294
 LibTest/isolate/*: Skip # Issue #26373
 Language/Expressions/Spawning_an_Isolate/new_isolate_t01: Skip # Issue #26373
 
diff --git a/tests/compiler/dart2js/async_await_js_transform_test.dart b/tests/compiler/dart2js/async_await_js_transform_test.dart
index e934d28..f5df58c 100644
--- a/tests/compiler/dart2js/async_await_js_transform_test.dart
+++ b/tests/compiler/dart2js/async_await_js_transform_test.dart
@@ -77,13 +77,13 @@
           v3 = 2;
           P.print(v0[v1].call$2(v2, v3));
           // implicit return
-          return thenHelper(null, 0, __completer, null);
+          return thenHelper(null, 0, __completer);
         case 1:
           // rethrow
           return thenHelper(__currentError, 1, __completer);
       }
   });
-  return thenHelper(null, body, __completer, null);
+  return thenHelper(null, body, __completer);
 }"""
   )  /// 01: ok
   ;
@@ -110,13 +110,13 @@
         case 2:
           // returning from await.
           // implicit return
-          return thenHelper(null, 0, __completer, null);
+          return thenHelper(null, 0, __completer);
         case 1:
           // rethrow
           return thenHelper(__currentError, 1, __completer);
       }
   });
-  return thenHelper(null, body, __completer, null);
+  return thenHelper(null, body, __completer);
 }""");
 
   testAsyncTransform("""
@@ -234,13 +234,13 @@
             break;
           case 1:
             // return
-            return thenHelper(__returnValue, 0, __completer, null);
+            return thenHelper(__returnValue, 0, __completer);
           case 2:
             // rethrow
             return thenHelper(__currentError, 1, __completer);
         }
   });
-  return thenHelper(null, body, __completer, null);
+  return thenHelper(null, body, __completer);
 }""");
 
   testAsyncTransform("""
@@ -289,13 +289,13 @@
           // returning from await.
           f = --__temp1[__result];
           // implicit return
-          return thenHelper(null, 0, __completer, null);
+          return thenHelper(null, 0, __completer);
         case 1:
           // rethrow
           return thenHelper(__currentError, 1, __completer);
       }
   });
-  return thenHelper(null, body, __completer, null);
+  return thenHelper(null, body, __completer);
 }""");
 
   testAsyncTransform("""
@@ -422,13 +422,13 @@
           g = __result;
           h = foo1() && foo2();
           // implicit return
-          return thenHelper(null, 0, __completer, null);
+          return thenHelper(null, 0, __completer);
         case 1:
           // rethrow
           return thenHelper(__currentError, 1, __completer);
       }
   });
-  return thenHelper(null, body, __completer, null);
+  return thenHelper(null, body, __completer);
 }""");
 
   testAsyncTransform("""
@@ -516,13 +516,13 @@
         case 3:
           // after while
           // implicit return
-          return thenHelper(null, 0, __completer, null);
+          return thenHelper(null, 0, __completer);
         case 1:
           // rethrow
           return thenHelper(__currentError, 1, __completer);
       }
   });
-  return thenHelper(null, body, __completer, null);
+  return thenHelper(null, body, __completer);
 }""");
 
   testAsyncTransform("""
@@ -577,13 +577,13 @@
         case 4:
           // after do
           // implicit return
-          return thenHelper(null, 0, __completer, null);
+          return thenHelper(null, 0, __completer);
         case 1:
           // rethrow
           return thenHelper(__currentError, 1, __completer);
       }
   });
-  return thenHelper(null, body, __completer, null);
+  return thenHelper(null, body, __completer);
 }""");
 
   testAsyncTransform("""
@@ -667,13 +667,13 @@
           // after for
         case 1:
           // return
-          return thenHelper(__returnValue, 0, __completer, null);
+          return thenHelper(__returnValue, 0, __completer);
         case 2:
           // rethrow
           return thenHelper(__currentError, 1, __completer);
       }
   });
-  return thenHelper(null, body, __completer, null);
+  return thenHelper(null, body, __completer);
 }""");
 
   testAsyncTransform("""
@@ -742,13 +742,13 @@
           // returning from await.
           __temp1[__temp2] = __result;
           // implicit return
-          return thenHelper(null, 0, __completer, null);
+          return thenHelper(null, 0, __completer);
         case 1:
           // rethrow
           return thenHelper(__currentError, 1, __completer);
       }
   });
-  return thenHelper(null, body, __completer, null);
+  return thenHelper(null, body, __completer);
 }""");
 
   testAsyncTransform("""
@@ -859,13 +859,13 @@
         case 5:
           // after finally
           // implicit return
-          return thenHelper(null, 0, __completer, null);
+          return thenHelper(null, 0, __completer);
         case 1:
           // rethrow
           return thenHelper(__currentError, 1, __completer);
       }
   });
-  return thenHelper(null, body, __completer, null);
+  return thenHelper(null, body, __completer);
 }""");
 
   testAsyncTransform("""
@@ -925,13 +925,13 @@
           // returning from await.
           __temp1(__temp2(__temp3, __result, z));
           // implicit return
-          return thenHelper(null, 0, __completer, null);
+          return thenHelper(null, 0, __completer);
         case 1:
           // rethrow
           return thenHelper(__currentError, 1, __completer);
       }
   });
-  return thenHelper(null, body, __completer, null);
+  return thenHelper(null, body, __completer);
 }""");
 
   testAsyncTransform("""
@@ -1065,13 +1065,13 @@
           // after while
         case 1:
           // return
-          return thenHelper(__returnValue, 0, __completer, null);
+          return thenHelper(__returnValue, 0, __completer);
         case 2:
           // rethrow
           return thenHelper(__currentError, 1, __completer);
       }
   });
-  return thenHelper(null, body, __completer, null);
+  return thenHelper(null, body, __completer);
 }""");
 
   testAsyncTransform("""
@@ -1114,13 +1114,13 @@
               break;
           }
           // implicit return
-          return thenHelper(null, 0, __completer, null);
+          return thenHelper(null, 0, __completer);
         case 1:
           // rethrow
           return thenHelper(__currentError, 1, __completer);
       }
   });
-  return thenHelper(null, body, __completer, null);
+  return thenHelper(null, body, __completer);
 }""");
 
   testAsyncTransform("""
@@ -1193,13 +1193,13 @@
           // after finally
           print(exception);
           // implicit return
-          return thenHelper(null, 0, __completer, null);
+          return thenHelper(null, 0, __completer);
         case 1:
           // rethrow
           return thenHelper(__currentError, 1, __completer);
       }
   });
-  return thenHelper(null, body, __completer, null);
+  return thenHelper(null, body, __completer);
 }""");
 
   testSyncStarTransform("""
diff --git a/tests/compiler/dart2js/kernel/impact_test.dart b/tests/compiler/dart2js/kernel/impact_test.dart
new file mode 100644
index 0000000..0720bca
--- /dev/null
+++ b/tests/compiler/dart2js/kernel/impact_test.dart
@@ -0,0 +1,100 @@
+// Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+library dart2js.kernel.impact_test;
+
+import 'dart:async';
+import 'package:async_helper/async_helper.dart';
+import 'package:compiler/src/common.dart';
+import 'package:compiler/src/commandline_options.dart';
+import 'package:compiler/src/common/resolution.dart';
+import 'package:compiler/src/compiler.dart';
+import 'package:compiler/src/elements/elements.dart';
+import 'package:compiler/src/ssa/kernel_impact.dart';
+import 'package:compiler/src/serialization/equivalence.dart';
+import '../memory_compiler.dart';
+import '../serialization/test_helper.dart';
+
+const Map<String, String> SOURCE = const <String, String>{
+  'main.dart': '''
+main() {
+  testEmpty();
+  testNull();
+  testTrue();
+  testFalse();
+  testInt();
+  testDouble();
+  testString();
+  testSymbol();
+  testEmptyListLiteral();
+  testEmptyListLiteralDynamic();
+  testEmptyListLiteralTyped();
+  testEmptyListLiteralConstant();
+  testNonEmptyListLiteral();
+  testEmptyMapLiteral();
+  testEmptyMapLiteralDynamic();
+  testEmptyMapLiteralTyped();
+  testEmptyMapLiteralConstant();
+  testNonEmptyMapLiteral();
+  testNot();
+  testUnaryMinus();
+  testIfThen();
+  testIfThenElse();
+}
+
+testEmpty() {}
+testNull() => null;
+testTrue() => true;
+testFalse() => false;
+testInt() => 42;
+testDouble() => 37.5;
+testString() => 'foo';
+testSymbol() => #main;
+testEmptyListLiteral() => [];
+testEmptyListLiteralDynamic() => <dynamic>[];
+testEmptyListLiteralTyped() => <String>[];
+testEmptyListLiteralConstant() => const [];
+testNonEmptyListLiteral() => [0];
+testEmptyMapLiteral() => {};
+testEmptyMapLiteralDynamic() => <dynamic, dynamic>{};
+testEmptyMapLiteralTyped() => <String, int>{};
+testEmptyMapLiteralConstant() => const {};
+testNonEmptyMapLiteral() => {0: true};
+testNot() => !false;
+testUnaryMinus() => -1;
+testIfThen() {
+  if (false) return 42;
+  return 1;
+}
+testIfThenElse() {
+  if (true) {
+    return 42;
+  } else {
+    return 1;
+  }
+}
+'''
+};
+
+main(List<String> args) {
+  asyncTest(() async {
+    enableDebugMode();
+    Uri entryPoint = Uri.parse('memory:main.dart');
+    Compiler compiler = compilerFor(
+        entryPoint: entryPoint,
+        memorySourceFiles: SOURCE,
+        options: [Flags.analyzeOnly, Flags.useKernel]);
+    compiler.resolution.retainCachesForTesting = true;
+    await compiler.run(entryPoint);
+    compiler.mainApp
+        .forEachLocalMember((element) => checkElement(compiler, element));
+  });
+}
+
+void checkElement(Compiler compiler, AstElement element) {
+  ResolutionImpact astImpact = compiler.resolution.getResolutionImpact(element);
+  ResolutionImpact kernelImpact = build(compiler, element.resolvedAst);
+  testResolutionImpactEquivalence(
+      astImpact, kernelImpact, const CheckStrategy());
+}
diff --git a/tests/language/conditional_import_string_test.dart b/tests/language/conditional_import_string_test.dart
new file mode 100644
index 0000000..d7506bd
--- /dev/null
+++ b/tests/language/conditional_import_string_test.dart
@@ -0,0 +1,38 @@
+// Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import "package:expect/expect.dart";
+import "package:async_helper/async_helper.dart";
+
+// All three libraries have an HttpRequest class.
+import "conditional_import_string_test.dart"
+    if (dart.library.io == "true") "dart:io"
+    if (dart.library.html == "true") "dart:html"
+    deferred as d show HttpRequest;
+
+class HttpRequest {}
+
+void main() {
+  asyncStart();
+  var io = const String.fromEnvironment("dart.library.io");
+  var html = const String.fromEnvironment("dart.library.html");
+  () async {
+    // Shouldn't fail. Shouldn't time out.
+    await d.loadLibrary().timeout(const Duration(seconds: 5));
+    if (io == "true") {
+      print("io");
+      Expect.throws(() => new d.HttpRequest());  // Class is abstract in dart:io
+    } else if (html == "true") {
+      print("html");
+      dynamic r = new d.HttpRequest();  // Shouldn't throw
+      var o = r.open;  // Shouldn't fail, the open method is there.
+    } else {
+      print("none");
+      dynamic r = new d.HttpRequest();
+      Expect.isTrue(r is HttpRequest);
+    }
+    asyncEnd();
+  }();
+}
+
diff --git a/tests/language/conditional_import_test.dart b/tests/language/conditional_import_test.dart
new file mode 100644
index 0000000..0eeff70
--- /dev/null
+++ b/tests/language/conditional_import_test.dart
@@ -0,0 +1,38 @@
+// Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import "package:expect/expect.dart";
+import "package:async_helper/async_helper.dart";
+
+// All three libraries have an HttpRequest class.
+import "conditional_import_test.dart"
+    if (dart.library.io) "dart:io"
+    if (dart.library.html) "dart:html"
+    deferred as d show HttpRequest;
+
+class HttpRequest {}
+
+void main() {
+  asyncStart();
+  var io = const bool.fromEnvironment("dart.library.io");
+  var html = const bool.fromEnvironment("dart.library.html");
+  () async {
+    // Shouldn't fail. Shouldn't time out.
+    await d.loadLibrary().timeout(const Duration(seconds: 5));
+    if (io) {
+      print("io");
+      Expect.throws(() => new d.HttpRequest());  // Class is abstract in dart:io
+    } else if (html) {
+      print("html");
+      dynamic r = new d.HttpRequest();  // Shouldn't throw
+      var o = r.open;  // Shouldn't fail, the open method is there.
+    } else {
+      print("none");
+      dynamic r = new d.HttpRequest();
+      Expect.isTrue(r is HttpRequest);
+    }
+    asyncEnd();
+  }();
+}
+
diff --git a/tests/language/generic_methods_generic_function_parameter_test.dart b/tests/language/generic_methods_generic_function_parameter_test.dart
new file mode 100644
index 0000000..81eeade
--- /dev/null
+++ b/tests/language/generic_methods_generic_function_parameter_test.dart
@@ -0,0 +1,18 @@
+// Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+//
+// DartOptions=--generic-method-syntax
+// VMOptions=--generic-method-syntax
+
+import "package:expect/expect.dart";
+
+class C<T> {
+  bar<V>(T t, int u, V v) => t + u + v;
+  foo<U>(bar<V>(T t, U u, V v)) => bar<int>(1, 2, 3);
+}
+
+main() {
+  var c = new C<int>();
+  Expect.equals(6, c.foo<int>(c.bar));
+}
diff --git a/tests/language/generic_methods_generic_function_parameter_test.options b/tests/language/generic_methods_generic_function_parameter_test.options
new file mode 100644
index 0000000..86e2aac
--- /dev/null
+++ b/tests/language/generic_methods_generic_function_parameter_test.options
@@ -0,0 +1,3 @@
+analyzer:
+  language:
+    enableGenericMethods: true
diff --git a/tests/language/language.status b/tests/language/language.status
index ce7e840..6c6ba24 100644
--- a/tests/language/language.status
+++ b/tests/language/language.status
@@ -46,6 +46,7 @@
 
 # Experimental feature: Syntactic support for generic methods.
 generic_methods_type_expression_test: RuntimeError # Issue 25869
+generic_methods_generic_function_parameter_test: CompileTimeError # Issue #27299
 
 [ ($compiler == none || $compiler == precompiler || $compiler == dart2app || $compiler == dart2appjit) && $checked ]
 # The generic functions tests fail in checked mode because the parsed type parameters
@@ -278,6 +279,8 @@
 regress_23408_test: Crash # Requires deferred libraries
 regress_22443_test: Crash # Requires deferred libraries
 tearoff_basic_test: Crash # Requires deferred libraries
+conditional_import_test: Crash # Requires deferred libraries
+conditional_import_string_test: Crash # Requires deferred libraries
 
 [$runtime != vm || $compiler != none]
 assert_initializer_test: SKIP  # not implemented yet, experiment is VM only.
diff --git a/tests/language/language_analyzer2.status b/tests/language/language_analyzer2.status
index 492e396..cb9c4b0c 100644
--- a/tests/language/language_analyzer2.status
+++ b/tests/language/language_analyzer2.status
@@ -505,10 +505,8 @@
 generic_methods_new_test: CompiletimeError # Issue 25868
 generic_methods_function_type_test: CompiletimeError # Issue 25868
 generic_methods_type_expression_test: CompiletimeError # Issue 25868
+generic_methods_generic_function_parameter_test: CompiletimeError # Issue 25868
 
 # Experimental feature: Use initializing formals in initializers and constructor body.
-initializing_formal_access_test: CompiletimeError # Issue 26658
-initializing_formal_capture_test: CompiletimeError # Issue 26658
-initializing_formal_final_test: CompiletimeError # Issue 26658
 initializing_formal_promotion_test: StaticWarning # Issue 26658
-initializing_formal_type_test: CompiletimeError # Issue 26658
+initializing_formal_type_test: StaticWarning # Issue 26658
diff --git a/tests/language/language_dart2js.status b/tests/language/language_dart2js.status
index 55566a3..11b17cc 100644
--- a/tests/language/language_dart2js.status
+++ b/tests/language/language_dart2js.status
@@ -65,6 +65,7 @@
 
 [ $compiler == dart2js && $fast_startup && $checked ]
 generic_local_functions_test: Fail # reified type for generic function not generated correctly
+generic_methods_generic_function_parameter_test: Fail # reified type for generic function not generated correctly
 
 [ $compiler == dart2js && $runtime == jsshell ]
 await_for_test: Skip # Jsshell does not provide periodic timers, Issue 7728
@@ -84,6 +85,7 @@
 generic_methods_new_test: CompiletimeError # DartOptions not passed to compiler.
 generic_methods_function_type_test: CompiletimeError # DartOptions not passed to compiler.
 generic_methods_type_expression_test: CompiletimeError # DartOptions not passed to compiler.
+generic_methods_generic_function_parameter_test: CompiletimeError # DartOptions not passed to compiler.
 
 # Experimental feature: Use initializing formals in initializers and constructor body.
 initializing_formal_access_test: CompiletimeError # DartOptions not passed to compiler.
diff --git a/tests/standalone/standalone.status b/tests/standalone/standalone.status
index df3c7a2..96dac8f 100644
--- a/tests/standalone/standalone.status
+++ b/tests/standalone/standalone.status
@@ -183,6 +183,7 @@
 [ $compiler == dart2analyzer ]
 package/package1_test: CompileTimeError
 package/package_test: CompileTimeError
+package/package_isolate_test: CompileTimeError
 package/scenarios/packages_dir_only/packages_dir_only_test: CompileTimeError
 package/scenarios/packages_file_only/packages_file_only_test: CompileTimeError
 package/scenarios/both_dir_and_file/prefers_packages_file_test: CompileTimeError
diff --git a/tools/VERSION b/tools/VERSION
index 5b3f2a8..4da48d6 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 1
 MINOR 20
 PATCH 0
-PRERELEASE 4
+PRERELEASE 5
 PRERELEASE_PATCH 0
diff --git a/tools/apps/update_homebrew/bin/update_homebrew.dart b/tools/apps/update_homebrew/bin/update_homebrew.dart
index 4623e9a..adbe580 100644
--- a/tools/apps/update_homebrew/bin/update_homebrew.dart
+++ b/tools/apps/update_homebrew/bin/update_homebrew.dart
@@ -26,8 +26,8 @@
 const urlBase = 'https://storage.googleapis.com/dart-archive/channels';
 const x64File = 'sdk/dartsdk-macos-x64-release.zip';
 const ia32File = 'sdk/dartsdk-macos-ia32-release.zip';
-const dartiumFile = 'dartium/dartium-macos-ia32-release.zip';
-const contentShellFile = 'dartium/content_shell-macos-ia32-release.zip';
+const dartiumFile = 'dartium/dartium-macos-x64-release.zip';
+const contentShellFile = 'dartium/content_shell-macos-x64-release.zip';
 
 Future<String> getHash256(
     String channel, String revision, String download) async {
diff --git a/tools/deps/dartium.deps/DEPS b/tools/deps/dartium.deps/DEPS
index d907204..6a7b70f 100644
--- a/tools/deps/dartium.deps/DEPS
+++ b/tools/deps/dartium.deps/DEPS
@@ -40,7 +40,7 @@
   "http_parser_rev" : "@8b179e36aba985208e4c5fb15cfddd386b6370a4",
   "http_throttle_rev" : "@a81f08be942cdd608883c7b67795c12226abc235",
   "json_rpc_2_rev": "@a38eefd116d910199de205f962af92fed87c164c",
-  "kernel_rev": "@9509d282a62fe025f8d6242bb233b02e0a7fee04",
+  "kernel_rev": "@9677d68402ea15d0eca6430d64f631bb3e505499",
   "logging_rev": "@85d83e002670545e9039ad3985f0018ab640e597",
   "matcher_tag": "@0.12.0",
   "mime_rev": "@75890811d4af5af080351ba8a2853ad4c8df98dd",
@@ -69,7 +69,7 @@
   "web_components_rev": "@6349e09f9118dce7ae1b309af5763745e25a9d61",
   "WebCore_rev": "@a86fe28efadcfc781f836037a80f27e22a5dad17",
 
-  "co19_rev": "@3f0a4bc9a080a792cdf5f093147a900f99ea301f",
+  "co19_rev": "@d4767b4caea3c5828ad8e053cd051d44a59061af",
 })
 
 deps.update({
diff --git a/tools/dom/templates/html/impl/impl_DataTransferItemList.darttemplate b/tools/dom/templates/html/impl/impl_DataTransferItemList.darttemplate
index ab0442a..926ad91 100644
--- a/tools/dom/templates/html/impl/impl_DataTransferItemList.darttemplate
+++ b/tools/dom/templates/html/impl/impl_DataTransferItemList.darttemplate
@@ -15,7 +15,7 @@
     // TODO(alanknight): I think that all the __getter__ generators should just
     // do property access, but that's major surgery. This one is a problem, so
     // just hard-code it for now.
-    return _blink.Blink_JsNative_DomException.getProperty(this, index);
+    return _blink.Blink_JsNative_DomException.getProperty(this, index.toString());
 $endif
   }