[cfe] Update addSyntheticImport
This changes the implementation of addSyntheticImport from mimicking syntactical imports to directly providing the data needed. This avoids the reliance on CanonicalName and Uri.toString and instead directly uses the importUri already available. Change-Id: I62447ab3c7c9f54597101704be3bdad0a4d2557c Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/436622 Reviewed-by: Chloe Stefantsova <cstefantsova@google.com> Commit-Queue: Johnni Winther <johnniwinther@google.com>
This commit is contained in:
committed by
Commit Queue
parent
2285b68ae6
commit
2c7fcb1fab
@@ -1830,7 +1830,8 @@ class IncrementalCompiler implements IncrementalKernelGenerator {
|
||||
}
|
||||
|
||||
debugLibrary.compilationUnit.addSyntheticImport(
|
||||
uri: dependency.importedLibraryReference.canonicalName!.name,
|
||||
importUri:
|
||||
dependency.importedLibraryReference.asLibrary.importUri,
|
||||
prefix: dependency.name,
|
||||
combinators: combinators,
|
||||
deferred: dependency.isDeferred);
|
||||
|
||||
@@ -265,7 +265,7 @@ abstract class SourceCompilationUnit
|
||||
IndexedLibrary? get indexedLibrary;
|
||||
|
||||
void addSyntheticImport(
|
||||
{required String uri,
|
||||
{required Uri importUri,
|
||||
required String? prefix,
|
||||
required List<CombinatorBuilder>? combinators,
|
||||
required bool deferred});
|
||||
|
||||
@@ -910,23 +910,21 @@ class SourceCompilationUnitImpl implements SourceCompilationUnit {
|
||||
@override
|
||||
// Coverage-ignore(suite): Not run.
|
||||
void addSyntheticImport(
|
||||
{required String uri,
|
||||
{required Uri importUri,
|
||||
required String? prefix,
|
||||
required List<CombinatorBuilder>? combinators,
|
||||
required bool deferred}) {
|
||||
assert(
|
||||
checkState(pending: [SourceCompilationUnitState.importsAddedToScope]));
|
||||
_fragmentFactory.addImport(
|
||||
metadata: null,
|
||||
isAugmentationImport: false,
|
||||
uri: uri,
|
||||
configurations: null,
|
||||
prefix: prefix,
|
||||
combinators: combinators,
|
||||
deferred: deferred,
|
||||
charOffset: -1,
|
||||
prefixCharOffset: -1,
|
||||
uriOffset: -1);
|
||||
CompilationUnit? compilationUnit = loader.read(importUri, -1,
|
||||
origin: null,
|
||||
accessor: this,
|
||||
isAugmentation: false,
|
||||
referencesFromIndex: indexedLibrary);
|
||||
Import import = new Import(this, compilationUnit, false, deferred, prefix,
|
||||
combinators, null, fileUri, -1, -1,
|
||||
nativeImportPath: null);
|
||||
_fragmentFactoryResult.imports.add(import);
|
||||
}
|
||||
|
||||
@override
|
||||
|
||||
@@ -1001,15 +1001,14 @@ class DocTestIncrementalCompiler extends IncrementalCompiler {
|
||||
}
|
||||
|
||||
dartDocTestCompilationUnit.addSyntheticImport(
|
||||
uri: dependency.importedLibraryReference.asLibrary.importUri
|
||||
.toString(),
|
||||
importUri: dependency.importedLibraryReference.asLibrary.importUri,
|
||||
prefix: dependency.name,
|
||||
combinators: combinators,
|
||||
deferred: dependency.isDeferred);
|
||||
}
|
||||
|
||||
dartDocTestCompilationUnit.addSyntheticImport(
|
||||
uri: libraryBuilder.importUri.toString(),
|
||||
importUri: libraryBuilder.importUri,
|
||||
prefix: null,
|
||||
combinators: null,
|
||||
deferred: false);
|
||||
|
||||
Reference in New Issue
Block a user