Skip to content

Commit 2c7fcb1

Browse files
johnniwintherCommit Queue
authored andcommitted
[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 <[email protected]> Commit-Queue: Johnni Winther <[email protected]>
1 parent 2285b68 commit 2c7fcb1

File tree

4 files changed

+15
-17
lines changed

4 files changed

+15
-17
lines changed

pkg/front_end/lib/src/base/incremental_compiler.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1830,7 +1830,8 @@ class IncrementalCompiler implements IncrementalKernelGenerator {
18301830
}
18311831

18321832
debugLibrary.compilationUnit.addSyntheticImport(
1833-
uri: dependency.importedLibraryReference.canonicalName!.name,
1833+
importUri:
1834+
dependency.importedLibraryReference.asLibrary.importUri,
18341835
prefix: dependency.name,
18351836
combinators: combinators,
18361837
deferred: dependency.isDeferred);

pkg/front_end/lib/src/builder/library_builder.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ abstract class SourceCompilationUnit
265265
IndexedLibrary? get indexedLibrary;
266266

267267
void addSyntheticImport(
268-
{required String uri,
268+
{required Uri importUri,
269269
required String? prefix,
270270
required List<CombinatorBuilder>? combinators,
271271
required bool deferred});

pkg/front_end/lib/src/source/source_compilation_unit.dart

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -910,23 +910,21 @@ class SourceCompilationUnitImpl implements SourceCompilationUnit {
910910
@override
911911
// Coverage-ignore(suite): Not run.
912912
void addSyntheticImport(
913-
{required String uri,
913+
{required Uri importUri,
914914
required String? prefix,
915915
required List<CombinatorBuilder>? combinators,
916916
required bool deferred}) {
917917
assert(
918918
checkState(pending: [SourceCompilationUnitState.importsAddedToScope]));
919-
_fragmentFactory.addImport(
920-
metadata: null,
921-
isAugmentationImport: false,
922-
uri: uri,
923-
configurations: null,
924-
prefix: prefix,
925-
combinators: combinators,
926-
deferred: deferred,
927-
charOffset: -1,
928-
prefixCharOffset: -1,
929-
uriOffset: -1);
919+
CompilationUnit? compilationUnit = loader.read(importUri, -1,
920+
origin: null,
921+
accessor: this,
922+
isAugmentation: false,
923+
referencesFromIndex: indexedLibrary);
924+
Import import = new Import(this, compilationUnit, false, deferred, prefix,
925+
combinators, null, fileUri, -1, -1,
926+
nativeImportPath: null);
927+
_fragmentFactoryResult.imports.add(import);
930928
}
931929

932930
@override

pkg/front_end/tool/dart_doctest_impl.dart

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1001,15 +1001,14 @@ class DocTestIncrementalCompiler extends IncrementalCompiler {
10011001
}
10021002

10031003
dartDocTestCompilationUnit.addSyntheticImport(
1004-
uri: dependency.importedLibraryReference.asLibrary.importUri
1005-
.toString(),
1004+
importUri: dependency.importedLibraryReference.asLibrary.importUri,
10061005
prefix: dependency.name,
10071006
combinators: combinators,
10081007
deferred: dependency.isDeferred);
10091008
}
10101009

10111010
dartDocTestCompilationUnit.addSyntheticImport(
1012-
uri: libraryBuilder.importUri.toString(),
1011+
importUri: libraryBuilder.importUri,
10131012
prefix: null,
10141013
combinators: null,
10151014
deferred: false);

0 commit comments

Comments
 (0)