Refactor way of providing file info, set codeRange for units.

This fixes a lot of search/refactoring tests, about 200.

R=brianwilkerson@google.com

Change-Id: I6ce5f61a08b8effa73ffde3861ff68eadd1f4e04
Reviewed-on: https://dart-review.googlesource.com/69383
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
diff --git a/pkg/analysis_server/test/edit/refactoring_test.dart b/pkg/analysis_server/test/edit/refactoring_test.dart
index 75ee075..346f288 100644
--- a/pkg/analysis_server/test/edit/refactoring_test.dart
+++ b/pkg/analysis_server/test/edit/refactoring_test.dart
@@ -150,14 +150,6 @@
     extends ConvertGetterMethodToMethodTest {
   @override
   bool get useCFE => true;
-
-  @failingTest
-  @override
-  test_function() => super.test_function();
-
-  @failingTest
-  @override
-  test_method() => super.test_method();
 }
 
 @reflectiveTest
@@ -276,14 +268,6 @@
 class ConvertMethodToGetterTest_UseCFE extends ConvertMethodToGetterTest {
   @override
   bool get useCFE => true;
-
-  @failingTest
-  @override
-  test_function() => super.test_function();
-
-  @failingTest
-  @override
-  test_method() => super.test_method();
 }
 
 @reflectiveTest
@@ -1196,22 +1180,6 @@
 class InlineLocalTest_UseCFE extends InlineLocalTest {
   @override
   bool get useCFE => true;
-
-  @failingTest
-  @override
-  test_analysis_onlyOneFile() => super.test_analysis_onlyOneFile();
-
-  @failingTest
-  @override
-  test_feedback() => super.test_feedback();
-
-  @failingTest
-  @override
-  test_OK() => super.test_OK();
-
-  @failingTest
-  @override
-  test_resetOnAnalysisSetChanged() => super.test_resetOnAnalysisSetChanged();
 }
 
 @reflectiveTest
@@ -1344,23 +1312,6 @@
 class InlineMethodTest_UseCFE extends InlineMethodTest {
   @override
   bool get useCFE => true;
-
-  @failingTest
-  @override
-  test_feedback() => super.test_feedback();
-
-  @failingTest
-  @override
-  test_method() => super.test_method();
-
-  @failingTest
-  @override
-  test_topLevelFunction() => super.test_topLevelFunction();
-
-  @failingTest
-  @override
-  test_topLevelFunction_oneInvocation() =>
-      super.test_topLevelFunction_oneInvocation();
 }
 
 @reflectiveTest
diff --git a/pkg/analysis_server/test/integration/edit/get_refactoring_test.dart b/pkg/analysis_server/test/integration/edit/get_refactoring_test.dart
index ef0bd5a..1786ee6 100644
--- a/pkg/analysis_server/test/integration/edit/get_refactoring_test.dart
+++ b/pkg/analysis_server/test/integration/edit/get_refactoring_test.dart
@@ -70,8 +70,4 @@
 class GetRefactoringTest_UseCFE extends GetRefactoringTest {
   @override
   bool get useCFE => true;
-
-  @override
-  @failingTest
-  test_rename() => super.test_rename();
 }
diff --git a/pkg/analysis_server/test/services/refactoring/convert_getter_to_method_test.dart b/pkg/analysis_server/test/services/refactoring/convert_getter_to_method_test.dart
index 66ed449..b823bc0 100644
--- a/pkg/analysis_server/test/services/refactoring/convert_getter_to_method_test.dart
+++ b/pkg/analysis_server/test/services/refactoring/convert_getter_to_method_test.dart
@@ -167,16 +167,4 @@
 class ConvertGetterToMethodTest_UseCFE extends ConvertGetterToMethodTest {
   @override
   bool get useCFE => true;
-
-  @failingTest
-  @override
-  test_change_function() => super.test_change_function();
-
-  @failingTest
-  @override
-  test_change_method() => super.test_change_method();
-
-  @failingTest
-  @override
-  test_change_multipleFiles() => super.test_change_multipleFiles();
 }
diff --git a/pkg/analysis_server/test/services/refactoring/convert_method_to_getter_test.dart b/pkg/analysis_server/test/services/refactoring/convert_method_to_getter_test.dart
index 28b9b71..ad14c41 100644
--- a/pkg/analysis_server/test/services/refactoring/convert_method_to_getter_test.dart
+++ b/pkg/analysis_server/test/services/refactoring/convert_method_to_getter_test.dart
@@ -219,16 +219,4 @@
 class ConvertMethodToGetterTest_UseCFE extends ConvertMethodToGetterTest {
   @override
   bool get useCFE => true;
-
-  @failingTest
-  @override
-  test_change_function() => super.test_change_function();
-
-  @failingTest
-  @override
-  test_change_method() => super.test_change_method();
-
-  @failingTest
-  @override
-  test_change_multipleFiles() => super.test_change_multipleFiles();
 }
diff --git a/pkg/analysis_server/test/services/refactoring/extract_method_test.dart b/pkg/analysis_server/test/services/refactoring/extract_method_test.dart
index eda761b..f37dc32 100644
--- a/pkg/analysis_server/test/services/refactoring/extract_method_test.dart
+++ b/pkg/analysis_server/test/services/refactoring/extract_method_test.dart
@@ -2942,11 +2942,6 @@
 
   @failingTest
   @override
-  test_bad_conflict_topLevel_willHideInheritedMemberUsage() =>
-      super.test_bad_conflict_topLevel_willHideInheritedMemberUsage();
-
-  @failingTest
-  @override
   test_statements_parameters_localFunction() =>
       super.test_statements_parameters_localFunction();
 }
