File tree Expand file tree Collapse file tree 4 files changed +124
-0
lines changed
main/java/com/google/api/generator/engine/lexicon
test/java/com/google/api/generator/engine/lexicon Expand file tree Collapse file tree 4 files changed +124
-0
lines changed Original file line number Diff line number Diff line change 1+ package (default_visibility = ["//visibility:public" ])
2+
3+ filegroup (
4+ name = "lexicon_files" ,
5+ srcs = glob (["*.java" ]),
6+ )
7+
8+ java_library (
9+ name = "lexicon" ,
10+ srcs = [
11+ ":lexicon_files" ,
12+ ],
13+ deps = [
14+ "@com_google_guava_guava__com_google_api_codegen//jar" ,
15+ ],
16+ )
Original file line number Diff line number Diff line change 1+ package com .google .api .generator .engine .lexicon ;
2+
3+ import com .google .common .annotations .VisibleForTesting ;
4+ import com .google .common .collect .ImmutableList ;
5+
6+ public class Keyword {
7+ @ VisibleForTesting
8+ static final ImmutableList <String > KEYWORDS =
9+ ImmutableList .of (
10+ "abstract" ,
11+ "continue" ,
12+ "for" ,
13+ "new" ,
14+ "switch" ,
15+ "assert" ,
16+ "default" ,
17+ "if" ,
18+ "package" ,
19+ "synchronized" ,
20+ "boolean" ,
21+ "do" ,
22+ "goto" ,
23+ "private" ,
24+ "this" ,
25+ "break" ,
26+ "double" ,
27+ "implements" ,
28+ "protected" ,
29+ "throw" ,
30+ "byte" ,
31+ "else" ,
32+ "import" ,
33+ "public" ,
34+ "throws" ,
35+ "case" ,
36+ "enum" ,
37+ "instanceof" ,
38+ "return" ,
39+ "transient" ,
40+ "catch" ,
41+ "extends" ,
42+ "int" ,
43+ "short" ,
44+ "try" ,
45+ "char" ,
46+ "final" ,
47+ "interface" ,
48+ "static" ,
49+ "void" ,
50+ "class" ,
51+ "finally" ,
52+ "long" ,
53+ "strictfp" ,
54+ "volatile" ,
55+ "const" ,
56+ "float" ,
57+ "native" ,
58+ "super" ,
59+ "while" );
60+
61+ public static boolean isKeyword (String s ) {
62+ return KEYWORDS .contains (s );
63+ }
64+ }
Original file line number Diff line number Diff line change 1+ package (default_visibility = ["//visibility:public" ])
2+
3+ TESTS = [
4+ "KeywordTest" ,
5+ ]
6+
7+ [java_test (
8+ name = test_name ,
9+ srcs = ["{0}.java" .format (test_name )],
10+ test_class = "com.google.api.generator.engine.lexicon.{0}" .format (test_name ),
11+ deps = [
12+ "//src/main/java/com/google/api/generator/engine/lexicon" ,
13+ "@com_google_truth_truth//jar" ,
14+ ],
15+ ) for test_name in TESTS ]
Original file line number Diff line number Diff line change 1+ package com .google .api .generator .engine .lexicon ;
2+
3+ import static com .google .common .truth .Truth .assertThat ;
4+
5+ import org .junit .Test ;
6+
7+ public class KeywordTest {
8+ @ Test
9+ public void keywordTest () {
10+ // Modifiers.
11+ assertThat (Keyword .isKeyword ("static" )).isTrue ();
12+ assertThat (Keyword .isKeyword ("private" )).isTrue ();
13+
14+ // Other semantic blocks..
15+ assertThat (Keyword .isKeyword ("throws" )).isTrue ();
16+ assertThat (Keyword .isKeyword ("try" )).isTrue ();
17+ assertThat (Keyword .isKeyword ("for" )).isTrue ();
18+
19+ // Primitive types.
20+ assertThat (Keyword .isKeyword ("int" )).isTrue ();
21+ assertThat (Keyword .isKeyword ("char" )).isTrue ();
22+
23+ // Literal values.
24+ assertThat (Keyword .isKeyword ("false" )).isFalse ();
25+ assertThat (Keyword .isKeyword ("null" )).isFalse ();
26+ assertThat (Keyword .isKeyword ("asdf" )).isFalse ();
27+ assertThat (Keyword .isKeyword ("12345" )).isFalse ();
28+ }
29+ }
You can’t perform that action at this time.
0 commit comments