| OLD | NEW |
| 1 import 'dart:io'; | 1 import 'dart:io'; |
| 2 | 2 |
| 3 import 'package:analyzer/dart/element/element.dart'; | 3 import 'package:analyzer/dart/element/element.dart'; |
| 4 import 'package:analyzer/src/generated/engine.dart'; | 4 import 'package:analyzer/src/generated/engine.dart'; |
| 5 import 'package:analyzer/src/generated/java_io.dart'; | 5 import 'package:analyzer/src/generated/java_io.dart'; |
| 6 import 'package:analyzer/src/generated/sdk.dart'; | 6 import 'package:analyzer/src/generated/sdk.dart'; |
| 7 import 'package:analyzer/src/generated/sdk_io.dart'; | 7 import 'package:analyzer/src/generated/sdk_io.dart'; |
| 8 import 'package:analyzer/src/generated/source.dart'; | 8 import 'package:analyzer/src/generated/source.dart'; |
| 9 import 'package:analyzer/src/summary/base.dart'; | |
| 10 import 'package:analyzer/src/summary/format.dart'; | 9 import 'package:analyzer/src/summary/format.dart'; |
| 11 import 'package:analyzer/src/summary/summarize_elements.dart'; | 10 import 'package:analyzer/src/summary/summarize_elements.dart'; |
| 12 | 11 |
| 13 main(List<String> args) { | 12 main(List<String> args) { |
| 14 if (args.length < 1 || args.length > 2) { | 13 if (args.length < 1 || args.length > 2) { |
| 15 _printUsage(); | 14 _printUsage(); |
| 16 return; | 15 return; |
| 17 } | 16 } |
| 18 // | 17 // |
| 19 // Prepare output file path. | 18 // Prepare output file path. |
| (...skipping 24 matching lines...) Expand all Loading... |
| 44 DirectoryBasedDartSdk sdk = new DirectoryBasedDartSdk(new JavaFile(sdkPath)); | 43 DirectoryBasedDartSdk sdk = new DirectoryBasedDartSdk(new JavaFile(sdkPath)); |
| 45 AnalysisContext context = sdk.context; | 44 AnalysisContext context = sdk.context; |
| 46 // | 45 // |
| 47 // Serialize each SDK library. | 46 // Serialize each SDK library. |
| 48 // | 47 // |
| 49 List<String> prelinkedLibraryUris = <String>[]; | 48 List<String> prelinkedLibraryUris = <String>[]; |
| 50 List<PrelinkedLibraryBuilder> prelinkedLibraries = | 49 List<PrelinkedLibraryBuilder> prelinkedLibraries = |
| 51 <PrelinkedLibraryBuilder>[]; | 50 <PrelinkedLibraryBuilder>[]; |
| 52 List<String> unlinkedUnitUris = <String>[]; | 51 List<String> unlinkedUnitUris = <String>[]; |
| 53 List<UnlinkedUnitBuilder> unlinkedUnits = <UnlinkedUnitBuilder>[]; | 52 List<UnlinkedUnitBuilder> unlinkedUnits = <UnlinkedUnitBuilder>[]; |
| 54 BuilderContext builderContext = new BuilderContext(); | |
| 55 for (SdkLibrary lib in sdk.sdkLibraries) { | 53 for (SdkLibrary lib in sdk.sdkLibraries) { |
| 56 print('Resolving and serializing: ${lib.shortName}'); | 54 print('Resolving and serializing: ${lib.shortName}'); |
| 57 Source librarySource = sdk.mapDartUri(lib.shortName); | 55 Source librarySource = sdk.mapDartUri(lib.shortName); |
| 58 LibraryElement libraryElement = | 56 LibraryElement libraryElement = |
| 59 context.computeLibraryElement(librarySource); | 57 context.computeLibraryElement(librarySource); |
| 60 LibrarySerializationResult libraryResult = | 58 LibrarySerializationResult libraryResult = |
| 61 serializeLibrary(builderContext, libraryElement, context.typeProvider); | 59 serializeLibrary(libraryElement, context.typeProvider); |
| 62 prelinkedLibraryUris.add(lib.shortName); | 60 prelinkedLibraryUris.add(lib.shortName); |
| 63 prelinkedLibraries.add(libraryResult.prelinked); | 61 prelinkedLibraries.add(libraryResult.prelinked); |
| 64 unlinkedUnitUris.addAll(libraryResult.unitUris); | 62 unlinkedUnitUris.addAll(libraryResult.unitUris); |
| 65 unlinkedUnits.addAll(libraryResult.unlinkedUnits); | 63 unlinkedUnits.addAll(libraryResult.unlinkedUnits); |
| 66 } | 64 } |
| 67 // | 65 // |
| 68 // Write the whole SDK bundle. | 66 // Write the whole SDK bundle. |
| 69 // | 67 // |
| 70 SdkBundleBuilder sdkBundle = encodeSdkBundle(builderContext, | 68 SdkBundleBuilder sdkBundle = encodeSdkBundle( |
| 71 prelinkedLibraryUris: prelinkedLibraryUris, | 69 prelinkedLibraryUris: prelinkedLibraryUris, |
| 72 prelinkedLibraries: prelinkedLibraries, | 70 prelinkedLibraries: prelinkedLibraries, |
| 73 unlinkedUnitUris: unlinkedUnitUris, | 71 unlinkedUnitUris: unlinkedUnitUris, |
| 74 unlinkedUnits: unlinkedUnits); | 72 unlinkedUnits: unlinkedUnits); |
| 75 File file = new File(outputFilePath); | 73 File file = new File(outputFilePath); |
| 76 file.writeAsBytesSync(sdkBundle.toBuffer(), mode: FileMode.WRITE_ONLY); | 74 file.writeAsBytesSync(sdkBundle.toBuffer(), mode: FileMode.WRITE_ONLY); |
| 77 } | 75 } |
| 78 | 76 |
| 79 /** | 77 /** |
| 80 * The name of the SDK summary builder application. | 78 * The name of the SDK summary builder application. |
| 81 */ | 79 */ |
| 82 const BINARY_NAME = "build_sdk_summary"; | 80 const BINARY_NAME = "build_sdk_summary"; |
| 83 | 81 |
| 84 /** | 82 /** |
| 85 * Print information about how to use the SDK summary builder. | 83 * Print information about how to use the SDK summary builder. |
| 86 */ | 84 */ |
| 87 void _printUsage() { | 85 void _printUsage() { |
| 88 print('Usage: $BINARY_NAME output_file_path [sdk_path]'); | 86 print('Usage: $BINARY_NAME output_file_path [sdk_path]'); |
| 89 } | 87 } |
| OLD | NEW |