read static method
Implementation
static HighlightResult read(BinaryReader reader) {
if (reader.isEOF) {
return HighlightResult(HighlightResultType.unknown);
}
final diffs = <HighlightDiffEntry>[];
final diffCount = reader.readVarUint();
for (int i = 0; i < diffCount; i++) {
final changeTypeValue = reader.readUint8();
final changeType = changeTypeValue < HighlightDiffChangeType.values.length
? HighlightDiffChangeType.values[changeTypeValue]
: HighlightDiffChangeType.removed;
final lineIndex = reader.readVarUint();
final lineCount = reader.readVarUint();
// destLineIndex is only serialized for removed entries
final destLineIndex = changeType == HighlightDiffChangeType.removed
? reader.readVarUint()
: lineIndex;
diffs.add(HighlightDiffEntry(
changeType: changeType,
lineIndex: lineIndex,
lineCount: lineCount,
destLineIndex: destLineIndex,
));
}
return HighlightResult(HighlightResultType.computed, diffs: diffs);
}