diff --git a/pkg/analysis_server/test/services/refactoring/inline_local_test.dart b/pkg/analysis_server/test/services/refactoring/inline_local_test.dart
index 9da3c39..01d9e19 100644
--- a/pkg/analysis_server/test/services/refactoring/inline_local_test.dart
+++ b/pkg/analysis_server/test/services/refactoring/inline_local_test.dart
@@ -643,137 +643,4 @@
 class InlineLocalTest_UseCFE extends InlineLocalTest {
   @override
   bool get useCFE => true;
-
-  @failingTest
-  @override
-  test_access() => super.test_access();
-
-  @failingTest
-  @override
-  test_bad_selectionVariable_hasAssignments_1() =>
-      super.test_bad_selectionVariable_hasAssignments_1();
-
-  @failingTest
-  @override
-  test_bad_selectionVariable_hasAssignments_2() =>
-      super.test_bad_selectionVariable_hasAssignments_2();
-
-  @failingTest
-  @override
-  test_OK_cascade_intoCascade() => super.test_OK_cascade_intoCascade();
-
-  @failingTest
-  @override
-  test_OK_cascade_intoNotCascade() => super.test_OK_cascade_intoNotCascade();
-
-  @failingTest
-  @override
-  test_OK_inSwitchCase() => super.test_OK_inSwitchCase();
-
-  @failingTest
-  @override
-  test_OK_intoStringInterpolation_binaryExpression() =>
-      super.test_OK_intoStringInterpolation_binaryExpression();
-
-  @failingTest
-  @override
-  test_OK_intoStringInterpolation_simpleIdentifier() =>
-      super.test_OK_intoStringInterpolation_simpleIdentifier();
-
-  @failingTest
-  @override
-  test_OK_intoStringInterpolation_string_differentQuotes() =>
-      super.test_OK_intoStringInterpolation_string_differentQuotes();
-
-  @failingTest
-  @override
-  test_OK_intoStringInterpolation_string_doubleQuotes() =>
-      super.test_OK_intoStringInterpolation_string_doubleQuotes();
-
-  @failingTest
-  @override
-  test_OK_intoStringInterpolation_string_multiLineIntoMulti_leadingSpaces() => super
-      .test_OK_intoStringInterpolation_string_multiLineIntoMulti_leadingSpaces();
-
-  @failingTest
-  @override
-  test_OK_intoStringInterpolation_string_multiLineIntoMulti_unixEOL() =>
-      super.test_OK_intoStringInterpolation_string_multiLineIntoMulti_unixEOL();
-
-  @failingTest
-  @override
-  test_OK_intoStringInterpolation_string_multiLineIntoMulti_windowsEOL() => super
-      .test_OK_intoStringInterpolation_string_multiLineIntoMulti_windowsEOL();
-
-  @failingTest
-  @override
-  test_OK_intoStringInterpolation_string_multiLineIntoSingle() =>
-      super.test_OK_intoStringInterpolation_string_multiLineIntoSingle();
-
-  @failingTest
-  @override
-  test_OK_intoStringInterpolation_string_raw() =>
-      super.test_OK_intoStringInterpolation_string_raw();
-
-  @failingTest
-  @override
-  test_OK_intoStringInterpolation_string_singleLineIntoMulti_doubleQuotes() => super
-      .test_OK_intoStringInterpolation_string_singleLineIntoMulti_doubleQuotes();
-
-  @failingTest
-  @override
-  test_OK_intoStringInterpolation_string_singleLineIntoMulti_singleQuotes() => super
-      .test_OK_intoStringInterpolation_string_singleLineIntoMulti_singleQuotes();
-
-  @failingTest
-  @override
-  test_OK_intoStringInterpolation_string_singleQuotes() =>
-      super.test_OK_intoStringInterpolation_string_singleQuotes();
-
-  @failingTest
-  @override
-  test_OK_intoStringInterpolation_stringInterpolation() =>
-      super.test_OK_intoStringInterpolation_stringInterpolation();
-
-  @failingTest
-  @override
-  test_OK_keepNextCommentedLine() => super.test_OK_keepNextCommentedLine();
-
-  @failingTest
-  @override
-  test_OK_oneUsage() => super.test_OK_oneUsage();
-
-  @failingTest
-  @override
-  test_OK_parenthesis_decrement_intoNegate() =>
-      super.test_OK_parenthesis_decrement_intoNegate();
-
-  @failingTest
-  @override
-  test_OK_parenthesis_instanceCreation_intoList() =>
-      super.test_OK_parenthesis_instanceCreation_intoList();
-
-  @failingTest
-  @override
-  test_OK_parenthesis_intoIndexExpression_index() =>
-      super.test_OK_parenthesis_intoIndexExpression_index();
-
-  @failingTest
-  @override
-  test_OK_parenthesis_intoParenthesizedExpression() =>
-      super.test_OK_parenthesis_intoParenthesizedExpression();
-
-  @failingTest
-  @override
-  test_OK_parenthesis_negate_intoNegate() =>
-      super.test_OK_parenthesis_negate_intoNegate();
-
-  @failingTest
-  @override
-  test_OK_parenthesis_plus_intoMultiply() =>
-      super.test_OK_parenthesis_plus_intoMultiply();
-
-  @failingTest
-  @override
-  test_OK_twoUsages() => super.test_OK_twoUsages();
 }
diff --git a/pkg/analysis_server/test/services/refactoring/inline_method_test.dart b/pkg/analysis_server/test/services/refactoring/inline_method_test.dart
index 38f8626..7015b75 100644
--- a/pkg/analysis_server/test/services/refactoring/inline_method_test.dart
+++ b/pkg/analysis_server/test/services/refactoring/inline_method_test.dart
@@ -1768,241 +1768,11 @@
 
   @failingTest
   @override
-  test_access_FunctionElement() => super.test_access_FunctionElement();
-
-  @failingTest
-  @override
-  test_access_MethodElement() => super.test_access_MethodElement();
-
-  @failingTest
-  @override
-  test_bad_async_intoSyncStar() => super.test_bad_async_intoSyncStar();
-
-  @failingTest
-  @override
   test_bad_async_targetIsSync_doesNotReturnFuture() =>
       super.test_bad_async_targetIsSync_doesNotReturnFuture();
 
   @failingTest
   @override
