| 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);
|
| }
|
| }
|
|
|