dispose method

void dispose()

Implementation

void dispose() {
  if (_disposed) return;
  // Rust `Parser::drop` first disables DOT output and then installs a null
  // logger before deleting the native parser. Release the managed callback
  // references at that same deterministic boundary; retaining them until
  // this wrapper is garbage-collected would observably extend captured
  // object lifetimes beyond upstream `Drop`.
  _generatedParser?.reset();
  _generatedParser = null;
  _debugGraphSink = null;
  _logger = null;
  _cancellationToken = null;
  _defaultParseOptions = null;
  _hasOutstandingParse = false;
  _streamingDecodedInput = null;
  _wasmStore?.dispose();
  _wasmStore = null;
  final assigned = _grammar;
  _grammar = null;
  if (assigned != null) _releaseGrammarLanguage(assigned);
  _includedRanges = const [];
  _disposed = true;
}