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 92cd9464de5e7dea198930bb9415af13d6851d85..655f5fd4aac7b2b999c401e9014f3e22a5e177cd 100644 |
--- a/pkg/analyzer/lib/src/summary/format.dart |
+++ b/pkg/analyzer/lib/src/summary/format.dart |
@@ -131,6 +131,7 @@ class _UnlinkedParamKindReader extends fb.Reader<idl.UnlinkedParamKind> { |
class AnalysisDriverResolvedUnitBuilder extends Object with _AnalysisDriverResolvedUnitMixin implements idl.AnalysisDriverResolvedUnit { |
List<AnalysisDriverUnitErrorBuilder> _errors; |
+ AnalysisDriverUnitIndexBuilder _index; |
@override |
List<AnalysisDriverUnitErrorBuilder> get errors => _errors ??= <AnalysisDriverUnitErrorBuilder>[]; |
@@ -142,14 +143,26 @@ class AnalysisDriverResolvedUnitBuilder extends Object with _AnalysisDriverResol |
this._errors = value; |
} |
- AnalysisDriverResolvedUnitBuilder({List<AnalysisDriverUnitErrorBuilder> errors}) |
- : _errors = errors; |
+ @override |
+ AnalysisDriverUnitIndexBuilder get index => _index; |
+ |
+ /** |
+ * The index of the unit. |
+ */ |
+ void set index(AnalysisDriverUnitIndexBuilder value) { |
+ this._index = value; |
+ } |
+ |
+ AnalysisDriverResolvedUnitBuilder({List<AnalysisDriverUnitErrorBuilder> errors, AnalysisDriverUnitIndexBuilder index}) |
+ : _errors = errors, |
+ _index = index; |
/** |
* Flush [informative] data recursively. |
*/ |
void flushInformative() { |
_errors?.forEach((b) => b.flushInformative()); |
+ _index?.flushInformative(); |
} |
/** |
@@ -164,6 +177,8 @@ class AnalysisDriverResolvedUnitBuilder extends Object with _AnalysisDriverResol |
x?.collectApiSignature(signature); |
} |
} |
+ signature.addBool(this._index != null); |
+ this._index?.collectApiSignature(signature); |
} |
List<int> toBuffer() { |
@@ -173,13 +188,20 @@ class AnalysisDriverResolvedUnitBuilder extends Object with _AnalysisDriverResol |
fb.Offset finish(fb.Builder fbBuilder) { |
fb.Offset offset_errors; |
+ fb.Offset offset_index; |
if (!(_errors == null || _errors.isEmpty)) { |
offset_errors = fbBuilder.writeList(_errors.map((b) => b.finish(fbBuilder)).toList()); |
} |
+ if (_index != null) { |
+ offset_index = _index.finish(fbBuilder); |
+ } |
fbBuilder.startTable(); |
if (offset_errors != null) { |
fbBuilder.addOffset(0, offset_errors); |
} |
+ if (offset_index != null) { |
+ fbBuilder.addOffset(1, offset_index); |
+ } |
return fbBuilder.endTable(); |
} |
} |
@@ -203,12 +225,19 @@ class _AnalysisDriverResolvedUnitImpl extends Object with _AnalysisDriverResolve |
_AnalysisDriverResolvedUnitImpl(this._bc, this._bcOffset); |
List<idl.AnalysisDriverUnitError> _errors; |
+ idl.AnalysisDriverUnitIndex _index; |
@override |
List<idl.AnalysisDriverUnitError> get errors { |
_errors ??= const fb.ListReader<idl.AnalysisDriverUnitError>(const _AnalysisDriverUnitErrorReader()).vTableGet(_bc, _bcOffset, 0, const <idl.AnalysisDriverUnitError>[]); |
return _errors; |
} |
+ |
+ @override |
+ idl.AnalysisDriverUnitIndex get index { |
+ _index ??= const _AnalysisDriverUnitIndexReader().vTableGet(_bc, _bcOffset, 1, null); |
+ return _index; |
+ } |
} |
abstract class _AnalysisDriverResolvedUnitMixin implements idl.AnalysisDriverResolvedUnit { |
@@ -216,12 +245,14 @@ abstract class _AnalysisDriverResolvedUnitMixin implements idl.AnalysisDriverRes |
Map<String, Object> toJson() { |
Map<String, Object> _result = <String, Object>{}; |
if (errors.isNotEmpty) _result["errors"] = errors.map((_value) => _value.toJson()).toList(); |
+ if (index != null) _result["index"] = index.toJson(); |
return _result; |
} |
@override |
Map<String, Object> toMap() => { |
"errors": errors, |
+ "index": index, |
}; |
@override |