-  test_bad_cascadeInvocation() => super.test_bad_cascadeInvocation();
-
-  @failingTest
-  @override
-  test_bad_deleteSource_inlineOne() => super.test_bad_deleteSource_inlineOne();
-
-  @failingTest
-  @override
-  test_bad_reference_toClassMethod() =>
-      super.test_bad_reference_toClassMethod();
-
-  @failingTest
-  @override
-  test_bad_severalReturns() => super.test_bad_severalReturns();
-
-  @failingTest
-  @override
-  test_cascadeInCascade() => super.test_cascadeInCascade();
-
-  @failingTest
-  @override
-  test_fieldAccessor_getter() => super.test_fieldAccessor_getter();
-
-  @failingTest
-  @override
-  test_fieldAccessor_getter_PropertyAccess() =>
-      super.test_fieldAccessor_getter_PropertyAccess();
-
-  @failingTest
-  @override
-  test_fieldAccessor_setter() => super.test_fieldAccessor_setter();
-
-  @failingTest
-  @override
-  test_fieldAccessor_setter_PropertyAccess() =>
-      super.test_fieldAccessor_setter_PropertyAccess();
-
-  @failingTest
-  @override
-  test_function_expressionFunctionBody() =>
-      super.test_function_expressionFunctionBody();
-
-  @failingTest
-  @override
-  test_function_hasReturn_assign() => super.test_function_hasReturn_assign();
-
-  @failingTest
-  @override
-  test_function_hasReturn_hasReturnType() =>
-      super.test_function_hasReturn_hasReturnType();
-
-  @failingTest
-  @override
-  test_function_hasReturn_noVars_oneUsage() =>
-      super.test_function_hasReturn_noVars_oneUsage();
-
-  @failingTest
-  @override
-  test_function_multilineString() => super.test_function_multilineString();
-
-  @failingTest
-  @override
-  test_function_noReturn_hasVars_hasConflict_fieldSuperClass() =>
-      super.test_function_noReturn_hasVars_hasConflict_fieldSuperClass();
-
-  @failingTest
-  @override
-  test_function_noReturn_hasVars_hasConflict_fieldThisClass() =>
-      super.test_function_noReturn_hasVars_hasConflict_fieldThisClass();
-
-  @failingTest
-  @override
-  test_function_noReturn_hasVars_hasConflict_localAfter() =>
-      super.test_function_noReturn_hasVars_hasConflict_localAfter();
-
-  @failingTest
-  @override
-  test_function_noReturn_hasVars_hasConflict_localBefore() =>
-      super.test_function_noReturn_hasVars_hasConflict_localBefore();
-
-  @failingTest
-  @override
-  test_function_noReturn_hasVars_noConflict() =>
-      super.test_function_noReturn_hasVars_noConflict();
-
-  @failingTest
-  @override
-  test_function_noReturn_noVars_oneUsage() =>
-      super.test_function_noReturn_noVars_oneUsage();
-
-  @failingTest
-  @override
-  test_function_noReturn_noVars_useIndentation() =>
-      super.test_function_noReturn_noVars_useIndentation();
-
-  @failingTest
-  @override
-  test_function_noReturn_voidReturnType() =>
-      super.test_function_noReturn_voidReturnType();
-
-  @failingTest
-  @override
-  test_function_notStatement_oneStatement_assign() =>
-      super.test_function_notStatement_oneStatement_assign();
-
-  @failingTest
-  @override
-  test_function_notStatement_oneStatement_variableDeclaration() =>
-      super.test_function_notStatement_oneStatement_variableDeclaration();
-
-  @failingTest
-  @override
-  test_function_notStatement_severalStatements() =>
-      super.test_function_notStatement_severalStatements();
-
-  @failingTest
-  @override
-  test_function_notStatement_zeroStatements() =>
-      super.test_function_notStatement_zeroStatements();
-
-  @failingTest
-  @override
-  test_function_singleStatement() => super.test_function_singleStatement();
-
-  @failingTest
-  @override
-  test_getter_async_targetIsAsync() => super.test_getter_async_targetIsAsync();
-
-  @failingTest
-  @override
-  test_getter_async_targetIsAsyncStar() =>
-      super.test_getter_async_targetIsAsyncStar();
-
-  @failingTest
-  @override
-  test_getter_async_targetIsSync() => super.test_getter_async_targetIsSync();
-
-  @failingTest
-  @override
-  test_getter_async_targetIsSync2() => super.test_getter_async_targetIsSync2();
-
-  @failingTest
-  @override
-  test_getter_classMember_instance() =>
-      super.test_getter_classMember_instance();
-
-  @failingTest
-  @override
-  test_getter_classMember_static() => super.test_getter_classMember_static();
-
-  @failingTest
-  @override
-  test_getter_topLevel() => super.test_getter_topLevel();
-
-  @failingTest
-  @override
-  test_initialMode_all() => super.test_initialMode_all();
-
-  @failingTest
-  @override
-  test_initialMode_single() => super.test_initialMode_single();
-
-  @failingTest
-  @override
-  test_method_async() => super.test_method_async();
-
-  @failingTest
-  @override
-  test_method_async2() => super.test_method_async2();
-
-  @failingTest
-  @override
-  test_method_emptyBody() => super.test_method_emptyBody();
-
-  @failingTest
-  @override
-  test_method_fieldInstance() => super.test_method_fieldInstance();
-
-  @failingTest
-  @override
-  test_method_fieldStatic() => super.test_method_fieldStatic();
-
-  @failingTest
-  @override
-  test_method_fieldStatic_sameClass() =>
-      super.test_method_fieldStatic_sameClass();
-
-  @failingTest
-  @override
-  test_method_methodInstance() => super.test_method_methodInstance();
-
-  @failingTest
-  @override
-  test_method_methodStatic() => super.test_method_methodStatic();
-
-  @failingTest
-  @override
-  test_method_singleStatement() => super.test_method_singleStatement();
-
-  @failingTest
-  @override
-  test_method_this() => super.test_method_this();
-
-  @failingTest
-  @override
-  test_method_unqualifiedInvocation() =>
-      super.test_method_unqualifiedInvocation();
-
-  @failingTest
-  @override
-  test_namedArgument_inBody() => super.test_namedArgument_inBody();
-
-  @failingTest
-  @override
-  test_namedArguments() => super.test_namedArguments();
-
-  @failingTest
-  @override
   test_noArgument_named_hasDefault() =>
       super.test_noArgument_named_hasDefault();
 
@@ -2010,76 +1780,4 @@
   @override
   test_noArgument_positional_hasDefault() =>
       super.test_noArgument_positional_hasDefault();
-
-  @failingTest
-  @override
-  test_noArgument_positional_noDefault() =>
-      super.test_noArgument_positional_noDefault();
-
-  @failingTest
-  @override
-  test_noArgument_required() => super.test_noArgument_required();
-
-  @failingTest
-  @override
-  test_reference_expressionBody() => super.test_reference_expressionBody();
-
-  @failingTest
-  @override
-  test_reference_noStatement() => super.test_reference_noStatement();
-
-  @failingTest
-  @override
-  test_reference_toLocal() => super.test_reference_toLocal();
-
-  @failingTest
-  @override
-  test_reference_toTopLevel() => super.test_reference_toTopLevel();
-
-  @failingTest
-  @override
-  test_removeEmptyLinesBefore_method() =>
-      super.test_removeEmptyLinesBefore_method();
-
-  @failingTest
-  @override
-  test_setter_classMember_instance() =>
-      super.test_setter_classMember_instance();
-
-  @failingTest
-  @override
-  test_setter_topLevel() => super.test_setter_topLevel();
-
-  @failingTest
-  @override
-  test_singleExpression_oneUsage() => super.test_singleExpression_oneUsage();
-
-  @failingTest
-  @override
-  test_singleExpression_oneUsage_keepMethod() =>
-      super.test_singleExpression_oneUsage_keepMethod();
-
-  @failingTest
-  @override
-  test_singleExpression_twoUsages() => super.test_singleExpression_twoUsages();
-
-  @failingTest
-  @override
-  test_singleExpression_twoUsages_inlineOne() =>
-      super.test_singleExpression_twoUsages_inlineOne();
-
-  @failingTest
-  @override
-  test_singleExpression_wrapIntoParenthesized_alreadyInMethod() =>
-      super.test_singleExpression_wrapIntoParenthesized_alreadyInMethod();
-
-  @failingTest
-  @override
-  test_singleExpression_wrapIntoParenthesized_asNeeded() =>
-      super.test_singleExpression_wrapIntoParenthesized_asNeeded();
-
-  @failingTest
-  @override
-  test_singleExpression_wrapIntoParenthesized_bool() =>
-      super.test_singleExpression_wrapIntoParenthesized_bool();
 }
