deserialize method

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

Implementation

@override
void deserialize(PythonExternalScannerState state, Uint8List data) {
  state.delimiters.clear();
  state.indents
    ..clear()
    ..add(0);
  if (data.isEmpty) return;
  var position = 1; // byte 0 is redundant interpolated-string state
  if (position >= data.length) return;
  final delimiterCount = data[position++];
  for (
    var index = 0;
    index < delimiterCount && position < data.length;
    index++
  ) {
    state.delimiters.add(data[position++]);
  }
  while (position + 1 < data.length) {
    state.indents.add(data[position] | data[position + 1] << 8);
    position += 2;
  }
}