RubyExternalScanner constructor

RubyExternalScanner(
  1. TreeSitterLanguageTable language
)

Implementation

RubyExternalScanner(TreeSitterLanguageTable language)
  : symbols = List.unmodifiable(language.externalSymbols),
    _newlineAwareOperatorDisambiguation =
        language.grammarRevision == _newlineAwareScannerRevision ||
        (language.grammarRevision == null && language.symbolCount == 347) {
  if (language.name != 'ruby' ||
      symbols.length != RubyExternalToken.values.length) {
    throw ArgumentError.value(language.name, 'language');
  }
}