diff --git a/pkg/analysis_server/test/services/refactoring/move_file_test.dart b/pkg/analysis_server/test/services/refactoring/move_file_test.dart
index 65c40fd..2b34847 100644
--- a/pkg/analysis_server/test/services/refactoring/move_file_test.dart
+++ b/pkg/analysis_server/test/services/refactoring/move_file_test.dart
@@ -261,8 +261,4 @@
   @override
   test_file_containing_imports_exports_parts() =>
       callFailingTest(super.test_file_containing_imports_exports_parts());
-
-  @failingTest
-  @override
-  test_file_referenced_by_part() => super.test_file_referenced_by_part();
 }
diff --git a/pkg/analysis_server/test/services/refactoring/rename_class_member_test.dart b/pkg/analysis_server/test/services/refactoring/rename_class_member_test.dart
index 423668b..5b3e255 100644
--- a/pkg/analysis_server/test/services/refactoring/rename_class_member_test.dart
+++ b/pkg/analysis_server/test/services/refactoring/rename_class_member_test.dart
@@ -926,120 +926,6 @@
 
   @failingTest
   @override
-  test_checkFinalConditions_classNameConflict_subClass() =>
-      super.test_checkFinalConditions_classNameConflict_subClass();
-
-  @failingTest
-  @override
-  test_checkFinalConditions_classNameConflict_superClass() =>
-      super.test_checkFinalConditions_classNameConflict_superClass();
-
-  @failingTest
-  @override
-  test_checkFinalConditions_OK_dropSuffix() =>
-      super.test_checkFinalConditions_OK_dropSuffix();
-
-  @failingTest
-  @override
-  test_checkFinalConditions_OK_noShadow_nullVisibleRange() =>
-      super.test_checkFinalConditions_OK_noShadow_nullVisibleRange();
-
-  @failingTest
-  @override
-  test_checkFinalConditions_publicToPrivate_usedInOtherLibrary() =>
-      super.test_checkFinalConditions_publicToPrivate_usedInOtherLibrary();
-
-  @failingTest
-  @override
-  test_checkFinalConditions_shadowed_byLocalFunction_inSameClass() =>
-      super.test_checkFinalConditions_shadowed_byLocalFunction_inSameClass();
-
-  @failingTest
-  @override
-  test_checkFinalConditions_shadowed_byLocalVariable_inSameClass() =>
-      super.test_checkFinalConditions_shadowed_byLocalVariable_inSameClass();
-
-  @failingTest
-  @override
-  test_checkFinalConditions_shadowed_byLocalVariable_inSubClass() =>
-      super.test_checkFinalConditions_shadowed_byLocalVariable_inSubClass();
-
-  @failingTest
-  @override
-  test_checkFinalConditions_shadowed_byLocalVariable_OK_qualifiedReference() =>
-      super
-          .test_checkFinalConditions_shadowed_byLocalVariable_OK_qualifiedReference();
-
-  @failingTest
-  @override
   test_checkFinalConditions_shadowed_byParameter_inSameClass() =>
       super.test_checkFinalConditions_shadowed_byParameter_inSameClass();
-
-  @failingTest
-  @override
-  test_checkFinalConditions_shadowedBySub_MethodElement() =>
-      super.test_checkFinalConditions_shadowedBySub_MethodElement();
-
-  @failingTest
-  @override
-  test_checkFinalConditions_shadowsSuper_FieldElement() =>
-      super.test_checkFinalConditions_shadowsSuper_FieldElement();
-
-  @failingTest
-  @override
-  test_createChange_FieldElement() => super.test_createChange_FieldElement();
-
-  @failingTest
-  @override
-  test_createChange_FieldElement_constructorFieldInitializer() =>
-      super.test_createChange_FieldElement_constructorFieldInitializer();
-
-  @failingTest
-  @override
-  test_createChange_FieldElement_fieldFormalParameter() =>
-      super.test_createChange_FieldElement_fieldFormalParameter();
-
-  @failingTest
-  @override
-  test_createChange_FieldElement_fieldFormalParameter_named() =>
-      super.test_createChange_FieldElement_fieldFormalParameter_named();
-
-  @failingTest
-  @override
-  test_createChange_FieldElement_invocation() =>
-      super.test_createChange_FieldElement_invocation();
-
-  @failingTest
-  @override
-  test_createChange_MethodElement() => super.test_createChange_MethodElement();
-
-  @failingTest
-  @override
-  test_createChange_MethodElement_potential() =>
-      super.test_createChange_MethodElement_potential();
-
-  @failingTest
-  @override
-  test_createChange_MethodElement_potential_inPubCache() =>
-      super.test_createChange_MethodElement_potential_inPubCache();
-
-  @failingTest
-  @override
-  test_createChange_MethodElement_potential_private_otherLibrary() =>
-      super.test_createChange_MethodElement_potential_private_otherLibrary();
-
-  @failingTest
-  @override
-  test_createChange_PropertyAccessorElement_getter() =>
-      super.test_createChange_PropertyAccessorElement_getter();
-
-  @failingTest
-  @override
-  test_createChange_PropertyAccessorElement_setter() =>
-      super.test_createChange_PropertyAccessorElement_setter();
-
-  @failingTest
-  @override
-  test_createChange_TypeParameterElement() =>
-      super.test_createChange_TypeParameterElement();
 }
diff --git a/pkg/analysis_server/test/services/refactoring/rename_constructor_test.dart b/pkg/analysis_server/test/services/refactoring/rename_constructor_test.dart
index 1c318b8..752dd14 100644
--- a/pkg/analysis_server/test/services/refactoring/rename_constructor_test.dart
+++ b/pkg/analysis_server/test/services/refactoring/rename_constructor_test.dart
@@ -260,11 +260,6 @@
 
   @failingTest
   @override
-  test_createChange_add_toSynthetic() =>
-      super.test_createChange_add_toSynthetic();
-
-  @failingTest
-  @override
   test_createChange_change() => super.test_createChange_change();
 
   @failingTest
diff --git a/pkg/analysis_server/test/services/refactoring/rename_import_test.dart b/pkg/analysis_server/test/services/refactoring/rename_import_test.dart
index 5929490..61e1d63 100644
--- a/pkg/analysis_server/test/services/refactoring/rename_import_test.dart
+++ b/pkg/analysis_server/test/services/refactoring/rename_import_test.dart
@@ -237,20 +237,6 @@
 
   @failingTest
   @override
-  test_createChange_add() => super.test_createChange_add();
-
-  @failingTest
-  @override
-  test_createChange_add_interpolationExpression_hasCurlyBrackets() =>
-      super.test_createChange_add_interpolationExpression_hasCurlyBrackets();
-
-  @failingTest
-  @override
-  test_createChange_add_interpolationExpression_noCurlyBrackets() =>
-      super.test_createChange_add_interpolationExpression_noCurlyBrackets();
-
-  @failingTest
-  @override
   test_createChange_change_className() =>
       super.test_createChange_change_className();
 
