Fine. Rename BundleRequirementsManifest to RequirementsManifest.
Also rename `linkingBundleManifest` to `globalResultRequirements`. Change-Id: Ia2ce5186d1be6eb97f3782ae2b08d1f4f4ddf52e Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/422240 Commit-Queue: Konstantin Shcheglov <scheglov@google.com> Reviewed-by: Paul Berry <paulberry@google.com>
This commit is contained in:
committed by
Commit Queue
parent
d057a3311e
commit
e22f0e80bb
@@ -1397,10 +1397,10 @@ class AnalysisDriver {
|
||||
libraryElement.typeSystem,
|
||||
strictCasts: analysisOptions.strictCasts);
|
||||
|
||||
BundleRequirementsManifest? libraryRequirements;
|
||||
RequirementsManifest? requirements;
|
||||
if (withFineDependencies) {
|
||||
libraryRequirements = BundleRequirementsManifest();
|
||||
linkingBundleManifest = libraryRequirements;
|
||||
requirements = RequirementsManifest();
|
||||
globalResultRequirements = requirements;
|
||||
}
|
||||
|
||||
var results = performance.run('LibraryAnalyzer', (performance) {
|
||||
@@ -1418,7 +1418,7 @@ class AnalysisDriver {
|
||||
});
|
||||
|
||||
if (withFineDependencies) {
|
||||
linkingBundleManifest = null;
|
||||
globalResultRequirements = null;
|
||||
}
|
||||
|
||||
var isLibraryWithPriorityFile = _isLibraryWithPriorityFile(library);
|
||||
@@ -1479,7 +1479,7 @@ class AnalysisDriver {
|
||||
_updateHasErrorOrWarningFlag(unitFile, resolvedUnit.errors);
|
||||
}
|
||||
|
||||
if (withFineDependencies && libraryRequirements != null) {
|
||||
if (withFineDependencies && requirements != null) {
|
||||
performance.run('writeResolvedLibrary', (_) {
|
||||
var mapSink = BufferedSink();
|
||||
mapSink.writeMap(
|
||||
@@ -1490,12 +1490,12 @@ class AnalysisDriver {
|
||||
var mapBytes = mapSink.takeBytes();
|
||||
|
||||
library.lastResolutionResult = LibraryResolutionResult(
|
||||
requirements: libraryRequirements!,
|
||||
requirements: requirements!,
|
||||
bytes: mapBytes,
|
||||
);
|
||||
|
||||
var sink = BufferedSink();
|
||||
libraryRequirements.write(sink);
|
||||
requirements.write(sink);
|
||||
sink.writeUint8List(mapBytes);
|
||||
var allBytes = sink.takeBytes();
|
||||
|
||||
@@ -1506,7 +1506,7 @@ class AnalysisDriver {
|
||||
_scheduler.eventsController.add(
|
||||
events.AnalyzedLibrary(
|
||||
library: library,
|
||||
requirements: libraryRequirements,
|
||||
requirements: requirements,
|
||||
),
|
||||
);
|
||||
}
|
||||
@@ -1784,7 +1784,7 @@ class AnalysisDriver {
|
||||
|
||||
var reader = SummaryDataReader(reqAndUnitBytes);
|
||||
var requirements = performance.run('readRequirements', (_) {
|
||||
return BundleRequirementsManifest.read(reader);
|
||||
return RequirementsManifest.read(reader);
|
||||
});
|
||||
|
||||
var failure = requirements.isSatisfied(
|
||||
@@ -2099,7 +2099,7 @@ class AnalysisDriver {
|
||||
if (reqAndUnitBytes != null) {
|
||||
var reader = SummaryDataReader(reqAndUnitBytes);
|
||||
var requirements = performance.run('readRequirements', (_) {
|
||||
return BundleRequirementsManifest.read(reader);
|
||||
return RequirementsManifest.read(reader);
|
||||
});
|
||||
|
||||
var failure = requirements.isSatisfied(
|
||||
|
||||
@@ -15,7 +15,7 @@ sealed class AnalysisDriverEvent {}
|
||||
/// The event after [library] analysis.
|
||||
final class AnalyzedLibrary extends AnalysisDriverEvent {
|
||||
final LibraryFileKind library;
|
||||
final BundleRequirementsManifest? requirements;
|
||||
final RequirementsManifest? requirements;
|
||||
|
||||
AnalyzedLibrary({
|
||||
required this.library,
|
||||
@@ -75,17 +75,16 @@ final class GetErrorsFromBytes extends AnalysisDriverEvent {
|
||||
}
|
||||
|
||||
/// The event that libraries for [cycle] were linked, and accumulated the
|
||||
/// [requirementsManifest] to be checked if we try to reuse the summary bundle
|
||||
/// later.
|
||||
/// [requirements] to be checked if we try to reuse the summary bundle later.
|
||||
final class LinkLibraryCycle extends AnalysisDriverEvent {
|
||||
final LinkedElementFactory elementFactory;
|
||||
final LibraryCycle cycle;
|
||||
final BundleRequirementsManifest? requirementsManifest;
|
||||
final RequirementsManifest? requirements;
|
||||
|
||||
LinkLibraryCycle({
|
||||
required this.elementFactory,
|
||||
required this.cycle,
|
||||
required this.requirementsManifest,
|
||||
required this.requirements,
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -2135,7 +2135,7 @@ abstract class LibraryOrAugmentationFileKind extends FileKind {
|
||||
|
||||
/// The resolution result for a library.
|
||||
class LibraryResolutionResult {
|
||||
final BundleRequirementsManifest requirements;
|
||||
final RequirementsManifest requirements;
|
||||
|
||||
/// Approximately serialized map of file URIs to diagnostics.
|
||||
/// See uses for precise details.
|
||||
|
||||
@@ -207,8 +207,8 @@ class LibraryContext {
|
||||
Uint8List linkedBytes;
|
||||
try {
|
||||
if (withFineDependencies) {
|
||||
var requirementsManifest = BundleRequirementsManifest();
|
||||
linkingBundleManifest = requirementsManifest;
|
||||
var requirements = RequirementsManifest();
|
||||
globalResultRequirements = requirements;
|
||||
|
||||
var linkResult = performance.run('link', (performance) {
|
||||
return link(
|
||||
@@ -219,7 +219,7 @@ class LibraryContext {
|
||||
inputLibraryManifests: inputLibraryManifests,
|
||||
);
|
||||
});
|
||||
linkingBundleManifest = null;
|
||||
globalResultRequirements = null;
|
||||
linkedBytes = linkResult.resolutionBytes;
|
||||
|
||||
var newLibraryManifests = <Uri, LibraryManifest>{};
|
||||
@@ -234,16 +234,16 @@ class LibraryContext {
|
||||
elementFactory.libraryManifests.addAll(newLibraryManifests);
|
||||
});
|
||||
|
||||
requirementsManifest.addExports(
|
||||
requirements.addExports(
|
||||
elementFactory: elementFactory,
|
||||
libraryUriSet: cycle.libraryUris,
|
||||
);
|
||||
requirementsManifest.removeReqForLibs(cycle.libraryUris);
|
||||
requirements.removeReqForLibs(cycle.libraryUris);
|
||||
|
||||
bundleEntry = LinkedBundleEntry(
|
||||
apiSignature: cycle.nonTransitiveApiSignature,
|
||||
libraryManifests: newLibraryManifests,
|
||||
requirements: requirementsManifest,
|
||||
requirements: requirements,
|
||||
linkedBytes: linkedBytes,
|
||||
);
|
||||
linkedBundleProvider.put(
|
||||
@@ -255,7 +255,7 @@ class LibraryContext {
|
||||
LinkLibraryCycle(
|
||||
elementFactory: elementFactory,
|
||||
cycle: cycle,
|
||||
requirementsManifest: requirementsManifest,
|
||||
requirements: requirements,
|
||||
),
|
||||
);
|
||||
} else {
|
||||
@@ -273,7 +273,7 @@ class LibraryContext {
|
||||
bundleEntry = LinkedBundleEntry(
|
||||
apiSignature: cycle.nonTransitiveApiSignature,
|
||||
libraryManifests: {},
|
||||
requirements: BundleRequirementsManifest(),
|
||||
requirements: RequirementsManifest(),
|
||||
linkedBytes: linkedBytes,
|
||||
);
|
||||
linkedBundleProvider.put(
|
||||
@@ -285,7 +285,7 @@ class LibraryContext {
|
||||
LinkLibraryCycle(
|
||||
elementFactory: elementFactory,
|
||||
cycle: cycle,
|
||||
requirementsManifest: null,
|
||||
requirements: null,
|
||||
),
|
||||
);
|
||||
}
|
||||
@@ -472,7 +472,7 @@ class LinkedBundleEntry {
|
||||
/// These requirements are to the libraries in dependencies.
|
||||
///
|
||||
/// If [withFineDependencies] is `false`, the requirements are empty.
|
||||
final BundleRequirementsManifest requirements;
|
||||
final RequirementsManifest requirements;
|
||||
|
||||
/// The serialized libraries, for [BundleReader].
|
||||
final Uint8List linkedBytes;
|
||||
@@ -523,7 +523,7 @@ class LinkedBundleProvider {
|
||||
readKey: () => reader.readUri(),
|
||||
readValue: () => LibraryManifest.read(reader),
|
||||
);
|
||||
var requirements = BundleRequirementsManifest.read(reader);
|
||||
var requirements = RequirementsManifest.read(reader);
|
||||
var linkedBytes = reader.readUint8List();
|
||||
|
||||
var result = LinkedBundleEntry(
|
||||
|
||||
@@ -328,7 +328,7 @@ class InheritanceManager3 {
|
||||
int forMixinIndex = -1,
|
||||
bool forSuper = false,
|
||||
}) {
|
||||
linkingBundleManifest?.notifyInterfaceRequest(
|
||||
globalResultRequirements?.notifyInterfaceRequest(
|
||||
element: element.asElement2, nameObj: name);
|
||||
var interface = getInterface(element);
|
||||
if (forSuper) {
|
||||
|
||||
@@ -580,9 +580,9 @@ class PrefixScope implements Scope {
|
||||
);
|
||||
}
|
||||
|
||||
if (linkingBundleManifest case var linkingBundleManifest?) {
|
||||
if (globalResultRequirements case var resultRequirements?) {
|
||||
for (var importedLibrary in _importedLibraries) {
|
||||
linkingBundleManifest.notifyRequest(
|
||||
resultRequirements.notifyRequest(
|
||||
importedLibrary: importedLibrary,
|
||||
nameStr: id,
|
||||
);
|
||||
|
||||
@@ -18,14 +18,180 @@ import 'package:meta/meta.dart';
|
||||
|
||||
/// When [withFineDependencies], this variable might be set to accumulate
|
||||
/// requirements for the analysis result being computed.
|
||||
BundleRequirementsManifest? linkingBundleManifest;
|
||||
RequirementsManifest? globalResultRequirements;
|
||||
|
||||
/// Whether fine grained dependencies feature is enabled.
|
||||
/// Whether fine-grained dependencies feature is enabled.
|
||||
///
|
||||
/// This cannot be `const` because we change it in tests.
|
||||
bool withFineDependencies = false;
|
||||
|
||||
class BundleRequirementsManifest {
|
||||
@visibleForTesting
|
||||
class ExportRequirement {
|
||||
final Uri fragmentUri;
|
||||
final Uri exportedUri;
|
||||
final List<ExportRequirementCombinator> combinators;
|
||||
final Map<LookupName, ManifestItemId> exportedIds;
|
||||
|
||||
ExportRequirement({
|
||||
required this.fragmentUri,
|
||||
required this.exportedUri,
|
||||
required this.combinators,
|
||||
required this.exportedIds,
|
||||
});
|
||||
|
||||
factory ExportRequirement.read(SummaryDataReader reader) {
|
||||
return ExportRequirement(
|
||||
fragmentUri: reader.readUri(),
|
||||
exportedUri: reader.readUri(),
|
||||
combinators: reader.readTypedList(
|
||||
() => ExportRequirementCombinator.read(reader),
|
||||
),
|
||||
exportedIds: reader.readMap(
|
||||
readKey: () => LookupName.read(reader),
|
||||
readValue: () => ManifestItemId.read(reader),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
ExportFailure? isSatisfied({
|
||||
required LinkedElementFactory elementFactory,
|
||||
}) {
|
||||
var libraryElement = elementFactory.libraryOfUri(exportedUri);
|
||||
var libraryManifest = libraryElement?.manifest;
|
||||
if (libraryManifest == null) {
|
||||
return ExportLibraryMissing(uri: exportedUri);
|
||||
}
|
||||
|
||||
// Every now exported ID must be previously exported.
|
||||
var actualCount = 0;
|
||||
for (var topEntry in libraryManifest.items.entries) {
|
||||
var name = topEntry.key;
|
||||
if (name.isPrivate) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!_passCombinators(name)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
actualCount++;
|
||||
var actualId = topEntry.value.id;
|
||||
var expectedId = exportedIds[topEntry.key];
|
||||
if (actualId != expectedId) {
|
||||
return ExportIdMismatch(
|
||||
fragmentUri: fragmentUri,
|
||||
exportedUri: exportedUri,
|
||||
name: name,
|
||||
expectedId: expectedId,
|
||||
actualId: actualId,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// Every now previously ID must be now exported.
|
||||
if (exportedIds.length != actualCount) {
|
||||
return ExportCountMismatch(
|
||||
fragmentUri: fragmentUri,
|
||||
exportedUri: exportedUri,
|
||||
actualCount: actualCount,
|
||||
requiredCount: exportedIds.length,
|
||||
);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
void write(BufferedSink sink) {
|
||||
sink.writeUri(fragmentUri);
|
||||
sink.writeUri(exportedUri);
|
||||
sink.writeList(combinators, (combinator) => combinator.write(sink));
|
||||
sink.writeMap(
|
||||
exportedIds,
|
||||
writeKey: (lookupName) => lookupName.write(sink),
|
||||
writeValue: (id) => id.write(sink),
|
||||
);
|
||||
}
|
||||
|
||||
bool _passCombinators(LookupName lookupName) {
|
||||
var baseName = lookupName.asBaseName;
|
||||
for (var combinator in combinators) {
|
||||
switch (combinator) {
|
||||
case ExportRequirementHideCombinator():
|
||||
if (combinator.hiddenBaseNames.contains(baseName)) {
|
||||
return false;
|
||||
}
|
||||
case ExportRequirementShowCombinator():
|
||||
if (!combinator.shownBaseNames.contains(baseName)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@visibleForTesting
|
||||
sealed class ExportRequirementCombinator {
|
||||
ExportRequirementCombinator();
|
||||
|
||||
factory ExportRequirementCombinator.read(SummaryDataReader reader) {
|
||||
var kind = reader.readEnum(_ExportRequirementCombinatorKind.values);
|
||||
switch (kind) {
|
||||
case _ExportRequirementCombinatorKind.hide:
|
||||
return ExportRequirementHideCombinator.read(reader);
|
||||
case _ExportRequirementCombinatorKind.show:
|
||||
return ExportRequirementShowCombinator.read(reader);
|
||||
}
|
||||
}
|
||||
|
||||
void write(BufferedSink sink);
|
||||
}
|
||||
|
||||
@visibleForTesting
|
||||
final class ExportRequirementHideCombinator
|
||||
extends ExportRequirementCombinator {
|
||||
final Set<BaseName> hiddenBaseNames;
|
||||
|
||||
ExportRequirementHideCombinator({
|
||||
required this.hiddenBaseNames,
|
||||
});
|
||||
|
||||
factory ExportRequirementHideCombinator.read(SummaryDataReader reader) {
|
||||
return ExportRequirementHideCombinator(
|
||||
hiddenBaseNames: reader.readBaseNameSet(),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
void write(BufferedSink sink) {
|
||||
sink.writeEnum(_ExportRequirementCombinatorKind.hide);
|
||||
sink.writeBaseNameIterable(hiddenBaseNames);
|
||||
}
|
||||
}
|
||||
|
||||
@visibleForTesting
|
||||
final class ExportRequirementShowCombinator
|
||||
extends ExportRequirementCombinator {
|
||||
final Set<BaseName> shownBaseNames;
|
||||
|
||||
ExportRequirementShowCombinator({
|
||||
required this.shownBaseNames,
|
||||
});
|
||||
|
||||
factory ExportRequirementShowCombinator.read(SummaryDataReader reader) {
|
||||
return ExportRequirementShowCombinator(
|
||||
shownBaseNames: reader.readBaseNameSet(),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
void write(BufferedSink sink) {
|
||||
sink.writeEnum(_ExportRequirementCombinatorKind.show);
|
||||
sink.writeBaseNameIterable(shownBaseNames);
|
||||
}
|
||||
}
|
||||
|
||||
class RequirementsManifest {
|
||||
/// LibraryUri => TopName => ID
|
||||
final Map<Uri, Map<LookupName, ManifestItemId?>> topLevels = {};
|
||||
|
||||
@@ -35,10 +201,10 @@ class BundleRequirementsManifest {
|
||||
|
||||
final List<ExportRequirement> exportRequirements = [];
|
||||
|
||||
BundleRequirementsManifest();
|
||||
RequirementsManifest();
|
||||
|
||||
factory BundleRequirementsManifest.read(SummaryDataReader reader) {
|
||||
var result = BundleRequirementsManifest();
|
||||
factory RequirementsManifest.read(SummaryDataReader reader) {
|
||||
var result = RequirementsManifest();
|
||||
|
||||
Map<LookupName, ManifestItemId?> readNameToIdMap() {
|
||||
return reader.readMap(
|
||||
@@ -322,172 +488,6 @@ class BundleRequirementsManifest {
|
||||
}
|
||||
}
|
||||
|
||||
@visibleForTesting
|
||||
class ExportRequirement {
|
||||
final Uri fragmentUri;
|
||||
final Uri exportedUri;
|
||||
final List<ExportRequirementCombinator> combinators;
|
||||
final Map<LookupName, ManifestItemId> exportedIds;
|
||||
|
||||
ExportRequirement({
|
||||
required this.fragmentUri,
|
||||
required this.exportedUri,
|
||||
required this.combinators,
|
||||
required this.exportedIds,
|
||||
});
|
||||
|
||||
factory ExportRequirement.read(SummaryDataReader reader) {
|
||||
return ExportRequirement(
|
||||
fragmentUri: reader.readUri(),
|
||||
exportedUri: reader.readUri(),
|
||||
combinators: reader.readTypedList(
|
||||
() => ExportRequirementCombinator.read(reader),
|
||||
),
|
||||
exportedIds: reader.readMap(
|
||||
readKey: () => LookupName.read(reader),
|
||||
readValue: () => ManifestItemId.read(reader),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
ExportFailure? isSatisfied({
|
||||
required LinkedElementFactory elementFactory,
|
||||
}) {
|
||||
var libraryElement = elementFactory.libraryOfUri(exportedUri);
|
||||
var libraryManifest = libraryElement?.manifest;
|
||||
if (libraryManifest == null) {
|
||||
return ExportLibraryMissing(uri: exportedUri);
|
||||
}
|
||||
|
||||
// Every now exported ID must be previously exported.
|
||||
var actualCount = 0;
|
||||
for (var topEntry in libraryManifest.items.entries) {
|
||||
var name = topEntry.key;
|
||||
if (name.isPrivate) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!_passCombinators(name)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
actualCount++;
|
||||
var actualId = topEntry.value.id;
|
||||
var expectedId = exportedIds[topEntry.key];
|
||||
if (actualId != expectedId) {
|
||||
return ExportIdMismatch(
|
||||
fragmentUri: fragmentUri,
|
||||
exportedUri: exportedUri,
|
||||
name: name,
|
||||
expectedId: expectedId,
|
||||
actualId: actualId,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// Every now previously ID must be now exported.
|
||||
if (exportedIds.length != actualCount) {
|
||||
return ExportCountMismatch(
|
||||
fragmentUri: fragmentUri,
|
||||
exportedUri: exportedUri,
|
||||
actualCount: actualCount,
|
||||
requiredCount: exportedIds.length,
|
||||
);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
void write(BufferedSink sink) {
|
||||
sink.writeUri(fragmentUri);
|
||||
sink.writeUri(exportedUri);
|
||||
sink.writeList(combinators, (combinator) => combinator.write(sink));
|
||||
sink.writeMap(
|
||||
exportedIds,
|
||||
writeKey: (lookupName) => lookupName.write(sink),
|
||||
writeValue: (id) => id.write(sink),
|
||||
);
|
||||
}
|
||||
|
||||
bool _passCombinators(LookupName lookupName) {
|
||||
var baseName = lookupName.asBaseName;
|
||||
for (var combinator in combinators) {
|
||||
switch (combinator) {
|
||||
case ExportRequirementHideCombinator():
|
||||
if (combinator.hiddenBaseNames.contains(baseName)) {
|
||||
return false;
|
||||
}
|
||||
case ExportRequirementShowCombinator():
|
||||
if (!combinator.shownBaseNames.contains(baseName)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@visibleForTesting
|
||||
sealed class ExportRequirementCombinator {
|
||||
ExportRequirementCombinator();
|
||||
|
||||
factory ExportRequirementCombinator.read(SummaryDataReader reader) {
|
||||
var kind = reader.readEnum(_ExportRequirementCombinatorKind.values);
|
||||
switch (kind) {
|
||||
case _ExportRequirementCombinatorKind.hide:
|
||||
return ExportRequirementHideCombinator.read(reader);
|
||||
case _ExportRequirementCombinatorKind.show:
|
||||
return ExportRequirementShowCombinator.read(reader);
|
||||
}
|
||||
}
|
||||
|
||||
void write(BufferedSink sink);
|
||||
}
|
||||
|
||||
@visibleForTesting
|
||||
final class ExportRequirementHideCombinator
|
||||
extends ExportRequirementCombinator {
|
||||
final Set<BaseName> hiddenBaseNames;
|
||||
|
||||
ExportRequirementHideCombinator({
|
||||
required this.hiddenBaseNames,
|
||||
});
|
||||
|
||||
factory ExportRequirementHideCombinator.read(SummaryDataReader reader) {
|
||||
return ExportRequirementHideCombinator(
|
||||
hiddenBaseNames: reader.readBaseNameSet(),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
void write(BufferedSink sink) {
|
||||
sink.writeEnum(_ExportRequirementCombinatorKind.hide);
|
||||
sink.writeBaseNameIterable(hiddenBaseNames);
|
||||
}
|
||||
}
|
||||
|
||||
@visibleForTesting
|
||||
final class ExportRequirementShowCombinator
|
||||
extends ExportRequirementCombinator {
|
||||
final Set<BaseName> shownBaseNames;
|
||||
|
||||
ExportRequirementShowCombinator({
|
||||
required this.shownBaseNames,
|
||||
});
|
||||
|
||||
factory ExportRequirementShowCombinator.read(SummaryDataReader reader) {
|
||||
return ExportRequirementShowCombinator(
|
||||
shownBaseNames: reader.readBaseNameSet(),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
void write(BufferedSink sink) {
|
||||
sink.writeEnum(_ExportRequirementCombinatorKind.show);
|
||||
sink.writeBaseNameIterable(shownBaseNames);
|
||||
}
|
||||
}
|
||||
|
||||
enum _ExportRequirementCombinatorKind {
|
||||
hide,
|
||||
show,
|
||||
|
||||
@@ -21753,7 +21753,7 @@ int get b => 0;
|
||||
|
||||
withFineDependencies = true;
|
||||
configuration
|
||||
..withBundleRequirements = true
|
||||
..withResultRequirements = true
|
||||
..withLibraryManifest = true
|
||||
..withLinkBundleEvents = true;
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@ class BundleRequirementsPrinter {
|
||||
required this.idProvider,
|
||||
});
|
||||
|
||||
void write(BundleRequirementsManifest requirements) {
|
||||
void write(RequirementsManifest requirements) {
|
||||
sink.writelnWithIndent('requirements');
|
||||
sink.withIndent(() {
|
||||
_writeTopLevels(requirements);
|
||||
@@ -64,7 +64,7 @@ class BundleRequirementsPrinter {
|
||||
});
|
||||
}
|
||||
|
||||
void _writeExportRequirements(BundleRequirementsManifest requirements) {
|
||||
void _writeExportRequirements(RequirementsManifest requirements) {
|
||||
var exportRequirements = requirements.exportRequirements.sortedBy(
|
||||
(requirement) => requirement.exportedUri.toString(),
|
||||
);
|
||||
@@ -82,7 +82,7 @@ class BundleRequirementsPrinter {
|
||||
});
|
||||
}
|
||||
|
||||
void _writeInterfaceMembers(BundleRequirementsManifest requirements) {
|
||||
void _writeInterfaceMembers(RequirementsManifest requirements) {
|
||||
var libEntries = requirements.interfaceMembers.sorted;
|
||||
sink.writeElements('interfaceMembers', libEntries, (libEntry) {
|
||||
var topEntries = libEntry.value.sorted;
|
||||
@@ -104,7 +104,7 @@ class BundleRequirementsPrinter {
|
||||
}
|
||||
}
|
||||
|
||||
void _writeTopLevels(BundleRequirementsManifest requirements) {
|
||||
void _writeTopLevels(RequirementsManifest requirements) {
|
||||
var libEntries = requirements.topLevels.sorted;
|
||||
sink.writeElements('topLevels', libEntries, (libEntry) {
|
||||
var topEntries = libEntry.value.sorted;
|
||||
@@ -335,7 +335,7 @@ class DriverEventsPrinter {
|
||||
});
|
||||
}
|
||||
}
|
||||
_writeRequirements(object.requirementsManifest);
|
||||
_writeRequirements(object.requirements);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -394,8 +394,8 @@ class DriverEventsPrinter {
|
||||
}
|
||||
}
|
||||
|
||||
void _writeRequirements(BundleRequirementsManifest? requirements) {
|
||||
if (!configuration.withBundleRequirements) {
|
||||
void _writeRequirements(RequirementsManifest? requirements) {
|
||||
if (!configuration.withResultRequirements) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -561,7 +561,7 @@ class DriverEventsPrinterConfiguration {
|
||||
var unitElementConfiguration = UnitElementPrinterConfiguration();
|
||||
var errorsConfiguration = ErrorsResultPrinterConfiguration();
|
||||
var elementTextConfiguration = ElementTextConfiguration();
|
||||
var withBundleRequirements = false;
|
||||
var withResultRequirements = false;
|
||||
var withGetLibraryByUri = true;
|
||||
var withElementManifests = false;
|
||||
var withLibraryManifest = false;
|
||||
|
||||
Reference in New Issue
Block a user