Index: pkg/analyzer/test/src/summary/prelinker_test.dart |
diff --git a/pkg/analyzer/test/src/summary/prelinker_test.dart b/pkg/analyzer/test/src/summary/prelinker_test.dart |
index 3fc6a920d38a31ae81a4247d3eff8f5274430c03..89e00596ee9d03e165a1ba69e3a6868db28eecba 100644 |
--- a/pkg/analyzer/test/src/summary/prelinker_test.dart |
+++ b/pkg/analyzer/test/src/summary/prelinker_test.dart |
@@ -4,15 +4,13 @@ |
library analyzer.test.src.summary.prelinker_test; |
-import 'package:analyzer/dart/element/element.dart'; |
-import 'package:analyzer/src/generated/source.dart'; |
-import 'package:analyzer/src/generated/source_io.dart'; |
+import 'package:analyzer/src/generated/utilities_dart.dart'; |
import 'package:analyzer/src/summary/idl.dart'; |
import 'package:analyzer/src/summary/prelink.dart'; |
import 'package:test_reflective_loader/test_reflective_loader.dart'; |
import 'package:unittest/unittest.dart'; |
-import 'summarize_elements_test.dart'; |
+import 'summarize_ast_test.dart'; |
import 'summary_common.dart'; |
main() { |
@@ -26,10 +24,7 @@ main() { |
* information, and then recreating it using the prelinker. |
*/ |
@reflectiveTest |
-class PrelinkerTest extends SummarizeElementsTest { |
- final Map<String, UnlinkedPublicNamespace> uriToPublicNamespace = |
- <String, UnlinkedPublicNamespace>{}; |
- |
+class PrelinkerTest extends LinkedSummarizeAstTest { |
@override |
bool get expectAbsoluteUrisInDependencies => false; |
@@ -40,60 +35,25 @@ class PrelinkerTest extends SummarizeElementsTest { |
bool get strongMode => false; |
@override |
- Source addNamedSource(String filePath, String contents) { |
- Source source = super.addNamedSource(filePath, contents); |
- uriToPublicNamespace[absUri(filePath)] = |
- computePublicNamespaceFromText(contents, source); |
- return source; |
- } |
+ void serializeLibraryText(String text, {bool allowErrors: false}) { |
+ super.serializeLibraryText(text, allowErrors: allowErrors); |
- String resolveToAbsoluteUri(LibraryElement library, String relativeUri) { |
- Source resolvedSource = |
- context.sourceFactory.resolveUri(library.source, relativeUri); |
- if (resolvedSource == null) { |
- fail('Failed to resolve relative uri "$relativeUri"'); |
- } |
- return resolvedSource.uri.toString(); |
- } |
- |
- @override |
- void serializeLibraryElement(LibraryElement library) { |
- super.serializeLibraryElement(library); |
- uriToPublicNamespace[library.source.uri.toString()] = |
- unlinkedUnits[0].publicNamespace; |
- Map<String, UnlinkedUnit> uriToUnit = <String, UnlinkedUnit>{}; |
- expect(unlinkedUnits.length, unitUris.length); |
- for (int i = 1; i < unlinkedUnits.length; i++) { |
- uriToUnit[unitUris[i]] = unlinkedUnits[i]; |
- } |
UnlinkedUnit getPart(String relativeUri) { |
- String absoluteUri = resolveToAbsoluteUri(library, relativeUri); |
- UnlinkedUnit unit = uriToUnit[absoluteUri]; |
- if (unit == null) { |
- fail('Prelinker unexpectedly requested unit for "$relativeUri"' |
- ' (resolves to "$absoluteUri").'); |
- } |
- return unit; |
+ String absoluteUri = |
+ resolveRelativeUri(linkerInputs.testDartUri, Uri.parse(relativeUri)) |
+ .toString(); |
+ return linkerInputs.getUnit(absoluteUri); |
} |
UnlinkedPublicNamespace getImport(String relativeUri) { |
- String absoluteUri = resolveToAbsoluteUri(library, relativeUri); |
- UnlinkedPublicNamespace namespace = SerializedMockSdk |
- .instance.uriToUnlinkedUnit[absoluteUri]?.publicNamespace; |
- if (namespace == null) { |
- namespace = uriToPublicNamespace[absoluteUri]; |
- } |
- if (namespace == null && !allowMissingFiles) { |
- fail('Prelinker unexpectedly requested namespace for "$relativeUri"' |
- ' (resolves to "$absoluteUri").' |
- ' Namespaces available: ${uriToPublicNamespace.keys}'); |
- } |
- return namespace; |
+ return getPart(relativeUri)?.publicNamespace; |
} |
linked = new LinkedLibrary.fromBuffer(prelink( |
- unlinkedUnits[0], getPart, getImport, context.declaredVariables.get) |
- .toBuffer()); |
+ linkerInputs.unlinkedDefiningUnit, |
+ getPart, |
+ getImport, |
+ (String declaredVariable) => null).toBuffer()); |
validateLinkedLibrary(linked); |
} |
} |