isReservedWord method
Exact ts_language_is_reserved_word row scan.
Implementation
bool isReservedWord(int state, int symbol) {
final setId = lexModeForState(state).reservedWordSetId;
if (setId <= 0 || maxReservedWordSetSize <= 0) return false;
final start = setId * maxReservedWordSetSize;
final end = start + maxReservedWordSetSize;
if (start < 0 || end > reservedWords.length) {
throw StateError('Reserved-word set $setId is outside the table.');
}
for (var index = start; index < end; index++) {
final candidate = reservedWords[index];
if (candidate == symbol) return true;
if (candidate == 0) break;
}
return false;
}