mxmlextrema_as3parser/parser/
reserved_word.rs1use crate::ns::*;
2
3pub struct As3ReservedWord;
5
6impl As3ReservedWord {
7 pub fn test(name: &str) -> bool {
9 As3ReservedWord::token(name).is_some()
10 }
11
12 pub fn token(name: &str) -> Option<Token> {
14 match name.len() {
15 1 => None,
16 2 => {
17 match name {
18 "as" => Some(Token::As),
19 "do" => Some(Token::Do),
20 "if" => Some(Token::If),
21 "in" => Some(Token::In),
22 "is" => Some(Token::Is),
23 _ => None,
24 }
25 },
26 3 => {
27 match name {
28 "for" => Some(Token::For),
29 "new" => Some(Token::New),
30 "not" => Some(Token::Not),
31 "try" => Some(Token::Try),
32 "use" => Some(Token::Use),
33 "var" => Some(Token::Var),
34 _ => None,
35 }
36 },
37 4 => {
38 match name {
39 "case" => Some(Token::Case),
40 "else" => Some(Token::Else),
41 "null" => Some(Token::Null),
42 "this" => Some(Token::This),
43 "true" => Some(Token::True),
44 "void" => Some(Token::Void),
45 "with" => Some(Token::With),
46 _ => None,
47 }
48 },
49 5 => {
50 match name {
51 "await" => Some(Token::Await),
52 "break" => Some(Token::Break),
53 "catch" => Some(Token::Catch),
54 "class" => Some(Token::Class),
55 "const" => Some(Token::Const),
56 "false" => Some(Token::False),
57 "super" => Some(Token::Super),
58 "throw" => Some(Token::Throw),
59 "while" => Some(Token::While),
60 "yield" => Some(Token::Yield),
61 _ => None,
62 }
63 },
64 6 => {
65 match name {
66 "delete" => Some(Token::Delete),
67 "import" => Some(Token::Import),
68 "public" => Some(Token::Public),
69 "return" => Some(Token::Return),
70 "switch" => Some(Token::Switch),
71 "typeof" => Some(Token::Typeof),
72 _ => None,
73 }
74 },
75 7 => {
76 match name {
77 "default" => Some(Token::Default),
78 "extends" => Some(Token::Extends),
79 "finally" => Some(Token::Finally),
80 "package" => Some(Token::Package),
81 "private" => Some(Token::Private),
82 _ => None,
83 }
84 },
85 8 => {
86 match name {
87 "continue" => Some(Token::Continue),
88 "function" => Some(Token::Function),
89 "internal" => Some(Token::Internal),
90 _ => None,
91 }
92 },
93 9 => {
94 match name {
95 "interface" => Some(Token::Interface),
96 "protected" => Some(Token::Protected),
97 _ => None,
98 }
99 },
100 10 => {
101 match name {
102 "implements" => Some(Token::Implements),
103 "instanceof" => Some(Token::Instanceof),
104 _ => None,
105 }
106 },
107 _ => None,
108 }
109 }
110}