serialize method

  1. @override
Uint8List serialize(
  1. BitBakeExternalScannerState state
)
override

Implementation

@override
Uint8List serialize(BitBakeExternalScannerState state) {
  final buffer = Uint8List(_serializationBufferSize);
  var size = 0;
  buffer[size++] = state.insideFString ? 1 : 0;
  final delimiterCount = math.min(state.delimiters.length, 0xff);
  buffer[size++] = delimiterCount;
  for (var index = 0; index < delimiterCount; index++) {
    buffer[size++] = state.delimiters[index] & 0xff;
  }
  for (
    var index = 1;
    index < state.indents.length && size < _serializationBufferSize;
    index++
  ) {
    // The pinned scanner serializes each uint16_t indentation as one char.
    buffer[size++] = state.indents[index] & 0xff;
  }
  return Uint8List.sublistView(buffer, 0, size);
}