lib_ruby_parser_ast/loc_name/
mod.rs1mod gen;
2
3#[derive(Debug)]
4pub enum LocName {
5 Begin,
6 End,
7 Expression,
8 Keyword,
9 Name,
10 Assignment,
11 Colon,
12 DoubleColon,
13 Else,
14 HeredocBody,
15 Operator,
16 Selector,
17 Assoc,
18 Question,
19 HeredocEnd,
20}
21
22impl LocName {
23 pub fn new(name: &str) -> Self {
24 match name {
25 "begin" => LocName::Begin,
26 "end" => LocName::End,
27 "expression" => LocName::Expression,
28 "keyword" => LocName::Keyword,
29 "name" => LocName::Name,
30 "assignment" => LocName::Assignment,
31 "colon" => LocName::Colon,
32 "double_colon" => LocName::DoubleColon,
33 "else" => LocName::Else,
34 "heredoc_body" => LocName::HeredocBody,
35 "operator" => LocName::Operator,
36 "selector" => LocName::Selector,
37 "assoc" => LocName::Assoc,
38 "question" => LocName::Question,
39 "heredoc_end" => LocName::HeredocEnd,
40 _ => panic!("unsupported loc name {}", name),
41 }
42 }
43}