diff --git a/pkg/analysis_server/test/services/refactoring/rename_local_test.dart b/pkg/analysis_server/test/services/refactoring/rename_local_test.dart
index 8148453..578caaf 100644
--- a/pkg/analysis_server/test/services/refactoring/rename_local_test.dart
+++ b/pkg/analysis_server/test/services/refactoring/rename_local_test.dart
@@ -583,42 +583,4 @@
   @override
   test_checkFinalConditions_shadows_classMember_namedParameter() =>
       super.test_checkFinalConditions_shadows_classMember_namedParameter();
-
-  @failingTest
-  @override
-  test_createChange_localFunction() => super.test_createChange_localFunction();
-
-  @failingTest
-  @override
-  test_createChange_localFunction_sameNameDifferenceScopes() =>
-      super.test_createChange_localFunction_sameNameDifferenceScopes();
-
-  @failingTest
-  @override
-  test_createChange_localVariable() => super.test_createChange_localVariable();
-
-  @failingTest
-  @override
-  test_createChange_localVariable_sameNameDifferenceScopes() =>
-      super.test_createChange_localVariable_sameNameDifferenceScopes();
-
-  @failingTest
-  @override
-  test_createChange_parameter_named() =>
-      super.test_createChange_parameter_named();
-
-  @failingTest
-  @override
-  test_createChange_parameter_named_inOtherFile() =>
-      super.test_createChange_parameter_named_inOtherFile();
-
-  @failingTest
-  @override
-  test_createChange_parameter_named_updateHierarchy() =>
-      super.test_createChange_parameter_named_updateHierarchy();
-
-  @failingTest
-  @override
-  test_createChange_parameter_optionalPositional() =>
-      super.test_createChange_parameter_optionalPositional();
 }
diff --git a/pkg/analysis_server/test/services/refactoring/rename_unit_member_test.dart b/pkg/analysis_server/test/services/refactoring/rename_unit_member_test.dart
index a504b43..3fc6b16 100644
--- a/pkg/analysis_server/test/services/refactoring/rename_unit_member_test.dart
+++ b/pkg/analysis_server/test/services/refactoring/rename_unit_member_test.dart
@@ -620,121 +620,12 @@
 
   @failingTest
   @override
-  test_checkFinalConditions_OK_qualifiedSuper_MethodElement() =>
-      super.test_checkFinalConditions_OK_qualifiedSuper_MethodElement();
-
-  @failingTest
-  @override
-  test_checkFinalConditions_publicToPrivate_usedInOtherLibrary() =>
-      super.test_checkFinalConditions_publicToPrivate_usedInOtherLibrary();
-
-  @failingTest
-  @override
   test_checkFinalConditions_shadowedBy_MethodElement() =>
       super.test_checkFinalConditions_shadowedBy_MethodElement();
 
   @failingTest
   @override
-  test_checkFinalConditions_shadowsInSubClass_importedLib() =>
-      super.test_checkFinalConditions_shadowsInSubClass_importedLib();
-
-  @failingTest
-  @override
   test_checkFinalConditions_shadowsInSubClass_importedLib_hideCombinator() =>
       callFailingTest(super
           .test_checkFinalConditions_shadowsInSubClass_importedLib_hideCombinator());
-
-  @failingTest
-  @override
-  test_checkFinalConditions_shadowsInSubClass_MethodElement() =>
-      super.test_checkFinalConditions_shadowsInSubClass_MethodElement();
-
-  @failingTest
-  @override
-  test_checkFinalConditions_shadowsInSubClass_notImportedLib() =>
-      super.test_checkFinalConditions_shadowsInSubClass_notImportedLib();
-
-  @failingTest
-  @override
-  test_checkFinalConditions_shadowsInSubClass_notSubClass() =>
-      super.test_checkFinalConditions_shadowsInSubClass_notSubClass();
-
-  @failingTest
-  @override
-  test_createChange_ClassElement() => super.test_createChange_ClassElement();
-
-  @failingTest
-  @override
-  test_createChange_ClassElement_invocation() =>
-      super.test_createChange_ClassElement_invocation();
-
-  @failingTest
-  @override
-  test_createChange_ClassElement_parameterTypeNested() =>
-      super.test_createChange_ClassElement_parameterTypeNested();
-
-  @failingTest
-  @override
-  test_createChange_ClassElement_typeAlias() =>
-      super.test_createChange_ClassElement_typeAlias();
-
-  @failingTest
-  @override
-  test_createChange_FunctionElement() =>
-      super.test_createChange_FunctionElement();
-
-  @failingTest
-  @override
-  test_createChange_FunctionElement_imported() =>
-      super.test_createChange_FunctionElement_imported();
-
-  @failingTest
-  @override
-  test_createChange_FunctionTypeAliasElement() =>
-      super.test_createChange_FunctionTypeAliasElement();
-
-  @failingTest
-  @override
-  test_createChange_PropertyAccessorElement_getter_declaration() =>
-      super.test_createChange_PropertyAccessorElement_getter_declaration();
-
-  @failingTest
-  @override
-  test_createChange_PropertyAccessorElement_getter_usage() =>
-      super.test_createChange_PropertyAccessorElement_getter_usage();
-
-  @failingTest
-  @override
-  test_createChange_PropertyAccessorElement_mix() =>
-      super.test_createChange_PropertyAccessorElement_mix();
-
-  @failingTest
-  @override
-  test_createChange_PropertyAccessorElement_setter_declaration() =>
-      super.test_createChange_PropertyAccessorElement_setter_declaration();
-
-  @failingTest
-  @override
-  test_createChange_PropertyAccessorElement_setter_usage() =>
-      super.test_createChange_PropertyAccessorElement_setter_usage();
-
-  @failingTest
-  @override
-  test_createChange_TopLevelVariableElement_field() =>
-      super.test_createChange_TopLevelVariableElement_field();
-
-  @failingTest
-  @override
-  test_createChange_TopLevelVariableElement_getter() =>
-      super.test_createChange_TopLevelVariableElement_getter();
-
-  @failingTest
-  @override
-  test_createChange_TopLevelVariableElement_mix() =>
-      super.test_createChange_TopLevelVariableElement_mix();
-
-  @failingTest
-  @override
-  test_createChange_TopLevelVariableElement_setter() =>
-      super.test_createChange_TopLevelVariableElement_setter();
 }
