Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(111)

Unified Diff: pkg/analyzer/lib/src/summary/summarize_elements.dart

Issue 2226093002: Record information about a summary's dependencies in the summary itself. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: pkg/analyzer/lib/src/summary/summarize_elements.dart
diff --git a/pkg/analyzer/lib/src/summary/summarize_elements.dart b/pkg/analyzer/lib/src/summary/summarize_elements.dart
index 0312fb8e8e58d43c037ec16a141d4b435f17ffd8..65b92432d77b6aa3d8052da29f380ca2a03d2201 100644
--- a/pkg/analyzer/lib/src/summary/summarize_elements.dart
+++ b/pkg/analyzer/lib/src/summary/summarize_elements.dart
@@ -24,6 +24,7 @@ import 'package:analyzer/src/summary/summarize_const_expr.dart';
import 'package:convert/convert.dart';
import 'package:crypto/crypto.dart';
import 'package:path/path.dart' as path;
+import 'package:analyzer/src/summary/package_bundle_reader.dart';
/**
* Serialize all the elements in [lib] to a summary using [ctx] as the context
@@ -140,6 +141,8 @@ class PackageBundleAssembler {
final List<String> _unlinkedUnitUris = <String>[];
final List<UnlinkedUnitBuilder> _unlinkedUnits = <UnlinkedUnitBuilder>[];
final List<String> _unlinkedUnitHashes;
+ final List<PackageDependencyInfoBuilder> _dependencies =
+ <PackageDependencyInfoBuilder>[];
final bool _excludeHashes;
/**
@@ -163,6 +166,14 @@ class PackageBundleAssembler {
}
/**
+ * Use the dependency information in [summaryDataStore] to populate the
+ * dependencies in the package bundle being assembled.
+ */
+ void recordDependencies(SummaryDataStore summaryDataStore) {
+ _dependencies.addAll(summaryDataStore.dependencies);
+ }
+
+ /**
* Add a fallback compilation unit to the package bundle, corresponding to
* the compilation unit located at [source].
*/
@@ -201,7 +212,8 @@ class PackageBundleAssembler {
unlinkedUnits: _unlinkedUnits,
unlinkedUnitHashes: _unlinkedUnitHashes,
majorVersion: currentMajorVersion,
- minorVersion: currentMinorVersion);
+ minorVersion: currentMinorVersion,
+ dependencies: _dependencies);
ApiSignature apiSignature = new ApiSignature();
packageBundle.collectApiSignature(apiSignature);
packageBundle.apiSignature = apiSignature.toHex();

Powered by Google App Engine
This is Rietveld 408576698