1 /*
2  * CDDL HEADER START
3  *
4  * The contents of this file are subject to the terms of the
5  * Common Development and Distribution License (the "License").
6  * You may not use this file except in compliance with the License.
7  *
8  * See LICENSE.txt included in this distribution for the specific
9  * language governing permissions and limitations under the License.
10  *
11  * When distributing Covered Code, include this CDDL HEADER in each
12  * file and include the License file at LICENSE.txt.
13  * If applicable, add the following below this CDDL HEADER, with the
14  * fields enclosed by brackets "[]" replaced with your own identifying
15  * information: Portions Copyright [yyyy] [name of copyright owner]
16  *
17  * CDDL HEADER END
18  */
19 
20 /*
21  * Copyright (c) 2017, Chris Fraire <cfraire@me.com>.
22  */
23 
24 package org.opengrok.indexer.analysis.ruby;
25 
26 import java.util.HashSet;
27 import java.util.Set;
28 
29 /**
30  * Represents a container for Ruby keywords and other string constants.
31  */
32 public class Consts {
33 
34     public static final Set<String> kwd = new HashSet<>();
35     static {
36         kwd.add("false");
37         kwd.add("FALSE");
38         kwd.add("new");
39         kwd.add("nil");
40         kwd.add("NIL");
41         kwd.add("true");
42         kwd.add("TRUE");
43 
44         kwd.add("__ENCODING__"); // 2.4.0/keywords_rdoc
45         kwd.add("__FILE__"); // 2.4.0/keywords_rdoc
46         kwd.add("__LINE__"); // 2.4.0/keywords_rdoc
47         kwd.add("alias"); // 2.4.0/keywords_rdoc
48         kwd.add("and"); // 2.4.0/keywords_rdoc
49         kwd.add("begin"); // 2.4.0/keywords_rdoc
50         kwd.add("BEGIN"); // 2.4.0/keywords_rdoc
51         kwd.add("break"); // 2.4.0/keywords_rdoc
52         kwd.add("case"); // 2.4.0/keywords_rdoc
53         kwd.add("class"); // 2.4.0/keywords_rdoc
54         kwd.add("def"); // 2.4.0/keywords_rdoc
55         kwd.add("defined?"); // 2.4.0/keywords_rdoc
56         kwd.add("do"); // 2.4.0/keywords_rdoc
57         kwd.add("else"); // 2.4.0/keywords_rdoc
58         kwd.add("elsif"); // 2.4.0/keywords_rdoc
59         kwd.add("end"); // 2.4.0/keywords_rdoc
60         kwd.add("END"); // 2.4.0/keywords_rdoc
61         kwd.add("ensure"); // 2.4.0/keywords_rdoc
62         kwd.add("for"); // 2.4.0/keywords_rdoc
63         kwd.add("if"); // 2.4.0/keywords_rdoc
64         kwd.add("in"); // 2.4.0/keywords_rdoc
65         kwd.add("module"); // 2.4.0/keywords_rdoc
66         kwd.add("next"); // 2.4.0/keywords_rdoc
67         kwd.add("not"); // 2.4.0/keywords_rdoc
68         kwd.add("or"); // 2.4.0/keywords_rdoc
69         kwd.add("redo"); // 2.4.0/keywords_rdoc
70         kwd.add("rescue"); // 2.4.0/keywords_rdoc
71         kwd.add("retry"); // 2.4.0/keywords_rdoc
72         kwd.add("return"); // 2.4.0/keywords_rdoc
73         kwd.add("self"); // 2.4.0/keywords_rdoc
74         kwd.add("super"); // 2.4.0/keywords_rdoc
75         kwd.add("then"); // 2.4.0/keywords_rdoc
76         kwd.add("undef"); // 2.4.0/keywords_rdoc
77         kwd.add("unless"); // 2.4.0/keywords_rdoc
78         kwd.add("until"); // 2.4.0/keywords_rdoc
79         kwd.add("when"); // 2.4.0/keywords_rdoc
80         kwd.add("while"); // 2.4.0/keywords_rdoc
81         kwd.add("yield"); // 2.4.0/keywords_rdoc
82 
83         kwd.add("__callee__"); // core-2.4.2/Kernel
84         kwd.add("__dir__"); // core-2.4.2/Kernel
85         kwd.add("__method__"); // core-2.4.2/Kernel
86         kwd.add("abort"); // core-2.4.2/Kernel
87         kwd.add("Array"); // core-2.4.2/Kernel
88         kwd.add("at_exit"); // core-2.4.2/Kernel
89         kwd.add("autoload?"); // core-2.4.2/Kernel
90         kwd.add("autoload"); // core-2.4.2/Kernel
91         kwd.add("binding"); // core-2.4.2/Kernel
92         kwd.add("block_given?"); // core-2.4.2/Kernel
93         kwd.add("callcc"); // core-2.4.2/Kernel
94         kwd.add("caller_locations"); // core-2.4.2/Kernel
95         kwd.add("caller"); // core-2.4.2/Kernel
96         kwd.add("catch"); // core-2.4.2/Kernel
97         kwd.add("chomp"); // core-2.4.2/Kernel
98         kwd.add("chop"); // core-2.4.2/Kernel
99         kwd.add("Complex"); // core-2.4.2/Kernel
100         kwd.add("eval"); // core-2.4.2/Kernel
101         kwd.add("exec"); // core-2.4.2/Kernel
102         kwd.add("exit!"); // core-2.4.2/Kernel
103         kwd.add("exit"); // core-2.4.2/Kernel
104         kwd.add("fail"); // core-2.4.2/Kernel
105         kwd.add("Float"); // core-2.4.2/Kernel
106         kwd.add("fork"); // core-2.4.2/Kernel
107         kwd.add("format"); // core-2.4.2/Kernel
108         kwd.add("gets"); // core-2.4.2/Kernel
109         kwd.add("global_variables"); // core-2.4.2/Kernel
110         kwd.add("gsub"); // core-2.4.2/Kernel
111         kwd.add("Hash"); // core-2.4.2/Kernel
112         kwd.add("Integer"); // core-2.4.2/Kernel
113         kwd.add("iterator?"); // core-2.4.2/Kernel
114         kwd.add("lambda"); // core-2.4.2/Kernel
115         kwd.add("load"); // core-2.4.2/Kernel
116         kwd.add("local_variables"); // core-2.4.2/Kernel
117         kwd.add("loop"); // core-2.4.2/Kernel
118         kwd.add("open"); // core-2.4.2/Kernel
119         kwd.add("p"); // core-2.4.2/Kernel
120         kwd.add("print"); // core-2.4.2/Kernel
121         kwd.add("printf"); // core-2.4.2/Kernel
122         kwd.add("proc"); // core-2.4.2/Kernel
123         kwd.add("putc"); // core-2.4.2/Kernel
124         kwd.add("puts"); // core-2.4.2/Kernel
125         kwd.add("raise"); // core-2.4.2/Kernel
126         kwd.add("rand"); // core-2.4.2/Kernel
127         kwd.add("Rational"); // core-2.4.2/Kernel
128         kwd.add("readline"); // core-2.4.2/Kernel
129         kwd.add("readlines"); // core-2.4.2/Kernel
130         kwd.add("require_relative"); // core-2.4.2/Kernel
131         kwd.add("require"); // core-2.4.2/Kernel
132         kwd.add("select"); // core-2.4.2/Kernel
133         kwd.add("set_trace_func"); // core-2.4.2/Kernel
134         kwd.add("sleep"); // core-2.4.2/Kernel
135         kwd.add("spawn"); // core-2.4.2/Kernel
136         kwd.add("sprintf"); // core-2.4.2/Kernel
137         kwd.add("srand"); // core-2.4.2/Kernel
138         kwd.add("String"); // core-2.4.2/Kernel
139         kwd.add("sub"); // core-2.4.2/Kernel
140         kwd.add("syscall"); // core-2.4.2/Kernel
141         kwd.add("system"); // core-2.4.2/Kernel
142         kwd.add("test"); // core-2.4.2/Kernel
143         kwd.add("throw"); // core-2.4.2/Kernel
144         kwd.add("trace_var"); // core-2.4.2/Kernel
145         kwd.add("trap"); // core-2.4.2/Kernel
146         kwd.add("untrace_var"); // core-2.4.2/Kernel
147         kwd.add("warn"); // core-2.4.2/Kernel
148 
149         kwd.add("ascii_only?"); // core-2.4.2/String
150         kwd.add("b"); // core-2.4.2/String
151         kwd.add("bytes"); // core-2.4.2/String
152         kwd.add("bytesize"); // core-2.4.2/String
153         kwd.add("byteslice"); // core-2.4.2/String
154         kwd.add("capitalize!"); // core-2.4.2/String
155         kwd.add("capitalize"); // core-2.4.2/String
156         kwd.add("casecmp?"); // core-2.4.2/String
157         kwd.add("casecmp"); // core-2.4.2/String
158         kwd.add("center"); // core-2.4.2/String
159         kwd.add("chars"); // core-2.4.2/String
160         kwd.add("chomp!"); // core-2.4.2/String
161         kwd.add("chop!"); // core-2.4.2/String
162         kwd.add("chr"); // core-2.4.2/String
163         kwd.add("clear"); // core-2.4.2/String
164         kwd.add("codepoints"); // core-2.4.2/String
165         kwd.add("concat"); // core-2.4.2/String
166         kwd.add("count"); // core-2.4.2/String
167         kwd.add("crypt"); // core-2.4.2/String
168         kwd.add("delete!"); // core-2.4.2/String
169         kwd.add("delete"); // core-2.4.2/String
170         kwd.add("downcase!"); // core-2.4.2/String
171         kwd.add("downcase"); // core-2.4.2/String
172         kwd.add("dump"); // core-2.4.2/String
173         kwd.add("each_byte"); // core-2.4.2/String
174         kwd.add("each_char"); // core-2.4.2/String
175         kwd.add("each_codepoint"); // core-2.4.2/String
176         kwd.add("each_line"); // core-2.4.2/String
177         kwd.add("empty?"); // core-2.4.2/String
178         kwd.add("encode!"); // core-2.4.2/String
179         kwd.add("encode"); // core-2.4.2/String
180         kwd.add("encoding"); // core-2.4.2/String
181         kwd.add("end_with?"); // core-2.4.2/String
182         kwd.add("eql?"); // core-2.4.2/String
183         kwd.add("force_encoding"); // core-2.4.2/String
184         kwd.add("freeze"); // core-2.4.2/String
185         kwd.add("getbyte"); // core-2.4.2/String
186         kwd.add("gsub!"); // core-2.4.2/String
187         kwd.add("hash"); // core-2.4.2/String
188         kwd.add("hex"); // core-2.4.2/String
189         kwd.add("include?"); // core-2.4.2/String
190         kwd.add("index"); // core-2.4.2/String
191         kwd.add("initialize_copy"); // core-2.4.2/String
192         kwd.add("insert"); // core-2.4.2/String
193         kwd.add("inspect"); // core-2.4.2/String
194         kwd.add("intern"); // core-2.4.2/String
195         kwd.add("length"); // core-2.4.2/String
196         kwd.add("lines"); // core-2.4.2/String
197         kwd.add("ljust"); // core-2.4.2/String
198         kwd.add("lstrip!"); // core-2.4.2/String
199         kwd.add("lstrip"); // core-2.4.2/String
200         kwd.add("match?"); // core-2.4.2/String
201         kwd.add("match"); // core-2.4.2/String
202         kwd.add("next!"); // core-2.4.2/String
203         kwd.add("oct"); // core-2.4.2/String
204         kwd.add("ord"); // core-2.4.2/String
205         kwd.add("partition"); // core-2.4.2/String
206         kwd.add("prepend"); // core-2.4.2/String
207         kwd.add("replace"); // core-2.4.2/String
208         kwd.add("reverse!"); // core-2.4.2/String
209         kwd.add("reverse"); // core-2.4.2/String
210         kwd.add("rindex"); // core-2.4.2/String
211         kwd.add("rjust"); // core-2.4.2/String
212         kwd.add("rpartition"); // core-2.4.2/String
213         kwd.add("rstrip!"); // core-2.4.2/String
214         kwd.add("rstrip"); // core-2.4.2/String
215         kwd.add("scan"); // core-2.4.2/String
216         kwd.add("scrub!"); // core-2.4.2/String
217         kwd.add("scrub"); // core-2.4.2/String
218         kwd.add("setbyte"); // core-2.4.2/String
219         kwd.add("size"); // core-2.4.2/String
220         kwd.add("slice!"); // core-2.4.2/String
221         kwd.add("slice"); // core-2.4.2/String
222         kwd.add("split"); // core-2.4.2/String
223         kwd.add("squeeze!"); // core-2.4.2/String
224         kwd.add("squeeze"); // core-2.4.2/String
225         kwd.add("start_with?"); // core-2.4.2/String
226         kwd.add("strip!"); // core-2.4.2/String
227         kwd.add("strip"); // core-2.4.2/String
228         kwd.add("sub!"); // core-2.4.2/String
229         kwd.add("succ!"); // core-2.4.2/String
230         kwd.add("succ"); // core-2.4.2/String
231         kwd.add("sum"); // core-2.4.2/String
232         kwd.add("swapcase!"); // core-2.4.2/String
233         kwd.add("swapcase"); // core-2.4.2/String
234         kwd.add("to_c"); // core-2.4.2/String
235         kwd.add("to_f"); // core-2.4.2/String
236         kwd.add("to_i"); // core-2.4.2/String
237         kwd.add("to_r"); // core-2.4.2/String
238         kwd.add("to_s"); // core-2.4.2/String
239         kwd.add("to_str"); // core-2.4.2/String
240         kwd.add("to_sym"); // core-2.4.2/String
241         kwd.add("tr_s!"); // core-2.4.2/String
242         kwd.add("tr_s"); // core-2.4.2/String
243         kwd.add("tr!"); // core-2.4.2/String
244         kwd.add("tr"); // core-2.4.2/String
245         kwd.add("try_convert"); // core-2.4.2/String
246         kwd.add("unpack"); // core-2.4.2/String
247         kwd.add("unpack1"); // core-2.4.2/String
248         kwd.add("upcase!"); // core-2.4.2/String
249         kwd.add("upcase"); // core-2.4.2/String
250         kwd.add("upto"); // core-2.4.2/String
251         kwd.add("valid_encoding?"); // core-2.4.2/String
252 
253         kwd.add("advise"); // core-2.4.2/IO
254         kwd.add("autoclose?"); // core-2.4.2/IO
255         kwd.add("autoclose="); // core-2.4.2/IO
256         kwd.add("binmode?"); // core-2.4.2/IO
257         kwd.add("binmode"); // core-2.4.2/IO
258         kwd.add("binread"); // core-2.4.2/IO
259         kwd.add("binwrite"); // core-2.4.2/IO
260         kwd.add("close_on_exec?"); // core-2.4.2/IO
261         kwd.add("close_on_exec="); // core-2.4.2/IO
262         kwd.add("close_read"); // core-2.4.2/IO
263         kwd.add("close_write"); // core-2.4.2/IO
264         kwd.add("close"); // core-2.4.2/IO
265         kwd.add("closed?"); // core-2.4.2/IO
266         kwd.add("copy_stream"); // core-2.4.2/IO
267         kwd.add("each"); // core-2.4.2/IO
268         kwd.add("eof?"); // core-2.4.2/IO
269         kwd.add("eof"); // core-2.4.2/IO
270         kwd.add("external_encoding"); // core-2.4.2/IO
271         kwd.add("fcntl"); // core-2.4.2/IO
272         kwd.add("fdatasync"); // core-2.4.2/IO
273         kwd.add("fileno"); // core-2.4.2/IO
274         kwd.add("flush"); // core-2.4.2/IO
275         kwd.add("for_fd"); // core-2.4.2/IO
276         kwd.add("foreach"); // core-2.4.2/IO
277         kwd.add("fsync"); // core-2.4.2/IO
278         kwd.add("getc"); // core-2.4.2/IO
279         kwd.add("internal_encoding"); // core-2.4.2/IO
280         kwd.add("ioctl"); // core-2.4.2/IO
281         kwd.add("isatty"); // core-2.4.2/IO
282         kwd.add("lineno"); // core-2.4.2/IO
283         kwd.add("lineno="); // core-2.4.2/IO
284         kwd.add("pid"); // core-2.4.2/IO
285         kwd.add("pipe"); // core-2.4.2/IO
286         kwd.add("popen"); // core-2.4.2/IO
287         kwd.add("pos"); // core-2.4.2/IO
288         kwd.add("pos="); // core-2.4.2/IO
289         kwd.add("read_nonblock"); // core-2.4.2/IO
290         kwd.add("read"); // core-2.4.2/IO
291         kwd.add("readbyte"); // core-2.4.2/IO
292         kwd.add("readchar"); // core-2.4.2/IO
293         kwd.add("readpartial"); // core-2.4.2/IO
294         kwd.add("reopen"); // core-2.4.2/IO
295         kwd.add("rewind"); // core-2.4.2/IO
296         kwd.add("seek"); // core-2.4.2/IO
297         kwd.add("set_encoding"); // core-2.4.2/IO
298         kwd.add("stat"); // core-2.4.2/IO
299         kwd.add("sync"); // core-2.4.2/IO
300         kwd.add("sync="); // core-2.4.2/IO
301         kwd.add("sysopen"); // core-2.4.2/IO
302         kwd.add("sysread"); // core-2.4.2/IO
303         kwd.add("sysseek"); // core-2.4.2/IO
304         kwd.add("syswrite"); // core-2.4.2/IO
305         kwd.add("tell"); // core-2.4.2/IO
306         kwd.add("to_io"); // core-2.4.2/IO
307         kwd.add("tty?"); // core-2.4.2/IO
308         kwd.add("ungetbyte"); // core-2.4.2/IO
309         kwd.add("ungetc"); // core-2.4.2/IO
310         kwd.add("write_nonblock"); // core-2.4.2/IO
311         kwd.add("write"); // core-2.4.2/IO
312 
313         kwd.add("absolute_path"); // core-2.4.2/File
314         kwd.add("atime"); // core-2.4.2/File
315         kwd.add("basename"); // core-2.4.2/File
316         kwd.add("birthtime"); // core-2.4.2/File
317         kwd.add("blockdev?"); // core-2.4.2/File
318         kwd.add("chardev?"); // core-2.4.2/File
319         kwd.add("chmod"); // core-2.4.2/File
320         kwd.add("chown"); // core-2.4.2/File
321         kwd.add("ctime"); // core-2.4.2/File
322         kwd.add("directory?"); // core-2.4.2/File
323         kwd.add("dirname"); // core-2.4.2/File
324         kwd.add("executable_real?"); // core-2.4.2/File
325         kwd.add("executable?"); // core-2.4.2/File
326         kwd.add("exist?"); // core-2.4.2/File
327         kwd.add("exists?"); // core-2.4.2/File
328         kwd.add("expand_path"); // core-2.4.2/File
329         kwd.add("extname"); // core-2.4.2/File
330         kwd.add("file?"); // core-2.4.2/File
331         kwd.add("flock"); // core-2.4.2/File
332         kwd.add("fnmatch?"); // core-2.4.2/File
333         kwd.add("fnmatch"); // core-2.4.2/File
334         kwd.add("ftype"); // core-2.4.2/File
335         kwd.add("grpowned?"); // core-2.4.2/File
336         kwd.add("identical?"); // core-2.4.2/File
337         kwd.add("join"); // core-2.4.2/File
338         kwd.add("lchmod"); // core-2.4.2/File
339         kwd.add("lchown"); // core-2.4.2/File
340         kwd.add("link"); // core-2.4.2/File
341         kwd.add("lstat"); // core-2.4.2/File
342         kwd.add("mkfifo"); // core-2.4.2/File
343         kwd.add("mtime"); // core-2.4.2/File
344         kwd.add("owned?"); // core-2.4.2/File
345         kwd.add("path"); // core-2.4.2/File
346         kwd.add("pipe?"); // core-2.4.2/File
347         kwd.add("readable_real?"); // core-2.4.2/File
348         kwd.add("readable?"); // core-2.4.2/File
349         kwd.add("readlink"); // core-2.4.2/File
350         kwd.add("realdirpath"); // core-2.4.2/File
351         kwd.add("realpath"); // core-2.4.2/File
352         kwd.add("rename"); // core-2.4.2/File
353         kwd.add("setgid?"); // core-2.4.2/File
354         kwd.add("setuid?"); // core-2.4.2/File
355         kwd.add("size?"); // core-2.4.2/File
356         kwd.add("socket?"); // core-2.4.2/File
357         kwd.add("sticky?"); // core-2.4.2/File
358         kwd.add("symlink?"); // core-2.4.2/File
359         kwd.add("symlink"); // core-2.4.2/File
360         kwd.add("to_path"); // core-2.4.2/File
361         kwd.add("truncate"); // core-2.4.2/File
362         kwd.add("umask"); // core-2.4.2/File
363         kwd.add("unlink"); // core-2.4.2/File
364         kwd.add("utime"); // core-2.4.2/File
365         kwd.add("world_readable?"); // core-2.4.2/File
366         kwd.add("world_writable?"); // core-2.4.2/File
367         kwd.add("writable_real?"); // core-2.4.2/File
368         kwd.add("writable?"); // core-2.4.2/File
369         kwd.add("zero?"); // core-2.4.2/File
370 
371         kwd.add("arity"); // core-2.4.2/Proc
372         kwd.add("call"); // core-2.4.2/Proc
373         kwd.add("curry"); // core-2.4.2/Proc
374         kwd.add("lambda?"); // core-2.4.2/Proc
375         kwd.add("parameters"); // core-2.4.2/Proc
376         kwd.add("source_location"); // core-2.4.2/Proc
377         kwd.add("to_proc"); // core-2.4.2/Proc
378 
379         kwd.add("all_symbols"); // core-2.4.2/Symbol
380         kwd.add("id2name"); // core-2.4.2/Symbol
381         kwd.add("compile"); // core-2.4.2/Regexp
382         kwd.add("escape"); // core-2.4.2/Regexp
383         kwd.add("last_match"); // core-2.4.2/Regexp
384         kwd.add("quote"); // core-2.4.2/Regexp
385         kwd.add("union"); // core-2.4.2/Regexp
386         kwd.add("casefold?"); // core-2.4.2/Regexp
387 
388         kwd.add("fixed_encoding?"); // core-2.4.2/Regexp
389         kwd.add("named_captures"); // core-2.4.2/Regexp
390         kwd.add("names"); // core-2.4.2/Regexp
391         kwd.add("options"); // core-2.4.2/Regexp
392         kwd.add("source"); // core-2.4.2/Regexp
393 
394         kwd.add("abs"); // core-2.4.2/Integer
395         kwd.add("bit_length"); // core-2.4.2/Integer
396         kwd.add("ceil"); // core-2.4.2/Integer
397         kwd.add("coerce"); // core-2.4.2/Integer
398         kwd.add("denominator"); // core-2.4.2/Integer
399         kwd.add("digits"); // core-2.4.2/Integer
400         kwd.add("div"); // core-2.4.2/Integer
401         kwd.add("divmod"); // core-2.4.2/Integer
402         kwd.add("downto"); // core-2.4.2/Integer
403         kwd.add("even?"); // core-2.4.2/Integer
404         kwd.add("fdiv"); // core-2.4.2/Integer
405         kwd.add("floor"); // core-2.4.2/Integer
406         kwd.add("gcd"); // core-2.4.2/Integer
407         kwd.add("gcdlcm"); // core-2.4.2/Integer
408         kwd.add("integer?"); // core-2.4.2/Integer
409         kwd.add("lcm"); // core-2.4.2/Integer
410         kwd.add("magnitude"); // core-2.4.2/Integer
411         kwd.add("modulo"); // core-2.4.2/Integer
412         kwd.add("numerator"); // core-2.4.2/Integer
413         kwd.add("odd?"); // core-2.4.2/Integer
414         kwd.add("pred"); // core-2.4.2/Integer
415         kwd.add("rationalize"); // core-2.4.2/Integer
416         kwd.add("remainder"); // core-2.4.2/Integer
417         kwd.add("round"); // core-2.4.2/Integer
418         kwd.add("times"); // core-2.4.2/Integer
419         kwd.add("to_int"); // core-2.4.2/Integer
420     }
421 
Consts()422     private Consts() {
423     }
424 
425 }
426