diff --git a/pkg/analysis_server/test/services/search/hierarchy_test.dart b/pkg/analysis_server/test/services/search/hierarchy_test.dart
index 9970bed..e4a5e08 100644
--- a/pkg/analysis_server/test/services/search/hierarchy_test.dart
+++ b/pkg/analysis_server/test/services/search/hierarchy_test.dart
@@ -455,33 +455,4 @@
 class HierarchyTest_UseCFE extends HierarchyTest {
   @override
   bool get useCFE => true;
-
-  @failingTest
-  @override
-  test_getHierarchyMembers_fields() => super.test_getHierarchyMembers_fields();
-
-  @failingTest
-  @override
-  test_getHierarchyMembers_methods() =>
-      super.test_getHierarchyMembers_methods();
-
-  @failingTest
-  @override
-  test_getHierarchyMembers_withInterfaces() =>
-      super.test_getHierarchyMembers_withInterfaces();
-
-  @failingTest
-  @override
-  test_getHierarchyNamedParameters() =>
-      super.test_getHierarchyNamedParameters();
-
-  @failingTest
-  @override
-  test_getHierarchyNamedParameters_invalid_missing() =>
-      super.test_getHierarchyNamedParameters_invalid_missing();
-
-  @failingTest
-  @override
-  test_getHierarchyNamedParameters_invalid_notNamed() =>
-      super.test_getHierarchyNamedParameters_invalid_notNamed();
 }
diff --git a/pkg/analysis_server/test/services/search/search_engine_test.dart b/pkg/analysis_server/test/services/search/search_engine_test.dart
index 45fbb9e..bc180ba 100644
--- a/pkg/analysis_server/test/services/search/search_engine_test.dart
+++ b/pkg/analysis_server/test/services/search/search_engine_test.dart
@@ -487,15 +487,6 @@
 
   @failingTest
   @override
-  test_searchAllSubtypes() => super.test_searchAllSubtypes();
-
-  @failingTest
-  @override
-  test_searchAllSubtypes_acrossDrivers() =>
-      super.test_searchAllSubtypes_acrossDrivers();
-
-  @failingTest
-  @override
   test_searchMemberReferences() =>
       callFailingTest(super.test_searchMemberReferences());
 
@@ -506,6 +497,7 @@
   @failingTest
   @override
   test_searchReferences_discover_owned() {
-    return callFailingTest(super.test_searchReferences_discover_owned);
+    fail('Timeout');
+//    return callFailingTest(super.test_searchReferences_discover_owned);
   }
 }
diff --git a/pkg/analyzer/lib/src/dart/analysis/kernel_context.dart b/pkg/analyzer/lib/src/dart/analysis/kernel_context.dart
index 5208c15..fdf172c 100644
--- a/pkg/analyzer/lib/src/dart/analysis/kernel_context.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/kernel_context.dart
@@ -16,6 +16,7 @@
 import 'package:analyzer/src/generated/source.dart';
 import 'package:analyzer/src/kernel/resynthesize.dart';
 import 'package:front_end/src/base/performance_logger.dart';
+import 'package:front_end/src/base/resolve_relative_uri.dart';
 import 'package:kernel/ast.dart' as kernel;
 import 'package:kernel/text/ast_to_text.dart' as kernel;
 
@@ -23,8 +24,6 @@
  * Support for resynthesizing element model from Kernel.
  */
 class KernelContext {
-  static const DEBUG = false;
-
   /**
    * The [AnalysisContext] which is used to do the analysis.
    */
@@ -67,6 +66,50 @@
 //    return store.unlinkedMap[uriStr]?.isPartOf == false;
   }
 
+  static KernelResynthesizer buildResynthesizer(
+      FileSystemState fsState,
+      LibraryCompilationResult libraryResult,
+      AnalysisContextImpl analysisContext) {
+    // Remember Kernel libraries produced by the compiler.
+    // There might be more libraries than we actually need.
+    // This is probably OK, because we consume them lazily.
+    var fileInfoMap = <String, KernelFileInfo>{};
+
+    void addFileInfo(FileState file, {kernel.Library library}) {
+      String uriStr = file.uriStr;
+      if (!fileInfoMap.containsKey(uriStr)) {
+        fileInfoMap[file.uriStr] = new KernelFileInfo(
+            file?.exists ?? false,
+            file?.content?.length ?? 0,
+            file?.lineInfo ?? new LineInfo([0]),
+            library);
+      }
+    }
+
+    bool coreFound = false;
+    for (var library in libraryResult.component.libraries) {
+      String uriStr = library.importUri.toString();
+      if (uriStr == 'dart:core') {
+        coreFound = true;
+      }
+      FileState file = fsState.getFileForUri(library.importUri);
+      addFileInfo(file, library: library);
+      for (var part in library.parts) {
+        var relativePartUri = Uri.parse(part.partUri);
+        var partUri = resolveRelativeUri(library.importUri, relativePartUri);
+        FileState partFile = fsState.getFileForUri(partUri);
+        addFileInfo(partFile);
+      }
+    }
+    if (!coreFound) {
+      throw new StateError('No dart:core library found (dartbug.com/33686)');
+    }
+
+    // Create the resynthesizer bound to the analysis context.
+    var resynthesizer = new KernelResynthesizer(analysisContext, fileInfoMap);
+    return resynthesizer;
+  }
+
   /**
    * Create a [KernelContext] which is prepared to analyze [targetLibrary].
    */
@@ -81,40 +124,10 @@
     // TODO(brianwilkerson) Determine whether this await is necessary.
     await null;
     return logger.runAsync('Create kernel context', () async {
-      // TODO(brianwilkerson) Determine whether this await is necessary.
-      await null;
       Uri targetUri = targetLibrary.uri;
-      LibraryCompilationResult compilationResult =
+      LibraryCompilationResult libraryResult =
           await compiler.compile(targetUri);
 
-      // Remember Kernel libraries produced by the compiler.
-      // There might be more libraries than we actually need.
-      // This is probably OK, because we consume them lazily.
-      var lineInfoMap = <String, LineInfo>{};
-      var libraryMap = <String, kernel.Library>{};
-      var libraryExistMap = <String, bool>{};
-      bool coreFound = false;
-      for (var library in compilationResult.component.libraries) {
-        String uriStr = library.importUri.toString();
-        if (uriStr == 'dart:core') {
-          coreFound = true;
-        }
-        FileState file = fsState.getFileForUri(library.importUri);
-        lineInfoMap[uriStr] = file?.lineInfo ?? new LineInfo([0]);
-        libraryMap[uriStr] = library;
-        libraryExistMap[uriStr] = file?.exists ?? false;
-      }
-      if (!coreFound) {
-        throw new StateError('No dart:core library found (dartbug.com/33686)');
-      }
-
-      if (DEBUG) {
-        print('----------- ${targetLibrary.uriStr}');
-        var libraryKernel = libraryMap[targetLibrary.uriStr];
-        print(_getLibraryText(libraryKernel));
-        print('--------------------------------------');
-      }
-
       // Create and configure a new context.
       AnalysisContextImpl analysisContext =
           AnalysisEngine.instance.createAnalysisContext();
@@ -124,20 +137,11 @@
       analysisContext.sourceFactory = sourceFactory.clone();
       analysisContext.contentCache = new _ContentCacheWrapper(fsState);
 
-      // Create the resynthesizer bound to the analysis context.
-      var resynthesizer = new KernelResynthesizer(
-          analysisContext, lineInfoMap, libraryMap, libraryExistMap);
-
+      KernelResynthesizer resynthesizer =
+          buildResynthesizer(fsState, libraryResult, analysisContext);
       return new KernelContext._(analysisContext, resynthesizer);
     });
   }
