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

Unified Diff: pkg/analyzer/tool/summary/build_sdk_summaries.dart

Issue 1722413002: Extract PackageBundleAssembler and use for SDK and package summary generation. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 10 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/tool/summary/build_sdk_summaries.dart
diff --git a/pkg/analyzer/tool/summary/build_sdk_summaries.dart b/pkg/analyzer/tool/summary/build_sdk_summaries.dart
index 176f7c654328a6a2e98f568657d1759c3337acfb..9de43a95600624dd2110f369cfe8492d8c1cf80d 100644
--- a/pkg/analyzer/tool/summary/build_sdk_summaries.dart
+++ b/pkg/analyzer/tool/summary/build_sdk_summaries.dart
@@ -1,4 +1,3 @@
-import 'dart:convert';
import 'dart:io';
import 'package:analyzer/dart/element/element.dart';
@@ -9,7 +8,6 @@ import 'package:analyzer/src/generated/sdk_io.dart';
import 'package:analyzer/src/generated/source.dart';
import 'package:analyzer/src/summary/format.dart';
import 'package:analyzer/src/summary/summarize_elements.dart';
-import 'package:crypto/crypto.dart';
import 'package:path/path.dart';
main(List<String> args) {
@@ -71,11 +69,7 @@ class _Builder {
AnalysisContext context;
final Set<Source> processedSources = new Set<Source>();
- final List<String> linkedLibraryUris = <String>[];
- final List<LinkedLibraryBuilder> linkedLibraries = <LinkedLibraryBuilder>[];
- final List<String> unlinkedUnitUris = <String>[];
- final List<UnlinkedUnitBuilder> unlinkedUnits = <UnlinkedUnitBuilder>[];
- final List<String> unlinkedUnitHashes = <String>[];
+ final PackageBundleAssembler assembler = new PackageBundleAssembler();
_Builder(this.sdkPath, this.outputDirectoryPath, this.strongMode);
@@ -111,12 +105,7 @@ class _Builder {
//
// Write the whole SDK bundle.
//
- PackageBundleBuilder sdkBundle = new PackageBundleBuilder(
- linkedLibraryUris: linkedLibraryUris,
- linkedLibraries: linkedLibraries,
- unlinkedUnitUris: unlinkedUnitUris,
- unlinkedUnits: unlinkedUnits,
- unlinkedUnitHashes: unlinkedUnitHashes);
+ PackageBundleBuilder sdkBundle = assembler.assemble();
String outputFilePath =
join(outputDirectoryPath, strongMode ? 'strong.sum' : 'spec.sum');
File file = new File(outputFilePath);
@@ -128,15 +117,6 @@ class _Builder {
}
/**
- * Compute a hash of the given file contents.
- */
- String _hash(String contents) {
- MD5 md5 = new MD5();
- md5.add(UTF8.encode(contents));
- return CryptoUtils.bytesToHex(md5.close());
- }
-
- /**
* Serialize the library with the given [source] and all its direct or
* indirect imports and exports.
*/
@@ -145,24 +125,8 @@ class _Builder {
return;
}
LibraryElement element = context.computeLibraryElement(source);
- _serializeSingleLibrary(element);
+ assembler.serializeLibraryElement(element);
element.importedLibraries.forEach((e) => _serializeLibrary(e.source));
element.exportedLibraries.forEach((e) => _serializeLibrary(e.source));
}
-
- /**
- * Serialize the library with the given [element].
- */
- void _serializeSingleLibrary(LibraryElement element) {
- String uri = element.source.uri.toString();
- LibrarySerializationResult libraryResult =
- serializeLibrary(element, context.typeProvider, strongMode);
- linkedLibraryUris.add(uri);
- linkedLibraries.add(libraryResult.linked);
- unlinkedUnitUris.addAll(libraryResult.unitUris);
- unlinkedUnits.addAll(libraryResult.unlinkedUnits);
- for (Source source in libraryResult.unitSources) {
- unlinkedUnitHashes.add(_hash(source.contents.data));
- }
- }
}
« no previous file with comments | « pkg/analyzer/lib/src/summary/summarize_elements.dart ('k') | pkg/analyzer_cli/lib/src/package_analyzer.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698