| Index: pkg/analyzer/lib/src/summary/format.dart
|
| diff --git a/pkg/analyzer/lib/src/summary/format.dart b/pkg/analyzer/lib/src/summary/format.dart
|
| index aa9887a37a15a6a1d30d7a91ba4b9dbf8c99940c..466f7daaccfa508445533fe13c987ba031f356ac 100644
|
| --- a/pkg/analyzer/lib/src/summary/format.dart
|
| +++ b/pkg/analyzer/lib/src/summary/format.dart
|
| @@ -1138,11 +1138,12 @@ abstract class _LinkedUnitMixin implements idl.LinkedUnit {
|
| String toString() => convert.JSON.encode(toJson());
|
| }
|
|
|
| -class SdkBundleBuilder extends Object with _SdkBundleMixin implements idl.SdkBundle {
|
| +class PackageBundleBuilder extends Object with _PackageBundleMixin implements idl.PackageBundle {
|
| bool _finished = false;
|
|
|
| List<LinkedLibraryBuilder> _linkedLibraries;
|
| List<String> _linkedLibraryUris;
|
| + List<String> _unlinkedUnitHashes;
|
| List<UnlinkedUnitBuilder> _unlinkedUnits;
|
| List<String> _unlinkedUnitUris;
|
|
|
| @@ -1169,6 +1170,18 @@ class SdkBundleBuilder extends Object with _SdkBundleMixin implements idl.SdkBun
|
| }
|
|
|
| @override
|
| + List<String> get unlinkedUnitHashes => _unlinkedUnitHashes ??= <String>[];
|
| +
|
| + /**
|
| + * List of MD5 hashes of the files listed in [unlinkedUnitUris]. Each hash
|
| + * is encoded as a hexadecimal string using lower case letters.
|
| + */
|
| + void set unlinkedUnitHashes(List<String> _value) {
|
| + assert(!_finished);
|
| + _unlinkedUnitHashes = _value;
|
| + }
|
| +
|
| + @override
|
| List<UnlinkedUnitBuilder> get unlinkedUnits => _unlinkedUnits ??= <UnlinkedUnitBuilder>[];
|
|
|
| /**
|
| @@ -1190,9 +1203,10 @@ class SdkBundleBuilder extends Object with _SdkBundleMixin implements idl.SdkBun
|
| _unlinkedUnitUris = _value;
|
| }
|
|
|
| - SdkBundleBuilder({List<LinkedLibraryBuilder> linkedLibraries, List<String> linkedLibraryUris, List<UnlinkedUnitBuilder> unlinkedUnits, List<String> unlinkedUnitUris})
|
| + PackageBundleBuilder({List<LinkedLibraryBuilder> linkedLibraries, List<String> linkedLibraryUris, List<String> unlinkedUnitHashes, List<UnlinkedUnitBuilder> unlinkedUnits, List<String> unlinkedUnitUris})
|
| : _linkedLibraries = linkedLibraries,
|
| _linkedLibraryUris = linkedLibraryUris,
|
| + _unlinkedUnitHashes = unlinkedUnitHashes,
|
| _unlinkedUnits = unlinkedUnits,
|
| _unlinkedUnitUris = unlinkedUnitUris;
|
|
|
| @@ -1206,6 +1220,7 @@ class SdkBundleBuilder extends Object with _SdkBundleMixin implements idl.SdkBun
|
| _finished = true;
|
| fb.Offset offset_linkedLibraries;
|
| fb.Offset offset_linkedLibraryUris;
|
| + fb.Offset offset_unlinkedUnitHashes;
|
| fb.Offset offset_unlinkedUnits;
|
| fb.Offset offset_unlinkedUnitUris;
|
| if (!(_linkedLibraries == null || _linkedLibraries.isEmpty)) {
|
| @@ -1214,6 +1229,9 @@ class SdkBundleBuilder extends Object with _SdkBundleMixin implements idl.SdkBun
|
| if (!(_linkedLibraryUris == null || _linkedLibraryUris.isEmpty)) {
|
| offset_linkedLibraryUris = fbBuilder.writeList(_linkedLibraryUris.map((b) => fbBuilder.writeString(b)).toList());
|
| }
|
| + if (!(_unlinkedUnitHashes == null || _unlinkedUnitHashes.isEmpty)) {
|
| + offset_unlinkedUnitHashes = fbBuilder.writeList(_unlinkedUnitHashes.map((b) => fbBuilder.writeString(b)).toList());
|
| + }
|
| if (!(_unlinkedUnits == null || _unlinkedUnits.isEmpty)) {
|
| offset_unlinkedUnits = fbBuilder.writeList(_unlinkedUnits.map((b) => b.finish(fbBuilder)).toList());
|
| }
|
| @@ -1227,6 +1245,9 @@ class SdkBundleBuilder extends Object with _SdkBundleMixin implements idl.SdkBun
|
| if (offset_linkedLibraryUris != null) {
|
| fbBuilder.addOffset(1, offset_linkedLibraryUris);
|
| }
|
| + if (offset_unlinkedUnitHashes != null) {
|
| + fbBuilder.addOffset(4, offset_unlinkedUnitHashes);
|
| + }
|
| if (offset_unlinkedUnits != null) {
|
| fbBuilder.addOffset(2, offset_unlinkedUnits);
|
| }
|
| @@ -1237,25 +1258,26 @@ class SdkBundleBuilder extends Object with _SdkBundleMixin implements idl.SdkBun
|
| }
|
| }
|
|
|
| -idl.SdkBundle readSdkBundle(List<int> buffer) {
|
| +idl.PackageBundle readPackageBundle(List<int> buffer) {
|
| fb.BufferPointer rootRef = new fb.BufferPointer.fromBytes(buffer);
|
| - return const _SdkBundleReader().read(rootRef);
|
| + return const _PackageBundleReader().read(rootRef);
|
| }
|
|
|
| -class _SdkBundleReader extends fb.TableReader<_SdkBundleImpl> {
|
| - const _SdkBundleReader();
|
| +class _PackageBundleReader extends fb.TableReader<_PackageBundleImpl> {
|
| + const _PackageBundleReader();
|
|
|
| @override
|
| - _SdkBundleImpl createObject(fb.BufferPointer bp) => new _SdkBundleImpl(bp);
|
| + _PackageBundleImpl createObject(fb.BufferPointer bp) => new _PackageBundleImpl(bp);
|
| }
|
|
|
| -class _SdkBundleImpl extends Object with _SdkBundleMixin implements idl.SdkBundle {
|
| +class _PackageBundleImpl extends Object with _PackageBundleMixin implements idl.PackageBundle {
|
| final fb.BufferPointer _bp;
|
|
|
| - _SdkBundleImpl(this._bp);
|
| + _PackageBundleImpl(this._bp);
|
|
|
| List<idl.LinkedLibrary> _linkedLibraries;
|
| List<String> _linkedLibraryUris;
|
| + List<String> _unlinkedUnitHashes;
|
| List<idl.UnlinkedUnit> _unlinkedUnits;
|
| List<String> _unlinkedUnitUris;
|
|
|
| @@ -1272,6 +1294,12 @@ class _SdkBundleImpl extends Object with _SdkBundleMixin implements idl.SdkBundl
|
| }
|
|
|
| @override
|
| + List<String> get unlinkedUnitHashes {
|
| + _unlinkedUnitHashes ??= const fb.ListReader<String>(const fb.StringReader()).vTableGet(_bp, 4, const <String>[]);
|
| + return _unlinkedUnitHashes;
|
| + }
|
| +
|
| + @override
|
| List<idl.UnlinkedUnit> get unlinkedUnits {
|
| _unlinkedUnits ??= const fb.ListReader<idl.UnlinkedUnit>(const _UnlinkedUnitReader()).vTableGet(_bp, 2, const <idl.UnlinkedUnit>[]);
|
| return _unlinkedUnits;
|
| @@ -1284,12 +1312,13 @@ class _SdkBundleImpl extends Object with _SdkBundleMixin implements idl.SdkBundl
|
| }
|
| }
|
|
|
| -abstract class _SdkBundleMixin implements idl.SdkBundle {
|
| +abstract class _PackageBundleMixin implements idl.PackageBundle {
|
| @override
|
| Map<String, Object> toJson() {
|
| Map<String, Object> _result = <String, Object>{};
|
| if (linkedLibraries.isNotEmpty) _result["linkedLibraries"] = linkedLibraries.map((_value) => _value.toJson()).toList();
|
| if (linkedLibraryUris.isNotEmpty) _result["linkedLibraryUris"] = linkedLibraryUris;
|
| + if (unlinkedUnitHashes.isNotEmpty) _result["unlinkedUnitHashes"] = unlinkedUnitHashes;
|
| if (unlinkedUnits.isNotEmpty) _result["unlinkedUnits"] = unlinkedUnits.map((_value) => _value.toJson()).toList();
|
| if (unlinkedUnitUris.isNotEmpty) _result["unlinkedUnitUris"] = unlinkedUnitUris;
|
| return _result;
|
| @@ -1299,6 +1328,7 @@ abstract class _SdkBundleMixin implements idl.SdkBundle {
|
| Map<String, Object> toMap() => {
|
| "linkedLibraries": linkedLibraries,
|
| "linkedLibraryUris": linkedLibraryUris,
|
| + "unlinkedUnitHashes": unlinkedUnitHashes,
|
| "unlinkedUnits": unlinkedUnits,
|
| "unlinkedUnitUris": unlinkedUnitUris,
|
| };
|
|
|