-
-  static String _getLibraryText(kernel.Library library) {
-    StringBuffer buffer = new StringBuffer();
-    new kernel.Printer(buffer, syntheticNames: new kernel.NameSystem())
-        .writeLibraryFile(library);
-    return buffer.toString();
-  }
 }
 
 /**
diff --git a/pkg/analyzer/lib/src/kernel/resynthesize.dart b/pkg/analyzer/lib/src/kernel/resynthesize.dart
index 88fcecc..d0d8426 100644
--- a/pkg/analyzer/lib/src/kernel/resynthesize.dart
+++ b/pkg/analyzer/lib/src/kernel/resynthesize.dart
@@ -27,14 +27,22 @@
 import 'package:kernel/type_environment.dart' as kernel;
 import 'package:path/path.dart' as pathos;
 
+/// Information about a single file - a library or part.
+class KernelFileInfo {
+  final bool exists;
+  final int contentLength;
+  final LineInfo lineInfo;
+  final kernel.Library library;
+
+  KernelFileInfo(this.exists, this.contentLength, this.lineInfo, this.library);
+}
+
 /**
  * Object that can resynthesize analyzer [LibraryElement] from Kernel.
  */
 class KernelResynthesizer implements ElementResynthesizer {
   final AnalysisContextImpl _analysisContext;
-  final Map<String, LineInfo> _lineInfoMap;
-  final Map<String, kernel.Library> _kernelMap;
-  final Map<String, bool> _libraryExistMap;
+  final Map<String, KernelFileInfo> _fileInfoMap;
   final Map<String, LibraryElementImpl> _libraryMap = {};
 
   /**
@@ -45,8 +53,7 @@
   /// The type provider for this resynthesizer.
   SummaryTypeProvider _typeProvider;
 
-  KernelResynthesizer(this._analysisContext, this._lineInfoMap, this._kernelMap,
-      this._libraryExistMap) {
+  KernelResynthesizer(this._analysisContext, this._fileInfoMap) {
     _buildTypeProvider();
     _analysisContext.typeProvider = _typeProvider;
   }
@@ -187,10 +194,10 @@
    */
   LibraryElementImpl getLibrary(String uriStr) {
     return _libraryMap.putIfAbsent(uriStr, () {
-      var kernel = _kernelMap[uriStr];
+      var kernel = _fileInfoMap[uriStr].library;
       if (kernel == null) return null;
 
-      if (_libraryExistMap[uriStr] != true) {
+      if (_fileInfoMap[uriStr]?.exists != true) {
         return _newSyntheticLibrary(uriStr);
       }
 
@@ -202,18 +209,19 @@
       if (libraryElement == null) return null;
 
       // Build the defining unit.
-      var definingUnit = libraryContext._buildUnit(null).unit;
-      definingUnit.lineInfo = _lineInfoMap[uriStr];
+      var definingUnit = libraryContext._buildUnit(uriStr, kernel.fileUri).unit;
       libraryElement.definingCompilationUnit = definingUnit;
 
       // Build units for parts.
       var parts = new List<CompilationUnitElementImpl>(kernel.parts.length);
       for (int i = 0; i < kernel.parts.length; i++) {
-        var fileUriStr =
-            kernel.fileUri.resolve(kernel.parts[i].partUri).toString();
-        var unitContext = libraryContext._buildUnit(fileUriStr);
+        var relativeUriStr = kernel.parts[i].partUri;
+        var importUriStr =
+            resolveRelativeUri(kernel.importUri, Uri.parse(relativeUriStr))
+                .toString();
+        var fileUri = kernel.fileUri.resolve(relativeUriStr);
+        var unitContext = libraryContext._buildUnit(importUriStr, fileUri);
         var partUnit = unitContext.unit;
-        partUnit.lineInfo = _lineInfoMap[fileUriStr];
         parts[i] = partUnit;
       }
       libraryElement.parts = parts;
@@ -879,7 +887,9 @@
   }
 
   @override
-  kernel.Library get coreLibrary => resynthesizer._kernelMap['dart:core'];
+  kernel.Library get coreLibrary {
+    return resynthesizer._fileInfoMap['dart:core'].library;
+  }
 
   @override
   bool get hasExtUri {
@@ -929,39 +939,18 @@
         new LibraryElementImpl.forKernel(resynthesizer._analysisContext, this);
   }
 
-  _KernelUnitResynthesizerContextImpl _buildUnit(String fileUri) {
-    var unitContext = new _KernelUnitResynthesizerContextImpl(
-        this, fileUri ?? "${library.fileUri}");
+  _KernelUnitResynthesizerContextImpl _buildUnit(String uriStr, Uri fileUri) {
+    var unitContext = new _KernelUnitResynthesizerContextImpl(this, fileUri);
+
     var unitElement = new CompilationUnitElementImpl.forKernel(
         libraryElement, unitContext, '<no name>');
     unitContext.unit = unitElement;
     unitElement.librarySource = librarySource;
-
-    if (fileUri != null) {
-      String absoluteUriStr;
-      if (fileUri.startsWith('file://')) {
-        // Compute the URI relative to the library directory.
-        // E.g. when the library directory URI is `sdk/lib/core`, and the unit
-        // URI is `sdk/lib/core/bool.dart`, the result is `bool.dart`.
-        var relativeUri =
-            pathos.url.relative(fileUri, from: libraryDirectoryUri);
-        // Compute the absolute URI.
-        // When the absolute library URI is `dart:core`, and the relative
-        // URI is `bool.dart`, the result is `dart:core/bool.dart`.
-        Uri absoluteUri =
-            resolveRelativeUri(librarySource.uri, Uri.parse(relativeUri));
-        absoluteUriStr = absoluteUri.toString();
-      } else {
-        // File URIs must have the "file" scheme.
-        // But for invalid URIs, which cannot be even parsed, FrontEnd returns
-        // URIs with the "org-dartlang-malformed-uri" scheme, and does not
-        // resolve them to file URIs.
-        // We don't have anything better than to use these URIs as is.
-        absoluteUriStr = fileUri;
-      }
-      unitElement.source = resynthesizer._getSource(absoluteUriStr);
-    } else {
-      unitElement.source = librarySource;
+    if (!fileUri.isScheme('org-dartlang-malformed-uri')) {
+      var fileInfo = resynthesizer._fileInfoMap[uriStr];
+      unitElement.setCodeRange(0, fileInfo.contentLength);
+      unitElement.lineInfo = fileInfo.lineInfo;
+      unitElement.source = resynthesizer._getSource(uriStr);
     }
 
     unitContext.unit = unitElement;
@@ -986,9 +975,9 @@
   @override
   List<kernel.Expression> get annotations {
     if (_annotations == null) {
+      var libraryFileUri = context.libraryContext.library.fileUri;
       for (var part in context.libraryContext.library.parts) {
-        if ("${context.libraryContext.library.fileUri.resolve(part.partUri)}" ==
-            context.fileUri) {
+        if (libraryFileUri.resolve(part.partUri) == context.fileUri) {
           return _annotations = part.annotations;
         }
       }
@@ -999,25 +988,25 @@
   @override
   List<kernel.Class> get classes =>
       _classes ??= context.libraryContext.library.classes
-          .where((n) => "${n.fileUri}" == context.fileUri)
+          .where((n) => n.fileUri == context.fileUri)
           .toList(growable: false);
 
   @override
   List<kernel.Field> get fields =>
       _fields ??= context.libraryContext.library.fields
-          .where((n) => "${n.fileUri}" == context.fileUri)
+          .where((n) => n.fileUri == context.fileUri)
           .toList(growable: false);
 
   @override
   List<kernel.Procedure> get procedures =>
       _procedures ??= context.libraryContext.library.procedures
-          .where((n) => "${n.fileUri}" == context.fileUri)
+          .where((n) => n.fileUri == context.fileUri)
           .toList(growable: false);
 
   @override
   List<kernel.Typedef> get typedefs =>
       _typedefs ??= context.libraryContext.library.typedefs
-          .where((n) => "${n.fileUri}" == context.fileUri)
+          .where((n) => n.fileUri == context.fileUri)
           .toList(growable: false);
 }
 
@@ -1029,7 +1018,7 @@
   static final Uri dartInternalUri = Uri.parse('dart:_internal');
 
   final _KernelLibraryResynthesizerContextImpl libraryContext;
-  final String fileUri;
+  final Uri fileUri;
 
   CompilationUnitElementImpl unit;
 
diff --git a/pkg/analyzer/test/generated/compile_time_error_code_kernel_test.dart b/pkg/analyzer/test/generated/compile_time_error_code_kernel_test.dart
index 0d23da5..55c9639 100644
--- a/pkg/analyzer/test/generated/compile_time_error_code_kernel_test.dart
+++ b/pkg/analyzer/test/generated/compile_time_error_code_kernel_test.dart
@@ -1383,6 +1383,12 @@
 
   @override
   @failingTest
+  test_uriWithInterpolation_constant() async {
+    return super.test_uriWithInterpolation_constant();
+  }
+
+  @override
+  @failingTest
   test_uriWithInterpolation_nonConstant() async {
     return super.test_uriWithInterpolation_nonConstant();
   }
diff --git a/pkg/analyzer/test/src/dart/analysis/search_test.dart b/pkg/analyzer/test/src/dart/analysis/search_test.dart
index fcdbdbc..52f448b 100644
--- a/pkg/analyzer/test/src/dart/analysis/search_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/search_test.dart
@@ -2028,11 +2028,6 @@
 
   @failingTest
   @override
-  test_searchReferences_CompilationUnitElement() =>
-      super.test_searchReferences_CompilationUnitElement();
-
-  @failingTest
-  @override
   test_searchReferences_ConstructorElement_default() =>
       super.test_searchReferences_ConstructorElement_default();
 
@@ -2218,14 +2213,6 @@
 
   @failingTest
   @override
-  test_searchSubtypes() => super.test_searchSubtypes();
-
-  @failingTest
-  @override
-  test_subTypes_discover() => super.test_subTypes_discover();
-
-  @failingTest
-  @override
   test_subtypes_partWithoutLibrary() =>
       super.test_subtypes_partWithoutLibrary();
 }
diff --git a/pkg/analyzer/test/src/summary/resynthesize_kernel_test.dart b/pkg/analyzer/test/src/summary/resynthesize_kernel_test.dart
index 46ad634..4e30ddc 100644
--- a/pkg/analyzer/test/src/summary/resynthesize_kernel_test.dart
+++ b/pkg/analyzer/test/src/summary/resynthesize_kernel_test.dart
@@ -12,15 +12,13 @@
 import 'package:analyzer/file_system/memory_file_system.dart';
 import 'package:analyzer/src/dart/analysis/file_state.dart';
 import 'package:analyzer/src/dart/analysis/frontend_resolution.dart';
+import 'package:analyzer/src/dart/analysis/kernel_context.dart';
 import 'package:analyzer/src/dart/element/element.dart';
 import 'package:analyzer/src/generated/engine.dart';
 import 'package:analyzer/src/generated/source.dart';
 import 'package:analyzer/src/kernel/resynthesize.dart';
 import 'package:front_end/src/api_prototype/byte_store.dart';
 import 'package:front_end/src/base/performance_logger.dart';
-import 'package:kernel/kernel.dart' as kernel;
-import 'package:kernel/text/ast_to_text.dart' as kernel;
-import 'package:kernel/type_environment.dart' as kernel;
 import 'package:test/src/frontend/expect.dart';
 import 'package:test_reflective_loader/test_reflective_loader.dart';
 
@@ -46,8 +44,6 @@
 
 @reflectiveTest
 class ResynthesizeTest_Kernel extends ResynthesizeTest {
-  static const DEBUG = false;
-
   final resourceProvider = new MemoryResourceProvider();
 
   @override
@@ -286,33 +282,6 @@
 
     LibraryCompilationResult libraryResult = await compiler.compile(testUri);
 
-    // Remember Kernel libraries produced by the compiler.
-    var lineInfoMap = <String, LineInfo>{};
-    var libraryMap = <String, kernel.Library>{};
-    var libraryExistMap = <String, bool>{};
-    for (var library in libraryResult.component.libraries) {
-      String uriStr = library.importUri.toString();
-      FileState file = fsState.getFileForUri(library.importUri);
-      lineInfoMap[uriStr] = file?.lineInfo ?? new LineInfo([0]);
-      libraryMap[uriStr] = library;
-      libraryExistMap[uriStr] = file?.exists ?? false;
-    }
-
-    if (DEBUG) {
-      String testUriStr = testUri.toString();
-      var library = libraryMap[testUriStr];
-      print(_getLibraryText(library));
-    }
-
-    var resynthesizer = new KernelResynthesizer(
-        context, lineInfoMap, libraryMap, libraryExistMap);
-    return resynthesizer;
-  }
-
-  String _getLibraryText(kernel.Library library) {
-    StringBuffer buffer = new StringBuffer();
-    new kernel.Printer(buffer, syntheticNames: new kernel.NameSystem())
-        .writeLibraryFile(library);
-    return buffer.toString();
+    return KernelContext.buildResynthesizer(fsState, libraryResult, context);
   }
 }