lib_ruby_parser/reserved_words/
mod.rs

1mod reserved_word;
2pub use reserved_word::ReservedWord;
3mod list;
4pub(crate) use list::RESERVED_WORDS;
5
6/// Returns a `ReservedWord` for a given string slice.
7///
8/// Returns `None` if given word is not a reserved word in Ruby.
9pub fn reserved_word(tok: &[u8]) -> Option<&'static ReservedWord> {
10    let bucket = RESERVED_WORDS.get(tok.len())?;
11    let idx = bucket
12        .binary_search_by(|e| e.name.as_bytes().cmp(tok))
13        .ok()?;
14
15    Some(&bucket[idx])
16}