1     /*
2      * Generating switch for the list of 45 entries:
3      * false
4      * true
5      * null
6      * break
7      * case
8      * catch
9      * const
10      * continue
11      * debugger
12      * default
13      * delete
14      * do
15      * else
16      * finally
17      * for
18      * function
19      * if
20      * in
21      * instanceof
22      * new
23      * return
24      * switch
25      * this
26      * throw
27      * try
28      * typeof
29      * var
30      * void
31      * while
32      * with
33      * import
34      * export
35      * class
36      * extends
37      * super
38      * enum
39      * implements
40      * interface
41      * package
42      * private
43      * protected
44      * public
45      * static
46      * yield
47      * let
48      */
49     switch (JSKW_LENGTH()) {
50       case 2:
51         if (JSKW_AT(0) == 'd') {
52             if (JSKW_AT(1)=='o') {
53                 JSKW_GOT_MATCH(11) /* do */
54             }
55             JSKW_NO_MATCH()
56         }
57         if (JSKW_AT(0) == 'i') {
58             if (JSKW_AT(1) == 'f') {
59                 JSKW_GOT_MATCH(16) /* if */
60             }
61             if (JSKW_AT(1) == 'n') {
62                 JSKW_GOT_MATCH(17) /* in */
63             }
64             JSKW_NO_MATCH()
65         }
66         JSKW_NO_MATCH()
67       case 3:
68         switch (JSKW_AT(2)) {
69           case 'r':
70             if (JSKW_AT(0) == 'f') {
71                 if (JSKW_AT(1)=='o') {
72                     JSKW_GOT_MATCH(14) /* for */
73                 }
74                 JSKW_NO_MATCH()
75             }
76             if (JSKW_AT(0) == 'v') {
77                 if (JSKW_AT(1)=='a') {
78                     JSKW_GOT_MATCH(26) /* var */
79                 }
80                 JSKW_NO_MATCH()
81             }
82             JSKW_NO_MATCH()
83           case 't':
84             if (JSKW_AT(0)=='l' && JSKW_AT(1)=='e') {
85                 JSKW_GOT_MATCH(44) /* let */
86             }
87             JSKW_NO_MATCH()
88           case 'w':
89             if (JSKW_AT(0)=='n' && JSKW_AT(1)=='e') {
90                 JSKW_GOT_MATCH(19) /* new */
91             }
92             JSKW_NO_MATCH()
93           case 'y':
94             if (JSKW_AT(0)=='t' && JSKW_AT(1)=='r') {
95                 JSKW_GOT_MATCH(24) /* try */
96             }
97             JSKW_NO_MATCH()
98         }
99         JSKW_NO_MATCH()
100       case 4:
101         switch (JSKW_AT(2)) {
102           case 'i':
103             if (JSKW_AT(0) == 't') {
104                 if (JSKW_AT(3)=='s' && JSKW_AT(1)=='h') {
105                     JSKW_GOT_MATCH(22) /* this */
106                 }
107                 JSKW_NO_MATCH()
108             }
109             if (JSKW_AT(0) == 'v') {
110                 if (JSKW_AT(3)=='d' && JSKW_AT(1)=='o') {
111                     JSKW_GOT_MATCH(27) /* void */
112                 }
113                 JSKW_NO_MATCH()
114             }
115             JSKW_NO_MATCH()
116           case 'l':
117             if (JSKW_AT(0)=='n' && JSKW_AT(1)=='u' && JSKW_AT(3)=='l') {
118                 JSKW_GOT_MATCH(2) /* null */
119             }
120             JSKW_NO_MATCH()
121           case 's':
122             if (JSKW_AT(1) == 'a') {
123                 if (JSKW_AT(0)=='c' && JSKW_AT(3)=='e') {
124                     JSKW_GOT_MATCH(4) /* case */
125                 }
126                 JSKW_NO_MATCH()
127             }
128             if (JSKW_AT(1) == 'l') {
129                 if (JSKW_AT(0)=='e' && JSKW_AT(3)=='e') {
130                     JSKW_GOT_MATCH(12) /* else */
131                 }
132                 JSKW_NO_MATCH()
133             }
134             JSKW_NO_MATCH()
135           case 't':
136             if (JSKW_AT(0)=='w' && JSKW_AT(1)=='i' && JSKW_AT(3)=='h') {
137                 JSKW_GOT_MATCH(29) /* with */
138             }
139             JSKW_NO_MATCH()
140           case 'u':
141             if (JSKW_AT(0) == 'e') {
142                 if (JSKW_AT(3)=='m' && JSKW_AT(1)=='n') {
143                     JSKW_GOT_MATCH(35) /* enum */
144                 }
145                 JSKW_NO_MATCH()
146             }
147             if (JSKW_AT(0) == 't') {
148                 if (JSKW_AT(3)=='e' && JSKW_AT(1)=='r') {
149                     JSKW_GOT_MATCH(1) /* true */
150                 }
151                 JSKW_NO_MATCH()
152             }
153             JSKW_NO_MATCH()
154         }
155         JSKW_NO_MATCH()
156       case 5:
157         switch (JSKW_AT(3)) {
158           case 'a':
159             if (JSKW_AT(0)=='b' && JSKW_AT(1)=='r' && JSKW_AT(2)=='e' && JSKW_AT(4)=='k') {
160                 JSKW_GOT_MATCH(3) /* break */
161             }
162             JSKW_NO_MATCH()
163           case 'c':
164             if (JSKW_AT(0)=='c' && JSKW_AT(1)=='a' && JSKW_AT(2)=='t' && JSKW_AT(4)=='h') {
165                 JSKW_GOT_MATCH(5) /* catch */
166             }
167             JSKW_NO_MATCH()
168           case 'e':
169             if (JSKW_AT(0)=='s' && JSKW_AT(1)=='u' && JSKW_AT(2)=='p' && JSKW_AT(4)=='r') {
170                 JSKW_GOT_MATCH(34) /* super */
171             }
172             JSKW_NO_MATCH()
173           case 'l':
174             if (JSKW_AT(0) == 'w') {
175                 if (JSKW_AT(4)=='e' && JSKW_AT(1)=='h' && JSKW_AT(2)=='i') {
176                     JSKW_GOT_MATCH(28) /* while */
177                 }
178                 JSKW_NO_MATCH()
179             }
180             if (JSKW_AT(0) == 'y') {
181                 if (JSKW_AT(4)=='d' && JSKW_AT(1)=='i' && JSKW_AT(2)=='e') {
182                     JSKW_GOT_MATCH(43) /* yield */
183                 }
184                 JSKW_NO_MATCH()
185             }
186             JSKW_NO_MATCH()
187           case 'o':
188             if (JSKW_AT(0)=='t' && JSKW_AT(1)=='h' && JSKW_AT(2)=='r' && JSKW_AT(4)=='w') {
189                 JSKW_GOT_MATCH(23) /* throw */
190             }
191             JSKW_NO_MATCH()
192           case 's':
193             if (JSKW_AT(0) == 'c') {
194                 if (JSKW_AT(4) == 's') {
195                     if (JSKW_AT(2)=='a' && JSKW_AT(1)=='l') {
196                         JSKW_GOT_MATCH(32) /* class */
197                     }
198                     JSKW_NO_MATCH()
199                 }
200                 if (JSKW_AT(4) == 't') {
201                     if (JSKW_AT(2)=='n' && JSKW_AT(1)=='o') {
202                         JSKW_GOT_MATCH(6) /* const */
203                     }
204                     JSKW_NO_MATCH()
205                 }
206                 JSKW_NO_MATCH()
207             }
208             if (JSKW_AT(0) == 'f') {
209                 if (JSKW_AT(4)=='e' && JSKW_AT(1)=='a' && JSKW_AT(2)=='l') {
210                     JSKW_GOT_MATCH(0) /* false */
211                 }
212                 JSKW_NO_MATCH()
213             }
214             JSKW_NO_MATCH()
215         }
216         JSKW_NO_MATCH()
217       case 6:
218         switch (JSKW_AT(0)) {
219           case 'd':
220             JSKW_TEST_GUESS(10) /* delete */
221           case 'e':
222             JSKW_TEST_GUESS(31) /* export */
223           case 'i':
224             JSKW_TEST_GUESS(30) /* import */
225           case 'p':
226             JSKW_TEST_GUESS(41) /* public */
227           case 'r':
228             JSKW_TEST_GUESS(20) /* return */
229           case 's':
230             if (JSKW_AT(1) == 't') {
231                 if (JSKW_AT(5)=='c' && JSKW_AT(4)=='i' && JSKW_AT(2)=='a' && JSKW_AT(3)=='t') {
232                     JSKW_GOT_MATCH(42) /* static */
233                 }
234                 JSKW_NO_MATCH()
235             }
236             if (JSKW_AT(1) == 'w') {
237                 if (JSKW_AT(5)=='h' && JSKW_AT(4)=='c' && JSKW_AT(2)=='i' && JSKW_AT(3)=='t') {
238                     JSKW_GOT_MATCH(21) /* switch */
239                 }
240                 JSKW_NO_MATCH()
241             }
242             JSKW_NO_MATCH()
243           case 't':
244             JSKW_TEST_GUESS(25) /* typeof */
245         }
246         JSKW_NO_MATCH()
247       case 7:
248         switch (JSKW_AT(0)) {
249           case 'd':
250             JSKW_TEST_GUESS(9) /* default */
251           case 'e':
252             JSKW_TEST_GUESS(33) /* extends */
253           case 'f':
254             JSKW_TEST_GUESS(13) /* finally */
255           case 'p':
256             if (JSKW_AT(1) == 'a') {
257                 JSKW_TEST_GUESS(38) /* package */
258             }
259             if (JSKW_AT(1) == 'r') {
260                 JSKW_TEST_GUESS(39) /* private */
261             }
262             JSKW_NO_MATCH()
263         }
264         JSKW_NO_MATCH()
265       case 8:
266         if (JSKW_AT(2) == 'b') {
267             JSKW_TEST_GUESS(8) /* debugger */
268         }
269         if (JSKW_AT(2) == 'n') {
270             if (JSKW_AT(0) == 'c') {
271                 JSKW_TEST_GUESS(7) /* continue */
272             }
273             if (JSKW_AT(0) == 'f') {
274                 JSKW_TEST_GUESS(15) /* function */
275             }
276             JSKW_NO_MATCH()
277         }
278         JSKW_NO_MATCH()
279       case 9:
280         if (JSKW_AT(0) == 'i') {
281             JSKW_TEST_GUESS(37) /* interface */
282         }
283         if (JSKW_AT(0) == 'p') {
284             JSKW_TEST_GUESS(40) /* protected */
285         }
286         JSKW_NO_MATCH()
287       case 10:
288         if (JSKW_AT(1) == 'n') {
289             JSKW_TEST_GUESS(18) /* instanceof */
290         }
291         if (JSKW_AT(1) == 'm') {
292             JSKW_TEST_GUESS(36) /* implements */
293         }
294         JSKW_NO_MATCH()
295     }
296     JSKW_NO_MATCH()
297