deserialize method

  1. @override
void deserialize(
  1. BitBakeExternalScannerState state,
  2. Uint8List data
)
override

Implementation

@override
void deserialize(BitBakeExternalScannerState state, Uint8List data) {
  state.delimiters.clear();
  state.indents
    ..clear()
    ..add(0);
  if (data.isEmpty) {
    // The pinned implementation leaves inside_f_string untouched here.
    return;
  }
  if (data.length < 2) {
    throw const FormatException('Truncated BitBake external-scanner state');
  }
  var offset = 0;
  state.insideFString = data[offset++] != 0;
  final delimiterCount = data[offset++];
  if (offset + delimiterCount > data.length) {
    throw const FormatException(
      'Truncated BitBake external-scanner delimiters',
    );
  }
  for (var index = 0; index < delimiterCount; index++) {
    state.delimiters.add(data[offset++]);
  }
  while (offset < data.length) {
    state.indents.add(data[offset++]);
  }
}