From 40fac2f3d9829968d646790b8403b4271755bda4 Mon Sep 17 00:00:00 2001 From: Hyunwoo Nam Date: Sun, 11 Feb 2024 17:37:53 +0900 Subject: [PATCH 01/16] create SDL schema parser on demand --- src/com/walmartlabs/lacinia/parser/schema.clj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/com/walmartlabs/lacinia/parser/schema.clj b/src/com/walmartlabs/lacinia/parser/schema.clj index 5e62b8cb..4e83f419 100644 --- a/src/com/walmartlabs/lacinia/parser/schema.clj +++ b/src/com/walmartlabs/lacinia/parser/schema.clj @@ -33,7 +33,7 @@ (require '[clojure.future :refer [simple-keyword?]])) (def ^:private grammar - (common/compile-grammar "com/walmartlabs/lacinia/schema.g4")) + (delay (common/compile-grammar "com/walmartlabs/lacinia/schema.g4"))) (def ^:private extension-meta {:extension true}) @@ -606,7 +606,7 @@ federation/foundation-types {}) antlr-tree (try - (common/antlr-parse grammar schema-string) + (common/antlr-parse @grammar schema-string) (catch ParseError e (let [failures (common/parse-failures e)] (throw (ex-info "Failed to parse GraphQL schema." From ca6fd9fb52f58246f5763ef2f3c7fb72def4cba4 Mon Sep 17 00:00:00 2001 From: Hyunwoo Nam Date: Sun, 11 Feb 2024 17:38:01 +0900 Subject: [PATCH 02/16] fix reflection-warning --- src/com/walmartlabs/lacinia/parser/schema.clj | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/com/walmartlabs/lacinia/parser/schema.clj b/src/com/walmartlabs/lacinia/parser/schema.clj index 4e83f419..94219743 100644 --- a/src/com/walmartlabs/lacinia/parser/schema.clj +++ b/src/com/walmartlabs/lacinia/parser/schema.clj @@ -368,7 +368,8 @@ (defmethod xform :booleanValue [prod] - (Boolean/valueOf ^String (-> prod second second))) + (let [v (-> prod second second)] + (Boolean/valueOf ^String v))) (defmethod xform :nullValue [_] From c18cb15822406f21fbaba23f21afa63a603de1b6 Mon Sep 17 00:00:00 2001 From: Hyunwoo Nam Date: Sun, 11 Feb 2024 21:24:05 +0900 Subject: [PATCH 03/16] =?UTF-8?q?GraphqlParser=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.clj | 8 + deps.edn | 3 +- .../com/walmartlabs/lacinia/Graphql.interp | 104 + .../com/walmartlabs/lacinia/Graphql.tokens | 50 + .../lacinia/GraphqlBaseListener.java | 412 +++ .../lacinia/GraphqlBaseVisitor.java | 232 ++ .../walmartlabs/lacinia/GraphqlLexer.interp | 119 + .../com/walmartlabs/lacinia/GraphqlLexer.java | 304 +++ .../walmartlabs/lacinia/GraphqlLexer.tokens | 50 + .../walmartlabs/lacinia/GraphqlListener.java | 320 +++ .../walmartlabs/lacinia/GraphqlParser.java | 2240 +++++++++++++++++ .../walmartlabs/lacinia/GraphqlVisitor.java | 199 ++ 12 files changed, 4040 insertions(+), 1 deletion(-) create mode 100644 gen/src/com/walmartlabs/lacinia/Graphql.interp create mode 100644 gen/src/com/walmartlabs/lacinia/Graphql.tokens create mode 100644 gen/src/com/walmartlabs/lacinia/GraphqlBaseListener.java create mode 100644 gen/src/com/walmartlabs/lacinia/GraphqlBaseVisitor.java create mode 100644 gen/src/com/walmartlabs/lacinia/GraphqlLexer.interp create mode 100644 gen/src/com/walmartlabs/lacinia/GraphqlLexer.java create mode 100644 gen/src/com/walmartlabs/lacinia/GraphqlLexer.tokens create mode 100644 gen/src/com/walmartlabs/lacinia/GraphqlListener.java create mode 100644 gen/src/com/walmartlabs/lacinia/GraphqlParser.java create mode 100644 gen/src/com/walmartlabs/lacinia/GraphqlVisitor.java diff --git a/build.clj b/build.clj index fcfa1978..33c7b083 100644 --- a/build.clj +++ b/build.clj @@ -60,3 +60,11 @@ (println "Pushing changes ...") (build/process {:dir publish-dir :command-args ["git" "push"]})) + +(def basis (delay (build/create-basis {:project "deps.edn"}))) + +(defn compile-java [& _] + (build/delete {:path "target/classes"}) + (build/javac {:src-dirs ["gen"] + :class-dir "gen/classes" + :basis @basis})) \ No newline at end of file diff --git a/deps.edn b/deps.edn index 5cd03a3f..278c63f6 100644 --- a/deps.edn +++ b/deps.edn @@ -1,8 +1,9 @@ {:deps {org.clojure/clojure {:mvn/version "1.11.1"} clj-antlr/clj-antlr {:mvn/version "0.2.12"} + org.antlr/antlr4-runtime {:mvn/version "4.9.3"} org.flatland/ordered {:mvn/version "1.15.10"} org.clojure/data.json {:mvn/version "2.4.0"}} - :paths ["src" "resources"] + :paths ["src" "resources" "gen/classes"] :aliases {:dev {:extra-deps {criterium/criterium {:mvn/version "0.4.6"} diff --git a/gen/src/com/walmartlabs/lacinia/Graphql.interp b/gen/src/com/walmartlabs/lacinia/Graphql.interp new file mode 100644 index 00000000..0389f1bc --- /dev/null +++ b/gen/src/com/walmartlabs/lacinia/Graphql.interp @@ -0,0 +1,104 @@ +token literal names: +null +'query' +'mutation' +'subscription' +'(' +')' +':' +'$' +'=' +'{' +'}' +'...' +'on' +'fragment' +'[' +']' +'@' +'!' +null +null +'null' +null +null +null +'-' +null +null +null +null +null +null +null + +token symbolic names: +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +BooleanValue +NullValue +Null +NameId +IntValue +FloatValue +Sign +IntegerPart +NonZeroDigit +ExponentPart +Digit +StringValue +BlockStringValue +Ignored + +rule names: +document +definition +operationDefinition +name +operationType +variableDefinitions +variableDefinition +variable +defaultValue +selectionSet +selection +field +alias +arguments +argument +fragmentSpread +inlineFragment +fragmentDefinition +fragmentName +typeCondition +value +enumValue +arrayValue +objectValue +objectField +directives +directive +type +typeName +listType +nonNullType + + +atn: +[4, 1, 31, 243, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 1, 0, 4, 0, 64, 8, 0, 11, 0, 12, 0, 65, 1, 1, 1, 1, 3, 1, 70, 8, 1, 1, 2, 1, 2, 1, 2, 3, 2, 75, 8, 2, 1, 2, 3, 2, 78, 8, 2, 1, 2, 3, 2, 81, 8, 2, 1, 2, 1, 2, 3, 2, 85, 8, 2, 1, 3, 1, 3, 1, 4, 1, 4, 1, 5, 1, 5, 4, 5, 93, 8, 5, 11, 5, 12, 5, 94, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 3, 6, 103, 8, 6, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 1, 9, 1, 9, 4, 9, 113, 8, 9, 11, 9, 12, 9, 114, 1, 9, 1, 9, 1, 10, 1, 10, 1, 10, 3, 10, 122, 8, 10, 1, 11, 3, 11, 125, 8, 11, 1, 11, 1, 11, 3, 11, 129, 8, 11, 1, 11, 3, 11, 132, 8, 11, 1, 11, 3, 11, 135, 8, 11, 1, 12, 1, 12, 1, 12, 1, 13, 1, 13, 4, 13, 142, 8, 13, 11, 13, 12, 13, 143, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 3, 15, 155, 8, 15, 1, 16, 1, 16, 1, 16, 1, 16, 3, 16, 161, 8, 16, 1, 16, 1, 16, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 3, 17, 170, 8, 17, 1, 17, 1, 17, 1, 18, 1, 18, 1, 19, 1, 19, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 3, 20, 188, 8, 20, 1, 21, 1, 21, 1, 22, 1, 22, 5, 22, 194, 8, 22, 10, 22, 12, 22, 197, 9, 22, 1, 22, 1, 22, 1, 23, 1, 23, 5, 23, 203, 8, 23, 10, 23, 12, 23, 206, 9, 23, 1, 23, 1, 23, 1, 24, 1, 24, 1, 24, 1, 24, 1, 25, 4, 25, 215, 8, 25, 11, 25, 12, 25, 216, 1, 26, 1, 26, 1, 26, 3, 26, 222, 8, 26, 1, 27, 1, 27, 1, 27, 3, 27, 227, 8, 27, 1, 28, 1, 28, 1, 29, 1, 29, 1, 29, 1, 29, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 3, 30, 241, 8, 30, 1, 30, 0, 0, 31, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 0, 2, 2, 0, 1, 3, 21, 21, 1, 0, 1, 3, 246, 0, 63, 1, 0, 0, 0, 2, 69, 1, 0, 0, 0, 4, 84, 1, 0, 0, 0, 6, 86, 1, 0, 0, 0, 8, 88, 1, 0, 0, 0, 10, 90, 1, 0, 0, 0, 12, 98, 1, 0, 0, 0, 14, 104, 1, 0, 0, 0, 16, 107, 1, 0, 0, 0, 18, 110, 1, 0, 0, 0, 20, 121, 1, 0, 0, 0, 22, 124, 1, 0, 0, 0, 24, 136, 1, 0, 0, 0, 26, 139, 1, 0, 0, 0, 28, 147, 1, 0, 0, 0, 30, 151, 1, 0, 0, 0, 32, 156, 1, 0, 0, 0, 34, 164, 1, 0, 0, 0, 36, 173, 1, 0, 0, 0, 38, 175, 1, 0, 0, 0, 40, 187, 1, 0, 0, 0, 42, 189, 1, 0, 0, 0, 44, 191, 1, 0, 0, 0, 46, 200, 1, 0, 0, 0, 48, 209, 1, 0, 0, 0, 50, 214, 1, 0, 0, 0, 52, 218, 1, 0, 0, 0, 54, 226, 1, 0, 0, 0, 56, 228, 1, 0, 0, 0, 58, 230, 1, 0, 0, 0, 60, 240, 1, 0, 0, 0, 62, 64, 3, 2, 1, 0, 63, 62, 1, 0, 0, 0, 64, 65, 1, 0, 0, 0, 65, 63, 1, 0, 0, 0, 65, 66, 1, 0, 0, 0, 66, 1, 1, 0, 0, 0, 67, 70, 3, 4, 2, 0, 68, 70, 3, 34, 17, 0, 69, 67, 1, 0, 0, 0, 69, 68, 1, 0, 0, 0, 70, 3, 1, 0, 0, 0, 71, 85, 3, 18, 9, 0, 72, 74, 3, 8, 4, 0, 73, 75, 3, 6, 3, 0, 74, 73, 1, 0, 0, 0, 74, 75, 1, 0, 0, 0, 75, 77, 1, 0, 0, 0, 76, 78, 3, 10, 5, 0, 77, 76, 1, 0, 0, 0, 77, 78, 1, 0, 0, 0, 78, 80, 1, 0, 0, 0, 79, 81, 3, 50, 25, 0, 80, 79, 1, 0, 0, 0, 80, 81, 1, 0, 0, 0, 81, 82, 1, 0, 0, 0, 82, 83, 3, 18, 9, 0, 83, 85, 1, 0, 0, 0, 84, 71, 1, 0, 0, 0, 84, 72, 1, 0, 0, 0, 85, 5, 1, 0, 0, 0, 86, 87, 7, 0, 0, 0, 87, 7, 1, 0, 0, 0, 88, 89, 7, 1, 0, 0, 89, 9, 1, 0, 0, 0, 90, 92, 5, 4, 0, 0, 91, 93, 3, 12, 6, 0, 92, 91, 1, 0, 0, 0, 93, 94, 1, 0, 0, 0, 94, 92, 1, 0, 0, 0, 94, 95, 1, 0, 0, 0, 95, 96, 1, 0, 0, 0, 96, 97, 5, 5, 0, 0, 97, 11, 1, 0, 0, 0, 98, 99, 3, 14, 7, 0, 99, 100, 5, 6, 0, 0, 100, 102, 3, 54, 27, 0, 101, 103, 3, 16, 8, 0, 102, 101, 1, 0, 0, 0, 102, 103, 1, 0, 0, 0, 103, 13, 1, 0, 0, 0, 104, 105, 5, 7, 0, 0, 105, 106, 3, 6, 3, 0, 106, 15, 1, 0, 0, 0, 107, 108, 5, 8, 0, 0, 108, 109, 3, 40, 20, 0, 109, 17, 1, 0, 0, 0, 110, 112, 5, 9, 0, 0, 111, 113, 3, 20, 10, 0, 112, 111, 1, 0, 0, 0, 113, 114, 1, 0, 0, 0, 114, 112, 1, 0, 0, 0, 114, 115, 1, 0, 0, 0, 115, 116, 1, 0, 0, 0, 116, 117, 5, 10, 0, 0, 117, 19, 1, 0, 0, 0, 118, 122, 3, 22, 11, 0, 119, 122, 3, 30, 15, 0, 120, 122, 3, 32, 16, 0, 121, 118, 1, 0, 0, 0, 121, 119, 1, 0, 0, 0, 121, 120, 1, 0, 0, 0, 122, 21, 1, 0, 0, 0, 123, 125, 3, 24, 12, 0, 124, 123, 1, 0, 0, 0, 124, 125, 1, 0, 0, 0, 125, 126, 1, 0, 0, 0, 126, 128, 3, 6, 3, 0, 127, 129, 3, 26, 13, 0, 128, 127, 1, 0, 0, 0, 128, 129, 1, 0, 0, 0, 129, 131, 1, 0, 0, 0, 130, 132, 3, 50, 25, 0, 131, 130, 1, 0, 0, 0, 131, 132, 1, 0, 0, 0, 132, 134, 1, 0, 0, 0, 133, 135, 3, 18, 9, 0, 134, 133, 1, 0, 0, 0, 134, 135, 1, 0, 0, 0, 135, 23, 1, 0, 0, 0, 136, 137, 3, 6, 3, 0, 137, 138, 5, 6, 0, 0, 138, 25, 1, 0, 0, 0, 139, 141, 5, 4, 0, 0, 140, 142, 3, 28, 14, 0, 141, 140, 1, 0, 0, 0, 142, 143, 1, 0, 0, 0, 143, 141, 1, 0, 0, 0, 143, 144, 1, 0, 0, 0, 144, 145, 1, 0, 0, 0, 145, 146, 5, 5, 0, 0, 146, 27, 1, 0, 0, 0, 147, 148, 3, 6, 3, 0, 148, 149, 5, 6, 0, 0, 149, 150, 3, 40, 20, 0, 150, 29, 1, 0, 0, 0, 151, 152, 5, 11, 0, 0, 152, 154, 3, 36, 18, 0, 153, 155, 3, 50, 25, 0, 154, 153, 1, 0, 0, 0, 154, 155, 1, 0, 0, 0, 155, 31, 1, 0, 0, 0, 156, 157, 5, 11, 0, 0, 157, 158, 5, 12, 0, 0, 158, 160, 3, 38, 19, 0, 159, 161, 3, 50, 25, 0, 160, 159, 1, 0, 0, 0, 160, 161, 1, 0, 0, 0, 161, 162, 1, 0, 0, 0, 162, 163, 3, 18, 9, 0, 163, 33, 1, 0, 0, 0, 164, 165, 5, 13, 0, 0, 165, 166, 3, 36, 18, 0, 166, 167, 5, 12, 0, 0, 167, 169, 3, 38, 19, 0, 168, 170, 3, 50, 25, 0, 169, 168, 1, 0, 0, 0, 169, 170, 1, 0, 0, 0, 170, 171, 1, 0, 0, 0, 171, 172, 3, 18, 9, 0, 172, 35, 1, 0, 0, 0, 173, 174, 3, 6, 3, 0, 174, 37, 1, 0, 0, 0, 175, 176, 3, 56, 28, 0, 176, 39, 1, 0, 0, 0, 177, 188, 5, 22, 0, 0, 178, 188, 5, 23, 0, 0, 179, 188, 5, 29, 0, 0, 180, 188, 5, 30, 0, 0, 181, 188, 5, 18, 0, 0, 182, 188, 5, 19, 0, 0, 183, 188, 3, 42, 21, 0, 184, 188, 3, 44, 22, 0, 185, 188, 3, 46, 23, 0, 186, 188, 3, 14, 7, 0, 187, 177, 1, 0, 0, 0, 187, 178, 1, 0, 0, 0, 187, 179, 1, 0, 0, 0, 187, 180, 1, 0, 0, 0, 187, 181, 1, 0, 0, 0, 187, 182, 1, 0, 0, 0, 187, 183, 1, 0, 0, 0, 187, 184, 1, 0, 0, 0, 187, 185, 1, 0, 0, 0, 187, 186, 1, 0, 0, 0, 188, 41, 1, 0, 0, 0, 189, 190, 3, 6, 3, 0, 190, 43, 1, 0, 0, 0, 191, 195, 5, 14, 0, 0, 192, 194, 3, 40, 20, 0, 193, 192, 1, 0, 0, 0, 194, 197, 1, 0, 0, 0, 195, 193, 1, 0, 0, 0, 195, 196, 1, 0, 0, 0, 196, 198, 1, 0, 0, 0, 197, 195, 1, 0, 0, 0, 198, 199, 5, 15, 0, 0, 199, 45, 1, 0, 0, 0, 200, 204, 5, 9, 0, 0, 201, 203, 3, 48, 24, 0, 202, 201, 1, 0, 0, 0, 203, 206, 1, 0, 0, 0, 204, 202, 1, 0, 0, 0, 204, 205, 1, 0, 0, 0, 205, 207, 1, 0, 0, 0, 206, 204, 1, 0, 0, 0, 207, 208, 5, 10, 0, 0, 208, 47, 1, 0, 0, 0, 209, 210, 3, 6, 3, 0, 210, 211, 5, 6, 0, 0, 211, 212, 3, 40, 20, 0, 212, 49, 1, 0, 0, 0, 213, 215, 3, 52, 26, 0, 214, 213, 1, 0, 0, 0, 215, 216, 1, 0, 0, 0, 216, 214, 1, 0, 0, 0, 216, 217, 1, 0, 0, 0, 217, 51, 1, 0, 0, 0, 218, 219, 5, 16, 0, 0, 219, 221, 3, 6, 3, 0, 220, 222, 3, 26, 13, 0, 221, 220, 1, 0, 0, 0, 221, 222, 1, 0, 0, 0, 222, 53, 1, 0, 0, 0, 223, 227, 3, 56, 28, 0, 224, 227, 3, 58, 29, 0, 225, 227, 3, 60, 30, 0, 226, 223, 1, 0, 0, 0, 226, 224, 1, 0, 0, 0, 226, 225, 1, 0, 0, 0, 227, 55, 1, 0, 0, 0, 228, 229, 3, 6, 3, 0, 229, 57, 1, 0, 0, 0, 230, 231, 5, 14, 0, 0, 231, 232, 3, 54, 27, 0, 232, 233, 5, 15, 0, 0, 233, 59, 1, 0, 0, 0, 234, 235, 3, 56, 28, 0, 235, 236, 5, 17, 0, 0, 236, 241, 1, 0, 0, 0, 237, 238, 3, 58, 29, 0, 238, 239, 5, 17, 0, 0, 239, 241, 1, 0, 0, 0, 240, 234, 1, 0, 0, 0, 240, 237, 1, 0, 0, 0, 241, 61, 1, 0, 0, 0, 25, 65, 69, 74, 77, 80, 84, 94, 102, 114, 121, 124, 128, 131, 134, 143, 154, 160, 169, 187, 195, 204, 216, 221, 226, 240] \ No newline at end of file diff --git a/gen/src/com/walmartlabs/lacinia/Graphql.tokens b/gen/src/com/walmartlabs/lacinia/Graphql.tokens new file mode 100644 index 00000000..7660c485 --- /dev/null +++ b/gen/src/com/walmartlabs/lacinia/Graphql.tokens @@ -0,0 +1,50 @@ +T__0=1 +T__1=2 +T__2=3 +T__3=4 +T__4=5 +T__5=6 +T__6=7 +T__7=8 +T__8=9 +T__9=10 +T__10=11 +T__11=12 +T__12=13 +T__13=14 +T__14=15 +T__15=16 +T__16=17 +BooleanValue=18 +NullValue=19 +Null=20 +NameId=21 +IntValue=22 +FloatValue=23 +Sign=24 +IntegerPart=25 +NonZeroDigit=26 +ExponentPart=27 +Digit=28 +StringValue=29 +BlockStringValue=30 +Ignored=31 +'query'=1 +'mutation'=2 +'subscription'=3 +'('=4 +')'=5 +':'=6 +'$'=7 +'='=8 +'{'=9 +'}'=10 +'...'=11 +'on'=12 +'fragment'=13 +'['=14 +']'=15 +'@'=16 +'!'=17 +'null'=20 +'-'=24 diff --git a/gen/src/com/walmartlabs/lacinia/GraphqlBaseListener.java b/gen/src/com/walmartlabs/lacinia/GraphqlBaseListener.java new file mode 100644 index 00000000..380ae855 --- /dev/null +++ b/gen/src/com/walmartlabs/lacinia/GraphqlBaseListener.java @@ -0,0 +1,412 @@ +// Generated from /Users/namenu/Development/lacinia/resources/com/walmartlabs/lacinia/Graphql.g4 by ANTLR 4.13.1 +package com.walmartlabs.lacinia; + +import org.antlr.v4.runtime.ParserRuleContext; +import org.antlr.v4.runtime.tree.ErrorNode; +import org.antlr.v4.runtime.tree.TerminalNode; + +/** + * This class provides an empty implementation of {@link GraphqlListener}, + * which can be extended to create a listener which only needs to handle a subset + * of the available methods. + */ +@SuppressWarnings("CheckReturnValue") +public class GraphqlBaseListener implements GraphqlListener { + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterDocument(GraphqlParser.DocumentContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitDocument(GraphqlParser.DocumentContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterDefinition(GraphqlParser.DefinitionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitDefinition(GraphqlParser.DefinitionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterOperationDefinition(GraphqlParser.OperationDefinitionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitOperationDefinition(GraphqlParser.OperationDefinitionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterName(GraphqlParser.NameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitName(GraphqlParser.NameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterOperationType(GraphqlParser.OperationTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitOperationType(GraphqlParser.OperationTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterVariableDefinitions(GraphqlParser.VariableDefinitionsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitVariableDefinitions(GraphqlParser.VariableDefinitionsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterVariableDefinition(GraphqlParser.VariableDefinitionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitVariableDefinition(GraphqlParser.VariableDefinitionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterVariable(GraphqlParser.VariableContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitVariable(GraphqlParser.VariableContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterDefaultValue(GraphqlParser.DefaultValueContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitDefaultValue(GraphqlParser.DefaultValueContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterSelectionSet(GraphqlParser.SelectionSetContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitSelectionSet(GraphqlParser.SelectionSetContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterSelection(GraphqlParser.SelectionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitSelection(GraphqlParser.SelectionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterField(GraphqlParser.FieldContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitField(GraphqlParser.FieldContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterAlias(GraphqlParser.AliasContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitAlias(GraphqlParser.AliasContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterArguments(GraphqlParser.ArgumentsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitArguments(GraphqlParser.ArgumentsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterArgument(GraphqlParser.ArgumentContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitArgument(GraphqlParser.ArgumentContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterFragmentSpread(GraphqlParser.FragmentSpreadContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitFragmentSpread(GraphqlParser.FragmentSpreadContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterInlineFragment(GraphqlParser.InlineFragmentContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitInlineFragment(GraphqlParser.InlineFragmentContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterFragmentDefinition(GraphqlParser.FragmentDefinitionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitFragmentDefinition(GraphqlParser.FragmentDefinitionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterFragmentName(GraphqlParser.FragmentNameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitFragmentName(GraphqlParser.FragmentNameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterTypeCondition(GraphqlParser.TypeConditionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitTypeCondition(GraphqlParser.TypeConditionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterValue(GraphqlParser.ValueContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitValue(GraphqlParser.ValueContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterEnumValue(GraphqlParser.EnumValueContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitEnumValue(GraphqlParser.EnumValueContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterArrayValue(GraphqlParser.ArrayValueContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitArrayValue(GraphqlParser.ArrayValueContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterObjectValue(GraphqlParser.ObjectValueContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitObjectValue(GraphqlParser.ObjectValueContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterObjectField(GraphqlParser.ObjectFieldContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitObjectField(GraphqlParser.ObjectFieldContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterDirectives(GraphqlParser.DirectivesContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitDirectives(GraphqlParser.DirectivesContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterDirective(GraphqlParser.DirectiveContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitDirective(GraphqlParser.DirectiveContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterType(GraphqlParser.TypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitType(GraphqlParser.TypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterTypeName(GraphqlParser.TypeNameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitTypeName(GraphqlParser.TypeNameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterListType(GraphqlParser.ListTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitListType(GraphqlParser.ListTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterNonNullType(GraphqlParser.NonNullTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitNonNullType(GraphqlParser.NonNullTypeContext ctx) { } + + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterEveryRule(ParserRuleContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitEveryRule(ParserRuleContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void visitTerminal(TerminalNode node) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void visitErrorNode(ErrorNode node) { } +} \ No newline at end of file diff --git a/gen/src/com/walmartlabs/lacinia/GraphqlBaseVisitor.java b/gen/src/com/walmartlabs/lacinia/GraphqlBaseVisitor.java new file mode 100644 index 00000000..571699ba --- /dev/null +++ b/gen/src/com/walmartlabs/lacinia/GraphqlBaseVisitor.java @@ -0,0 +1,232 @@ +// Generated from /Users/namenu/Development/lacinia/resources/com/walmartlabs/lacinia/Graphql.g4 by ANTLR 4.13.1 +package com.walmartlabs.lacinia; +import org.antlr.v4.runtime.tree.AbstractParseTreeVisitor; + +/** + * This class provides an empty implementation of {@link GraphqlVisitor}, + * which can be extended to create a visitor which only needs to handle a subset + * of the available methods. + * + * @param The return type of the visit operation. Use {@link Void} for + * operations with no return type. + */ +@SuppressWarnings("CheckReturnValue") +public class GraphqlBaseVisitor extends AbstractParseTreeVisitor implements GraphqlVisitor { + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitDocument(GraphqlParser.DocumentContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitDefinition(GraphqlParser.DefinitionContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitOperationDefinition(GraphqlParser.OperationDefinitionContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitName(GraphqlParser.NameContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitOperationType(GraphqlParser.OperationTypeContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitVariableDefinitions(GraphqlParser.VariableDefinitionsContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitVariableDefinition(GraphqlParser.VariableDefinitionContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitVariable(GraphqlParser.VariableContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitDefaultValue(GraphqlParser.DefaultValueContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitSelectionSet(GraphqlParser.SelectionSetContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitSelection(GraphqlParser.SelectionContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitField(GraphqlParser.FieldContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitAlias(GraphqlParser.AliasContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitArguments(GraphqlParser.ArgumentsContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitArgument(GraphqlParser.ArgumentContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitFragmentSpread(GraphqlParser.FragmentSpreadContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitInlineFragment(GraphqlParser.InlineFragmentContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitFragmentDefinition(GraphqlParser.FragmentDefinitionContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitFragmentName(GraphqlParser.FragmentNameContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitTypeCondition(GraphqlParser.TypeConditionContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitValue(GraphqlParser.ValueContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitEnumValue(GraphqlParser.EnumValueContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitArrayValue(GraphqlParser.ArrayValueContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitObjectValue(GraphqlParser.ObjectValueContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitObjectField(GraphqlParser.ObjectFieldContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitDirectives(GraphqlParser.DirectivesContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitDirective(GraphqlParser.DirectiveContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitType(GraphqlParser.TypeContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitTypeName(GraphqlParser.TypeNameContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitListType(GraphqlParser.ListTypeContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitNonNullType(GraphqlParser.NonNullTypeContext ctx) { return visitChildren(ctx); } +} \ No newline at end of file diff --git a/gen/src/com/walmartlabs/lacinia/GraphqlLexer.interp b/gen/src/com/walmartlabs/lacinia/GraphqlLexer.interp new file mode 100644 index 00000000..2652efaf --- /dev/null +++ b/gen/src/com/walmartlabs/lacinia/GraphqlLexer.interp @@ -0,0 +1,119 @@ +token literal names: +null +'query' +'mutation' +'subscription' +'(' +')' +':' +'$' +'=' +'{' +'}' +'...' +'on' +'fragment' +'[' +']' +'@' +'!' +null +null +'null' +null +null +null +'-' +null +null +null +null +null +null +null + +token symbolic names: +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +BooleanValue +NullValue +Null +NameId +IntValue +FloatValue +Sign +IntegerPart +NonZeroDigit +ExponentPart +Digit +StringValue +BlockStringValue +Ignored + +rule names: +T__0 +T__1 +T__2 +T__3 +T__4 +T__5 +T__6 +T__7 +T__8 +T__9 +T__10 +T__11 +T__12 +T__13 +T__14 +T__15 +T__16 +BooleanValue +NullValue +Null +NameId +IntValue +FloatValue +Sign +IntegerPart +NonZeroDigit +ExponentPart +Digit +StringValue +BlockStringValue +EscapedChar +Unicode +DoubleQuote +TripleQuote +Hex +Ignored +Comment +LineTerminator +Whitespace +Comma + +channel names: +DEFAULT_TOKEN_CHANNEL +HIDDEN + +mode names: +DEFAULT_MODE + +atn: +[4, 0, 31, 276, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 2, 39, 7, 39, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 3, 1, 3, 1, 4, 1, 4, 1, 5, 1, 5, 1, 6, 1, 6, 1, 7, 1, 7, 1, 8, 1, 8, 1, 9, 1, 9, 1, 10, 1, 10, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 13, 1, 13, 1, 14, 1, 14, 1, 15, 1, 15, 1, 16, 1, 16, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 3, 17, 157, 8, 17, 1, 18, 1, 18, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 20, 1, 20, 5, 20, 168, 8, 20, 10, 20, 12, 20, 171, 9, 20, 1, 21, 3, 21, 174, 8, 21, 1, 21, 1, 21, 1, 22, 3, 22, 179, 8, 22, 1, 22, 1, 22, 1, 22, 4, 22, 184, 8, 22, 11, 22, 12, 22, 185, 3, 22, 188, 8, 22, 1, 22, 3, 22, 191, 8, 22, 1, 23, 1, 23, 1, 24, 1, 24, 1, 24, 1, 24, 4, 24, 199, 8, 24, 11, 24, 12, 24, 200, 3, 24, 203, 8, 24, 1, 25, 1, 25, 1, 26, 1, 26, 3, 26, 209, 8, 26, 1, 26, 4, 26, 212, 8, 26, 11, 26, 12, 26, 213, 1, 27, 1, 27, 1, 28, 1, 28, 1, 28, 5, 28, 221, 8, 28, 10, 28, 12, 28, 224, 9, 28, 1, 28, 1, 28, 1, 29, 1, 29, 5, 29, 230, 8, 29, 10, 29, 12, 29, 233, 9, 29, 1, 29, 1, 29, 1, 30, 1, 30, 1, 30, 3, 30, 240, 8, 30, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 32, 1, 32, 1, 33, 1, 33, 1, 33, 1, 33, 1, 34, 1, 34, 1, 35, 1, 35, 1, 35, 1, 35, 3, 35, 260, 8, 35, 1, 35, 1, 35, 1, 36, 1, 36, 5, 36, 266, 8, 36, 10, 36, 12, 36, 269, 9, 36, 1, 37, 1, 37, 1, 38, 1, 38, 1, 39, 1, 39, 1, 231, 0, 40, 1, 1, 3, 2, 5, 3, 7, 4, 9, 5, 11, 6, 13, 7, 15, 8, 17, 9, 19, 10, 21, 11, 23, 12, 25, 13, 27, 14, 29, 15, 31, 16, 33, 17, 35, 18, 37, 19, 39, 20, 41, 21, 43, 22, 45, 23, 47, 24, 49, 25, 51, 26, 53, 27, 55, 28, 57, 29, 59, 30, 61, 0, 63, 0, 65, 0, 67, 0, 69, 0, 71, 31, 73, 0, 75, 0, 77, 0, 79, 0, 1, 0, 8, 3, 0, 65, 90, 95, 95, 97, 122, 4, 0, 48, 57, 65, 90, 95, 95, 97, 122, 2, 0, 69, 69, 101, 101, 5, 0, 10, 10, 13, 13, 34, 34, 92, 92, 8232, 8233, 8, 0, 34, 34, 47, 47, 92, 92, 98, 98, 102, 102, 110, 110, 114, 114, 116, 116, 3, 0, 48, 57, 65, 70, 97, 102, 3, 0, 10, 10, 13, 13, 8232, 8233, 4, 0, 9, 9, 11, 12, 32, 32, 160, 160, 286, 0, 1, 1, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 5, 1, 0, 0, 0, 0, 7, 1, 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11, 1, 0, 0, 0, 0, 13, 1, 0, 0, 0, 0, 15, 1, 0, 0, 0, 0, 17, 1, 0, 0, 0, 0, 19, 1, 0, 0, 0, 0, 21, 1, 0, 0, 0, 0, 23, 1, 0, 0, 0, 0, 25, 1, 0, 0, 0, 0, 27, 1, 0, 0, 0, 0, 29, 1, 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 1, 0, 0, 0, 0, 37, 1, 0, 0, 0, 0, 39, 1, 0, 0, 0, 0, 41, 1, 0, 0, 0, 0, 43, 1, 0, 0, 0, 0, 45, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 49, 1, 0, 0, 0, 0, 51, 1, 0, 0, 0, 0, 53, 1, 0, 0, 0, 0, 55, 1, 0, 0, 0, 0, 57, 1, 0, 0, 0, 0, 59, 1, 0, 0, 0, 0, 71, 1, 0, 0, 0, 1, 81, 1, 0, 0, 0, 3, 87, 1, 0, 0, 0, 5, 96, 1, 0, 0, 0, 7, 109, 1, 0, 0, 0, 9, 111, 1, 0, 0, 0, 11, 113, 1, 0, 0, 0, 13, 115, 1, 0, 0, 0, 15, 117, 1, 0, 0, 0, 17, 119, 1, 0, 0, 0, 19, 121, 1, 0, 0, 0, 21, 123, 1, 0, 0, 0, 23, 127, 1, 0, 0, 0, 25, 130, 1, 0, 0, 0, 27, 139, 1, 0, 0, 0, 29, 141, 1, 0, 0, 0, 31, 143, 1, 0, 0, 0, 33, 145, 1, 0, 0, 0, 35, 156, 1, 0, 0, 0, 37, 158, 1, 0, 0, 0, 39, 160, 1, 0, 0, 0, 41, 165, 1, 0, 0, 0, 43, 173, 1, 0, 0, 0, 45, 178, 1, 0, 0, 0, 47, 192, 1, 0, 0, 0, 49, 202, 1, 0, 0, 0, 51, 204, 1, 0, 0, 0, 53, 206, 1, 0, 0, 0, 55, 215, 1, 0, 0, 0, 57, 217, 1, 0, 0, 0, 59, 227, 1, 0, 0, 0, 61, 236, 1, 0, 0, 0, 63, 241, 1, 0, 0, 0, 65, 247, 1, 0, 0, 0, 67, 249, 1, 0, 0, 0, 69, 253, 1, 0, 0, 0, 71, 259, 1, 0, 0, 0, 73, 263, 1, 0, 0, 0, 75, 270, 1, 0, 0, 0, 77, 272, 1, 0, 0, 0, 79, 274, 1, 0, 0, 0, 81, 82, 5, 113, 0, 0, 82, 83, 5, 117, 0, 0, 83, 84, 5, 101, 0, 0, 84, 85, 5, 114, 0, 0, 85, 86, 5, 121, 0, 0, 86, 2, 1, 0, 0, 0, 87, 88, 5, 109, 0, 0, 88, 89, 5, 117, 0, 0, 89, 90, 5, 116, 0, 0, 90, 91, 5, 97, 0, 0, 91, 92, 5, 116, 0, 0, 92, 93, 5, 105, 0, 0, 93, 94, 5, 111, 0, 0, 94, 95, 5, 110, 0, 0, 95, 4, 1, 0, 0, 0, 96, 97, 5, 115, 0, 0, 97, 98, 5, 117, 0, 0, 98, 99, 5, 98, 0, 0, 99, 100, 5, 115, 0, 0, 100, 101, 5, 99, 0, 0, 101, 102, 5, 114, 0, 0, 102, 103, 5, 105, 0, 0, 103, 104, 5, 112, 0, 0, 104, 105, 5, 116, 0, 0, 105, 106, 5, 105, 0, 0, 106, 107, 5, 111, 0, 0, 107, 108, 5, 110, 0, 0, 108, 6, 1, 0, 0, 0, 109, 110, 5, 40, 0, 0, 110, 8, 1, 0, 0, 0, 111, 112, 5, 41, 0, 0, 112, 10, 1, 0, 0, 0, 113, 114, 5, 58, 0, 0, 114, 12, 1, 0, 0, 0, 115, 116, 5, 36, 0, 0, 116, 14, 1, 0, 0, 0, 117, 118, 5, 61, 0, 0, 118, 16, 1, 0, 0, 0, 119, 120, 5, 123, 0, 0, 120, 18, 1, 0, 0, 0, 121, 122, 5, 125, 0, 0, 122, 20, 1, 0, 0, 0, 123, 124, 5, 46, 0, 0, 124, 125, 5, 46, 0, 0, 125, 126, 5, 46, 0, 0, 126, 22, 1, 0, 0, 0, 127, 128, 5, 111, 0, 0, 128, 129, 5, 110, 0, 0, 129, 24, 1, 0, 0, 0, 130, 131, 5, 102, 0, 0, 131, 132, 5, 114, 0, 0, 132, 133, 5, 97, 0, 0, 133, 134, 5, 103, 0, 0, 134, 135, 5, 109, 0, 0, 135, 136, 5, 101, 0, 0, 136, 137, 5, 110, 0, 0, 137, 138, 5, 116, 0, 0, 138, 26, 1, 0, 0, 0, 139, 140, 5, 91, 0, 0, 140, 28, 1, 0, 0, 0, 141, 142, 5, 93, 0, 0, 142, 30, 1, 0, 0, 0, 143, 144, 5, 64, 0, 0, 144, 32, 1, 0, 0, 0, 145, 146, 5, 33, 0, 0, 146, 34, 1, 0, 0, 0, 147, 148, 5, 116, 0, 0, 148, 149, 5, 114, 0, 0, 149, 150, 5, 117, 0, 0, 150, 157, 5, 101, 0, 0, 151, 152, 5, 102, 0, 0, 152, 153, 5, 97, 0, 0, 153, 154, 5, 108, 0, 0, 154, 155, 5, 115, 0, 0, 155, 157, 5, 101, 0, 0, 156, 147, 1, 0, 0, 0, 156, 151, 1, 0, 0, 0, 157, 36, 1, 0, 0, 0, 158, 159, 3, 39, 19, 0, 159, 38, 1, 0, 0, 0, 160, 161, 5, 110, 0, 0, 161, 162, 5, 117, 0, 0, 162, 163, 5, 108, 0, 0, 163, 164, 5, 108, 0, 0, 164, 40, 1, 0, 0, 0, 165, 169, 7, 0, 0, 0, 166, 168, 7, 1, 0, 0, 167, 166, 1, 0, 0, 0, 168, 171, 1, 0, 0, 0, 169, 167, 1, 0, 0, 0, 169, 170, 1, 0, 0, 0, 170, 42, 1, 0, 0, 0, 171, 169, 1, 0, 0, 0, 172, 174, 3, 47, 23, 0, 173, 172, 1, 0, 0, 0, 173, 174, 1, 0, 0, 0, 174, 175, 1, 0, 0, 0, 175, 176, 3, 49, 24, 0, 176, 44, 1, 0, 0, 0, 177, 179, 3, 47, 23, 0, 178, 177, 1, 0, 0, 0, 178, 179, 1, 0, 0, 0, 179, 180, 1, 0, 0, 0, 180, 187, 3, 49, 24, 0, 181, 183, 5, 46, 0, 0, 182, 184, 3, 55, 27, 0, 183, 182, 1, 0, 0, 0, 184, 185, 1, 0, 0, 0, 185, 183, 1, 0, 0, 0, 185, 186, 1, 0, 0, 0, 186, 188, 1, 0, 0, 0, 187, 181, 1, 0, 0, 0, 187, 188, 1, 0, 0, 0, 188, 190, 1, 0, 0, 0, 189, 191, 3, 53, 26, 0, 190, 189, 1, 0, 0, 0, 190, 191, 1, 0, 0, 0, 191, 46, 1, 0, 0, 0, 192, 193, 5, 45, 0, 0, 193, 48, 1, 0, 0, 0, 194, 203, 5, 48, 0, 0, 195, 203, 3, 51, 25, 0, 196, 198, 3, 51, 25, 0, 197, 199, 3, 55, 27, 0, 198, 197, 1, 0, 0, 0, 199, 200, 1, 0, 0, 0, 200, 198, 1, 0, 0, 0, 200, 201, 1, 0, 0, 0, 201, 203, 1, 0, 0, 0, 202, 194, 1, 0, 0, 0, 202, 195, 1, 0, 0, 0, 202, 196, 1, 0, 0, 0, 203, 50, 1, 0, 0, 0, 204, 205, 2, 49, 57, 0, 205, 52, 1, 0, 0, 0, 206, 208, 7, 2, 0, 0, 207, 209, 3, 47, 23, 0, 208, 207, 1, 0, 0, 0, 208, 209, 1, 0, 0, 0, 209, 211, 1, 0, 0, 0, 210, 212, 3, 55, 27, 0, 211, 210, 1, 0, 0, 0, 212, 213, 1, 0, 0, 0, 213, 211, 1, 0, 0, 0, 213, 214, 1, 0, 0, 0, 214, 54, 1, 0, 0, 0, 215, 216, 2, 48, 57, 0, 216, 56, 1, 0, 0, 0, 217, 222, 3, 65, 32, 0, 218, 221, 8, 3, 0, 0, 219, 221, 3, 61, 30, 0, 220, 218, 1, 0, 0, 0, 220, 219, 1, 0, 0, 0, 221, 224, 1, 0, 0, 0, 222, 220, 1, 0, 0, 0, 222, 223, 1, 0, 0, 0, 223, 225, 1, 0, 0, 0, 224, 222, 1, 0, 0, 0, 225, 226, 3, 65, 32, 0, 226, 58, 1, 0, 0, 0, 227, 231, 3, 67, 33, 0, 228, 230, 9, 0, 0, 0, 229, 228, 1, 0, 0, 0, 230, 233, 1, 0, 0, 0, 231, 232, 1, 0, 0, 0, 231, 229, 1, 0, 0, 0, 232, 234, 1, 0, 0, 0, 233, 231, 1, 0, 0, 0, 234, 235, 3, 67, 33, 0, 235, 60, 1, 0, 0, 0, 236, 239, 5, 92, 0, 0, 237, 240, 7, 4, 0, 0, 238, 240, 3, 63, 31, 0, 239, 237, 1, 0, 0, 0, 239, 238, 1, 0, 0, 0, 240, 62, 1, 0, 0, 0, 241, 242, 5, 117, 0, 0, 242, 243, 3, 69, 34, 0, 243, 244, 3, 69, 34, 0, 244, 245, 3, 69, 34, 0, 245, 246, 3, 69, 34, 0, 246, 64, 1, 0, 0, 0, 247, 248, 5, 34, 0, 0, 248, 66, 1, 0, 0, 0, 249, 250, 5, 34, 0, 0, 250, 251, 5, 34, 0, 0, 251, 252, 5, 34, 0, 0, 252, 68, 1, 0, 0, 0, 253, 254, 7, 5, 0, 0, 254, 70, 1, 0, 0, 0, 255, 260, 3, 77, 38, 0, 256, 260, 3, 79, 39, 0, 257, 260, 3, 75, 37, 0, 258, 260, 3, 73, 36, 0, 259, 255, 1, 0, 0, 0, 259, 256, 1, 0, 0, 0, 259, 257, 1, 0, 0, 0, 259, 258, 1, 0, 0, 0, 260, 261, 1, 0, 0, 0, 261, 262, 6, 35, 0, 0, 262, 72, 1, 0, 0, 0, 263, 267, 5, 35, 0, 0, 264, 266, 8, 6, 0, 0, 265, 264, 1, 0, 0, 0, 266, 269, 1, 0, 0, 0, 267, 265, 1, 0, 0, 0, 267, 268, 1, 0, 0, 0, 268, 74, 1, 0, 0, 0, 269, 267, 1, 0, 0, 0, 270, 271, 7, 6, 0, 0, 271, 76, 1, 0, 0, 0, 272, 273, 7, 7, 0, 0, 273, 78, 1, 0, 0, 0, 274, 275, 5, 44, 0, 0, 275, 80, 1, 0, 0, 0, 18, 0, 156, 169, 173, 178, 185, 187, 190, 200, 202, 208, 213, 220, 222, 231, 239, 259, 267, 1, 6, 0, 0] \ No newline at end of file diff --git a/gen/src/com/walmartlabs/lacinia/GraphqlLexer.java b/gen/src/com/walmartlabs/lacinia/GraphqlLexer.java new file mode 100644 index 00000000..d968e510 --- /dev/null +++ b/gen/src/com/walmartlabs/lacinia/GraphqlLexer.java @@ -0,0 +1,304 @@ +// Generated from /Users/namenu/Development/lacinia/resources/com/walmartlabs/lacinia/Graphql.g4 by ANTLR 4.13.1 +package com.walmartlabs.lacinia; +import org.antlr.v4.runtime.Lexer; +import org.antlr.v4.runtime.CharStream; +import org.antlr.v4.runtime.Token; +import org.antlr.v4.runtime.TokenStream; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.misc.*; + +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast", "CheckReturnValue", "this-escape"}) +public class GraphqlLexer extends Lexer { + static { RuntimeMetaData.checkVersion("4.13.1", RuntimeMetaData.VERSION); } + + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + T__0=1, T__1=2, T__2=3, T__3=4, T__4=5, T__5=6, T__6=7, T__7=8, T__8=9, + T__9=10, T__10=11, T__11=12, T__12=13, T__13=14, T__14=15, T__15=16, T__16=17, + BooleanValue=18, NullValue=19, Null=20, NameId=21, IntValue=22, FloatValue=23, + Sign=24, IntegerPart=25, NonZeroDigit=26, ExponentPart=27, Digit=28, StringValue=29, + BlockStringValue=30, Ignored=31; + public static String[] channelNames = { + "DEFAULT_TOKEN_CHANNEL", "HIDDEN" + }; + + public static String[] modeNames = { + "DEFAULT_MODE" + }; + + private static String[] makeRuleNames() { + return new String[] { + "T__0", "T__1", "T__2", "T__3", "T__4", "T__5", "T__6", "T__7", "T__8", + "T__9", "T__10", "T__11", "T__12", "T__13", "T__14", "T__15", "T__16", + "BooleanValue", "NullValue", "Null", "NameId", "IntValue", "FloatValue", + "Sign", "IntegerPart", "NonZeroDigit", "ExponentPart", "Digit", "StringValue", + "BlockStringValue", "EscapedChar", "Unicode", "DoubleQuote", "TripleQuote", + "Hex", "Ignored", "Comment", "LineTerminator", "Whitespace", "Comma" + }; + } + public static final String[] ruleNames = makeRuleNames(); + + private static String[] makeLiteralNames() { + return new String[] { + null, "'query'", "'mutation'", "'subscription'", "'('", "')'", "':'", + "'$'", "'='", "'{'", "'}'", "'...'", "'on'", "'fragment'", "'['", "']'", + "'@'", "'!'", null, null, "'null'", null, null, null, "'-'" + }; + } + private static final String[] _LITERAL_NAMES = makeLiteralNames(); + private static String[] makeSymbolicNames() { + return new String[] { + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, "BooleanValue", "NullValue", "Null", + "NameId", "IntValue", "FloatValue", "Sign", "IntegerPart", "NonZeroDigit", + "ExponentPart", "Digit", "StringValue", "BlockStringValue", "Ignored" + }; + } + private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); + } + + if (tokenNames[i] == null) { + tokenNames[i] = ""; + } + } + } + + @Override + @Deprecated + public String[] getTokenNames() { + return tokenNames; + } + + @Override + + public Vocabulary getVocabulary() { + return VOCABULARY; + } + + + public GraphqlLexer(CharStream input) { + super(input); + _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); + } + + @Override + public String getGrammarFileName() { return "Graphql.g4"; } + + @Override + public String[] getRuleNames() { return ruleNames; } + + @Override + public String getSerializedATN() { return _serializedATN; } + + @Override + public String[] getChannelNames() { return channelNames; } + + @Override + public String[] getModeNames() { return modeNames; } + + @Override + public ATN getATN() { return _ATN; } + + public static final String _serializedATN = + "\u0004\u0000\u001f\u0114\u0006\uffff\uffff\u0002\u0000\u0007\u0000\u0002"+ + "\u0001\u0007\u0001\u0002\u0002\u0007\u0002\u0002\u0003\u0007\u0003\u0002"+ + "\u0004\u0007\u0004\u0002\u0005\u0007\u0005\u0002\u0006\u0007\u0006\u0002"+ + "\u0007\u0007\u0007\u0002\b\u0007\b\u0002\t\u0007\t\u0002\n\u0007\n\u0002"+ + "\u000b\u0007\u000b\u0002\f\u0007\f\u0002\r\u0007\r\u0002\u000e\u0007\u000e"+ + "\u0002\u000f\u0007\u000f\u0002\u0010\u0007\u0010\u0002\u0011\u0007\u0011"+ + "\u0002\u0012\u0007\u0012\u0002\u0013\u0007\u0013\u0002\u0014\u0007\u0014"+ + "\u0002\u0015\u0007\u0015\u0002\u0016\u0007\u0016\u0002\u0017\u0007\u0017"+ + "\u0002\u0018\u0007\u0018\u0002\u0019\u0007\u0019\u0002\u001a\u0007\u001a"+ + "\u0002\u001b\u0007\u001b\u0002\u001c\u0007\u001c\u0002\u001d\u0007\u001d"+ + "\u0002\u001e\u0007\u001e\u0002\u001f\u0007\u001f\u0002 \u0007 \u0002!"+ + "\u0007!\u0002\"\u0007\"\u0002#\u0007#\u0002$\u0007$\u0002%\u0007%\u0002"+ + "&\u0007&\u0002\'\u0007\'\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000"+ + "\u0001\u0000\u0001\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+ + "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002"+ + "\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0002"+ + "\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0002"+ + "\u0001\u0003\u0001\u0003\u0001\u0004\u0001\u0004\u0001\u0005\u0001\u0005"+ + "\u0001\u0006\u0001\u0006\u0001\u0007\u0001\u0007\u0001\b\u0001\b\u0001"+ + "\t\u0001\t\u0001\n\u0001\n\u0001\n\u0001\n\u0001\u000b\u0001\u000b\u0001"+ + "\u000b\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f"+ + "\u0001\f\u0001\r\u0001\r\u0001\u000e\u0001\u000e\u0001\u000f\u0001\u000f"+ + "\u0001\u0010\u0001\u0010\u0001\u0011\u0001\u0011\u0001\u0011\u0001\u0011"+ + "\u0001\u0011\u0001\u0011\u0001\u0011\u0001\u0011\u0001\u0011\u0003\u0011"+ + "\u009d\b\u0011\u0001\u0012\u0001\u0012\u0001\u0013\u0001\u0013\u0001\u0013"+ + "\u0001\u0013\u0001\u0013\u0001\u0014\u0001\u0014\u0005\u0014\u00a8\b\u0014"+ + "\n\u0014\f\u0014\u00ab\t\u0014\u0001\u0015\u0003\u0015\u00ae\b\u0015\u0001"+ + "\u0015\u0001\u0015\u0001\u0016\u0003\u0016\u00b3\b\u0016\u0001\u0016\u0001"+ + "\u0016\u0001\u0016\u0004\u0016\u00b8\b\u0016\u000b\u0016\f\u0016\u00b9"+ + "\u0003\u0016\u00bc\b\u0016\u0001\u0016\u0003\u0016\u00bf\b\u0016\u0001"+ + "\u0017\u0001\u0017\u0001\u0018\u0001\u0018\u0001\u0018\u0001\u0018\u0004"+ + "\u0018\u00c7\b\u0018\u000b\u0018\f\u0018\u00c8\u0003\u0018\u00cb\b\u0018"+ + "\u0001\u0019\u0001\u0019\u0001\u001a\u0001\u001a\u0003\u001a\u00d1\b\u001a"+ + "\u0001\u001a\u0004\u001a\u00d4\b\u001a\u000b\u001a\f\u001a\u00d5\u0001"+ + "\u001b\u0001\u001b\u0001\u001c\u0001\u001c\u0001\u001c\u0005\u001c\u00dd"+ + "\b\u001c\n\u001c\f\u001c\u00e0\t\u001c\u0001\u001c\u0001\u001c\u0001\u001d"+ + "\u0001\u001d\u0005\u001d\u00e6\b\u001d\n\u001d\f\u001d\u00e9\t\u001d\u0001"+ + "\u001d\u0001\u001d\u0001\u001e\u0001\u001e\u0001\u001e\u0003\u001e\u00f0"+ + "\b\u001e\u0001\u001f\u0001\u001f\u0001\u001f\u0001\u001f\u0001\u001f\u0001"+ + "\u001f\u0001 \u0001 \u0001!\u0001!\u0001!\u0001!\u0001\"\u0001\"\u0001"+ + "#\u0001#\u0001#\u0001#\u0003#\u0104\b#\u0001#\u0001#\u0001$\u0001$\u0005"+ + "$\u010a\b$\n$\f$\u010d\t$\u0001%\u0001%\u0001&\u0001&\u0001\'\u0001\'"+ + "\u0001\u00e7\u0000(\u0001\u0001\u0003\u0002\u0005\u0003\u0007\u0004\t"+ + "\u0005\u000b\u0006\r\u0007\u000f\b\u0011\t\u0013\n\u0015\u000b\u0017\f"+ + "\u0019\r\u001b\u000e\u001d\u000f\u001f\u0010!\u0011#\u0012%\u0013\'\u0014"+ + ")\u0015+\u0016-\u0017/\u00181\u00193\u001a5\u001b7\u001c9\u001d;\u001e"+ + "=\u0000?\u0000A\u0000C\u0000E\u0000G\u001fI\u0000K\u0000M\u0000O\u0000"+ + "\u0001\u0000\b\u0003\u0000AZ__az\u0004\u000009AZ__az\u0002\u0000EEee\u0005"+ + "\u0000\n\n\r\r\"\"\\\\\u2028\u2029\b\u0000\"\"//\\\\bbffnnrrtt\u0003\u0000"+ + "09AFaf\u0003\u0000\n\n\r\r\u2028\u2029\u0004\u0000\t\t\u000b\f \u00a0"+ + "\u00a0\u011e\u0000\u0001\u0001\u0000\u0000\u0000\u0000\u0003\u0001\u0000"+ + "\u0000\u0000\u0000\u0005\u0001\u0000\u0000\u0000\u0000\u0007\u0001\u0000"+ + "\u0000\u0000\u0000\t\u0001\u0000\u0000\u0000\u0000\u000b\u0001\u0000\u0000"+ + "\u0000\u0000\r\u0001\u0000\u0000\u0000\u0000\u000f\u0001\u0000\u0000\u0000"+ + "\u0000\u0011\u0001\u0000\u0000\u0000\u0000\u0013\u0001\u0000\u0000\u0000"+ + "\u0000\u0015\u0001\u0000\u0000\u0000\u0000\u0017\u0001\u0000\u0000\u0000"+ + "\u0000\u0019\u0001\u0000\u0000\u0000\u0000\u001b\u0001\u0000\u0000\u0000"+ + "\u0000\u001d\u0001\u0000\u0000\u0000\u0000\u001f\u0001\u0000\u0000\u0000"+ + "\u0000!\u0001\u0000\u0000\u0000\u0000#\u0001\u0000\u0000\u0000\u0000%"+ + "\u0001\u0000\u0000\u0000\u0000\'\u0001\u0000\u0000\u0000\u0000)\u0001"+ + "\u0000\u0000\u0000\u0000+\u0001\u0000\u0000\u0000\u0000-\u0001\u0000\u0000"+ + "\u0000\u0000/\u0001\u0000\u0000\u0000\u00001\u0001\u0000\u0000\u0000\u0000"+ + "3\u0001\u0000\u0000\u0000\u00005\u0001\u0000\u0000\u0000\u00007\u0001"+ + "\u0000\u0000\u0000\u00009\u0001\u0000\u0000\u0000\u0000;\u0001\u0000\u0000"+ + "\u0000\u0000G\u0001\u0000\u0000\u0000\u0001Q\u0001\u0000\u0000\u0000\u0003"+ + "W\u0001\u0000\u0000\u0000\u0005`\u0001\u0000\u0000\u0000\u0007m\u0001"+ + "\u0000\u0000\u0000\to\u0001\u0000\u0000\u0000\u000bq\u0001\u0000\u0000"+ + "\u0000\rs\u0001\u0000\u0000\u0000\u000fu\u0001\u0000\u0000\u0000\u0011"+ + "w\u0001\u0000\u0000\u0000\u0013y\u0001\u0000\u0000\u0000\u0015{\u0001"+ + "\u0000\u0000\u0000\u0017\u007f\u0001\u0000\u0000\u0000\u0019\u0082\u0001"+ + "\u0000\u0000\u0000\u001b\u008b\u0001\u0000\u0000\u0000\u001d\u008d\u0001"+ + "\u0000\u0000\u0000\u001f\u008f\u0001\u0000\u0000\u0000!\u0091\u0001\u0000"+ + "\u0000\u0000#\u009c\u0001\u0000\u0000\u0000%\u009e\u0001\u0000\u0000\u0000"+ + "\'\u00a0\u0001\u0000\u0000\u0000)\u00a5\u0001\u0000\u0000\u0000+\u00ad"+ + "\u0001\u0000\u0000\u0000-\u00b2\u0001\u0000\u0000\u0000/\u00c0\u0001\u0000"+ + "\u0000\u00001\u00ca\u0001\u0000\u0000\u00003\u00cc\u0001\u0000\u0000\u0000"+ + "5\u00ce\u0001\u0000\u0000\u00007\u00d7\u0001\u0000\u0000\u00009\u00d9"+ + "\u0001\u0000\u0000\u0000;\u00e3\u0001\u0000\u0000\u0000=\u00ec\u0001\u0000"+ + "\u0000\u0000?\u00f1\u0001\u0000\u0000\u0000A\u00f7\u0001\u0000\u0000\u0000"+ + "C\u00f9\u0001\u0000\u0000\u0000E\u00fd\u0001\u0000\u0000\u0000G\u0103"+ + "\u0001\u0000\u0000\u0000I\u0107\u0001\u0000\u0000\u0000K\u010e\u0001\u0000"+ + "\u0000\u0000M\u0110\u0001\u0000\u0000\u0000O\u0112\u0001\u0000\u0000\u0000"+ + "QR\u0005q\u0000\u0000RS\u0005u\u0000\u0000ST\u0005e\u0000\u0000TU\u0005"+ + "r\u0000\u0000UV\u0005y\u0000\u0000V\u0002\u0001\u0000\u0000\u0000WX\u0005"+ + "m\u0000\u0000XY\u0005u\u0000\u0000YZ\u0005t\u0000\u0000Z[\u0005a\u0000"+ + "\u0000[\\\u0005t\u0000\u0000\\]\u0005i\u0000\u0000]^\u0005o\u0000\u0000"+ + "^_\u0005n\u0000\u0000_\u0004\u0001\u0000\u0000\u0000`a\u0005s\u0000\u0000"+ + "ab\u0005u\u0000\u0000bc\u0005b\u0000\u0000cd\u0005s\u0000\u0000de\u0005"+ + "c\u0000\u0000ef\u0005r\u0000\u0000fg\u0005i\u0000\u0000gh\u0005p\u0000"+ + "\u0000hi\u0005t\u0000\u0000ij\u0005i\u0000\u0000jk\u0005o\u0000\u0000"+ + "kl\u0005n\u0000\u0000l\u0006\u0001\u0000\u0000\u0000mn\u0005(\u0000\u0000"+ + "n\b\u0001\u0000\u0000\u0000op\u0005)\u0000\u0000p\n\u0001\u0000\u0000"+ + "\u0000qr\u0005:\u0000\u0000r\f\u0001\u0000\u0000\u0000st\u0005$\u0000"+ + "\u0000t\u000e\u0001\u0000\u0000\u0000uv\u0005=\u0000\u0000v\u0010\u0001"+ + "\u0000\u0000\u0000wx\u0005{\u0000\u0000x\u0012\u0001\u0000\u0000\u0000"+ + "yz\u0005}\u0000\u0000z\u0014\u0001\u0000\u0000\u0000{|\u0005.\u0000\u0000"+ + "|}\u0005.\u0000\u0000}~\u0005.\u0000\u0000~\u0016\u0001\u0000\u0000\u0000"+ + "\u007f\u0080\u0005o\u0000\u0000\u0080\u0081\u0005n\u0000\u0000\u0081\u0018"+ + "\u0001\u0000\u0000\u0000\u0082\u0083\u0005f\u0000\u0000\u0083\u0084\u0005"+ + "r\u0000\u0000\u0084\u0085\u0005a\u0000\u0000\u0085\u0086\u0005g\u0000"+ + "\u0000\u0086\u0087\u0005m\u0000\u0000\u0087\u0088\u0005e\u0000\u0000\u0088"+ + "\u0089\u0005n\u0000\u0000\u0089\u008a\u0005t\u0000\u0000\u008a\u001a\u0001"+ + "\u0000\u0000\u0000\u008b\u008c\u0005[\u0000\u0000\u008c\u001c\u0001\u0000"+ + "\u0000\u0000\u008d\u008e\u0005]\u0000\u0000\u008e\u001e\u0001\u0000\u0000"+ + "\u0000\u008f\u0090\u0005@\u0000\u0000\u0090 \u0001\u0000\u0000\u0000\u0091"+ + "\u0092\u0005!\u0000\u0000\u0092\"\u0001\u0000\u0000\u0000\u0093\u0094"+ + "\u0005t\u0000\u0000\u0094\u0095\u0005r\u0000\u0000\u0095\u0096\u0005u"+ + "\u0000\u0000\u0096\u009d\u0005e\u0000\u0000\u0097\u0098\u0005f\u0000\u0000"+ + "\u0098\u0099\u0005a\u0000\u0000\u0099\u009a\u0005l\u0000\u0000\u009a\u009b"+ + "\u0005s\u0000\u0000\u009b\u009d\u0005e\u0000\u0000\u009c\u0093\u0001\u0000"+ + "\u0000\u0000\u009c\u0097\u0001\u0000\u0000\u0000\u009d$\u0001\u0000\u0000"+ + "\u0000\u009e\u009f\u0003\'\u0013\u0000\u009f&\u0001\u0000\u0000\u0000"+ + "\u00a0\u00a1\u0005n\u0000\u0000\u00a1\u00a2\u0005u\u0000\u0000\u00a2\u00a3"+ + "\u0005l\u0000\u0000\u00a3\u00a4\u0005l\u0000\u0000\u00a4(\u0001\u0000"+ + "\u0000\u0000\u00a5\u00a9\u0007\u0000\u0000\u0000\u00a6\u00a8\u0007\u0001"+ + "\u0000\u0000\u00a7\u00a6\u0001\u0000\u0000\u0000\u00a8\u00ab\u0001\u0000"+ + "\u0000\u0000\u00a9\u00a7\u0001\u0000\u0000\u0000\u00a9\u00aa\u0001\u0000"+ + "\u0000\u0000\u00aa*\u0001\u0000\u0000\u0000\u00ab\u00a9\u0001\u0000\u0000"+ + "\u0000\u00ac\u00ae\u0003/\u0017\u0000\u00ad\u00ac\u0001\u0000\u0000\u0000"+ + "\u00ad\u00ae\u0001\u0000\u0000\u0000\u00ae\u00af\u0001\u0000\u0000\u0000"+ + "\u00af\u00b0\u00031\u0018\u0000\u00b0,\u0001\u0000\u0000\u0000\u00b1\u00b3"+ + "\u0003/\u0017\u0000\u00b2\u00b1\u0001\u0000\u0000\u0000\u00b2\u00b3\u0001"+ + "\u0000\u0000\u0000\u00b3\u00b4\u0001\u0000\u0000\u0000\u00b4\u00bb\u0003"+ + "1\u0018\u0000\u00b5\u00b7\u0005.\u0000\u0000\u00b6\u00b8\u00037\u001b"+ + "\u0000\u00b7\u00b6\u0001\u0000\u0000\u0000\u00b8\u00b9\u0001\u0000\u0000"+ + "\u0000\u00b9\u00b7\u0001\u0000\u0000\u0000\u00b9\u00ba\u0001\u0000\u0000"+ + "\u0000\u00ba\u00bc\u0001\u0000\u0000\u0000\u00bb\u00b5\u0001\u0000\u0000"+ + "\u0000\u00bb\u00bc\u0001\u0000\u0000\u0000\u00bc\u00be\u0001\u0000\u0000"+ + "\u0000\u00bd\u00bf\u00035\u001a\u0000\u00be\u00bd\u0001\u0000\u0000\u0000"+ + "\u00be\u00bf\u0001\u0000\u0000\u0000\u00bf.\u0001\u0000\u0000\u0000\u00c0"+ + "\u00c1\u0005-\u0000\u0000\u00c10\u0001\u0000\u0000\u0000\u00c2\u00cb\u0005"+ + "0\u0000\u0000\u00c3\u00cb\u00033\u0019\u0000\u00c4\u00c6\u00033\u0019"+ + "\u0000\u00c5\u00c7\u00037\u001b\u0000\u00c6\u00c5\u0001\u0000\u0000\u0000"+ + "\u00c7\u00c8\u0001\u0000\u0000\u0000\u00c8\u00c6\u0001\u0000\u0000\u0000"+ + "\u00c8\u00c9\u0001\u0000\u0000\u0000\u00c9\u00cb\u0001\u0000\u0000\u0000"+ + "\u00ca\u00c2\u0001\u0000\u0000\u0000\u00ca\u00c3\u0001\u0000\u0000\u0000"+ + "\u00ca\u00c4\u0001\u0000\u0000\u0000\u00cb2\u0001\u0000\u0000\u0000\u00cc"+ + "\u00cd\u000219\u0000\u00cd4\u0001\u0000\u0000\u0000\u00ce\u00d0\u0007"+ + "\u0002\u0000\u0000\u00cf\u00d1\u0003/\u0017\u0000\u00d0\u00cf\u0001\u0000"+ + "\u0000\u0000\u00d0\u00d1\u0001\u0000\u0000\u0000\u00d1\u00d3\u0001\u0000"+ + "\u0000\u0000\u00d2\u00d4\u00037\u001b\u0000\u00d3\u00d2\u0001\u0000\u0000"+ + "\u0000\u00d4\u00d5\u0001\u0000\u0000\u0000\u00d5\u00d3\u0001\u0000\u0000"+ + "\u0000\u00d5\u00d6\u0001\u0000\u0000\u0000\u00d66\u0001\u0000\u0000\u0000"+ + "\u00d7\u00d8\u000209\u0000\u00d88\u0001\u0000\u0000\u0000\u00d9\u00de"+ + "\u0003A \u0000\u00da\u00dd\b\u0003\u0000\u0000\u00db\u00dd\u0003=\u001e"+ + "\u0000\u00dc\u00da\u0001\u0000\u0000\u0000\u00dc\u00db\u0001\u0000\u0000"+ + "\u0000\u00dd\u00e0\u0001\u0000\u0000\u0000\u00de\u00dc\u0001\u0000\u0000"+ + "\u0000\u00de\u00df\u0001\u0000\u0000\u0000\u00df\u00e1\u0001\u0000\u0000"+ + "\u0000\u00e0\u00de\u0001\u0000\u0000\u0000\u00e1\u00e2\u0003A \u0000\u00e2"+ + ":\u0001\u0000\u0000\u0000\u00e3\u00e7\u0003C!\u0000\u00e4\u00e6\t\u0000"+ + "\u0000\u0000\u00e5\u00e4\u0001\u0000\u0000\u0000\u00e6\u00e9\u0001\u0000"+ + "\u0000\u0000\u00e7\u00e8\u0001\u0000\u0000\u0000\u00e7\u00e5\u0001\u0000"+ + "\u0000\u0000\u00e8\u00ea\u0001\u0000\u0000\u0000\u00e9\u00e7\u0001\u0000"+ + "\u0000\u0000\u00ea\u00eb\u0003C!\u0000\u00eb<\u0001\u0000\u0000\u0000"+ + "\u00ec\u00ef\u0005\\\u0000\u0000\u00ed\u00f0\u0007\u0004\u0000\u0000\u00ee"+ + "\u00f0\u0003?\u001f\u0000\u00ef\u00ed\u0001\u0000\u0000\u0000\u00ef\u00ee"+ + "\u0001\u0000\u0000\u0000\u00f0>\u0001\u0000\u0000\u0000\u00f1\u00f2\u0005"+ + "u\u0000\u0000\u00f2\u00f3\u0003E\"\u0000\u00f3\u00f4\u0003E\"\u0000\u00f4"+ + "\u00f5\u0003E\"\u0000\u00f5\u00f6\u0003E\"\u0000\u00f6@\u0001\u0000\u0000"+ + "\u0000\u00f7\u00f8\u0005\"\u0000\u0000\u00f8B\u0001\u0000\u0000\u0000"+ + "\u00f9\u00fa\u0005\"\u0000\u0000\u00fa\u00fb\u0005\"\u0000\u0000\u00fb"+ + "\u00fc\u0005\"\u0000\u0000\u00fcD\u0001\u0000\u0000\u0000\u00fd\u00fe"+ + "\u0007\u0005\u0000\u0000\u00feF\u0001\u0000\u0000\u0000\u00ff\u0104\u0003"+ + "M&\u0000\u0100\u0104\u0003O\'\u0000\u0101\u0104\u0003K%\u0000\u0102\u0104"+ + "\u0003I$\u0000\u0103\u00ff\u0001\u0000\u0000\u0000\u0103\u0100\u0001\u0000"+ + "\u0000\u0000\u0103\u0101\u0001\u0000\u0000\u0000\u0103\u0102\u0001\u0000"+ + "\u0000\u0000\u0104\u0105\u0001\u0000\u0000\u0000\u0105\u0106\u0006#\u0000"+ + "\u0000\u0106H\u0001\u0000\u0000\u0000\u0107\u010b\u0005#\u0000\u0000\u0108"+ + "\u010a\b\u0006\u0000\u0000\u0109\u0108\u0001\u0000\u0000\u0000\u010a\u010d"+ + "\u0001\u0000\u0000\u0000\u010b\u0109\u0001\u0000\u0000\u0000\u010b\u010c"+ + "\u0001\u0000\u0000\u0000\u010cJ\u0001\u0000\u0000\u0000\u010d\u010b\u0001"+ + "\u0000\u0000\u0000\u010e\u010f\u0007\u0006\u0000\u0000\u010fL\u0001\u0000"+ + "\u0000\u0000\u0110\u0111\u0007\u0007\u0000\u0000\u0111N\u0001\u0000\u0000"+ + "\u0000\u0112\u0113\u0005,\u0000\u0000\u0113P\u0001\u0000\u0000\u0000\u0012"+ + "\u0000\u009c\u00a9\u00ad\u00b2\u00b9\u00bb\u00be\u00c8\u00ca\u00d0\u00d5"+ + "\u00dc\u00de\u00e7\u00ef\u0103\u010b\u0001\u0006\u0000\u0000"; + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); + static { + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); + } + } +} \ No newline at end of file diff --git a/gen/src/com/walmartlabs/lacinia/GraphqlLexer.tokens b/gen/src/com/walmartlabs/lacinia/GraphqlLexer.tokens new file mode 100644 index 00000000..7660c485 --- /dev/null +++ b/gen/src/com/walmartlabs/lacinia/GraphqlLexer.tokens @@ -0,0 +1,50 @@ +T__0=1 +T__1=2 +T__2=3 +T__3=4 +T__4=5 +T__5=6 +T__6=7 +T__7=8 +T__8=9 +T__9=10 +T__10=11 +T__11=12 +T__12=13 +T__13=14 +T__14=15 +T__15=16 +T__16=17 +BooleanValue=18 +NullValue=19 +Null=20 +NameId=21 +IntValue=22 +FloatValue=23 +Sign=24 +IntegerPart=25 +NonZeroDigit=26 +ExponentPart=27 +Digit=28 +StringValue=29 +BlockStringValue=30 +Ignored=31 +'query'=1 +'mutation'=2 +'subscription'=3 +'('=4 +')'=5 +':'=6 +'$'=7 +'='=8 +'{'=9 +'}'=10 +'...'=11 +'on'=12 +'fragment'=13 +'['=14 +']'=15 +'@'=16 +'!'=17 +'null'=20 +'-'=24 diff --git a/gen/src/com/walmartlabs/lacinia/GraphqlListener.java b/gen/src/com/walmartlabs/lacinia/GraphqlListener.java new file mode 100644 index 00000000..e010ce08 --- /dev/null +++ b/gen/src/com/walmartlabs/lacinia/GraphqlListener.java @@ -0,0 +1,320 @@ +// Generated from /Users/namenu/Development/lacinia/resources/com/walmartlabs/lacinia/Graphql.g4 by ANTLR 4.13.1 +package com.walmartlabs.lacinia; +import org.antlr.v4.runtime.tree.ParseTreeListener; + +/** + * This interface defines a complete listener for a parse tree produced by + * {@link GraphqlParser}. + */ +public interface GraphqlListener extends ParseTreeListener { + /** + * Enter a parse tree produced by {@link GraphqlParser#document}. + * @param ctx the parse tree + */ + void enterDocument(GraphqlParser.DocumentContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlParser#document}. + * @param ctx the parse tree + */ + void exitDocument(GraphqlParser.DocumentContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlParser#definition}. + * @param ctx the parse tree + */ + void enterDefinition(GraphqlParser.DefinitionContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlParser#definition}. + * @param ctx the parse tree + */ + void exitDefinition(GraphqlParser.DefinitionContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlParser#operationDefinition}. + * @param ctx the parse tree + */ + void enterOperationDefinition(GraphqlParser.OperationDefinitionContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlParser#operationDefinition}. + * @param ctx the parse tree + */ + void exitOperationDefinition(GraphqlParser.OperationDefinitionContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlParser#name}. + * @param ctx the parse tree + */ + void enterName(GraphqlParser.NameContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlParser#name}. + * @param ctx the parse tree + */ + void exitName(GraphqlParser.NameContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlParser#operationType}. + * @param ctx the parse tree + */ + void enterOperationType(GraphqlParser.OperationTypeContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlParser#operationType}. + * @param ctx the parse tree + */ + void exitOperationType(GraphqlParser.OperationTypeContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlParser#variableDefinitions}. + * @param ctx the parse tree + */ + void enterVariableDefinitions(GraphqlParser.VariableDefinitionsContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlParser#variableDefinitions}. + * @param ctx the parse tree + */ + void exitVariableDefinitions(GraphqlParser.VariableDefinitionsContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlParser#variableDefinition}. + * @param ctx the parse tree + */ + void enterVariableDefinition(GraphqlParser.VariableDefinitionContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlParser#variableDefinition}. + * @param ctx the parse tree + */ + void exitVariableDefinition(GraphqlParser.VariableDefinitionContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlParser#variable}. + * @param ctx the parse tree + */ + void enterVariable(GraphqlParser.VariableContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlParser#variable}. + * @param ctx the parse tree + */ + void exitVariable(GraphqlParser.VariableContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlParser#defaultValue}. + * @param ctx the parse tree + */ + void enterDefaultValue(GraphqlParser.DefaultValueContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlParser#defaultValue}. + * @param ctx the parse tree + */ + void exitDefaultValue(GraphqlParser.DefaultValueContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlParser#selectionSet}. + * @param ctx the parse tree + */ + void enterSelectionSet(GraphqlParser.SelectionSetContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlParser#selectionSet}. + * @param ctx the parse tree + */ + void exitSelectionSet(GraphqlParser.SelectionSetContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlParser#selection}. + * @param ctx the parse tree + */ + void enterSelection(GraphqlParser.SelectionContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlParser#selection}. + * @param ctx the parse tree + */ + void exitSelection(GraphqlParser.SelectionContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlParser#field}. + * @param ctx the parse tree + */ + void enterField(GraphqlParser.FieldContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlParser#field}. + * @param ctx the parse tree + */ + void exitField(GraphqlParser.FieldContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlParser#alias}. + * @param ctx the parse tree + */ + void enterAlias(GraphqlParser.AliasContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlParser#alias}. + * @param ctx the parse tree + */ + void exitAlias(GraphqlParser.AliasContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlParser#arguments}. + * @param ctx the parse tree + */ + void enterArguments(GraphqlParser.ArgumentsContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlParser#arguments}. + * @param ctx the parse tree + */ + void exitArguments(GraphqlParser.ArgumentsContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlParser#argument}. + * @param ctx the parse tree + */ + void enterArgument(GraphqlParser.ArgumentContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlParser#argument}. + * @param ctx the parse tree + */ + void exitArgument(GraphqlParser.ArgumentContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlParser#fragmentSpread}. + * @param ctx the parse tree + */ + void enterFragmentSpread(GraphqlParser.FragmentSpreadContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlParser#fragmentSpread}. + * @param ctx the parse tree + */ + void exitFragmentSpread(GraphqlParser.FragmentSpreadContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlParser#inlineFragment}. + * @param ctx the parse tree + */ + void enterInlineFragment(GraphqlParser.InlineFragmentContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlParser#inlineFragment}. + * @param ctx the parse tree + */ + void exitInlineFragment(GraphqlParser.InlineFragmentContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlParser#fragmentDefinition}. + * @param ctx the parse tree + */ + void enterFragmentDefinition(GraphqlParser.FragmentDefinitionContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlParser#fragmentDefinition}. + * @param ctx the parse tree + */ + void exitFragmentDefinition(GraphqlParser.FragmentDefinitionContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlParser#fragmentName}. + * @param ctx the parse tree + */ + void enterFragmentName(GraphqlParser.FragmentNameContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlParser#fragmentName}. + * @param ctx the parse tree + */ + void exitFragmentName(GraphqlParser.FragmentNameContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlParser#typeCondition}. + * @param ctx the parse tree + */ + void enterTypeCondition(GraphqlParser.TypeConditionContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlParser#typeCondition}. + * @param ctx the parse tree + */ + void exitTypeCondition(GraphqlParser.TypeConditionContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlParser#value}. + * @param ctx the parse tree + */ + void enterValue(GraphqlParser.ValueContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlParser#value}. + * @param ctx the parse tree + */ + void exitValue(GraphqlParser.ValueContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlParser#enumValue}. + * @param ctx the parse tree + */ + void enterEnumValue(GraphqlParser.EnumValueContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlParser#enumValue}. + * @param ctx the parse tree + */ + void exitEnumValue(GraphqlParser.EnumValueContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlParser#arrayValue}. + * @param ctx the parse tree + */ + void enterArrayValue(GraphqlParser.ArrayValueContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlParser#arrayValue}. + * @param ctx the parse tree + */ + void exitArrayValue(GraphqlParser.ArrayValueContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlParser#objectValue}. + * @param ctx the parse tree + */ + void enterObjectValue(GraphqlParser.ObjectValueContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlParser#objectValue}. + * @param ctx the parse tree + */ + void exitObjectValue(GraphqlParser.ObjectValueContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlParser#objectField}. + * @param ctx the parse tree + */ + void enterObjectField(GraphqlParser.ObjectFieldContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlParser#objectField}. + * @param ctx the parse tree + */ + void exitObjectField(GraphqlParser.ObjectFieldContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlParser#directives}. + * @param ctx the parse tree + */ + void enterDirectives(GraphqlParser.DirectivesContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlParser#directives}. + * @param ctx the parse tree + */ + void exitDirectives(GraphqlParser.DirectivesContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlParser#directive}. + * @param ctx the parse tree + */ + void enterDirective(GraphqlParser.DirectiveContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlParser#directive}. + * @param ctx the parse tree + */ + void exitDirective(GraphqlParser.DirectiveContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlParser#type}. + * @param ctx the parse tree + */ + void enterType(GraphqlParser.TypeContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlParser#type}. + * @param ctx the parse tree + */ + void exitType(GraphqlParser.TypeContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlParser#typeName}. + * @param ctx the parse tree + */ + void enterTypeName(GraphqlParser.TypeNameContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlParser#typeName}. + * @param ctx the parse tree + */ + void exitTypeName(GraphqlParser.TypeNameContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlParser#listType}. + * @param ctx the parse tree + */ + void enterListType(GraphqlParser.ListTypeContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlParser#listType}. + * @param ctx the parse tree + */ + void exitListType(GraphqlParser.ListTypeContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlParser#nonNullType}. + * @param ctx the parse tree + */ + void enterNonNullType(GraphqlParser.NonNullTypeContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlParser#nonNullType}. + * @param ctx the parse tree + */ + void exitNonNullType(GraphqlParser.NonNullTypeContext ctx); +} \ No newline at end of file diff --git a/gen/src/com/walmartlabs/lacinia/GraphqlParser.java b/gen/src/com/walmartlabs/lacinia/GraphqlParser.java new file mode 100644 index 00000000..8b8fdfe2 --- /dev/null +++ b/gen/src/com/walmartlabs/lacinia/GraphqlParser.java @@ -0,0 +1,2240 @@ +// Generated from /Users/namenu/Development/lacinia/resources/com/walmartlabs/lacinia/Graphql.g4 by ANTLR 4.13.1 +package com.walmartlabs.lacinia; +import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.tree.*; +import java.util.List; + +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast", "CheckReturnValue"}) +public class GraphqlParser extends Parser { + static { RuntimeMetaData.checkVersion("4.13.1", RuntimeMetaData.VERSION); } + + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + T__0=1, T__1=2, T__2=3, T__3=4, T__4=5, T__5=6, T__6=7, T__7=8, T__8=9, + T__9=10, T__10=11, T__11=12, T__12=13, T__13=14, T__14=15, T__15=16, T__16=17, + BooleanValue=18, NullValue=19, Null=20, NameId=21, IntValue=22, FloatValue=23, + Sign=24, IntegerPart=25, NonZeroDigit=26, ExponentPart=27, Digit=28, StringValue=29, + BlockStringValue=30, Ignored=31; + public static final int + RULE_document = 0, RULE_definition = 1, RULE_operationDefinition = 2, + RULE_name = 3, RULE_operationType = 4, RULE_variableDefinitions = 5, RULE_variableDefinition = 6, + RULE_variable = 7, RULE_defaultValue = 8, RULE_selectionSet = 9, RULE_selection = 10, + RULE_field = 11, RULE_alias = 12, RULE_arguments = 13, RULE_argument = 14, + RULE_fragmentSpread = 15, RULE_inlineFragment = 16, RULE_fragmentDefinition = 17, + RULE_fragmentName = 18, RULE_typeCondition = 19, RULE_value = 20, RULE_enumValue = 21, + RULE_arrayValue = 22, RULE_objectValue = 23, RULE_objectField = 24, RULE_directives = 25, + RULE_directive = 26, RULE_type = 27, RULE_typeName = 28, RULE_listType = 29, + RULE_nonNullType = 30; + private static String[] makeRuleNames() { + return new String[] { + "document", "definition", "operationDefinition", "name", "operationType", + "variableDefinitions", "variableDefinition", "variable", "defaultValue", + "selectionSet", "selection", "field", "alias", "arguments", "argument", + "fragmentSpread", "inlineFragment", "fragmentDefinition", "fragmentName", + "typeCondition", "value", "enumValue", "arrayValue", "objectValue", "objectField", + "directives", "directive", "type", "typeName", "listType", "nonNullType" + }; + } + public static final String[] ruleNames = makeRuleNames(); + + private static String[] makeLiteralNames() { + return new String[] { + null, "'query'", "'mutation'", "'subscription'", "'('", "')'", "':'", + "'$'", "'='", "'{'", "'}'", "'...'", "'on'", "'fragment'", "'['", "']'", + "'@'", "'!'", null, null, "'null'", null, null, null, "'-'" + }; + } + private static final String[] _LITERAL_NAMES = makeLiteralNames(); + private static String[] makeSymbolicNames() { + return new String[] { + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, "BooleanValue", "NullValue", "Null", + "NameId", "IntValue", "FloatValue", "Sign", "IntegerPart", "NonZeroDigit", + "ExponentPart", "Digit", "StringValue", "BlockStringValue", "Ignored" + }; + } + private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); + } + + if (tokenNames[i] == null) { + tokenNames[i] = ""; + } + } + } + + @Override + @Deprecated + public String[] getTokenNames() { + return tokenNames; + } + + @Override + + public Vocabulary getVocabulary() { + return VOCABULARY; + } + + @Override + public String getGrammarFileName() { return "Graphql.g4"; } + + @Override + public String[] getRuleNames() { return ruleNames; } + + @Override + public String getSerializedATN() { return _serializedATN; } + + @Override + public ATN getATN() { return _ATN; } + + public GraphqlParser(TokenStream input) { + super(input); + _interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); + } + + @SuppressWarnings("CheckReturnValue") + public static class DocumentContext extends ParserRuleContext { + public List definition() { + return getRuleContexts(DefinitionContext.class); + } + public DefinitionContext definition(int i) { + return getRuleContext(DefinitionContext.class,i); + } + public DocumentContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_document; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterDocument(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitDocument(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitDocument(this); + else return visitor.visitChildren(this); + } + } + + public final DocumentContext document() throws RecognitionException { + DocumentContext _localctx = new DocumentContext(_ctx, getState()); + enterRule(_localctx, 0, RULE_document); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(63); + _errHandler.sync(this); + _la = _input.LA(1); + do { + { + { + setState(62); + definition(); + } + } + setState(65); + _errHandler.sync(this); + _la = _input.LA(1); + } while ( (((_la) & ~0x3f) == 0 && ((1L << _la) & 8718L) != 0) ); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class DefinitionContext extends ParserRuleContext { + public OperationDefinitionContext operationDefinition() { + return getRuleContext(OperationDefinitionContext.class,0); + } + public FragmentDefinitionContext fragmentDefinition() { + return getRuleContext(FragmentDefinitionContext.class,0); + } + public DefinitionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_definition; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterDefinition(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitDefinition(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitDefinition(this); + else return visitor.visitChildren(this); + } + } + + public final DefinitionContext definition() throws RecognitionException { + DefinitionContext _localctx = new DefinitionContext(_ctx, getState()); + enterRule(_localctx, 2, RULE_definition); + try { + setState(69); + _errHandler.sync(this); + switch (_input.LA(1)) { + case T__0: + case T__1: + case T__2: + case T__8: + enterOuterAlt(_localctx, 1); + { + setState(67); + operationDefinition(); + } + break; + case T__12: + enterOuterAlt(_localctx, 2); + { + setState(68); + fragmentDefinition(); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class OperationDefinitionContext extends ParserRuleContext { + public SelectionSetContext selectionSet() { + return getRuleContext(SelectionSetContext.class,0); + } + public OperationTypeContext operationType() { + return getRuleContext(OperationTypeContext.class,0); + } + public NameContext name() { + return getRuleContext(NameContext.class,0); + } + public VariableDefinitionsContext variableDefinitions() { + return getRuleContext(VariableDefinitionsContext.class,0); + } + public DirectivesContext directives() { + return getRuleContext(DirectivesContext.class,0); + } + public OperationDefinitionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_operationDefinition; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterOperationDefinition(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitOperationDefinition(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitOperationDefinition(this); + else return visitor.visitChildren(this); + } + } + + public final OperationDefinitionContext operationDefinition() throws RecognitionException { + OperationDefinitionContext _localctx = new OperationDefinitionContext(_ctx, getState()); + enterRule(_localctx, 4, RULE_operationDefinition); + int _la; + try { + setState(84); + _errHandler.sync(this); + switch (_input.LA(1)) { + case T__8: + enterOuterAlt(_localctx, 1); + { + setState(71); + selectionSet(); + } + break; + case T__0: + case T__1: + case T__2: + enterOuterAlt(_localctx, 2); + { + setState(72); + operationType(); + setState(74); + _errHandler.sync(this); + _la = _input.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & 2097166L) != 0)) { + { + setState(73); + name(); + } + } + + setState(77); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==T__3) { + { + setState(76); + variableDefinitions(); + } + } + + setState(80); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==T__15) { + { + setState(79); + directives(); + } + } + + setState(82); + selectionSet(); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class NameContext extends ParserRuleContext { + public TerminalNode NameId() { return getToken(GraphqlParser.NameId, 0); } + public NameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_name; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterName(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitName(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitName(this); + else return visitor.visitChildren(this); + } + } + + public final NameContext name() throws RecognitionException { + NameContext _localctx = new NameContext(_ctx, getState()); + enterRule(_localctx, 6, RULE_name); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(86); + _la = _input.LA(1); + if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & 2097166L) != 0)) ) { + _errHandler.recoverInline(this); + } + else { + if ( _input.LA(1)==Token.EOF ) matchedEOF = true; + _errHandler.reportMatch(this); + consume(); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class OperationTypeContext extends ParserRuleContext { + public OperationTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_operationType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterOperationType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitOperationType(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitOperationType(this); + else return visitor.visitChildren(this); + } + } + + public final OperationTypeContext operationType() throws RecognitionException { + OperationTypeContext _localctx = new OperationTypeContext(_ctx, getState()); + enterRule(_localctx, 8, RULE_operationType); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(88); + _la = _input.LA(1); + if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & 14L) != 0)) ) { + _errHandler.recoverInline(this); + } + else { + if ( _input.LA(1)==Token.EOF ) matchedEOF = true; + _errHandler.reportMatch(this); + consume(); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class VariableDefinitionsContext extends ParserRuleContext { + public List variableDefinition() { + return getRuleContexts(VariableDefinitionContext.class); + } + public VariableDefinitionContext variableDefinition(int i) { + return getRuleContext(VariableDefinitionContext.class,i); + } + public VariableDefinitionsContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_variableDefinitions; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterVariableDefinitions(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitVariableDefinitions(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitVariableDefinitions(this); + else return visitor.visitChildren(this); + } + } + + public final VariableDefinitionsContext variableDefinitions() throws RecognitionException { + VariableDefinitionsContext _localctx = new VariableDefinitionsContext(_ctx, getState()); + enterRule(_localctx, 10, RULE_variableDefinitions); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(90); + match(T__3); + setState(92); + _errHandler.sync(this); + _la = _input.LA(1); + do { + { + { + setState(91); + variableDefinition(); + } + } + setState(94); + _errHandler.sync(this); + _la = _input.LA(1); + } while ( _la==T__6 ); + setState(96); + match(T__4); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class VariableDefinitionContext extends ParserRuleContext { + public VariableContext variable() { + return getRuleContext(VariableContext.class,0); + } + public TypeContext type() { + return getRuleContext(TypeContext.class,0); + } + public DefaultValueContext defaultValue() { + return getRuleContext(DefaultValueContext.class,0); + } + public VariableDefinitionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_variableDefinition; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterVariableDefinition(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitVariableDefinition(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitVariableDefinition(this); + else return visitor.visitChildren(this); + } + } + + public final VariableDefinitionContext variableDefinition() throws RecognitionException { + VariableDefinitionContext _localctx = new VariableDefinitionContext(_ctx, getState()); + enterRule(_localctx, 12, RULE_variableDefinition); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(98); + variable(); + setState(99); + match(T__5); + setState(100); + type(); + setState(102); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==T__7) { + { + setState(101); + defaultValue(); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class VariableContext extends ParserRuleContext { + public NameContext name() { + return getRuleContext(NameContext.class,0); + } + public VariableContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_variable; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterVariable(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitVariable(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitVariable(this); + else return visitor.visitChildren(this); + } + } + + public final VariableContext variable() throws RecognitionException { + VariableContext _localctx = new VariableContext(_ctx, getState()); + enterRule(_localctx, 14, RULE_variable); + try { + enterOuterAlt(_localctx, 1); + { + setState(104); + match(T__6); + setState(105); + name(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class DefaultValueContext extends ParserRuleContext { + public ValueContext value() { + return getRuleContext(ValueContext.class,0); + } + public DefaultValueContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_defaultValue; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterDefaultValue(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitDefaultValue(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitDefaultValue(this); + else return visitor.visitChildren(this); + } + } + + public final DefaultValueContext defaultValue() throws RecognitionException { + DefaultValueContext _localctx = new DefaultValueContext(_ctx, getState()); + enterRule(_localctx, 16, RULE_defaultValue); + try { + enterOuterAlt(_localctx, 1); + { + setState(107); + match(T__7); + setState(108); + value(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class SelectionSetContext extends ParserRuleContext { + public List selection() { + return getRuleContexts(SelectionContext.class); + } + public SelectionContext selection(int i) { + return getRuleContext(SelectionContext.class,i); + } + public SelectionSetContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_selectionSet; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterSelectionSet(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitSelectionSet(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitSelectionSet(this); + else return visitor.visitChildren(this); + } + } + + public final SelectionSetContext selectionSet() throws RecognitionException { + SelectionSetContext _localctx = new SelectionSetContext(_ctx, getState()); + enterRule(_localctx, 18, RULE_selectionSet); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(110); + match(T__8); + setState(112); + _errHandler.sync(this); + _la = _input.LA(1); + do { + { + { + setState(111); + selection(); + } + } + setState(114); + _errHandler.sync(this); + _la = _input.LA(1); + } while ( (((_la) & ~0x3f) == 0 && ((1L << _la) & 2099214L) != 0) ); + setState(116); + match(T__9); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class SelectionContext extends ParserRuleContext { + public FieldContext field() { + return getRuleContext(FieldContext.class,0); + } + public FragmentSpreadContext fragmentSpread() { + return getRuleContext(FragmentSpreadContext.class,0); + } + public InlineFragmentContext inlineFragment() { + return getRuleContext(InlineFragmentContext.class,0); + } + public SelectionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_selection; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterSelection(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitSelection(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitSelection(this); + else return visitor.visitChildren(this); + } + } + + public final SelectionContext selection() throws RecognitionException { + SelectionContext _localctx = new SelectionContext(_ctx, getState()); + enterRule(_localctx, 20, RULE_selection); + try { + setState(121); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,9,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(118); + field(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(119); + fragmentSpread(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(120); + inlineFragment(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class FieldContext extends ParserRuleContext { + public NameContext name() { + return getRuleContext(NameContext.class,0); + } + public AliasContext alias() { + return getRuleContext(AliasContext.class,0); + } + public ArgumentsContext arguments() { + return getRuleContext(ArgumentsContext.class,0); + } + public DirectivesContext directives() { + return getRuleContext(DirectivesContext.class,0); + } + public SelectionSetContext selectionSet() { + return getRuleContext(SelectionSetContext.class,0); + } + public FieldContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_field; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterField(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitField(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitField(this); + else return visitor.visitChildren(this); + } + } + + public final FieldContext field() throws RecognitionException { + FieldContext _localctx = new FieldContext(_ctx, getState()); + enterRule(_localctx, 22, RULE_field); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(124); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,10,_ctx) ) { + case 1: + { + setState(123); + alias(); + } + break; + } + setState(126); + name(); + setState(128); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==T__3) { + { + setState(127); + arguments(); + } + } + + setState(131); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==T__15) { + { + setState(130); + directives(); + } + } + + setState(134); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==T__8) { + { + setState(133); + selectionSet(); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class AliasContext extends ParserRuleContext { + public NameContext name() { + return getRuleContext(NameContext.class,0); + } + public AliasContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_alias; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterAlias(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitAlias(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitAlias(this); + else return visitor.visitChildren(this); + } + } + + public final AliasContext alias() throws RecognitionException { + AliasContext _localctx = new AliasContext(_ctx, getState()); + enterRule(_localctx, 24, RULE_alias); + try { + enterOuterAlt(_localctx, 1); + { + setState(136); + name(); + setState(137); + match(T__5); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class ArgumentsContext extends ParserRuleContext { + public List argument() { + return getRuleContexts(ArgumentContext.class); + } + public ArgumentContext argument(int i) { + return getRuleContext(ArgumentContext.class,i); + } + public ArgumentsContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_arguments; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterArguments(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitArguments(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitArguments(this); + else return visitor.visitChildren(this); + } + } + + public final ArgumentsContext arguments() throws RecognitionException { + ArgumentsContext _localctx = new ArgumentsContext(_ctx, getState()); + enterRule(_localctx, 26, RULE_arguments); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(139); + match(T__3); + setState(141); + _errHandler.sync(this); + _la = _input.LA(1); + do { + { + { + setState(140); + argument(); + } + } + setState(143); + _errHandler.sync(this); + _la = _input.LA(1); + } while ( (((_la) & ~0x3f) == 0 && ((1L << _la) & 2097166L) != 0) ); + setState(145); + match(T__4); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class ArgumentContext extends ParserRuleContext { + public NameContext name() { + return getRuleContext(NameContext.class,0); + } + public ValueContext value() { + return getRuleContext(ValueContext.class,0); + } + public ArgumentContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_argument; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterArgument(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitArgument(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitArgument(this); + else return visitor.visitChildren(this); + } + } + + public final ArgumentContext argument() throws RecognitionException { + ArgumentContext _localctx = new ArgumentContext(_ctx, getState()); + enterRule(_localctx, 28, RULE_argument); + try { + enterOuterAlt(_localctx, 1); + { + setState(147); + name(); + setState(148); + match(T__5); + setState(149); + value(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class FragmentSpreadContext extends ParserRuleContext { + public FragmentNameContext fragmentName() { + return getRuleContext(FragmentNameContext.class,0); + } + public DirectivesContext directives() { + return getRuleContext(DirectivesContext.class,0); + } + public FragmentSpreadContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_fragmentSpread; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterFragmentSpread(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitFragmentSpread(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitFragmentSpread(this); + else return visitor.visitChildren(this); + } + } + + public final FragmentSpreadContext fragmentSpread() throws RecognitionException { + FragmentSpreadContext _localctx = new FragmentSpreadContext(_ctx, getState()); + enterRule(_localctx, 30, RULE_fragmentSpread); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(151); + match(T__10); + setState(152); + fragmentName(); + setState(154); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==T__15) { + { + setState(153); + directives(); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class InlineFragmentContext extends ParserRuleContext { + public TypeConditionContext typeCondition() { + return getRuleContext(TypeConditionContext.class,0); + } + public SelectionSetContext selectionSet() { + return getRuleContext(SelectionSetContext.class,0); + } + public DirectivesContext directives() { + return getRuleContext(DirectivesContext.class,0); + } + public InlineFragmentContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_inlineFragment; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterInlineFragment(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitInlineFragment(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitInlineFragment(this); + else return visitor.visitChildren(this); + } + } + + public final InlineFragmentContext inlineFragment() throws RecognitionException { + InlineFragmentContext _localctx = new InlineFragmentContext(_ctx, getState()); + enterRule(_localctx, 32, RULE_inlineFragment); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(156); + match(T__10); + setState(157); + match(T__11); + setState(158); + typeCondition(); + setState(160); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==T__15) { + { + setState(159); + directives(); + } + } + + setState(162); + selectionSet(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class FragmentDefinitionContext extends ParserRuleContext { + public FragmentNameContext fragmentName() { + return getRuleContext(FragmentNameContext.class,0); + } + public TypeConditionContext typeCondition() { + return getRuleContext(TypeConditionContext.class,0); + } + public SelectionSetContext selectionSet() { + return getRuleContext(SelectionSetContext.class,0); + } + public DirectivesContext directives() { + return getRuleContext(DirectivesContext.class,0); + } + public FragmentDefinitionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_fragmentDefinition; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterFragmentDefinition(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitFragmentDefinition(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitFragmentDefinition(this); + else return visitor.visitChildren(this); + } + } + + public final FragmentDefinitionContext fragmentDefinition() throws RecognitionException { + FragmentDefinitionContext _localctx = new FragmentDefinitionContext(_ctx, getState()); + enterRule(_localctx, 34, RULE_fragmentDefinition); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(164); + match(T__12); + setState(165); + fragmentName(); + setState(166); + match(T__11); + setState(167); + typeCondition(); + setState(169); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==T__15) { + { + setState(168); + directives(); + } + } + + setState(171); + selectionSet(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class FragmentNameContext extends ParserRuleContext { + public NameContext name() { + return getRuleContext(NameContext.class,0); + } + public FragmentNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_fragmentName; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterFragmentName(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitFragmentName(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitFragmentName(this); + else return visitor.visitChildren(this); + } + } + + public final FragmentNameContext fragmentName() throws RecognitionException { + FragmentNameContext _localctx = new FragmentNameContext(_ctx, getState()); + enterRule(_localctx, 36, RULE_fragmentName); + try { + enterOuterAlt(_localctx, 1); + { + setState(173); + name(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class TypeConditionContext extends ParserRuleContext { + public TypeNameContext typeName() { + return getRuleContext(TypeNameContext.class,0); + } + public TypeConditionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_typeCondition; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterTypeCondition(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitTypeCondition(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitTypeCondition(this); + else return visitor.visitChildren(this); + } + } + + public final TypeConditionContext typeCondition() throws RecognitionException { + TypeConditionContext _localctx = new TypeConditionContext(_ctx, getState()); + enterRule(_localctx, 38, RULE_typeCondition); + try { + enterOuterAlt(_localctx, 1); + { + setState(175); + typeName(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class ValueContext extends ParserRuleContext { + public TerminalNode IntValue() { return getToken(GraphqlParser.IntValue, 0); } + public TerminalNode FloatValue() { return getToken(GraphqlParser.FloatValue, 0); } + public TerminalNode StringValue() { return getToken(GraphqlParser.StringValue, 0); } + public TerminalNode BlockStringValue() { return getToken(GraphqlParser.BlockStringValue, 0); } + public TerminalNode BooleanValue() { return getToken(GraphqlParser.BooleanValue, 0); } + public TerminalNode NullValue() { return getToken(GraphqlParser.NullValue, 0); } + public EnumValueContext enumValue() { + return getRuleContext(EnumValueContext.class,0); + } + public ArrayValueContext arrayValue() { + return getRuleContext(ArrayValueContext.class,0); + } + public ObjectValueContext objectValue() { + return getRuleContext(ObjectValueContext.class,0); + } + public VariableContext variable() { + return getRuleContext(VariableContext.class,0); + } + public ValueContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_value; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterValue(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitValue(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitValue(this); + else return visitor.visitChildren(this); + } + } + + public final ValueContext value() throws RecognitionException { + ValueContext _localctx = new ValueContext(_ctx, getState()); + enterRule(_localctx, 40, RULE_value); + try { + setState(187); + _errHandler.sync(this); + switch (_input.LA(1)) { + case IntValue: + enterOuterAlt(_localctx, 1); + { + setState(177); + match(IntValue); + } + break; + case FloatValue: + enterOuterAlt(_localctx, 2); + { + setState(178); + match(FloatValue); + } + break; + case StringValue: + enterOuterAlt(_localctx, 3); + { + setState(179); + match(StringValue); + } + break; + case BlockStringValue: + enterOuterAlt(_localctx, 4); + { + setState(180); + match(BlockStringValue); + } + break; + case BooleanValue: + enterOuterAlt(_localctx, 5); + { + setState(181); + match(BooleanValue); + } + break; + case NullValue: + enterOuterAlt(_localctx, 6); + { + setState(182); + match(NullValue); + } + break; + case T__0: + case T__1: + case T__2: + case NameId: + enterOuterAlt(_localctx, 7); + { + setState(183); + enumValue(); + } + break; + case T__13: + enterOuterAlt(_localctx, 8); + { + setState(184); + arrayValue(); + } + break; + case T__8: + enterOuterAlt(_localctx, 9); + { + setState(185); + objectValue(); + } + break; + case T__6: + enterOuterAlt(_localctx, 10); + { + setState(186); + variable(); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class EnumValueContext extends ParserRuleContext { + public NameContext name() { + return getRuleContext(NameContext.class,0); + } + public EnumValueContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_enumValue; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterEnumValue(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitEnumValue(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitEnumValue(this); + else return visitor.visitChildren(this); + } + } + + public final EnumValueContext enumValue() throws RecognitionException { + EnumValueContext _localctx = new EnumValueContext(_ctx, getState()); + enterRule(_localctx, 42, RULE_enumValue); + try { + enterOuterAlt(_localctx, 1); + { + setState(189); + name(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class ArrayValueContext extends ParserRuleContext { + public List value() { + return getRuleContexts(ValueContext.class); + } + public ValueContext value(int i) { + return getRuleContext(ValueContext.class,i); + } + public ArrayValueContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_arrayValue; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterArrayValue(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitArrayValue(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitArrayValue(this); + else return visitor.visitChildren(this); + } + } + + public final ArrayValueContext arrayValue() throws RecognitionException { + ArrayValueContext _localctx = new ArrayValueContext(_ctx, getState()); + enterRule(_localctx, 44, RULE_arrayValue); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(191); + match(T__13); + setState(195); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & 1626096270L) != 0)) { + { + { + setState(192); + value(); + } + } + setState(197); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(198); + match(T__14); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class ObjectValueContext extends ParserRuleContext { + public List objectField() { + return getRuleContexts(ObjectFieldContext.class); + } + public ObjectFieldContext objectField(int i) { + return getRuleContext(ObjectFieldContext.class,i); + } + public ObjectValueContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_objectValue; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterObjectValue(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitObjectValue(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitObjectValue(this); + else return visitor.visitChildren(this); + } + } + + public final ObjectValueContext objectValue() throws RecognitionException { + ObjectValueContext _localctx = new ObjectValueContext(_ctx, getState()); + enterRule(_localctx, 46, RULE_objectValue); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(200); + match(T__8); + setState(204); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & 2097166L) != 0)) { + { + { + setState(201); + objectField(); + } + } + setState(206); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(207); + match(T__9); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class ObjectFieldContext extends ParserRuleContext { + public NameContext name() { + return getRuleContext(NameContext.class,0); + } + public ValueContext value() { + return getRuleContext(ValueContext.class,0); + } + public ObjectFieldContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_objectField; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterObjectField(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitObjectField(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitObjectField(this); + else return visitor.visitChildren(this); + } + } + + public final ObjectFieldContext objectField() throws RecognitionException { + ObjectFieldContext _localctx = new ObjectFieldContext(_ctx, getState()); + enterRule(_localctx, 48, RULE_objectField); + try { + enterOuterAlt(_localctx, 1); + { + setState(209); + name(); + setState(210); + match(T__5); + setState(211); + value(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class DirectivesContext extends ParserRuleContext { + public List directive() { + return getRuleContexts(DirectiveContext.class); + } + public DirectiveContext directive(int i) { + return getRuleContext(DirectiveContext.class,i); + } + public DirectivesContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_directives; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterDirectives(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitDirectives(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitDirectives(this); + else return visitor.visitChildren(this); + } + } + + public final DirectivesContext directives() throws RecognitionException { + DirectivesContext _localctx = new DirectivesContext(_ctx, getState()); + enterRule(_localctx, 50, RULE_directives); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(214); + _errHandler.sync(this); + _la = _input.LA(1); + do { + { + { + setState(213); + directive(); + } + } + setState(216); + _errHandler.sync(this); + _la = _input.LA(1); + } while ( _la==T__15 ); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class DirectiveContext extends ParserRuleContext { + public NameContext name() { + return getRuleContext(NameContext.class,0); + } + public ArgumentsContext arguments() { + return getRuleContext(ArgumentsContext.class,0); + } + public DirectiveContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_directive; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterDirective(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitDirective(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitDirective(this); + else return visitor.visitChildren(this); + } + } + + public final DirectiveContext directive() throws RecognitionException { + DirectiveContext _localctx = new DirectiveContext(_ctx, getState()); + enterRule(_localctx, 52, RULE_directive); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(218); + match(T__15); + setState(219); + name(); + setState(221); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==T__3) { + { + setState(220); + arguments(); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class TypeContext extends ParserRuleContext { + public TypeNameContext typeName() { + return getRuleContext(TypeNameContext.class,0); + } + public ListTypeContext listType() { + return getRuleContext(ListTypeContext.class,0); + } + public NonNullTypeContext nonNullType() { + return getRuleContext(NonNullTypeContext.class,0); + } + public TypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_type; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitType(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitType(this); + else return visitor.visitChildren(this); + } + } + + public final TypeContext type() throws RecognitionException { + TypeContext _localctx = new TypeContext(_ctx, getState()); + enterRule(_localctx, 54, RULE_type); + try { + setState(226); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,23,_ctx) ) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(223); + typeName(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(224); + listType(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(225); + nonNullType(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class TypeNameContext extends ParserRuleContext { + public NameContext name() { + return getRuleContext(NameContext.class,0); + } + public TypeNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_typeName; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterTypeName(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitTypeName(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitTypeName(this); + else return visitor.visitChildren(this); + } + } + + public final TypeNameContext typeName() throws RecognitionException { + TypeNameContext _localctx = new TypeNameContext(_ctx, getState()); + enterRule(_localctx, 56, RULE_typeName); + try { + enterOuterAlt(_localctx, 1); + { + setState(228); + name(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class ListTypeContext extends ParserRuleContext { + public TypeContext type() { + return getRuleContext(TypeContext.class,0); + } + public ListTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_listType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterListType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitListType(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitListType(this); + else return visitor.visitChildren(this); + } + } + + public final ListTypeContext listType() throws RecognitionException { + ListTypeContext _localctx = new ListTypeContext(_ctx, getState()); + enterRule(_localctx, 58, RULE_listType); + try { + enterOuterAlt(_localctx, 1); + { + setState(230); + match(T__13); + setState(231); + type(); + setState(232); + match(T__14); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class NonNullTypeContext extends ParserRuleContext { + public TypeNameContext typeName() { + return getRuleContext(TypeNameContext.class,0); + } + public ListTypeContext listType() { + return getRuleContext(ListTypeContext.class,0); + } + public NonNullTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_nonNullType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterNonNullType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitNonNullType(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitNonNullType(this); + else return visitor.visitChildren(this); + } + } + + public final NonNullTypeContext nonNullType() throws RecognitionException { + NonNullTypeContext _localctx = new NonNullTypeContext(_ctx, getState()); + enterRule(_localctx, 60, RULE_nonNullType); + try { + setState(240); + _errHandler.sync(this); + switch (_input.LA(1)) { + case T__0: + case T__1: + case T__2: + case NameId: + enterOuterAlt(_localctx, 1); + { + setState(234); + typeName(); + setState(235); + match(T__16); + } + break; + case T__13: + enterOuterAlt(_localctx, 2); + { + setState(237); + listType(); + setState(238); + match(T__16); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static final String _serializedATN = + "\u0004\u0001\u001f\u00f3\u0002\u0000\u0007\u0000\u0002\u0001\u0007\u0001"+ + "\u0002\u0002\u0007\u0002\u0002\u0003\u0007\u0003\u0002\u0004\u0007\u0004"+ + "\u0002\u0005\u0007\u0005\u0002\u0006\u0007\u0006\u0002\u0007\u0007\u0007"+ + "\u0002\b\u0007\b\u0002\t\u0007\t\u0002\n\u0007\n\u0002\u000b\u0007\u000b"+ + "\u0002\f\u0007\f\u0002\r\u0007\r\u0002\u000e\u0007\u000e\u0002\u000f\u0007"+ + "\u000f\u0002\u0010\u0007\u0010\u0002\u0011\u0007\u0011\u0002\u0012\u0007"+ + "\u0012\u0002\u0013\u0007\u0013\u0002\u0014\u0007\u0014\u0002\u0015\u0007"+ + "\u0015\u0002\u0016\u0007\u0016\u0002\u0017\u0007\u0017\u0002\u0018\u0007"+ + "\u0018\u0002\u0019\u0007\u0019\u0002\u001a\u0007\u001a\u0002\u001b\u0007"+ + "\u001b\u0002\u001c\u0007\u001c\u0002\u001d\u0007\u001d\u0002\u001e\u0007"+ + "\u001e\u0001\u0000\u0004\u0000@\b\u0000\u000b\u0000\f\u0000A\u0001\u0001"+ + "\u0001\u0001\u0003\u0001F\b\u0001\u0001\u0002\u0001\u0002\u0001\u0002"+ + "\u0003\u0002K\b\u0002\u0001\u0002\u0003\u0002N\b\u0002\u0001\u0002\u0003"+ + "\u0002Q\b\u0002\u0001\u0002\u0001\u0002\u0003\u0002U\b\u0002\u0001\u0003"+ + "\u0001\u0003\u0001\u0004\u0001\u0004\u0001\u0005\u0001\u0005\u0004\u0005"+ + "]\b\u0005\u000b\u0005\f\u0005^\u0001\u0005\u0001\u0005\u0001\u0006\u0001"+ + "\u0006\u0001\u0006\u0001\u0006\u0003\u0006g\b\u0006\u0001\u0007\u0001"+ + "\u0007\u0001\u0007\u0001\b\u0001\b\u0001\b\u0001\t\u0001\t\u0004\tq\b"+ + "\t\u000b\t\f\tr\u0001\t\u0001\t\u0001\n\u0001\n\u0001\n\u0003\nz\b\n\u0001"+ + "\u000b\u0003\u000b}\b\u000b\u0001\u000b\u0001\u000b\u0003\u000b\u0081"+ + "\b\u000b\u0001\u000b\u0003\u000b\u0084\b\u000b\u0001\u000b\u0003\u000b"+ + "\u0087\b\u000b\u0001\f\u0001\f\u0001\f\u0001\r\u0001\r\u0004\r\u008e\b"+ + "\r\u000b\r\f\r\u008f\u0001\r\u0001\r\u0001\u000e\u0001\u000e\u0001\u000e"+ + "\u0001\u000e\u0001\u000f\u0001\u000f\u0001\u000f\u0003\u000f\u009b\b\u000f"+ + "\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0003\u0010\u00a1\b\u0010"+ + "\u0001\u0010\u0001\u0010\u0001\u0011\u0001\u0011\u0001\u0011\u0001\u0011"+ + "\u0001\u0011\u0003\u0011\u00aa\b\u0011\u0001\u0011\u0001\u0011\u0001\u0012"+ + "\u0001\u0012\u0001\u0013\u0001\u0013\u0001\u0014\u0001\u0014\u0001\u0014"+ + "\u0001\u0014\u0001\u0014\u0001\u0014\u0001\u0014\u0001\u0014\u0001\u0014"+ + "\u0001\u0014\u0003\u0014\u00bc\b\u0014\u0001\u0015\u0001\u0015\u0001\u0016"+ + "\u0001\u0016\u0005\u0016\u00c2\b\u0016\n\u0016\f\u0016\u00c5\t\u0016\u0001"+ + "\u0016\u0001\u0016\u0001\u0017\u0001\u0017\u0005\u0017\u00cb\b\u0017\n"+ + "\u0017\f\u0017\u00ce\t\u0017\u0001\u0017\u0001\u0017\u0001\u0018\u0001"+ + "\u0018\u0001\u0018\u0001\u0018\u0001\u0019\u0004\u0019\u00d7\b\u0019\u000b"+ + "\u0019\f\u0019\u00d8\u0001\u001a\u0001\u001a\u0001\u001a\u0003\u001a\u00de"+ + "\b\u001a\u0001\u001b\u0001\u001b\u0001\u001b\u0003\u001b\u00e3\b\u001b"+ + "\u0001\u001c\u0001\u001c\u0001\u001d\u0001\u001d\u0001\u001d\u0001\u001d"+ + "\u0001\u001e\u0001\u001e\u0001\u001e\u0001\u001e\u0001\u001e\u0001\u001e"+ + "\u0003\u001e\u00f1\b\u001e\u0001\u001e\u0000\u0000\u001f\u0000\u0002\u0004"+ + "\u0006\b\n\f\u000e\u0010\u0012\u0014\u0016\u0018\u001a\u001c\u001e \""+ + "$&(*,.02468:<\u0000\u0002\u0002\u0000\u0001\u0003\u0015\u0015\u0001\u0000"+ + "\u0001\u0003\u00f6\u0000?\u0001\u0000\u0000\u0000\u0002E\u0001\u0000\u0000"+ + "\u0000\u0004T\u0001\u0000\u0000\u0000\u0006V\u0001\u0000\u0000\u0000\b"+ + "X\u0001\u0000\u0000\u0000\nZ\u0001\u0000\u0000\u0000\fb\u0001\u0000\u0000"+ + "\u0000\u000eh\u0001\u0000\u0000\u0000\u0010k\u0001\u0000\u0000\u0000\u0012"+ + "n\u0001\u0000\u0000\u0000\u0014y\u0001\u0000\u0000\u0000\u0016|\u0001"+ + "\u0000\u0000\u0000\u0018\u0088\u0001\u0000\u0000\u0000\u001a\u008b\u0001"+ + "\u0000\u0000\u0000\u001c\u0093\u0001\u0000\u0000\u0000\u001e\u0097\u0001"+ + "\u0000\u0000\u0000 \u009c\u0001\u0000\u0000\u0000\"\u00a4\u0001\u0000"+ + "\u0000\u0000$\u00ad\u0001\u0000\u0000\u0000&\u00af\u0001\u0000\u0000\u0000"+ + "(\u00bb\u0001\u0000\u0000\u0000*\u00bd\u0001\u0000\u0000\u0000,\u00bf"+ + "\u0001\u0000\u0000\u0000.\u00c8\u0001\u0000\u0000\u00000\u00d1\u0001\u0000"+ + "\u0000\u00002\u00d6\u0001\u0000\u0000\u00004\u00da\u0001\u0000\u0000\u0000"+ + "6\u00e2\u0001\u0000\u0000\u00008\u00e4\u0001\u0000\u0000\u0000:\u00e6"+ + "\u0001\u0000\u0000\u0000<\u00f0\u0001\u0000\u0000\u0000>@\u0003\u0002"+ + "\u0001\u0000?>\u0001\u0000\u0000\u0000@A\u0001\u0000\u0000\u0000A?\u0001"+ + "\u0000\u0000\u0000AB\u0001\u0000\u0000\u0000B\u0001\u0001\u0000\u0000"+ + "\u0000CF\u0003\u0004\u0002\u0000DF\u0003\"\u0011\u0000EC\u0001\u0000\u0000"+ + "\u0000ED\u0001\u0000\u0000\u0000F\u0003\u0001\u0000\u0000\u0000GU\u0003"+ + "\u0012\t\u0000HJ\u0003\b\u0004\u0000IK\u0003\u0006\u0003\u0000JI\u0001"+ + "\u0000\u0000\u0000JK\u0001\u0000\u0000\u0000KM\u0001\u0000\u0000\u0000"+ + "LN\u0003\n\u0005\u0000ML\u0001\u0000\u0000\u0000MN\u0001\u0000\u0000\u0000"+ + "NP\u0001\u0000\u0000\u0000OQ\u00032\u0019\u0000PO\u0001\u0000\u0000\u0000"+ + "PQ\u0001\u0000\u0000\u0000QR\u0001\u0000\u0000\u0000RS\u0003\u0012\t\u0000"+ + "SU\u0001\u0000\u0000\u0000TG\u0001\u0000\u0000\u0000TH\u0001\u0000\u0000"+ + "\u0000U\u0005\u0001\u0000\u0000\u0000VW\u0007\u0000\u0000\u0000W\u0007"+ + "\u0001\u0000\u0000\u0000XY\u0007\u0001\u0000\u0000Y\t\u0001\u0000\u0000"+ + "\u0000Z\\\u0005\u0004\u0000\u0000[]\u0003\f\u0006\u0000\\[\u0001\u0000"+ + "\u0000\u0000]^\u0001\u0000\u0000\u0000^\\\u0001\u0000\u0000\u0000^_\u0001"+ + "\u0000\u0000\u0000_`\u0001\u0000\u0000\u0000`a\u0005\u0005\u0000\u0000"+ + "a\u000b\u0001\u0000\u0000\u0000bc\u0003\u000e\u0007\u0000cd\u0005\u0006"+ + "\u0000\u0000df\u00036\u001b\u0000eg\u0003\u0010\b\u0000fe\u0001\u0000"+ + "\u0000\u0000fg\u0001\u0000\u0000\u0000g\r\u0001\u0000\u0000\u0000hi\u0005"+ + "\u0007\u0000\u0000ij\u0003\u0006\u0003\u0000j\u000f\u0001\u0000\u0000"+ + "\u0000kl\u0005\b\u0000\u0000lm\u0003(\u0014\u0000m\u0011\u0001\u0000\u0000"+ + "\u0000np\u0005\t\u0000\u0000oq\u0003\u0014\n\u0000po\u0001\u0000\u0000"+ + "\u0000qr\u0001\u0000\u0000\u0000rp\u0001\u0000\u0000\u0000rs\u0001\u0000"+ + "\u0000\u0000st\u0001\u0000\u0000\u0000tu\u0005\n\u0000\u0000u\u0013\u0001"+ + "\u0000\u0000\u0000vz\u0003\u0016\u000b\u0000wz\u0003\u001e\u000f\u0000"+ + "xz\u0003 \u0010\u0000yv\u0001\u0000\u0000\u0000yw\u0001\u0000\u0000\u0000"+ + "yx\u0001\u0000\u0000\u0000z\u0015\u0001\u0000\u0000\u0000{}\u0003\u0018"+ + "\f\u0000|{\u0001\u0000\u0000\u0000|}\u0001\u0000\u0000\u0000}~\u0001\u0000"+ + "\u0000\u0000~\u0080\u0003\u0006\u0003\u0000\u007f\u0081\u0003\u001a\r"+ + "\u0000\u0080\u007f\u0001\u0000\u0000\u0000\u0080\u0081\u0001\u0000\u0000"+ + "\u0000\u0081\u0083\u0001\u0000\u0000\u0000\u0082\u0084\u00032\u0019\u0000"+ + "\u0083\u0082\u0001\u0000\u0000\u0000\u0083\u0084\u0001\u0000\u0000\u0000"+ + "\u0084\u0086\u0001\u0000\u0000\u0000\u0085\u0087\u0003\u0012\t\u0000\u0086"+ + "\u0085\u0001\u0000\u0000\u0000\u0086\u0087\u0001\u0000\u0000\u0000\u0087"+ + "\u0017\u0001\u0000\u0000\u0000\u0088\u0089\u0003\u0006\u0003\u0000\u0089"+ + "\u008a\u0005\u0006\u0000\u0000\u008a\u0019\u0001\u0000\u0000\u0000\u008b"+ + "\u008d\u0005\u0004\u0000\u0000\u008c\u008e\u0003\u001c\u000e\u0000\u008d"+ + "\u008c\u0001\u0000\u0000\u0000\u008e\u008f\u0001\u0000\u0000\u0000\u008f"+ + "\u008d\u0001\u0000\u0000\u0000\u008f\u0090\u0001\u0000\u0000\u0000\u0090"+ + "\u0091\u0001\u0000\u0000\u0000\u0091\u0092\u0005\u0005\u0000\u0000\u0092"+ + "\u001b\u0001\u0000\u0000\u0000\u0093\u0094\u0003\u0006\u0003\u0000\u0094"+ + "\u0095\u0005\u0006\u0000\u0000\u0095\u0096\u0003(\u0014\u0000\u0096\u001d"+ + "\u0001\u0000\u0000\u0000\u0097\u0098\u0005\u000b\u0000\u0000\u0098\u009a"+ + "\u0003$\u0012\u0000\u0099\u009b\u00032\u0019\u0000\u009a\u0099\u0001\u0000"+ + "\u0000\u0000\u009a\u009b\u0001\u0000\u0000\u0000\u009b\u001f\u0001\u0000"+ + "\u0000\u0000\u009c\u009d\u0005\u000b\u0000\u0000\u009d\u009e\u0005\f\u0000"+ + "\u0000\u009e\u00a0\u0003&\u0013\u0000\u009f\u00a1\u00032\u0019\u0000\u00a0"+ + "\u009f\u0001\u0000\u0000\u0000\u00a0\u00a1\u0001\u0000\u0000\u0000\u00a1"+ + "\u00a2\u0001\u0000\u0000\u0000\u00a2\u00a3\u0003\u0012\t\u0000\u00a3!"+ + "\u0001\u0000\u0000\u0000\u00a4\u00a5\u0005\r\u0000\u0000\u00a5\u00a6\u0003"+ + "$\u0012\u0000\u00a6\u00a7\u0005\f\u0000\u0000\u00a7\u00a9\u0003&\u0013"+ + "\u0000\u00a8\u00aa\u00032\u0019\u0000\u00a9\u00a8\u0001\u0000\u0000\u0000"+ + "\u00a9\u00aa\u0001\u0000\u0000\u0000\u00aa\u00ab\u0001\u0000\u0000\u0000"+ + "\u00ab\u00ac\u0003\u0012\t\u0000\u00ac#\u0001\u0000\u0000\u0000\u00ad"+ + "\u00ae\u0003\u0006\u0003\u0000\u00ae%\u0001\u0000\u0000\u0000\u00af\u00b0"+ + "\u00038\u001c\u0000\u00b0\'\u0001\u0000\u0000\u0000\u00b1\u00bc\u0005"+ + "\u0016\u0000\u0000\u00b2\u00bc\u0005\u0017\u0000\u0000\u00b3\u00bc\u0005"+ + "\u001d\u0000\u0000\u00b4\u00bc\u0005\u001e\u0000\u0000\u00b5\u00bc\u0005"+ + "\u0012\u0000\u0000\u00b6\u00bc\u0005\u0013\u0000\u0000\u00b7\u00bc\u0003"+ + "*\u0015\u0000\u00b8\u00bc\u0003,\u0016\u0000\u00b9\u00bc\u0003.\u0017"+ + "\u0000\u00ba\u00bc\u0003\u000e\u0007\u0000\u00bb\u00b1\u0001\u0000\u0000"+ + "\u0000\u00bb\u00b2\u0001\u0000\u0000\u0000\u00bb\u00b3\u0001\u0000\u0000"+ + "\u0000\u00bb\u00b4\u0001\u0000\u0000\u0000\u00bb\u00b5\u0001\u0000\u0000"+ + "\u0000\u00bb\u00b6\u0001\u0000\u0000\u0000\u00bb\u00b7\u0001\u0000\u0000"+ + "\u0000\u00bb\u00b8\u0001\u0000\u0000\u0000\u00bb\u00b9\u0001\u0000\u0000"+ + "\u0000\u00bb\u00ba\u0001\u0000\u0000\u0000\u00bc)\u0001\u0000\u0000\u0000"+ + "\u00bd\u00be\u0003\u0006\u0003\u0000\u00be+\u0001\u0000\u0000\u0000\u00bf"+ + "\u00c3\u0005\u000e\u0000\u0000\u00c0\u00c2\u0003(\u0014\u0000\u00c1\u00c0"+ + "\u0001\u0000\u0000\u0000\u00c2\u00c5\u0001\u0000\u0000\u0000\u00c3\u00c1"+ + "\u0001\u0000\u0000\u0000\u00c3\u00c4\u0001\u0000\u0000\u0000\u00c4\u00c6"+ + "\u0001\u0000\u0000\u0000\u00c5\u00c3\u0001\u0000\u0000\u0000\u00c6\u00c7"+ + "\u0005\u000f\u0000\u0000\u00c7-\u0001\u0000\u0000\u0000\u00c8\u00cc\u0005"+ + "\t\u0000\u0000\u00c9\u00cb\u00030\u0018\u0000\u00ca\u00c9\u0001\u0000"+ + "\u0000\u0000\u00cb\u00ce\u0001\u0000\u0000\u0000\u00cc\u00ca\u0001\u0000"+ + "\u0000\u0000\u00cc\u00cd\u0001\u0000\u0000\u0000\u00cd\u00cf\u0001\u0000"+ + "\u0000\u0000\u00ce\u00cc\u0001\u0000\u0000\u0000\u00cf\u00d0\u0005\n\u0000"+ + "\u0000\u00d0/\u0001\u0000\u0000\u0000\u00d1\u00d2\u0003\u0006\u0003\u0000"+ + "\u00d2\u00d3\u0005\u0006\u0000\u0000\u00d3\u00d4\u0003(\u0014\u0000\u00d4"+ + "1\u0001\u0000\u0000\u0000\u00d5\u00d7\u00034\u001a\u0000\u00d6\u00d5\u0001"+ + "\u0000\u0000\u0000\u00d7\u00d8\u0001\u0000\u0000\u0000\u00d8\u00d6\u0001"+ + "\u0000\u0000\u0000\u00d8\u00d9\u0001\u0000\u0000\u0000\u00d93\u0001\u0000"+ + "\u0000\u0000\u00da\u00db\u0005\u0010\u0000\u0000\u00db\u00dd\u0003\u0006"+ + "\u0003\u0000\u00dc\u00de\u0003\u001a\r\u0000\u00dd\u00dc\u0001\u0000\u0000"+ + "\u0000\u00dd\u00de\u0001\u0000\u0000\u0000\u00de5\u0001\u0000\u0000\u0000"+ + "\u00df\u00e3\u00038\u001c\u0000\u00e0\u00e3\u0003:\u001d\u0000\u00e1\u00e3"+ + "\u0003<\u001e\u0000\u00e2\u00df\u0001\u0000\u0000\u0000\u00e2\u00e0\u0001"+ + "\u0000\u0000\u0000\u00e2\u00e1\u0001\u0000\u0000\u0000\u00e37\u0001\u0000"+ + "\u0000\u0000\u00e4\u00e5\u0003\u0006\u0003\u0000\u00e59\u0001\u0000\u0000"+ + "\u0000\u00e6\u00e7\u0005\u000e\u0000\u0000\u00e7\u00e8\u00036\u001b\u0000"+ + "\u00e8\u00e9\u0005\u000f\u0000\u0000\u00e9;\u0001\u0000\u0000\u0000\u00ea"+ + "\u00eb\u00038\u001c\u0000\u00eb\u00ec\u0005\u0011\u0000\u0000\u00ec\u00f1"+ + "\u0001\u0000\u0000\u0000\u00ed\u00ee\u0003:\u001d\u0000\u00ee\u00ef\u0005"+ + "\u0011\u0000\u0000\u00ef\u00f1\u0001\u0000\u0000\u0000\u00f0\u00ea\u0001"+ + "\u0000\u0000\u0000\u00f0\u00ed\u0001\u0000\u0000\u0000\u00f1=\u0001\u0000"+ + "\u0000\u0000\u0019AEJMPT^fry|\u0080\u0083\u0086\u008f\u009a\u00a0\u00a9"+ + "\u00bb\u00c3\u00cc\u00d8\u00dd\u00e2\u00f0"; + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); + static { + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); + } + } +} \ No newline at end of file diff --git a/gen/src/com/walmartlabs/lacinia/GraphqlVisitor.java b/gen/src/com/walmartlabs/lacinia/GraphqlVisitor.java new file mode 100644 index 00000000..30e1b5a3 --- /dev/null +++ b/gen/src/com/walmartlabs/lacinia/GraphqlVisitor.java @@ -0,0 +1,199 @@ +// Generated from /Users/namenu/Development/lacinia/resources/com/walmartlabs/lacinia/Graphql.g4 by ANTLR 4.13.1 +package com.walmartlabs.lacinia; +import org.antlr.v4.runtime.tree.ParseTreeVisitor; + +/** + * This interface defines a complete generic visitor for a parse tree produced + * by {@link GraphqlParser}. + * + * @param The return type of the visit operation. Use {@link Void} for + * operations with no return type. + */ +public interface GraphqlVisitor extends ParseTreeVisitor { + /** + * Visit a parse tree produced by {@link GraphqlParser#document}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitDocument(GraphqlParser.DocumentContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlParser#definition}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitDefinition(GraphqlParser.DefinitionContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlParser#operationDefinition}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitOperationDefinition(GraphqlParser.OperationDefinitionContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlParser#name}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitName(GraphqlParser.NameContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlParser#operationType}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitOperationType(GraphqlParser.OperationTypeContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlParser#variableDefinitions}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitVariableDefinitions(GraphqlParser.VariableDefinitionsContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlParser#variableDefinition}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitVariableDefinition(GraphqlParser.VariableDefinitionContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlParser#variable}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitVariable(GraphqlParser.VariableContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlParser#defaultValue}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitDefaultValue(GraphqlParser.DefaultValueContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlParser#selectionSet}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitSelectionSet(GraphqlParser.SelectionSetContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlParser#selection}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitSelection(GraphqlParser.SelectionContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlParser#field}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitField(GraphqlParser.FieldContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlParser#alias}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitAlias(GraphqlParser.AliasContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlParser#arguments}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitArguments(GraphqlParser.ArgumentsContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlParser#argument}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitArgument(GraphqlParser.ArgumentContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlParser#fragmentSpread}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitFragmentSpread(GraphqlParser.FragmentSpreadContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlParser#inlineFragment}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitInlineFragment(GraphqlParser.InlineFragmentContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlParser#fragmentDefinition}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitFragmentDefinition(GraphqlParser.FragmentDefinitionContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlParser#fragmentName}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitFragmentName(GraphqlParser.FragmentNameContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlParser#typeCondition}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitTypeCondition(GraphqlParser.TypeConditionContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlParser#value}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitValue(GraphqlParser.ValueContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlParser#enumValue}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitEnumValue(GraphqlParser.EnumValueContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlParser#arrayValue}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitArrayValue(GraphqlParser.ArrayValueContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlParser#objectValue}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitObjectValue(GraphqlParser.ObjectValueContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlParser#objectField}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitObjectField(GraphqlParser.ObjectFieldContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlParser#directives}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitDirectives(GraphqlParser.DirectivesContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlParser#directive}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitDirective(GraphqlParser.DirectiveContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlParser#type}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitType(GraphqlParser.TypeContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlParser#typeName}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitTypeName(GraphqlParser.TypeNameContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlParser#listType}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitListType(GraphqlParser.ListTypeContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlParser#nonNullType}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitNonNullType(GraphqlParser.NonNullTypeContext ctx); +} \ No newline at end of file From a1abfc2abdb4b67fcb700ac911cbe4ae32e51285 Mon Sep 17 00:00:00 2001 From: Hyunwoo Nam Date: Sun, 11 Feb 2024 23:33:45 +0900 Subject: [PATCH 04/16] only build with antlr4-runtime --- deps.edn | 5 ++-- src/com/walmartlabs/lacinia/parser/common.clj | 20 +++++++--------- src/com/walmartlabs/lacinia/parser/query.clj | 23 +++++++++++++++++-- src/com/walmartlabs/lacinia/parser/schema.clj | 6 ++--- 4 files changed, 33 insertions(+), 21 deletions(-) diff --git a/deps.edn b/deps.edn index 278c63f6..8e5daabc 100644 --- a/deps.edn +++ b/deps.edn @@ -1,9 +1,8 @@ {:deps {org.clojure/clojure {:mvn/version "1.11.1"} - clj-antlr/clj-antlr {:mvn/version "0.2.12"} - org.antlr/antlr4-runtime {:mvn/version "4.9.3"} + org.antlr/antlr4-runtime {:mvn/version "4.13.1"} org.flatland/ordered {:mvn/version "1.15.10"} org.clojure/data.json {:mvn/version "2.4.0"}} - :paths ["src" "resources" "gen/classes"] + :paths ["src" "resources" "gen/src" "gen/classes"] :aliases {:dev {:extra-deps {criterium/criterium {:mvn/version "0.4.6"} diff --git a/src/com/walmartlabs/lacinia/parser/common.clj b/src/com/walmartlabs/lacinia/parser/common.clj index 06563e91..4cea667f 100644 --- a/src/com/walmartlabs/lacinia/parser/common.clj +++ b/src/com/walmartlabs/lacinia/parser/common.clj @@ -13,15 +13,11 @@ ; limitations under the License. (ns ^:no-doc com.walmartlabs.lacinia.parser.common - (:require [clj-antlr.proto :as antlr.proto] - [clj-antlr.common :as antlr.common] - [clojure.string :as str] + (:require [clojure.string :as str] [com.walmartlabs.lacinia.internal-utils :refer [keepv]] - [clojure.java.io :as io] - [clj-antlr.core :as antlr.core]) + [clojure.java.io :as io]) (:import (org.antlr.v4.runtime.tree ParseTree TerminalNode) - (org.antlr.v4.runtime Parser ParserRuleContext Token) - (clj_antlr ParseError))) + (org.antlr.v4.runtime Parser ParserRuleContext Token))) (defn as-map "Converts a normal Antlr production into a map." @@ -138,9 +134,9 @@ {:line (.getLine token) :column (-> token .getCharPositionInLine inc)})))) -(defn ^:private traverse +(defn traverse [^ParseTree t ^Parser p] - (if (instance? ParserRuleContext t) + #_(if (instance? ParserRuleContext t) (let [node (cons (->> (.getRuleIndex ^ParserRuleContext t) (antlr.common/parser-rule-name p) antlr.common/fast-keyword) @@ -160,11 +156,11 @@ (defn antlr-parse [grammar input-document] - (let [{:keys [tree parser]} (antlr.proto/parse grammar nil input-document)] + #_(let [{:keys [tree parser]} (antlr.proto/parse grammar nil input-document)] (traverse tree parser))) (defn parse-failures - [^ParseError e] + [e] (let [errors (deref e)] (map (fn [{:keys [line column message]}] {:locations [{:line line @@ -174,7 +170,7 @@ (defn compile-grammar [path] - (-> path + #_(-> path io/resource slurp antlr.core/parser)) diff --git a/src/com/walmartlabs/lacinia/parser/query.clj b/src/com/walmartlabs/lacinia/parser/query.clj index 29f96fe6..a14d6592 100644 --- a/src/com/walmartlabs/lacinia/parser/query.clj +++ b/src/com/walmartlabs/lacinia/parser/query.clj @@ -23,7 +23,8 @@ #_[clojure.pprint :as pprint] [com.walmartlabs.lacinia.parser.common :as common]) (:import - (clj_antlr ParseError))) + (com.walmartlabs.lacinia GraphqlParser GraphqlLexer) + (org.antlr.v4.runtime CharStreams CommonTokenStream))) (def ^:private grammar (common/compile-grammar "com/walmartlabs/lacinia/Graphql.g4")) @@ -257,8 +258,26 @@ (xform-query (try (common/antlr-parse grammar input) - (catch ParseError e + (catch RuntimeException e (let [failures (common/parse-failures e)] (throw (ex-info "Failed to parse GraphQL query." {:errors failures}))))))) + +(comment + + (def query (slurp "dev-resources/parser/aliases.gql")) + (def query "query { foo }") + + (let [char-stream (CharStreams/fromString query) + lexer (GraphqlLexer. char-stream) + parser (GraphqlParser. (CommonTokenStream. lexer))] + (common/parse parser) + (common/traverse (.document parser) parser) + ) + + (parse-query query) + + (common/antlr-parse grammar query) + + ) \ No newline at end of file diff --git a/src/com/walmartlabs/lacinia/parser/schema.clj b/src/com/walmartlabs/lacinia/parser/schema.clj index 94219743..405cca20 100644 --- a/src/com/walmartlabs/lacinia/parser/schema.clj +++ b/src/com/walmartlabs/lacinia/parser/schema.clj @@ -23,9 +23,7 @@ [com.walmartlabs.lacinia.schema :as schema] [com.walmartlabs.lacinia.federation :as federation] [clojure.spec.alpha :as s] - [clojure.string :as str]) - (:import - (clj_antlr ParseError))) + [clojure.string :as str])) ;; When using Clojure 1.8, the dependency on clojure-future-spec must be included, ;; and this code will trigger @@ -608,7 +606,7 @@ {}) antlr-tree (try (common/antlr-parse @grammar schema-string) - (catch ParseError e + (catch RuntimeException e (let [failures (common/parse-failures e)] (throw (ex-info "Failed to parse GraphQL schema." {:errors failures})))))] From 9821157337d8001f64cb901a40ad7b52d07cfd51 Mon Sep 17 00:00:00 2001 From: Hyunwoo Nam Date: Mon, 12 Feb 2024 15:06:58 +0900 Subject: [PATCH 05/16] compile with generated parsers --- .../walmartlabs/lacinia/GraphqlSchema.interp | 148 + .../walmartlabs/lacinia/GraphqlSchema.tokens | 76 + .../lacinia/GraphqlSchemaBaseListener.java | 628 +++ .../lacinia/GraphqlSchemaBaseVisitor.java | 358 ++ .../lacinia/GraphqlSchemaLexer.interp | 158 + .../lacinia/GraphqlSchemaLexer.java | 487 ++ .../lacinia/GraphqlSchemaLexer.tokens | 76 + .../lacinia/GraphqlSchemaListener.java | 500 +++ .../lacinia/GraphqlSchemaParser.java | 3986 +++++++++++++++++ .../lacinia/GraphqlSchemaVisitor.java | 307 ++ .../lacinia/{schema.g4 => GraphqlSchema.g4} | 0 src/com/walmartlabs/lacinia/parser/antlr.clj | 52 + src/com/walmartlabs/lacinia/parser/common.clj | 23 +- src/com/walmartlabs/lacinia/parser/query.clj | 12 +- src/com/walmartlabs/lacinia/parser/schema.clj | 12 +- 15 files changed, 6794 insertions(+), 29 deletions(-) create mode 100644 gen/src/com/walmartlabs/lacinia/GraphqlSchema.interp create mode 100644 gen/src/com/walmartlabs/lacinia/GraphqlSchema.tokens create mode 100644 gen/src/com/walmartlabs/lacinia/GraphqlSchemaBaseListener.java create mode 100644 gen/src/com/walmartlabs/lacinia/GraphqlSchemaBaseVisitor.java create mode 100644 gen/src/com/walmartlabs/lacinia/GraphqlSchemaLexer.interp create mode 100644 gen/src/com/walmartlabs/lacinia/GraphqlSchemaLexer.java create mode 100644 gen/src/com/walmartlabs/lacinia/GraphqlSchemaLexer.tokens create mode 100644 gen/src/com/walmartlabs/lacinia/GraphqlSchemaListener.java create mode 100644 gen/src/com/walmartlabs/lacinia/GraphqlSchemaParser.java create mode 100644 gen/src/com/walmartlabs/lacinia/GraphqlSchemaVisitor.java rename resources/com/walmartlabs/lacinia/{schema.g4 => GraphqlSchema.g4} (100%) create mode 100644 src/com/walmartlabs/lacinia/parser/antlr.clj diff --git a/gen/src/com/walmartlabs/lacinia/GraphqlSchema.interp b/gen/src/com/walmartlabs/lacinia/GraphqlSchema.interp new file mode 100644 index 00000000..be419196 --- /dev/null +++ b/gen/src/com/walmartlabs/lacinia/GraphqlSchema.interp @@ -0,0 +1,148 @@ +token literal names: +null +'{' +'}' +':' +'|' +'@' +'(' +')' +'&' +'=' +'[' +']' +'!' +null +null +'type' +'implements' +'interface' +'schema' +'enum' +'union' +'input' +'directive' +'extend' +'scalar' +'on' +'fragment' +'query' +'mutation' +'subscription' +'value' +'true' +'false' +'null' +null +null +null +'-' +null +null +null +null +null +null +null + +token symbolic names: +null +null +null +null +null +null +null +null +null +null +null +null +null +EXECUTABLE_DIRECTIVE_LOCATION +TYPE_SYSTEM_DIRECTIVE_LOCATION +K_TYPE +K_IMPLEMENTS +K_INTERFACE +K_SCHEMA +K_ENUM +K_UNION +K_INPUT +K_DIRECTIVE +K_EXTEND +K_SCALAR +K_ON +K_FRAGMENT +K_QUERY +K_MUTATION +K_SUBSCRIPTION +K_VALUE +K_TRUE +K_FALSE +K_NULL +Name +IntValue +FloatValue +Sign +IntegerPart +NonZeroDigit +ExponentPart +Digit +StringValue +BlockStringValue +Ignored + +rule names: +graphqlSchema +description +schemaDef +operationTypeDef +queryOperationDef +mutationOperationDef +subscriptionOperationDef +directiveLocationList +directiveLocation +executableDirectiveLocation +typeSystemDirectiveLocation +directiveDef +directiveList +directive +directiveArgList +directiveArg +typeDef +typeExtDef +fieldDefs +implementationDef +inputTypeDef +inputTypeExtDef +inputValueDefs +inputValueDef +interfaceDef +scalarDef +unionDef +unionExtDef +unionTypes +enumDef +enumValueDefs +enumValueDef +fieldDef +argList +argument +typeSpec +typeName +listType +required +defaultValue +anyName +nameTokens +booleanValue +value +enumValue +arrayValue +objectValue +objectField +nullValue + + +atn: +[4, 1, 44, 464, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 2, 39, 7, 39, 2, 40, 7, 40, 2, 41, 7, 41, 2, 42, 7, 42, 2, 43, 7, 43, 2, 44, 7, 44, 2, 45, 7, 45, 2, 46, 7, 46, 2, 47, 7, 47, 2, 48, 7, 48, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 5, 0, 110, 8, 0, 10, 0, 12, 0, 113, 9, 0, 1, 1, 1, 1, 1, 2, 1, 2, 3, 2, 119, 8, 2, 1, 2, 1, 2, 4, 2, 123, 8, 2, 11, 2, 12, 2, 124, 1, 2, 1, 2, 1, 3, 1, 3, 1, 3, 3, 3, 132, 8, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 5, 7, 149, 8, 7, 10, 7, 12, 7, 152, 9, 7, 1, 7, 1, 7, 1, 8, 1, 8, 3, 8, 158, 8, 8, 1, 9, 1, 9, 1, 10, 1, 10, 1, 11, 3, 11, 165, 8, 11, 1, 11, 1, 11, 1, 11, 1, 11, 3, 11, 171, 8, 11, 1, 11, 1, 11, 1, 11, 1, 12, 4, 12, 177, 8, 12, 11, 12, 12, 12, 178, 1, 13, 1, 13, 1, 13, 3, 13, 184, 8, 13, 1, 14, 1, 14, 4, 14, 188, 8, 14, 11, 14, 12, 14, 189, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 1, 15, 1, 16, 3, 16, 199, 8, 16, 1, 16, 1, 16, 1, 16, 3, 16, 204, 8, 16, 1, 16, 3, 16, 207, 8, 16, 1, 16, 3, 16, 210, 8, 16, 1, 17, 3, 17, 213, 8, 17, 1, 17, 1, 17, 1, 17, 1, 17, 3, 17, 219, 8, 17, 1, 17, 3, 17, 222, 8, 17, 1, 17, 3, 17, 225, 8, 17, 1, 18, 1, 18, 4, 18, 229, 8, 18, 11, 18, 12, 18, 230, 1, 18, 1, 18, 1, 19, 1, 19, 3, 19, 237, 8, 19, 1, 19, 1, 19, 1, 19, 5, 19, 242, 8, 19, 10, 19, 12, 19, 245, 9, 19, 1, 20, 3, 20, 248, 8, 20, 1, 20, 1, 20, 1, 20, 3, 20, 253, 8, 20, 1, 20, 3, 20, 256, 8, 20, 1, 21, 3, 21, 259, 8, 21, 1, 21, 1, 21, 1, 21, 1, 21, 3, 21, 265, 8, 21, 1, 21, 3, 21, 268, 8, 21, 1, 22, 1, 22, 4, 22, 272, 8, 22, 11, 22, 12, 22, 273, 1, 22, 1, 22, 1, 23, 3, 23, 279, 8, 23, 1, 23, 1, 23, 1, 23, 1, 23, 3, 23, 285, 8, 23, 1, 23, 3, 23, 288, 8, 23, 1, 24, 3, 24, 291, 8, 24, 1, 24, 1, 24, 1, 24, 3, 24, 296, 8, 24, 1, 24, 3, 24, 299, 8, 24, 1, 25, 3, 25, 302, 8, 25, 1, 25, 1, 25, 1, 25, 3, 25, 307, 8, 25, 1, 26, 3, 26, 310, 8, 26, 1, 26, 1, 26, 1, 26, 3, 26, 315, 8, 26, 1, 26, 1, 26, 1, 26, 1, 27, 3, 27, 321, 8, 27, 1, 27, 1, 27, 1, 27, 1, 27, 3, 27, 327, 8, 27, 1, 27, 1, 27, 1, 27, 1, 28, 1, 28, 1, 28, 5, 28, 335, 8, 28, 10, 28, 12, 28, 338, 9, 28, 1, 28, 1, 28, 1, 29, 3, 29, 343, 8, 29, 1, 29, 1, 29, 1, 29, 3, 29, 348, 8, 29, 1, 29, 1, 29, 1, 30, 1, 30, 4, 30, 354, 8, 30, 11, 30, 12, 30, 355, 1, 30, 1, 30, 1, 31, 3, 31, 361, 8, 31, 1, 31, 1, 31, 3, 31, 365, 8, 31, 1, 32, 3, 32, 368, 8, 32, 1, 32, 1, 32, 3, 32, 372, 8, 32, 1, 32, 1, 32, 1, 32, 3, 32, 377, 8, 32, 1, 33, 1, 33, 4, 33, 381, 8, 33, 11, 33, 12, 33, 382, 1, 33, 1, 33, 1, 34, 3, 34, 388, 8, 34, 1, 34, 1, 34, 1, 34, 1, 34, 3, 34, 394, 8, 34, 1, 34, 3, 34, 397, 8, 34, 1, 35, 1, 35, 3, 35, 401, 8, 35, 1, 35, 3, 35, 404, 8, 35, 1, 36, 1, 36, 1, 37, 1, 37, 1, 37, 1, 37, 1, 38, 1, 38, 1, 39, 1, 39, 1, 39, 1, 40, 1, 40, 1, 40, 1, 40, 3, 40, 421, 8, 40, 1, 41, 1, 41, 1, 42, 1, 42, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 3, 43, 436, 8, 43, 1, 44, 1, 44, 1, 45, 1, 45, 5, 45, 442, 8, 45, 10, 45, 12, 45, 445, 9, 45, 1, 45, 1, 45, 1, 46, 1, 46, 5, 46, 451, 8, 46, 10, 46, 12, 46, 454, 9, 46, 1, 46, 1, 46, 1, 47, 1, 47, 1, 47, 1, 47, 1, 48, 1, 48, 1, 48, 0, 0, 49, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 0, 3, 1, 0, 42, 43, 2, 0, 13, 30, 34, 34, 1, 0, 31, 32, 494, 0, 111, 1, 0, 0, 0, 2, 114, 1, 0, 0, 0, 4, 116, 1, 0, 0, 0, 6, 131, 1, 0, 0, 0, 8, 133, 1, 0, 0, 0, 10, 137, 1, 0, 0, 0, 12, 141, 1, 0, 0, 0, 14, 150, 1, 0, 0, 0, 16, 157, 1, 0, 0, 0, 18, 159, 1, 0, 0, 0, 20, 161, 1, 0, 0, 0, 22, 164, 1, 0, 0, 0, 24, 176, 1, 0, 0, 0, 26, 180, 1, 0, 0, 0, 28, 185, 1, 0, 0, 0, 30, 193, 1, 0, 0, 0, 32, 198, 1, 0, 0, 0, 34, 212, 1, 0, 0, 0, 36, 226, 1, 0, 0, 0, 38, 234, 1, 0, 0, 0, 40, 247, 1, 0, 0, 0, 42, 258, 1, 0, 0, 0, 44, 269, 1, 0, 0, 0, 46, 278, 1, 0, 0, 0, 48, 290, 1, 0, 0, 0, 50, 301, 1, 0, 0, 0, 52, 309, 1, 0, 0, 0, 54, 320, 1, 0, 0, 0, 56, 336, 1, 0, 0, 0, 58, 342, 1, 0, 0, 0, 60, 351, 1, 0, 0, 0, 62, 360, 1, 0, 0, 0, 64, 367, 1, 0, 0, 0, 66, 378, 1, 0, 0, 0, 68, 387, 1, 0, 0, 0, 70, 400, 1, 0, 0, 0, 72, 405, 1, 0, 0, 0, 74, 407, 1, 0, 0, 0, 76, 411, 1, 0, 0, 0, 78, 413, 1, 0, 0, 0, 80, 420, 1, 0, 0, 0, 82, 422, 1, 0, 0, 0, 84, 424, 1, 0, 0, 0, 86, 435, 1, 0, 0, 0, 88, 437, 1, 0, 0, 0, 90, 439, 1, 0, 0, 0, 92, 448, 1, 0, 0, 0, 94, 457, 1, 0, 0, 0, 96, 461, 1, 0, 0, 0, 98, 110, 3, 4, 2, 0, 99, 110, 3, 32, 16, 0, 100, 110, 3, 34, 17, 0, 101, 110, 3, 40, 20, 0, 102, 110, 3, 42, 21, 0, 103, 110, 3, 52, 26, 0, 104, 110, 3, 54, 27, 0, 105, 110, 3, 58, 29, 0, 106, 110, 3, 48, 24, 0, 107, 110, 3, 50, 25, 0, 108, 110, 3, 22, 11, 0, 109, 98, 1, 0, 0, 0, 109, 99, 1, 0, 0, 0, 109, 100, 1, 0, 0, 0, 109, 101, 1, 0, 0, 0, 109, 102, 1, 0, 0, 0, 109, 103, 1, 0, 0, 0, 109, 104, 1, 0, 0, 0, 109, 105, 1, 0, 0, 0, 109, 106, 1, 0, 0, 0, 109, 107, 1, 0, 0, 0, 109, 108, 1, 0, 0, 0, 110, 113, 1, 0, 0, 0, 111, 109, 1, 0, 0, 0, 111, 112, 1, 0, 0, 0, 112, 1, 1, 0, 0, 0, 113, 111, 1, 0, 0, 0, 114, 115, 7, 0, 0, 0, 115, 3, 1, 0, 0, 0, 116, 118, 5, 18, 0, 0, 117, 119, 3, 24, 12, 0, 118, 117, 1, 0, 0, 0, 118, 119, 1, 0, 0, 0, 119, 120, 1, 0, 0, 0, 120, 122, 5, 1, 0, 0, 121, 123, 3, 6, 3, 0, 122, 121, 1, 0, 0, 0, 123, 124, 1, 0, 0, 0, 124, 122, 1, 0, 0, 0, 124, 125, 1, 0, 0, 0, 125, 126, 1, 0, 0, 0, 126, 127, 5, 2, 0, 0, 127, 5, 1, 0, 0, 0, 128, 132, 3, 8, 4, 0, 129, 132, 3, 10, 5, 0, 130, 132, 3, 12, 6, 0, 131, 128, 1, 0, 0, 0, 131, 129, 1, 0, 0, 0, 131, 130, 1, 0, 0, 0, 132, 7, 1, 0, 0, 0, 133, 134, 5, 27, 0, 0, 134, 135, 5, 3, 0, 0, 135, 136, 3, 80, 40, 0, 136, 9, 1, 0, 0, 0, 137, 138, 5, 28, 0, 0, 138, 139, 5, 3, 0, 0, 139, 140, 3, 80, 40, 0, 140, 11, 1, 0, 0, 0, 141, 142, 5, 29, 0, 0, 142, 143, 5, 3, 0, 0, 143, 144, 3, 80, 40, 0, 144, 13, 1, 0, 0, 0, 145, 146, 3, 16, 8, 0, 146, 147, 5, 4, 0, 0, 147, 149, 1, 0, 0, 0, 148, 145, 1, 0, 0, 0, 149, 152, 1, 0, 0, 0, 150, 148, 1, 0, 0, 0, 150, 151, 1, 0, 0, 0, 151, 153, 1, 0, 0, 0, 152, 150, 1, 0, 0, 0, 153, 154, 3, 16, 8, 0, 154, 15, 1, 0, 0, 0, 155, 158, 3, 18, 9, 0, 156, 158, 3, 20, 10, 0, 157, 155, 1, 0, 0, 0, 157, 156, 1, 0, 0, 0, 158, 17, 1, 0, 0, 0, 159, 160, 5, 13, 0, 0, 160, 19, 1, 0, 0, 0, 161, 162, 5, 14, 0, 0, 162, 21, 1, 0, 0, 0, 163, 165, 3, 2, 1, 0, 164, 163, 1, 0, 0, 0, 164, 165, 1, 0, 0, 0, 165, 166, 1, 0, 0, 0, 166, 167, 5, 22, 0, 0, 167, 168, 5, 5, 0, 0, 168, 170, 3, 80, 40, 0, 169, 171, 3, 66, 33, 0, 170, 169, 1, 0, 0, 0, 170, 171, 1, 0, 0, 0, 171, 172, 1, 0, 0, 0, 172, 173, 5, 25, 0, 0, 173, 174, 3, 14, 7, 0, 174, 23, 1, 0, 0, 0, 175, 177, 3, 26, 13, 0, 176, 175, 1, 0, 0, 0, 177, 178, 1, 0, 0, 0, 178, 176, 1, 0, 0, 0, 178, 179, 1, 0, 0, 0, 179, 25, 1, 0, 0, 0, 180, 181, 5, 5, 0, 0, 181, 183, 3, 80, 40, 0, 182, 184, 3, 28, 14, 0, 183, 182, 1, 0, 0, 0, 183, 184, 1, 0, 0, 0, 184, 27, 1, 0, 0, 0, 185, 187, 5, 6, 0, 0, 186, 188, 3, 30, 15, 0, 187, 186, 1, 0, 0, 0, 188, 189, 1, 0, 0, 0, 189, 187, 1, 0, 0, 0, 189, 190, 1, 0, 0, 0, 190, 191, 1, 0, 0, 0, 191, 192, 5, 7, 0, 0, 192, 29, 1, 0, 0, 0, 193, 194, 3, 80, 40, 0, 194, 195, 5, 3, 0, 0, 195, 196, 3, 86, 43, 0, 196, 31, 1, 0, 0, 0, 197, 199, 3, 2, 1, 0, 198, 197, 1, 0, 0, 0, 198, 199, 1, 0, 0, 0, 199, 200, 1, 0, 0, 0, 200, 201, 5, 15, 0, 0, 201, 203, 3, 80, 40, 0, 202, 204, 3, 38, 19, 0, 203, 202, 1, 0, 0, 0, 203, 204, 1, 0, 0, 0, 204, 206, 1, 0, 0, 0, 205, 207, 3, 24, 12, 0, 206, 205, 1, 0, 0, 0, 206, 207, 1, 0, 0, 0, 207, 209, 1, 0, 0, 0, 208, 210, 3, 36, 18, 0, 209, 208, 1, 0, 0, 0, 209, 210, 1, 0, 0, 0, 210, 33, 1, 0, 0, 0, 211, 213, 3, 2, 1, 0, 212, 211, 1, 0, 0, 0, 212, 213, 1, 0, 0, 0, 213, 214, 1, 0, 0, 0, 214, 215, 5, 23, 0, 0, 215, 216, 5, 15, 0, 0, 216, 218, 3, 80, 40, 0, 217, 219, 3, 38, 19, 0, 218, 217, 1, 0, 0, 0, 218, 219, 1, 0, 0, 0, 219, 221, 1, 0, 0, 0, 220, 222, 3, 24, 12, 0, 221, 220, 1, 0, 0, 0, 221, 222, 1, 0, 0, 0, 222, 224, 1, 0, 0, 0, 223, 225, 3, 36, 18, 0, 224, 223, 1, 0, 0, 0, 224, 225, 1, 0, 0, 0, 225, 35, 1, 0, 0, 0, 226, 228, 5, 1, 0, 0, 227, 229, 3, 64, 32, 0, 228, 227, 1, 0, 0, 0, 229, 230, 1, 0, 0, 0, 230, 228, 1, 0, 0, 0, 230, 231, 1, 0, 0, 0, 231, 232, 1, 0, 0, 0, 232, 233, 5, 2, 0, 0, 233, 37, 1, 0, 0, 0, 234, 236, 5, 16, 0, 0, 235, 237, 5, 8, 0, 0, 236, 235, 1, 0, 0, 0, 236, 237, 1, 0, 0, 0, 237, 238, 1, 0, 0, 0, 238, 243, 5, 34, 0, 0, 239, 240, 5, 8, 0, 0, 240, 242, 5, 34, 0, 0, 241, 239, 1, 0, 0, 0, 242, 245, 1, 0, 0, 0, 243, 241, 1, 0, 0, 0, 243, 244, 1, 0, 0, 0, 244, 39, 1, 0, 0, 0, 245, 243, 1, 0, 0, 0, 246, 248, 3, 2, 1, 0, 247, 246, 1, 0, 0, 0, 247, 248, 1, 0, 0, 0, 248, 249, 1, 0, 0, 0, 249, 250, 5, 21, 0, 0, 250, 252, 3, 80, 40, 0, 251, 253, 3, 24, 12, 0, 252, 251, 1, 0, 0, 0, 252, 253, 1, 0, 0, 0, 253, 255, 1, 0, 0, 0, 254, 256, 3, 44, 22, 0, 255, 254, 1, 0, 0, 0, 255, 256, 1, 0, 0, 0, 256, 41, 1, 0, 0, 0, 257, 259, 3, 2, 1, 0, 258, 257, 1, 0, 0, 0, 258, 259, 1, 0, 0, 0, 259, 260, 1, 0, 0, 0, 260, 261, 5, 23, 0, 0, 261, 262, 5, 21, 0, 0, 262, 264, 3, 80, 40, 0, 263, 265, 3, 24, 12, 0, 264, 263, 1, 0, 0, 0, 264, 265, 1, 0, 0, 0, 265, 267, 1, 0, 0, 0, 266, 268, 3, 44, 22, 0, 267, 266, 1, 0, 0, 0, 267, 268, 1, 0, 0, 0, 268, 43, 1, 0, 0, 0, 269, 271, 5, 1, 0, 0, 270, 272, 3, 46, 23, 0, 271, 270, 1, 0, 0, 0, 272, 273, 1, 0, 0, 0, 273, 271, 1, 0, 0, 0, 273, 274, 1, 0, 0, 0, 274, 275, 1, 0, 0, 0, 275, 276, 5, 2, 0, 0, 276, 45, 1, 0, 0, 0, 277, 279, 3, 2, 1, 0, 278, 277, 1, 0, 0, 0, 278, 279, 1, 0, 0, 0, 279, 280, 1, 0, 0, 0, 280, 281, 3, 80, 40, 0, 281, 282, 5, 3, 0, 0, 282, 284, 3, 70, 35, 0, 283, 285, 3, 78, 39, 0, 284, 283, 1, 0, 0, 0, 284, 285, 1, 0, 0, 0, 285, 287, 1, 0, 0, 0, 286, 288, 3, 24, 12, 0, 287, 286, 1, 0, 0, 0, 287, 288, 1, 0, 0, 0, 288, 47, 1, 0, 0, 0, 289, 291, 3, 2, 1, 0, 290, 289, 1, 0, 0, 0, 290, 291, 1, 0, 0, 0, 291, 292, 1, 0, 0, 0, 292, 293, 5, 17, 0, 0, 293, 295, 3, 80, 40, 0, 294, 296, 3, 24, 12, 0, 295, 294, 1, 0, 0, 0, 295, 296, 1, 0, 0, 0, 296, 298, 1, 0, 0, 0, 297, 299, 3, 36, 18, 0, 298, 297, 1, 0, 0, 0, 298, 299, 1, 0, 0, 0, 299, 49, 1, 0, 0, 0, 300, 302, 3, 2, 1, 0, 301, 300, 1, 0, 0, 0, 301, 302, 1, 0, 0, 0, 302, 303, 1, 0, 0, 0, 303, 304, 5, 24, 0, 0, 304, 306, 3, 80, 40, 0, 305, 307, 3, 24, 12, 0, 306, 305, 1, 0, 0, 0, 306, 307, 1, 0, 0, 0, 307, 51, 1, 0, 0, 0, 308, 310, 3, 2, 1, 0, 309, 308, 1, 0, 0, 0, 309, 310, 1, 0, 0, 0, 310, 311, 1, 0, 0, 0, 311, 312, 5, 20, 0, 0, 312, 314, 3, 80, 40, 0, 313, 315, 3, 24, 12, 0, 314, 313, 1, 0, 0, 0, 314, 315, 1, 0, 0, 0, 315, 316, 1, 0, 0, 0, 316, 317, 5, 9, 0, 0, 317, 318, 3, 56, 28, 0, 318, 53, 1, 0, 0, 0, 319, 321, 3, 2, 1, 0, 320, 319, 1, 0, 0, 0, 320, 321, 1, 0, 0, 0, 321, 322, 1, 0, 0, 0, 322, 323, 5, 23, 0, 0, 323, 324, 5, 20, 0, 0, 324, 326, 3, 80, 40, 0, 325, 327, 3, 24, 12, 0, 326, 325, 1, 0, 0, 0, 326, 327, 1, 0, 0, 0, 327, 328, 1, 0, 0, 0, 328, 329, 5, 9, 0, 0, 329, 330, 3, 56, 28, 0, 330, 55, 1, 0, 0, 0, 331, 332, 3, 80, 40, 0, 332, 333, 5, 4, 0, 0, 333, 335, 1, 0, 0, 0, 334, 331, 1, 0, 0, 0, 335, 338, 1, 0, 0, 0, 336, 334, 1, 0, 0, 0, 336, 337, 1, 0, 0, 0, 337, 339, 1, 0, 0, 0, 338, 336, 1, 0, 0, 0, 339, 340, 3, 80, 40, 0, 340, 57, 1, 0, 0, 0, 341, 343, 3, 2, 1, 0, 342, 341, 1, 0, 0, 0, 342, 343, 1, 0, 0, 0, 343, 344, 1, 0, 0, 0, 344, 345, 5, 19, 0, 0, 345, 347, 3, 80, 40, 0, 346, 348, 3, 24, 12, 0, 347, 346, 1, 0, 0, 0, 347, 348, 1, 0, 0, 0, 348, 349, 1, 0, 0, 0, 349, 350, 3, 60, 30, 0, 350, 59, 1, 0, 0, 0, 351, 353, 5, 1, 0, 0, 352, 354, 3, 62, 31, 0, 353, 352, 1, 0, 0, 0, 354, 355, 1, 0, 0, 0, 355, 353, 1, 0, 0, 0, 355, 356, 1, 0, 0, 0, 356, 357, 1, 0, 0, 0, 357, 358, 5, 2, 0, 0, 358, 61, 1, 0, 0, 0, 359, 361, 3, 2, 1, 0, 360, 359, 1, 0, 0, 0, 360, 361, 1, 0, 0, 0, 361, 362, 1, 0, 0, 0, 362, 364, 3, 82, 41, 0, 363, 365, 3, 24, 12, 0, 364, 363, 1, 0, 0, 0, 364, 365, 1, 0, 0, 0, 365, 63, 1, 0, 0, 0, 366, 368, 3, 2, 1, 0, 367, 366, 1, 0, 0, 0, 367, 368, 1, 0, 0, 0, 368, 369, 1, 0, 0, 0, 369, 371, 3, 80, 40, 0, 370, 372, 3, 66, 33, 0, 371, 370, 1, 0, 0, 0, 371, 372, 1, 0, 0, 0, 372, 373, 1, 0, 0, 0, 373, 374, 5, 3, 0, 0, 374, 376, 3, 70, 35, 0, 375, 377, 3, 24, 12, 0, 376, 375, 1, 0, 0, 0, 376, 377, 1, 0, 0, 0, 377, 65, 1, 0, 0, 0, 378, 380, 5, 6, 0, 0, 379, 381, 3, 68, 34, 0, 380, 379, 1, 0, 0, 0, 381, 382, 1, 0, 0, 0, 382, 380, 1, 0, 0, 0, 382, 383, 1, 0, 0, 0, 383, 384, 1, 0, 0, 0, 384, 385, 5, 7, 0, 0, 385, 67, 1, 0, 0, 0, 386, 388, 3, 2, 1, 0, 387, 386, 1, 0, 0, 0, 387, 388, 1, 0, 0, 0, 388, 389, 1, 0, 0, 0, 389, 390, 3, 80, 40, 0, 390, 391, 5, 3, 0, 0, 391, 393, 3, 70, 35, 0, 392, 394, 3, 78, 39, 0, 393, 392, 1, 0, 0, 0, 393, 394, 1, 0, 0, 0, 394, 396, 1, 0, 0, 0, 395, 397, 3, 24, 12, 0, 396, 395, 1, 0, 0, 0, 396, 397, 1, 0, 0, 0, 397, 69, 1, 0, 0, 0, 398, 401, 3, 72, 36, 0, 399, 401, 3, 74, 37, 0, 400, 398, 1, 0, 0, 0, 400, 399, 1, 0, 0, 0, 401, 403, 1, 0, 0, 0, 402, 404, 3, 76, 38, 0, 403, 402, 1, 0, 0, 0, 403, 404, 1, 0, 0, 0, 404, 71, 1, 0, 0, 0, 405, 406, 3, 80, 40, 0, 406, 73, 1, 0, 0, 0, 407, 408, 5, 10, 0, 0, 408, 409, 3, 70, 35, 0, 409, 410, 5, 11, 0, 0, 410, 75, 1, 0, 0, 0, 411, 412, 5, 12, 0, 0, 412, 77, 1, 0, 0, 0, 413, 414, 5, 9, 0, 0, 414, 415, 3, 86, 43, 0, 415, 79, 1, 0, 0, 0, 416, 421, 3, 82, 41, 0, 417, 421, 5, 31, 0, 0, 418, 421, 5, 32, 0, 0, 419, 421, 5, 33, 0, 0, 420, 416, 1, 0, 0, 0, 420, 417, 1, 0, 0, 0, 420, 418, 1, 0, 0, 0, 420, 419, 1, 0, 0, 0, 421, 81, 1, 0, 0, 0, 422, 423, 7, 1, 0, 0, 423, 83, 1, 0, 0, 0, 424, 425, 7, 2, 0, 0, 425, 85, 1, 0, 0, 0, 426, 436, 5, 35, 0, 0, 427, 436, 5, 36, 0, 0, 428, 436, 5, 42, 0, 0, 429, 436, 5, 43, 0, 0, 430, 436, 3, 84, 42, 0, 431, 436, 3, 96, 48, 0, 432, 436, 3, 88, 44, 0, 433, 436, 3, 90, 45, 0, 434, 436, 3, 92, 46, 0, 435, 426, 1, 0, 0, 0, 435, 427, 1, 0, 0, 0, 435, 428, 1, 0, 0, 0, 435, 429, 1, 0, 0, 0, 435, 430, 1, 0, 0, 0, 435, 431, 1, 0, 0, 0, 435, 432, 1, 0, 0, 0, 435, 433, 1, 0, 0, 0, 435, 434, 1, 0, 0, 0, 436, 87, 1, 0, 0, 0, 437, 438, 3, 82, 41, 0, 438, 89, 1, 0, 0, 0, 439, 443, 5, 10, 0, 0, 440, 442, 3, 86, 43, 0, 441, 440, 1, 0, 0, 0, 442, 445, 1, 0, 0, 0, 443, 441, 1, 0, 0, 0, 443, 444, 1, 0, 0, 0, 444, 446, 1, 0, 0, 0, 445, 443, 1, 0, 0, 0, 446, 447, 5, 11, 0, 0, 447, 91, 1, 0, 0, 0, 448, 452, 5, 1, 0, 0, 449, 451, 3, 94, 47, 0, 450, 449, 1, 0, 0, 0, 451, 454, 1, 0, 0, 0, 452, 450, 1, 0, 0, 0, 452, 453, 1, 0, 0, 0, 453, 455, 1, 0, 0, 0, 454, 452, 1, 0, 0, 0, 455, 456, 5, 2, 0, 0, 456, 93, 1, 0, 0, 0, 457, 458, 3, 80, 40, 0, 458, 459, 5, 3, 0, 0, 459, 460, 3, 86, 43, 0, 460, 95, 1, 0, 0, 0, 461, 462, 5, 33, 0, 0, 462, 97, 1, 0, 0, 0, 61, 109, 111, 118, 124, 131, 150, 157, 164, 170, 178, 183, 189, 198, 203, 206, 209, 212, 218, 221, 224, 230, 236, 243, 247, 252, 255, 258, 264, 267, 273, 278, 284, 287, 290, 295, 298, 301, 306, 309, 314, 320, 326, 336, 342, 347, 355, 360, 364, 367, 371, 376, 382, 387, 393, 396, 400, 403, 420, 435, 443, 452] \ No newline at end of file diff --git a/gen/src/com/walmartlabs/lacinia/GraphqlSchema.tokens b/gen/src/com/walmartlabs/lacinia/GraphqlSchema.tokens new file mode 100644 index 00000000..d5c4d0f9 --- /dev/null +++ b/gen/src/com/walmartlabs/lacinia/GraphqlSchema.tokens @@ -0,0 +1,76 @@ +T__0=1 +T__1=2 +T__2=3 +T__3=4 +T__4=5 +T__5=6 +T__6=7 +T__7=8 +T__8=9 +T__9=10 +T__10=11 +T__11=12 +EXECUTABLE_DIRECTIVE_LOCATION=13 +TYPE_SYSTEM_DIRECTIVE_LOCATION=14 +K_TYPE=15 +K_IMPLEMENTS=16 +K_INTERFACE=17 +K_SCHEMA=18 +K_ENUM=19 +K_UNION=20 +K_INPUT=21 +K_DIRECTIVE=22 +K_EXTEND=23 +K_SCALAR=24 +K_ON=25 +K_FRAGMENT=26 +K_QUERY=27 +K_MUTATION=28 +K_SUBSCRIPTION=29 +K_VALUE=30 +K_TRUE=31 +K_FALSE=32 +K_NULL=33 +Name=34 +IntValue=35 +FloatValue=36 +Sign=37 +IntegerPart=38 +NonZeroDigit=39 +ExponentPart=40 +Digit=41 +StringValue=42 +BlockStringValue=43 +Ignored=44 +'{'=1 +'}'=2 +':'=3 +'|'=4 +'@'=5 +'('=6 +')'=7 +'&'=8 +'='=9 +'['=10 +']'=11 +'!'=12 +'type'=15 +'implements'=16 +'interface'=17 +'schema'=18 +'enum'=19 +'union'=20 +'input'=21 +'directive'=22 +'extend'=23 +'scalar'=24 +'on'=25 +'fragment'=26 +'query'=27 +'mutation'=28 +'subscription'=29 +'value'=30 +'true'=31 +'false'=32 +'null'=33 +'-'=37 diff --git a/gen/src/com/walmartlabs/lacinia/GraphqlSchemaBaseListener.java b/gen/src/com/walmartlabs/lacinia/GraphqlSchemaBaseListener.java new file mode 100644 index 00000000..8bd61749 --- /dev/null +++ b/gen/src/com/walmartlabs/lacinia/GraphqlSchemaBaseListener.java @@ -0,0 +1,628 @@ +// Generated from /Users/namenu/Development/lacinia/resources/com/walmartlabs/lacinia/GraphqlSchema.g4 by ANTLR 4.13.1 +package com.walmartlabs.lacinia; + +import org.antlr.v4.runtime.ParserRuleContext; +import org.antlr.v4.runtime.tree.ErrorNode; +import org.antlr.v4.runtime.tree.TerminalNode; + +/** + * This class provides an empty implementation of {@link GraphqlSchemaListener}, + * which can be extended to create a listener which only needs to handle a subset + * of the available methods. + */ +@SuppressWarnings("CheckReturnValue") +public class GraphqlSchemaBaseListener implements GraphqlSchemaListener { + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterGraphqlSchema(GraphqlSchemaParser.GraphqlSchemaContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitGraphqlSchema(GraphqlSchemaParser.GraphqlSchemaContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterDescription(GraphqlSchemaParser.DescriptionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitDescription(GraphqlSchemaParser.DescriptionContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterSchemaDef(GraphqlSchemaParser.SchemaDefContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitSchemaDef(GraphqlSchemaParser.SchemaDefContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterOperationTypeDef(GraphqlSchemaParser.OperationTypeDefContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitOperationTypeDef(GraphqlSchemaParser.OperationTypeDefContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterQueryOperationDef(GraphqlSchemaParser.QueryOperationDefContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitQueryOperationDef(GraphqlSchemaParser.QueryOperationDefContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterMutationOperationDef(GraphqlSchemaParser.MutationOperationDefContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitMutationOperationDef(GraphqlSchemaParser.MutationOperationDefContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterSubscriptionOperationDef(GraphqlSchemaParser.SubscriptionOperationDefContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitSubscriptionOperationDef(GraphqlSchemaParser.SubscriptionOperationDefContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterDirectiveLocationList(GraphqlSchemaParser.DirectiveLocationListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitDirectiveLocationList(GraphqlSchemaParser.DirectiveLocationListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterDirectiveLocation(GraphqlSchemaParser.DirectiveLocationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitDirectiveLocation(GraphqlSchemaParser.DirectiveLocationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterExecutableDirectiveLocation(GraphqlSchemaParser.ExecutableDirectiveLocationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitExecutableDirectiveLocation(GraphqlSchemaParser.ExecutableDirectiveLocationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterTypeSystemDirectiveLocation(GraphqlSchemaParser.TypeSystemDirectiveLocationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitTypeSystemDirectiveLocation(GraphqlSchemaParser.TypeSystemDirectiveLocationContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterDirectiveDef(GraphqlSchemaParser.DirectiveDefContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitDirectiveDef(GraphqlSchemaParser.DirectiveDefContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterDirectiveList(GraphqlSchemaParser.DirectiveListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitDirectiveList(GraphqlSchemaParser.DirectiveListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterDirective(GraphqlSchemaParser.DirectiveContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitDirective(GraphqlSchemaParser.DirectiveContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterDirectiveArgList(GraphqlSchemaParser.DirectiveArgListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitDirectiveArgList(GraphqlSchemaParser.DirectiveArgListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterDirectiveArg(GraphqlSchemaParser.DirectiveArgContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitDirectiveArg(GraphqlSchemaParser.DirectiveArgContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterTypeDef(GraphqlSchemaParser.TypeDefContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitTypeDef(GraphqlSchemaParser.TypeDefContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterTypeExtDef(GraphqlSchemaParser.TypeExtDefContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitTypeExtDef(GraphqlSchemaParser.TypeExtDefContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterFieldDefs(GraphqlSchemaParser.FieldDefsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitFieldDefs(GraphqlSchemaParser.FieldDefsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterImplementationDef(GraphqlSchemaParser.ImplementationDefContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitImplementationDef(GraphqlSchemaParser.ImplementationDefContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterInputTypeDef(GraphqlSchemaParser.InputTypeDefContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitInputTypeDef(GraphqlSchemaParser.InputTypeDefContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterInputTypeExtDef(GraphqlSchemaParser.InputTypeExtDefContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitInputTypeExtDef(GraphqlSchemaParser.InputTypeExtDefContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterInputValueDefs(GraphqlSchemaParser.InputValueDefsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitInputValueDefs(GraphqlSchemaParser.InputValueDefsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterInputValueDef(GraphqlSchemaParser.InputValueDefContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitInputValueDef(GraphqlSchemaParser.InputValueDefContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterInterfaceDef(GraphqlSchemaParser.InterfaceDefContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitInterfaceDef(GraphqlSchemaParser.InterfaceDefContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterScalarDef(GraphqlSchemaParser.ScalarDefContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitScalarDef(GraphqlSchemaParser.ScalarDefContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterUnionDef(GraphqlSchemaParser.UnionDefContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitUnionDef(GraphqlSchemaParser.UnionDefContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterUnionExtDef(GraphqlSchemaParser.UnionExtDefContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitUnionExtDef(GraphqlSchemaParser.UnionExtDefContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterUnionTypes(GraphqlSchemaParser.UnionTypesContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitUnionTypes(GraphqlSchemaParser.UnionTypesContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterEnumDef(GraphqlSchemaParser.EnumDefContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitEnumDef(GraphqlSchemaParser.EnumDefContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterEnumValueDefs(GraphqlSchemaParser.EnumValueDefsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitEnumValueDefs(GraphqlSchemaParser.EnumValueDefsContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterEnumValueDef(GraphqlSchemaParser.EnumValueDefContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitEnumValueDef(GraphqlSchemaParser.EnumValueDefContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterFieldDef(GraphqlSchemaParser.FieldDefContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitFieldDef(GraphqlSchemaParser.FieldDefContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterArgList(GraphqlSchemaParser.ArgListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitArgList(GraphqlSchemaParser.ArgListContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterArgument(GraphqlSchemaParser.ArgumentContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitArgument(GraphqlSchemaParser.ArgumentContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterTypeSpec(GraphqlSchemaParser.TypeSpecContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitTypeSpec(GraphqlSchemaParser.TypeSpecContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterTypeName(GraphqlSchemaParser.TypeNameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitTypeName(GraphqlSchemaParser.TypeNameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterListType(GraphqlSchemaParser.ListTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitListType(GraphqlSchemaParser.ListTypeContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterRequired(GraphqlSchemaParser.RequiredContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitRequired(GraphqlSchemaParser.RequiredContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterDefaultValue(GraphqlSchemaParser.DefaultValueContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitDefaultValue(GraphqlSchemaParser.DefaultValueContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterAnyName(GraphqlSchemaParser.AnyNameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitAnyName(GraphqlSchemaParser.AnyNameContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterNameTokens(GraphqlSchemaParser.NameTokensContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitNameTokens(GraphqlSchemaParser.NameTokensContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterBooleanValue(GraphqlSchemaParser.BooleanValueContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitBooleanValue(GraphqlSchemaParser.BooleanValueContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterValue(GraphqlSchemaParser.ValueContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitValue(GraphqlSchemaParser.ValueContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterEnumValue(GraphqlSchemaParser.EnumValueContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitEnumValue(GraphqlSchemaParser.EnumValueContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterArrayValue(GraphqlSchemaParser.ArrayValueContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitArrayValue(GraphqlSchemaParser.ArrayValueContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterObjectValue(GraphqlSchemaParser.ObjectValueContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitObjectValue(GraphqlSchemaParser.ObjectValueContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterObjectField(GraphqlSchemaParser.ObjectFieldContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitObjectField(GraphqlSchemaParser.ObjectFieldContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterNullValue(GraphqlSchemaParser.NullValueContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitNullValue(GraphqlSchemaParser.NullValueContext ctx) { } + + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterEveryRule(ParserRuleContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitEveryRule(ParserRuleContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void visitTerminal(TerminalNode node) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void visitErrorNode(ErrorNode node) { } +} \ No newline at end of file diff --git a/gen/src/com/walmartlabs/lacinia/GraphqlSchemaBaseVisitor.java b/gen/src/com/walmartlabs/lacinia/GraphqlSchemaBaseVisitor.java new file mode 100644 index 00000000..316346e1 --- /dev/null +++ b/gen/src/com/walmartlabs/lacinia/GraphqlSchemaBaseVisitor.java @@ -0,0 +1,358 @@ +// Generated from /Users/namenu/Development/lacinia/resources/com/walmartlabs/lacinia/GraphqlSchema.g4 by ANTLR 4.13.1 +package com.walmartlabs.lacinia; +import org.antlr.v4.runtime.tree.AbstractParseTreeVisitor; + +/** + * This class provides an empty implementation of {@link GraphqlSchemaVisitor}, + * which can be extended to create a visitor which only needs to handle a subset + * of the available methods. + * + * @param The return type of the visit operation. Use {@link Void} for + * operations with no return type. + */ +@SuppressWarnings("CheckReturnValue") +public class GraphqlSchemaBaseVisitor extends AbstractParseTreeVisitor implements GraphqlSchemaVisitor { + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitGraphqlSchema(GraphqlSchemaParser.GraphqlSchemaContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitDescription(GraphqlSchemaParser.DescriptionContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitSchemaDef(GraphqlSchemaParser.SchemaDefContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitOperationTypeDef(GraphqlSchemaParser.OperationTypeDefContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitQueryOperationDef(GraphqlSchemaParser.QueryOperationDefContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitMutationOperationDef(GraphqlSchemaParser.MutationOperationDefContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitSubscriptionOperationDef(GraphqlSchemaParser.SubscriptionOperationDefContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitDirectiveLocationList(GraphqlSchemaParser.DirectiveLocationListContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitDirectiveLocation(GraphqlSchemaParser.DirectiveLocationContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitExecutableDirectiveLocation(GraphqlSchemaParser.ExecutableDirectiveLocationContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitTypeSystemDirectiveLocation(GraphqlSchemaParser.TypeSystemDirectiveLocationContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitDirectiveDef(GraphqlSchemaParser.DirectiveDefContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitDirectiveList(GraphqlSchemaParser.DirectiveListContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitDirective(GraphqlSchemaParser.DirectiveContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitDirectiveArgList(GraphqlSchemaParser.DirectiveArgListContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitDirectiveArg(GraphqlSchemaParser.DirectiveArgContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitTypeDef(GraphqlSchemaParser.TypeDefContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitTypeExtDef(GraphqlSchemaParser.TypeExtDefContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitFieldDefs(GraphqlSchemaParser.FieldDefsContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitImplementationDef(GraphqlSchemaParser.ImplementationDefContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitInputTypeDef(GraphqlSchemaParser.InputTypeDefContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitInputTypeExtDef(GraphqlSchemaParser.InputTypeExtDefContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitInputValueDefs(GraphqlSchemaParser.InputValueDefsContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitInputValueDef(GraphqlSchemaParser.InputValueDefContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitInterfaceDef(GraphqlSchemaParser.InterfaceDefContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitScalarDef(GraphqlSchemaParser.ScalarDefContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitUnionDef(GraphqlSchemaParser.UnionDefContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitUnionExtDef(GraphqlSchemaParser.UnionExtDefContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitUnionTypes(GraphqlSchemaParser.UnionTypesContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitEnumDef(GraphqlSchemaParser.EnumDefContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitEnumValueDefs(GraphqlSchemaParser.EnumValueDefsContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitEnumValueDef(GraphqlSchemaParser.EnumValueDefContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitFieldDef(GraphqlSchemaParser.FieldDefContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitArgList(GraphqlSchemaParser.ArgListContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitArgument(GraphqlSchemaParser.ArgumentContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitTypeSpec(GraphqlSchemaParser.TypeSpecContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitTypeName(GraphqlSchemaParser.TypeNameContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitListType(GraphqlSchemaParser.ListTypeContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitRequired(GraphqlSchemaParser.RequiredContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitDefaultValue(GraphqlSchemaParser.DefaultValueContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitAnyName(GraphqlSchemaParser.AnyNameContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitNameTokens(GraphqlSchemaParser.NameTokensContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitBooleanValue(GraphqlSchemaParser.BooleanValueContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitValue(GraphqlSchemaParser.ValueContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitEnumValue(GraphqlSchemaParser.EnumValueContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitArrayValue(GraphqlSchemaParser.ArrayValueContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitObjectValue(GraphqlSchemaParser.ObjectValueContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitObjectField(GraphqlSchemaParser.ObjectFieldContext ctx) { return visitChildren(ctx); } + /** + * {@inheritDoc} + * + *

The default implementation returns the result of calling + * {@link #visitChildren} on {@code ctx}.

+ */ + @Override public T visitNullValue(GraphqlSchemaParser.NullValueContext ctx) { return visitChildren(ctx); } +} \ No newline at end of file diff --git a/gen/src/com/walmartlabs/lacinia/GraphqlSchemaLexer.interp b/gen/src/com/walmartlabs/lacinia/GraphqlSchemaLexer.interp new file mode 100644 index 00000000..beaac116 --- /dev/null +++ b/gen/src/com/walmartlabs/lacinia/GraphqlSchemaLexer.interp @@ -0,0 +1,158 @@ +token literal names: +null +'{' +'}' +':' +'|' +'@' +'(' +')' +'&' +'=' +'[' +']' +'!' +null +null +'type' +'implements' +'interface' +'schema' +'enum' +'union' +'input' +'directive' +'extend' +'scalar' +'on' +'fragment' +'query' +'mutation' +'subscription' +'value' +'true' +'false' +'null' +null +null +null +'-' +null +null +null +null +null +null +null + +token symbolic names: +null +null +null +null +null +null +null +null +null +null +null +null +null +EXECUTABLE_DIRECTIVE_LOCATION +TYPE_SYSTEM_DIRECTIVE_LOCATION +K_TYPE +K_IMPLEMENTS +K_INTERFACE +K_SCHEMA +K_ENUM +K_UNION +K_INPUT +K_DIRECTIVE +K_EXTEND +K_SCALAR +K_ON +K_FRAGMENT +K_QUERY +K_MUTATION +K_SUBSCRIPTION +K_VALUE +K_TRUE +K_FALSE +K_NULL +Name +IntValue +FloatValue +Sign +IntegerPart +NonZeroDigit +ExponentPart +Digit +StringValue +BlockStringValue +Ignored + +rule names: +T__0 +T__1 +T__2 +T__3 +T__4 +T__5 +T__6 +T__7 +T__8 +T__9 +T__10 +T__11 +EXECUTABLE_DIRECTIVE_LOCATION +TYPE_SYSTEM_DIRECTIVE_LOCATION +K_TYPE +K_IMPLEMENTS +K_INTERFACE +K_SCHEMA +K_ENUM +K_UNION +K_INPUT +K_DIRECTIVE +K_EXTEND +K_SCALAR +K_ON +K_FRAGMENT +K_QUERY +K_MUTATION +K_SUBSCRIPTION +K_VALUE +K_TRUE +K_FALSE +K_NULL +Name +IntValue +FloatValue +Sign +IntegerPart +NonZeroDigit +ExponentPart +Digit +StringValue +BlockStringValue +EscapedChar +Unicode +DoubleQuote +TripleQuote +Hex +Ignored +Comment +LineTerminator +Whitespace +Comma + +channel names: +DEFAULT_TOKEN_CHANNEL +HIDDEN + +mode names: +DEFAULT_MODE + +atn: +[4, 0, 44, 576, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 2, 39, 7, 39, 2, 40, 7, 40, 2, 41, 7, 41, 2, 42, 7, 42, 2, 43, 7, 43, 2, 44, 7, 44, 2, 45, 7, 45, 2, 46, 7, 46, 2, 47, 7, 47, 2, 48, 7, 48, 2, 49, 7, 49, 2, 50, 7, 50, 2, 51, 7, 51, 2, 52, 7, 52, 1, 0, 1, 0, 1, 1, 1, 1, 1, 2, 1, 2, 1, 3, 1, 3, 1, 4, 1, 4, 1, 5, 1, 5, 1, 6, 1, 6, 1, 7, 1, 7, 1, 8, 1, 8, 1, 9, 1, 9, 1, 10, 1, 10, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 3, 12, 211, 8, 12, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 3, 13, 328, 8, 13, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 24, 1, 24, 1, 24, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 33, 1, 33, 5, 33, 468, 8, 33, 10, 33, 12, 33, 471, 9, 33, 1, 34, 3, 34, 474, 8, 34, 1, 34, 1, 34, 1, 35, 3, 35, 479, 8, 35, 1, 35, 1, 35, 1, 35, 4, 35, 484, 8, 35, 11, 35, 12, 35, 485, 3, 35, 488, 8, 35, 1, 35, 3, 35, 491, 8, 35, 1, 36, 1, 36, 1, 37, 1, 37, 1, 37, 1, 37, 4, 37, 499, 8, 37, 11, 37, 12, 37, 500, 3, 37, 503, 8, 37, 1, 38, 1, 38, 1, 39, 1, 39, 3, 39, 509, 8, 39, 1, 39, 4, 39, 512, 8, 39, 11, 39, 12, 39, 513, 1, 40, 1, 40, 1, 41, 1, 41, 1, 41, 5, 41, 521, 8, 41, 10, 41, 12, 41, 524, 9, 41, 1, 41, 1, 41, 1, 42, 1, 42, 5, 42, 530, 8, 42, 10, 42, 12, 42, 533, 9, 42, 1, 42, 1, 42, 1, 43, 1, 43, 1, 43, 3, 43, 540, 8, 43, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 45, 1, 45, 1, 46, 1, 46, 1, 46, 1, 46, 1, 47, 1, 47, 1, 48, 1, 48, 1, 48, 1, 48, 3, 48, 560, 8, 48, 1, 48, 1, 48, 1, 49, 1, 49, 5, 49, 566, 8, 49, 10, 49, 12, 49, 569, 9, 49, 1, 50, 1, 50, 1, 51, 1, 51, 1, 52, 1, 52, 1, 531, 0, 53, 1, 1, 3, 2, 5, 3, 7, 4, 9, 5, 11, 6, 13, 7, 15, 8, 17, 9, 19, 10, 21, 11, 23, 12, 25, 13, 27, 14, 29, 15, 31, 16, 33, 17, 35, 18, 37, 19, 39, 20, 41, 21, 43, 22, 45, 23, 47, 24, 49, 25, 51, 26, 53, 27, 55, 28, 57, 29, 59, 30, 61, 31, 63, 32, 65, 33, 67, 34, 69, 35, 71, 36, 73, 37, 75, 38, 77, 39, 79, 40, 81, 41, 83, 42, 85, 43, 87, 0, 89, 0, 91, 0, 93, 0, 95, 0, 97, 44, 99, 0, 101, 0, 103, 0, 105, 0, 1, 0, 8, 3, 0, 65, 90, 95, 95, 97, 122, 4, 0, 48, 57, 65, 90, 95, 95, 97, 122, 2, 0, 69, 69, 101, 101, 5, 0, 10, 10, 13, 13, 34, 34, 92, 92, 8232, 8233, 8, 0, 34, 34, 47, 47, 92, 92, 98, 98, 102, 102, 110, 110, 114, 114, 116, 116, 3, 0, 48, 57, 65, 70, 97, 102, 3, 0, 10, 10, 13, 13, 8232, 8233, 4, 0, 9, 9, 11, 12, 32, 32, 160, 160, 601, 0, 1, 1, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 5, 1, 0, 0, 0, 0, 7, 1, 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11, 1, 0, 0, 0, 0, 13, 1, 0, 0, 0, 0, 15, 1, 0, 0, 0, 0, 17, 1, 0, 0, 0, 0, 19, 1, 0, 0, 0, 0, 21, 1, 0, 0, 0, 0, 23, 1, 0, 0, 0, 0, 25, 1, 0, 0, 0, 0, 27, 1, 0, 0, 0, 0, 29, 1, 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 1, 0, 0, 0, 0, 37, 1, 0, 0, 0, 0, 39, 1, 0, 0, 0, 0, 41, 1, 0, 0, 0, 0, 43, 1, 0, 0, 0, 0, 45, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 49, 1, 0, 0, 0, 0, 51, 1, 0, 0, 0, 0, 53, 1, 0, 0, 0, 0, 55, 1, 0, 0, 0, 0, 57, 1, 0, 0, 0, 0, 59, 1, 0, 0, 0, 0, 61, 1, 0, 0, 0, 0, 63, 1, 0, 0, 0, 0, 65, 1, 0, 0, 0, 0, 67, 1, 0, 0, 0, 0, 69, 1, 0, 0, 0, 0, 71, 1, 0, 0, 0, 0, 73, 1, 0, 0, 0, 0, 75, 1, 0, 0, 0, 0, 77, 1, 0, 0, 0, 0, 79, 1, 0, 0, 0, 0, 81, 1, 0, 0, 0, 0, 83, 1, 0, 0, 0, 0, 85, 1, 0, 0, 0, 0, 97, 1, 0, 0, 0, 1, 107, 1, 0, 0, 0, 3, 109, 1, 0, 0, 0, 5, 111, 1, 0, 0, 0, 7, 113, 1, 0, 0, 0, 9, 115, 1, 0, 0, 0, 11, 117, 1, 0, 0, 0, 13, 119, 1, 0, 0, 0, 15, 121, 1, 0, 0, 0, 17, 123, 1, 0, 0, 0, 19, 125, 1, 0, 0, 0, 21, 127, 1, 0, 0, 0, 23, 129, 1, 0, 0, 0, 25, 210, 1, 0, 0, 0, 27, 327, 1, 0, 0, 0, 29, 329, 1, 0, 0, 0, 31, 334, 1, 0, 0, 0, 33, 345, 1, 0, 0, 0, 35, 355, 1, 0, 0, 0, 37, 362, 1, 0, 0, 0, 39, 367, 1, 0, 0, 0, 41, 373, 1, 0, 0, 0, 43, 379, 1, 0, 0, 0, 45, 389, 1, 0, 0, 0, 47, 396, 1, 0, 0, 0, 49, 403, 1, 0, 0, 0, 51, 406, 1, 0, 0, 0, 53, 415, 1, 0, 0, 0, 55, 421, 1, 0, 0, 0, 57, 430, 1, 0, 0, 0, 59, 443, 1, 0, 0, 0, 61, 449, 1, 0, 0, 0, 63, 454, 1, 0, 0, 0, 65, 460, 1, 0, 0, 0, 67, 465, 1, 0, 0, 0, 69, 473, 1, 0, 0, 0, 71, 478, 1, 0, 0, 0, 73, 492, 1, 0, 0, 0, 75, 502, 1, 0, 0, 0, 77, 504, 1, 0, 0, 0, 79, 506, 1, 0, 0, 0, 81, 515, 1, 0, 0, 0, 83, 517, 1, 0, 0, 0, 85, 527, 1, 0, 0, 0, 87, 536, 1, 0, 0, 0, 89, 541, 1, 0, 0, 0, 91, 547, 1, 0, 0, 0, 93, 549, 1, 0, 0, 0, 95, 553, 1, 0, 0, 0, 97, 559, 1, 0, 0, 0, 99, 563, 1, 0, 0, 0, 101, 570, 1, 0, 0, 0, 103, 572, 1, 0, 0, 0, 105, 574, 1, 0, 0, 0, 107, 108, 5, 123, 0, 0, 108, 2, 1, 0, 0, 0, 109, 110, 5, 125, 0, 0, 110, 4, 1, 0, 0, 0, 111, 112, 5, 58, 0, 0, 112, 6, 1, 0, 0, 0, 113, 114, 5, 124, 0, 0, 114, 8, 1, 0, 0, 0, 115, 116, 5, 64, 0, 0, 116, 10, 1, 0, 0, 0, 117, 118, 5, 40, 0, 0, 118, 12, 1, 0, 0, 0, 119, 120, 5, 41, 0, 0, 120, 14, 1, 0, 0, 0, 121, 122, 5, 38, 0, 0, 122, 16, 1, 0, 0, 0, 123, 124, 5, 61, 0, 0, 124, 18, 1, 0, 0, 0, 125, 126, 5, 91, 0, 0, 126, 20, 1, 0, 0, 0, 127, 128, 5, 93, 0, 0, 128, 22, 1, 0, 0, 0, 129, 130, 5, 33, 0, 0, 130, 24, 1, 0, 0, 0, 131, 132, 5, 81, 0, 0, 132, 133, 5, 85, 0, 0, 133, 134, 5, 69, 0, 0, 134, 135, 5, 82, 0, 0, 135, 211, 5, 89, 0, 0, 136, 137, 5, 77, 0, 0, 137, 138, 5, 85, 0, 0, 138, 139, 5, 84, 0, 0, 139, 140, 5, 65, 0, 0, 140, 141, 5, 84, 0, 0, 141, 142, 5, 73, 0, 0, 142, 143, 5, 79, 0, 0, 143, 211, 5, 78, 0, 0, 144, 145, 5, 83, 0, 0, 145, 146, 5, 85, 0, 0, 146, 147, 5, 66, 0, 0, 147, 148, 5, 83, 0, 0, 148, 149, 5, 67, 0, 0, 149, 150, 5, 82, 0, 0, 150, 151, 5, 73, 0, 0, 151, 152, 5, 80, 0, 0, 152, 153, 5, 84, 0, 0, 153, 154, 5, 73, 0, 0, 154, 155, 5, 79, 0, 0, 155, 211, 5, 78, 0, 0, 156, 157, 5, 70, 0, 0, 157, 158, 5, 73, 0, 0, 158, 159, 5, 69, 0, 0, 159, 160, 5, 76, 0, 0, 160, 211, 5, 68, 0, 0, 161, 162, 5, 70, 0, 0, 162, 163, 5, 82, 0, 0, 163, 164, 5, 65, 0, 0, 164, 165, 5, 71, 0, 0, 165, 166, 5, 77, 0, 0, 166, 167, 5, 69, 0, 0, 167, 168, 5, 78, 0, 0, 168, 169, 5, 84, 0, 0, 169, 170, 5, 95, 0, 0, 170, 171, 5, 68, 0, 0, 171, 172, 5, 69, 0, 0, 172, 173, 5, 70, 0, 0, 173, 174, 5, 73, 0, 0, 174, 175, 5, 78, 0, 0, 175, 176, 5, 73, 0, 0, 176, 177, 5, 84, 0, 0, 177, 178, 5, 73, 0, 0, 178, 179, 5, 79, 0, 0, 179, 211, 5, 78, 0, 0, 180, 181, 5, 70, 0, 0, 181, 182, 5, 82, 0, 0, 182, 183, 5, 65, 0, 0, 183, 184, 5, 71, 0, 0, 184, 185, 5, 77, 0, 0, 185, 186, 5, 69, 0, 0, 186, 187, 5, 78, 0, 0, 187, 188, 5, 84, 0, 0, 188, 189, 5, 95, 0, 0, 189, 190, 5, 83, 0, 0, 190, 191, 5, 80, 0, 0, 191, 192, 5, 82, 0, 0, 192, 193, 5, 69, 0, 0, 193, 194, 5, 65, 0, 0, 194, 211, 5, 68, 0, 0, 195, 196, 5, 73, 0, 0, 196, 197, 5, 78, 0, 0, 197, 198, 5, 76, 0, 0, 198, 199, 5, 73, 0, 0, 199, 200, 5, 78, 0, 0, 200, 201, 5, 69, 0, 0, 201, 202, 5, 95, 0, 0, 202, 203, 5, 70, 0, 0, 203, 204, 5, 82, 0, 0, 204, 205, 5, 65, 0, 0, 205, 206, 5, 71, 0, 0, 206, 207, 5, 77, 0, 0, 207, 208, 5, 69, 0, 0, 208, 209, 5, 78, 0, 0, 209, 211, 5, 84, 0, 0, 210, 131, 1, 0, 0, 0, 210, 136, 1, 0, 0, 0, 210, 144, 1, 0, 0, 0, 210, 156, 1, 0, 0, 0, 210, 161, 1, 0, 0, 0, 210, 180, 1, 0, 0, 0, 210, 195, 1, 0, 0, 0, 211, 26, 1, 0, 0, 0, 212, 213, 5, 83, 0, 0, 213, 214, 5, 67, 0, 0, 214, 215, 5, 72, 0, 0, 215, 216, 5, 69, 0, 0, 216, 217, 5, 77, 0, 0, 217, 328, 5, 65, 0, 0, 218, 219, 5, 83, 0, 0, 219, 220, 5, 67, 0, 0, 220, 221, 5, 65, 0, 0, 221, 222, 5, 76, 0, 0, 222, 223, 5, 65, 0, 0, 223, 328, 5, 82, 0, 0, 224, 225, 5, 79, 0, 0, 225, 226, 5, 66, 0, 0, 226, 227, 5, 74, 0, 0, 227, 228, 5, 69, 0, 0, 228, 229, 5, 67, 0, 0, 229, 328, 5, 84, 0, 0, 230, 231, 5, 70, 0, 0, 231, 232, 5, 73, 0, 0, 232, 233, 5, 69, 0, 0, 233, 234, 5, 76, 0, 0, 234, 235, 5, 68, 0, 0, 235, 236, 5, 95, 0, 0, 236, 237, 5, 68, 0, 0, 237, 238, 5, 69, 0, 0, 238, 239, 5, 70, 0, 0, 239, 240, 5, 73, 0, 0, 240, 241, 5, 78, 0, 0, 241, 242, 5, 73, 0, 0, 242, 243, 5, 84, 0, 0, 243, 244, 5, 73, 0, 0, 244, 245, 5, 79, 0, 0, 245, 328, 5, 78, 0, 0, 246, 247, 5, 65, 0, 0, 247, 248, 5, 82, 0, 0, 248, 249, 5, 71, 0, 0, 249, 250, 5, 85, 0, 0, 250, 251, 5, 77, 0, 0, 251, 252, 5, 69, 0, 0, 252, 253, 5, 78, 0, 0, 253, 254, 5, 84, 0, 0, 254, 255, 5, 95, 0, 0, 255, 256, 5, 68, 0, 0, 256, 257, 5, 69, 0, 0, 257, 258, 5, 70, 0, 0, 258, 259, 5, 73, 0, 0, 259, 260, 5, 78, 0, 0, 260, 261, 5, 73, 0, 0, 261, 262, 5, 84, 0, 0, 262, 263, 5, 73, 0, 0, 263, 264, 5, 79, 0, 0, 264, 328, 5, 78, 0, 0, 265, 266, 5, 73, 0, 0, 266, 267, 5, 78, 0, 0, 267, 268, 5, 84, 0, 0, 268, 269, 5, 69, 0, 0, 269, 270, 5, 82, 0, 0, 270, 271, 5, 70, 0, 0, 271, 272, 5, 65, 0, 0, 272, 273, 5, 67, 0, 0, 273, 328, 5, 69, 0, 0, 274, 275, 5, 85, 0, 0, 275, 276, 5, 78, 0, 0, 276, 277, 5, 73, 0, 0, 277, 278, 5, 79, 0, 0, 278, 328, 5, 78, 0, 0, 279, 280, 5, 69, 0, 0, 280, 281, 5, 78, 0, 0, 281, 282, 5, 85, 0, 0, 282, 328, 5, 77, 0, 0, 283, 284, 5, 69, 0, 0, 284, 285, 5, 78, 0, 0, 285, 286, 5, 85, 0, 0, 286, 287, 5, 77, 0, 0, 287, 288, 5, 95, 0, 0, 288, 289, 5, 86, 0, 0, 289, 290, 5, 65, 0, 0, 290, 291, 5, 76, 0, 0, 291, 292, 5, 85, 0, 0, 292, 328, 5, 69, 0, 0, 293, 294, 5, 73, 0, 0, 294, 295, 5, 78, 0, 0, 295, 296, 5, 80, 0, 0, 296, 297, 5, 85, 0, 0, 297, 298, 5, 84, 0, 0, 298, 299, 5, 95, 0, 0, 299, 300, 5, 79, 0, 0, 300, 301, 5, 66, 0, 0, 301, 302, 5, 74, 0, 0, 302, 303, 5, 69, 0, 0, 303, 304, 5, 67, 0, 0, 304, 328, 5, 84, 0, 0, 305, 306, 5, 73, 0, 0, 306, 307, 5, 78, 0, 0, 307, 308, 5, 80, 0, 0, 308, 309, 5, 85, 0, 0, 309, 310, 5, 84, 0, 0, 310, 311, 5, 95, 0, 0, 311, 312, 5, 70, 0, 0, 312, 313, 5, 73, 0, 0, 313, 314, 5, 69, 0, 0, 314, 315, 5, 76, 0, 0, 315, 316, 5, 68, 0, 0, 316, 317, 5, 95, 0, 0, 317, 318, 5, 68, 0, 0, 318, 319, 5, 69, 0, 0, 319, 320, 5, 70, 0, 0, 320, 321, 5, 73, 0, 0, 321, 322, 5, 78, 0, 0, 322, 323, 5, 73, 0, 0, 323, 324, 5, 84, 0, 0, 324, 325, 5, 73, 0, 0, 325, 326, 5, 79, 0, 0, 326, 328, 5, 78, 0, 0, 327, 212, 1, 0, 0, 0, 327, 218, 1, 0, 0, 0, 327, 224, 1, 0, 0, 0, 327, 230, 1, 0, 0, 0, 327, 246, 1, 0, 0, 0, 327, 265, 1, 0, 0, 0, 327, 274, 1, 0, 0, 0, 327, 279, 1, 0, 0, 0, 327, 283, 1, 0, 0, 0, 327, 293, 1, 0, 0, 0, 327, 305, 1, 0, 0, 0, 328, 28, 1, 0, 0, 0, 329, 330, 5, 116, 0, 0, 330, 331, 5, 121, 0, 0, 331, 332, 5, 112, 0, 0, 332, 333, 5, 101, 0, 0, 333, 30, 1, 0, 0, 0, 334, 335, 5, 105, 0, 0, 335, 336, 5, 109, 0, 0, 336, 337, 5, 112, 0, 0, 337, 338, 5, 108, 0, 0, 338, 339, 5, 101, 0, 0, 339, 340, 5, 109, 0, 0, 340, 341, 5, 101, 0, 0, 341, 342, 5, 110, 0, 0, 342, 343, 5, 116, 0, 0, 343, 344, 5, 115, 0, 0, 344, 32, 1, 0, 0, 0, 345, 346, 5, 105, 0, 0, 346, 347, 5, 110, 0, 0, 347, 348, 5, 116, 0, 0, 348, 349, 5, 101, 0, 0, 349, 350, 5, 114, 0, 0, 350, 351, 5, 102, 0, 0, 351, 352, 5, 97, 0, 0, 352, 353, 5, 99, 0, 0, 353, 354, 5, 101, 0, 0, 354, 34, 1, 0, 0, 0, 355, 356, 5, 115, 0, 0, 356, 357, 5, 99, 0, 0, 357, 358, 5, 104, 0, 0, 358, 359, 5, 101, 0, 0, 359, 360, 5, 109, 0, 0, 360, 361, 5, 97, 0, 0, 361, 36, 1, 0, 0, 0, 362, 363, 5, 101, 0, 0, 363, 364, 5, 110, 0, 0, 364, 365, 5, 117, 0, 0, 365, 366, 5, 109, 0, 0, 366, 38, 1, 0, 0, 0, 367, 368, 5, 117, 0, 0, 368, 369, 5, 110, 0, 0, 369, 370, 5, 105, 0, 0, 370, 371, 5, 111, 0, 0, 371, 372, 5, 110, 0, 0, 372, 40, 1, 0, 0, 0, 373, 374, 5, 105, 0, 0, 374, 375, 5, 110, 0, 0, 375, 376, 5, 112, 0, 0, 376, 377, 5, 117, 0, 0, 377, 378, 5, 116, 0, 0, 378, 42, 1, 0, 0, 0, 379, 380, 5, 100, 0, 0, 380, 381, 5, 105, 0, 0, 381, 382, 5, 114, 0, 0, 382, 383, 5, 101, 0, 0, 383, 384, 5, 99, 0, 0, 384, 385, 5, 116, 0, 0, 385, 386, 5, 105, 0, 0, 386, 387, 5, 118, 0, 0, 387, 388, 5, 101, 0, 0, 388, 44, 1, 0, 0, 0, 389, 390, 5, 101, 0, 0, 390, 391, 5, 120, 0, 0, 391, 392, 5, 116, 0, 0, 392, 393, 5, 101, 0, 0, 393, 394, 5, 110, 0, 0, 394, 395, 5, 100, 0, 0, 395, 46, 1, 0, 0, 0, 396, 397, 5, 115, 0, 0, 397, 398, 5, 99, 0, 0, 398, 399, 5, 97, 0, 0, 399, 400, 5, 108, 0, 0, 400, 401, 5, 97, 0, 0, 401, 402, 5, 114, 0, 0, 402, 48, 1, 0, 0, 0, 403, 404, 5, 111, 0, 0, 404, 405, 5, 110, 0, 0, 405, 50, 1, 0, 0, 0, 406, 407, 5, 102, 0, 0, 407, 408, 5, 114, 0, 0, 408, 409, 5, 97, 0, 0, 409, 410, 5, 103, 0, 0, 410, 411, 5, 109, 0, 0, 411, 412, 5, 101, 0, 0, 412, 413, 5, 110, 0, 0, 413, 414, 5, 116, 0, 0, 414, 52, 1, 0, 0, 0, 415, 416, 5, 113, 0, 0, 416, 417, 5, 117, 0, 0, 417, 418, 5, 101, 0, 0, 418, 419, 5, 114, 0, 0, 419, 420, 5, 121, 0, 0, 420, 54, 1, 0, 0, 0, 421, 422, 5, 109, 0, 0, 422, 423, 5, 117, 0, 0, 423, 424, 5, 116, 0, 0, 424, 425, 5, 97, 0, 0, 425, 426, 5, 116, 0, 0, 426, 427, 5, 105, 0, 0, 427, 428, 5, 111, 0, 0, 428, 429, 5, 110, 0, 0, 429, 56, 1, 0, 0, 0, 430, 431, 5, 115, 0, 0, 431, 432, 5, 117, 0, 0, 432, 433, 5, 98, 0, 0, 433, 434, 5, 115, 0, 0, 434, 435, 5, 99, 0, 0, 435, 436, 5, 114, 0, 0, 436, 437, 5, 105, 0, 0, 437, 438, 5, 112, 0, 0, 438, 439, 5, 116, 0, 0, 439, 440, 5, 105, 0, 0, 440, 441, 5, 111, 0, 0, 441, 442, 5, 110, 0, 0, 442, 58, 1, 0, 0, 0, 443, 444, 5, 118, 0, 0, 444, 445, 5, 97, 0, 0, 445, 446, 5, 108, 0, 0, 446, 447, 5, 117, 0, 0, 447, 448, 5, 101, 0, 0, 448, 60, 1, 0, 0, 0, 449, 450, 5, 116, 0, 0, 450, 451, 5, 114, 0, 0, 451, 452, 5, 117, 0, 0, 452, 453, 5, 101, 0, 0, 453, 62, 1, 0, 0, 0, 454, 455, 5, 102, 0, 0, 455, 456, 5, 97, 0, 0, 456, 457, 5, 108, 0, 0, 457, 458, 5, 115, 0, 0, 458, 459, 5, 101, 0, 0, 459, 64, 1, 0, 0, 0, 460, 461, 5, 110, 0, 0, 461, 462, 5, 117, 0, 0, 462, 463, 5, 108, 0, 0, 463, 464, 5, 108, 0, 0, 464, 66, 1, 0, 0, 0, 465, 469, 7, 0, 0, 0, 466, 468, 7, 1, 0, 0, 467, 466, 1, 0, 0, 0, 468, 471, 1, 0, 0, 0, 469, 467, 1, 0, 0, 0, 469, 470, 1, 0, 0, 0, 470, 68, 1, 0, 0, 0, 471, 469, 1, 0, 0, 0, 472, 474, 3, 73, 36, 0, 473, 472, 1, 0, 0, 0, 473, 474, 1, 0, 0, 0, 474, 475, 1, 0, 0, 0, 475, 476, 3, 75, 37, 0, 476, 70, 1, 0, 0, 0, 477, 479, 3, 73, 36, 0, 478, 477, 1, 0, 0, 0, 478, 479, 1, 0, 0, 0, 479, 480, 1, 0, 0, 0, 480, 487, 3, 75, 37, 0, 481, 483, 5, 46, 0, 0, 482, 484, 3, 81, 40, 0, 483, 482, 1, 0, 0, 0, 484, 485, 1, 0, 0, 0, 485, 483, 1, 0, 0, 0, 485, 486, 1, 0, 0, 0, 486, 488, 1, 0, 0, 0, 487, 481, 1, 0, 0, 0, 487, 488, 1, 0, 0, 0, 488, 490, 1, 0, 0, 0, 489, 491, 3, 79, 39, 0, 490, 489, 1, 0, 0, 0, 490, 491, 1, 0, 0, 0, 491, 72, 1, 0, 0, 0, 492, 493, 5, 45, 0, 0, 493, 74, 1, 0, 0, 0, 494, 503, 5, 48, 0, 0, 495, 503, 3, 77, 38, 0, 496, 498, 3, 77, 38, 0, 497, 499, 3, 81, 40, 0, 498, 497, 1, 0, 0, 0, 499, 500, 1, 0, 0, 0, 500, 498, 1, 0, 0, 0, 500, 501, 1, 0, 0, 0, 501, 503, 1, 0, 0, 0, 502, 494, 1, 0, 0, 0, 502, 495, 1, 0, 0, 0, 502, 496, 1, 0, 0, 0, 503, 76, 1, 0, 0, 0, 504, 505, 2, 49, 57, 0, 505, 78, 1, 0, 0, 0, 506, 508, 7, 2, 0, 0, 507, 509, 3, 73, 36, 0, 508, 507, 1, 0, 0, 0, 508, 509, 1, 0, 0, 0, 509, 511, 1, 0, 0, 0, 510, 512, 3, 81, 40, 0, 511, 510, 1, 0, 0, 0, 512, 513, 1, 0, 0, 0, 513, 511, 1, 0, 0, 0, 513, 514, 1, 0, 0, 0, 514, 80, 1, 0, 0, 0, 515, 516, 2, 48, 57, 0, 516, 82, 1, 0, 0, 0, 517, 522, 3, 91, 45, 0, 518, 521, 8, 3, 0, 0, 519, 521, 3, 87, 43, 0, 520, 518, 1, 0, 0, 0, 520, 519, 1, 0, 0, 0, 521, 524, 1, 0, 0, 0, 522, 520, 1, 0, 0, 0, 522, 523, 1, 0, 0, 0, 523, 525, 1, 0, 0, 0, 524, 522, 1, 0, 0, 0, 525, 526, 3, 91, 45, 0, 526, 84, 1, 0, 0, 0, 527, 531, 3, 93, 46, 0, 528, 530, 9, 0, 0, 0, 529, 528, 1, 0, 0, 0, 530, 533, 1, 0, 0, 0, 531, 532, 1, 0, 0, 0, 531, 529, 1, 0, 0, 0, 532, 534, 1, 0, 0, 0, 533, 531, 1, 0, 0, 0, 534, 535, 3, 93, 46, 0, 535, 86, 1, 0, 0, 0, 536, 539, 5, 92, 0, 0, 537, 540, 7, 4, 0, 0, 538, 540, 3, 89, 44, 0, 539, 537, 1, 0, 0, 0, 539, 538, 1, 0, 0, 0, 540, 88, 1, 0, 0, 0, 541, 542, 5, 117, 0, 0, 542, 543, 3, 95, 47, 0, 543, 544, 3, 95, 47, 0, 544, 545, 3, 95, 47, 0, 545, 546, 3, 95, 47, 0, 546, 90, 1, 0, 0, 0, 547, 548, 5, 34, 0, 0, 548, 92, 1, 0, 0, 0, 549, 550, 5, 34, 0, 0, 550, 551, 5, 34, 0, 0, 551, 552, 5, 34, 0, 0, 552, 94, 1, 0, 0, 0, 553, 554, 7, 5, 0, 0, 554, 96, 1, 0, 0, 0, 555, 560, 3, 103, 51, 0, 556, 560, 3, 105, 52, 0, 557, 560, 3, 101, 50, 0, 558, 560, 3, 99, 49, 0, 559, 555, 1, 0, 0, 0, 559, 556, 1, 0, 0, 0, 559, 557, 1, 0, 0, 0, 559, 558, 1, 0, 0, 0, 560, 561, 1, 0, 0, 0, 561, 562, 6, 48, 0, 0, 562, 98, 1, 0, 0, 0, 563, 567, 5, 35, 0, 0, 564, 566, 8, 6, 0, 0, 565, 564, 1, 0, 0, 0, 566, 569, 1, 0, 0, 0, 567, 565, 1, 0, 0, 0, 567, 568, 1, 0, 0, 0, 568, 100, 1, 0, 0, 0, 569, 567, 1, 0, 0, 0, 570, 571, 7, 6, 0, 0, 571, 102, 1, 0, 0, 0, 572, 573, 7, 7, 0, 0, 573, 104, 1, 0, 0, 0, 574, 575, 5, 44, 0, 0, 575, 106, 1, 0, 0, 0, 19, 0, 210, 327, 469, 473, 478, 485, 487, 490, 500, 502, 508, 513, 520, 522, 531, 539, 559, 567, 1, 6, 0, 0] \ No newline at end of file diff --git a/gen/src/com/walmartlabs/lacinia/GraphqlSchemaLexer.java b/gen/src/com/walmartlabs/lacinia/GraphqlSchemaLexer.java new file mode 100644 index 00000000..5264cbfd --- /dev/null +++ b/gen/src/com/walmartlabs/lacinia/GraphqlSchemaLexer.java @@ -0,0 +1,487 @@ +// Generated from /Users/namenu/Development/lacinia/resources/com/walmartlabs/lacinia/GraphqlSchema.g4 by ANTLR 4.13.1 +package com.walmartlabs.lacinia; +import org.antlr.v4.runtime.Lexer; +import org.antlr.v4.runtime.CharStream; +import org.antlr.v4.runtime.Token; +import org.antlr.v4.runtime.TokenStream; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.misc.*; + +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast", "CheckReturnValue", "this-escape"}) +public class GraphqlSchemaLexer extends Lexer { + static { RuntimeMetaData.checkVersion("4.13.1", RuntimeMetaData.VERSION); } + + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + T__0=1, T__1=2, T__2=3, T__3=4, T__4=5, T__5=6, T__6=7, T__7=8, T__8=9, + T__9=10, T__10=11, T__11=12, EXECUTABLE_DIRECTIVE_LOCATION=13, TYPE_SYSTEM_DIRECTIVE_LOCATION=14, + K_TYPE=15, K_IMPLEMENTS=16, K_INTERFACE=17, K_SCHEMA=18, K_ENUM=19, K_UNION=20, + K_INPUT=21, K_DIRECTIVE=22, K_EXTEND=23, K_SCALAR=24, K_ON=25, K_FRAGMENT=26, + K_QUERY=27, K_MUTATION=28, K_SUBSCRIPTION=29, K_VALUE=30, K_TRUE=31, K_FALSE=32, + K_NULL=33, Name=34, IntValue=35, FloatValue=36, Sign=37, IntegerPart=38, + NonZeroDigit=39, ExponentPart=40, Digit=41, StringValue=42, BlockStringValue=43, + Ignored=44; + public static String[] channelNames = { + "DEFAULT_TOKEN_CHANNEL", "HIDDEN" + }; + + public static String[] modeNames = { + "DEFAULT_MODE" + }; + + private static String[] makeRuleNames() { + return new String[] { + "T__0", "T__1", "T__2", "T__3", "T__4", "T__5", "T__6", "T__7", "T__8", + "T__9", "T__10", "T__11", "EXECUTABLE_DIRECTIVE_LOCATION", "TYPE_SYSTEM_DIRECTIVE_LOCATION", + "K_TYPE", "K_IMPLEMENTS", "K_INTERFACE", "K_SCHEMA", "K_ENUM", "K_UNION", + "K_INPUT", "K_DIRECTIVE", "K_EXTEND", "K_SCALAR", "K_ON", "K_FRAGMENT", + "K_QUERY", "K_MUTATION", "K_SUBSCRIPTION", "K_VALUE", "K_TRUE", "K_FALSE", + "K_NULL", "Name", "IntValue", "FloatValue", "Sign", "IntegerPart", "NonZeroDigit", + "ExponentPart", "Digit", "StringValue", "BlockStringValue", "EscapedChar", + "Unicode", "DoubleQuote", "TripleQuote", "Hex", "Ignored", "Comment", + "LineTerminator", "Whitespace", "Comma" + }; + } + public static final String[] ruleNames = makeRuleNames(); + + private static String[] makeLiteralNames() { + return new String[] { + null, "'{'", "'}'", "':'", "'|'", "'@'", "'('", "')'", "'&'", "'='", + "'['", "']'", "'!'", null, null, "'type'", "'implements'", "'interface'", + "'schema'", "'enum'", "'union'", "'input'", "'directive'", "'extend'", + "'scalar'", "'on'", "'fragment'", "'query'", "'mutation'", "'subscription'", + "'value'", "'true'", "'false'", "'null'", null, null, null, "'-'" + }; + } + private static final String[] _LITERAL_NAMES = makeLiteralNames(); + private static String[] makeSymbolicNames() { + return new String[] { + null, null, null, null, null, null, null, null, null, null, null, null, + null, "EXECUTABLE_DIRECTIVE_LOCATION", "TYPE_SYSTEM_DIRECTIVE_LOCATION", + "K_TYPE", "K_IMPLEMENTS", "K_INTERFACE", "K_SCHEMA", "K_ENUM", "K_UNION", + "K_INPUT", "K_DIRECTIVE", "K_EXTEND", "K_SCALAR", "K_ON", "K_FRAGMENT", + "K_QUERY", "K_MUTATION", "K_SUBSCRIPTION", "K_VALUE", "K_TRUE", "K_FALSE", + "K_NULL", "Name", "IntValue", "FloatValue", "Sign", "IntegerPart", "NonZeroDigit", + "ExponentPart", "Digit", "StringValue", "BlockStringValue", "Ignored" + }; + } + private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); + } + + if (tokenNames[i] == null) { + tokenNames[i] = ""; + } + } + } + + @Override + @Deprecated + public String[] getTokenNames() { + return tokenNames; + } + + @Override + + public Vocabulary getVocabulary() { + return VOCABULARY; + } + + + public GraphqlSchemaLexer(CharStream input) { + super(input); + _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); + } + + @Override + public String getGrammarFileName() { return "GraphqlSchema.g4"; } + + @Override + public String[] getRuleNames() { return ruleNames; } + + @Override + public String getSerializedATN() { return _serializedATN; } + + @Override + public String[] getChannelNames() { return channelNames; } + + @Override + public String[] getModeNames() { return modeNames; } + + @Override + public ATN getATN() { return _ATN; } + + public static final String _serializedATN = + "\u0004\u0000,\u0240\u0006\uffff\uffff\u0002\u0000\u0007\u0000\u0002\u0001"+ + "\u0007\u0001\u0002\u0002\u0007\u0002\u0002\u0003\u0007\u0003\u0002\u0004"+ + "\u0007\u0004\u0002\u0005\u0007\u0005\u0002\u0006\u0007\u0006\u0002\u0007"+ + "\u0007\u0007\u0002\b\u0007\b\u0002\t\u0007\t\u0002\n\u0007\n\u0002\u000b"+ + "\u0007\u000b\u0002\f\u0007\f\u0002\r\u0007\r\u0002\u000e\u0007\u000e\u0002"+ + "\u000f\u0007\u000f\u0002\u0010\u0007\u0010\u0002\u0011\u0007\u0011\u0002"+ + "\u0012\u0007\u0012\u0002\u0013\u0007\u0013\u0002\u0014\u0007\u0014\u0002"+ + "\u0015\u0007\u0015\u0002\u0016\u0007\u0016\u0002\u0017\u0007\u0017\u0002"+ + "\u0018\u0007\u0018\u0002\u0019\u0007\u0019\u0002\u001a\u0007\u001a\u0002"+ + "\u001b\u0007\u001b\u0002\u001c\u0007\u001c\u0002\u001d\u0007\u001d\u0002"+ + "\u001e\u0007\u001e\u0002\u001f\u0007\u001f\u0002 \u0007 \u0002!\u0007"+ + "!\u0002\"\u0007\"\u0002#\u0007#\u0002$\u0007$\u0002%\u0007%\u0002&\u0007"+ + "&\u0002\'\u0007\'\u0002(\u0007(\u0002)\u0007)\u0002*\u0007*\u0002+\u0007"+ + "+\u0002,\u0007,\u0002-\u0007-\u0002.\u0007.\u0002/\u0007/\u00020\u0007"+ + "0\u00021\u00071\u00022\u00072\u00023\u00073\u00024\u00074\u0001\u0000"+ + "\u0001\u0000\u0001\u0001\u0001\u0001\u0001\u0002\u0001\u0002\u0001\u0003"+ + "\u0001\u0003\u0001\u0004\u0001\u0004\u0001\u0005\u0001\u0005\u0001\u0006"+ + "\u0001\u0006\u0001\u0007\u0001\u0007\u0001\b\u0001\b\u0001\t\u0001\t\u0001"+ + "\n\u0001\n\u0001\u000b\u0001\u000b\u0001\f\u0001\f\u0001\f\u0001\f\u0001"+ + "\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001"+ + "\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001"+ + "\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001"+ + "\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001"+ + "\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001"+ + "\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001"+ + "\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001"+ + "\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001\f\u0001"+ + "\f\u0001\f\u0001\f\u0003\f\u00d3\b\f\u0001\r\u0001\r\u0001\r\u0001\r\u0001"+ + "\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001"+ + "\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001"+ + "\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001"+ + "\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001"+ + "\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001"+ + "\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001"+ + "\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001"+ + "\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001"+ + "\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001"+ + "\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001"+ + "\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001"+ + "\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r\u0001"+ + "\r\u0001\r\u0001\r\u0003\r\u0148\b\r\u0001\u000e\u0001\u000e\u0001\u000e"+ + "\u0001\u000e\u0001\u000e\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f"+ + "\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f"+ + "\u0001\u000f\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010"+ + "\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0011"+ + "\u0001\u0011\u0001\u0011\u0001\u0011\u0001\u0011\u0001\u0011\u0001\u0011"+ + "\u0001\u0012\u0001\u0012\u0001\u0012\u0001\u0012\u0001\u0012\u0001\u0013"+ + "\u0001\u0013\u0001\u0013\u0001\u0013\u0001\u0013\u0001\u0013\u0001\u0014"+ + "\u0001\u0014\u0001\u0014\u0001\u0014\u0001\u0014\u0001\u0014\u0001\u0015"+ + "\u0001\u0015\u0001\u0015\u0001\u0015\u0001\u0015\u0001\u0015\u0001\u0015"+ + "\u0001\u0015\u0001\u0015\u0001\u0015\u0001\u0016\u0001\u0016\u0001\u0016"+ + "\u0001\u0016\u0001\u0016\u0001\u0016\u0001\u0016\u0001\u0017\u0001\u0017"+ + "\u0001\u0017\u0001\u0017\u0001\u0017\u0001\u0017\u0001\u0017\u0001\u0018"+ + "\u0001\u0018\u0001\u0018\u0001\u0019\u0001\u0019\u0001\u0019\u0001\u0019"+ + "\u0001\u0019\u0001\u0019\u0001\u0019\u0001\u0019\u0001\u0019\u0001\u001a"+ + "\u0001\u001a\u0001\u001a\u0001\u001a\u0001\u001a\u0001\u001a\u0001\u001b"+ + "\u0001\u001b\u0001\u001b\u0001\u001b\u0001\u001b\u0001\u001b\u0001\u001b"+ + "\u0001\u001b\u0001\u001b\u0001\u001c\u0001\u001c\u0001\u001c\u0001\u001c"+ + "\u0001\u001c\u0001\u001c\u0001\u001c\u0001\u001c\u0001\u001c\u0001\u001c"+ + "\u0001\u001c\u0001\u001c\u0001\u001c\u0001\u001d\u0001\u001d\u0001\u001d"+ + "\u0001\u001d\u0001\u001d\u0001\u001d\u0001\u001e\u0001\u001e\u0001\u001e"+ + "\u0001\u001e\u0001\u001e\u0001\u001f\u0001\u001f\u0001\u001f\u0001\u001f"+ + "\u0001\u001f\u0001\u001f\u0001 \u0001 \u0001 \u0001 \u0001 \u0001!\u0001"+ + "!\u0005!\u01d4\b!\n!\f!\u01d7\t!\u0001\"\u0003\"\u01da\b\"\u0001\"\u0001"+ + "\"\u0001#\u0003#\u01df\b#\u0001#\u0001#\u0001#\u0004#\u01e4\b#\u000b#"+ + "\f#\u01e5\u0003#\u01e8\b#\u0001#\u0003#\u01eb\b#\u0001$\u0001$\u0001%"+ + "\u0001%\u0001%\u0001%\u0004%\u01f3\b%\u000b%\f%\u01f4\u0003%\u01f7\b%"+ + "\u0001&\u0001&\u0001\'\u0001\'\u0003\'\u01fd\b\'\u0001\'\u0004\'\u0200"+ + "\b\'\u000b\'\f\'\u0201\u0001(\u0001(\u0001)\u0001)\u0001)\u0005)\u0209"+ + "\b)\n)\f)\u020c\t)\u0001)\u0001)\u0001*\u0001*\u0005*\u0212\b*\n*\f*\u0215"+ + "\t*\u0001*\u0001*\u0001+\u0001+\u0001+\u0003+\u021c\b+\u0001,\u0001,\u0001"+ + ",\u0001,\u0001,\u0001,\u0001-\u0001-\u0001.\u0001.\u0001.\u0001.\u0001"+ + "/\u0001/\u00010\u00010\u00010\u00010\u00030\u0230\b0\u00010\u00010\u0001"+ + "1\u00011\u00051\u0236\b1\n1\f1\u0239\t1\u00012\u00012\u00013\u00013\u0001"+ + "4\u00014\u0001\u0213\u00005\u0001\u0001\u0003\u0002\u0005\u0003\u0007"+ + "\u0004\t\u0005\u000b\u0006\r\u0007\u000f\b\u0011\t\u0013\n\u0015\u000b"+ + "\u0017\f\u0019\r\u001b\u000e\u001d\u000f\u001f\u0010!\u0011#\u0012%\u0013"+ + "\'\u0014)\u0015+\u0016-\u0017/\u00181\u00193\u001a5\u001b7\u001c9\u001d"+ + ";\u001e=\u001f? A!C\"E#G$I%K&M\'O(Q)S*U+W\u0000Y\u0000[\u0000]\u0000_"+ + "\u0000a,c\u0000e\u0000g\u0000i\u0000\u0001\u0000\b\u0003\u0000AZ__az\u0004"+ + "\u000009AZ__az\u0002\u0000EEee\u0005\u0000\n\n\r\r\"\"\\\\\u2028\u2029"+ + "\b\u0000\"\"//\\\\bbffnnrrtt\u0003\u000009AFaf\u0003\u0000\n\n\r\r\u2028"+ + "\u2029\u0004\u0000\t\t\u000b\f \u00a0\u00a0\u0259\u0000\u0001\u0001\u0000"+ + "\u0000\u0000\u0000\u0003\u0001\u0000\u0000\u0000\u0000\u0005\u0001\u0000"+ + "\u0000\u0000\u0000\u0007\u0001\u0000\u0000\u0000\u0000\t\u0001\u0000\u0000"+ + "\u0000\u0000\u000b\u0001\u0000\u0000\u0000\u0000\r\u0001\u0000\u0000\u0000"+ + "\u0000\u000f\u0001\u0000\u0000\u0000\u0000\u0011\u0001\u0000\u0000\u0000"+ + "\u0000\u0013\u0001\u0000\u0000\u0000\u0000\u0015\u0001\u0000\u0000\u0000"+ + "\u0000\u0017\u0001\u0000\u0000\u0000\u0000\u0019\u0001\u0000\u0000\u0000"+ + "\u0000\u001b\u0001\u0000\u0000\u0000\u0000\u001d\u0001\u0000\u0000\u0000"+ + "\u0000\u001f\u0001\u0000\u0000\u0000\u0000!\u0001\u0000\u0000\u0000\u0000"+ + "#\u0001\u0000\u0000\u0000\u0000%\u0001\u0000\u0000\u0000\u0000\'\u0001"+ + "\u0000\u0000\u0000\u0000)\u0001\u0000\u0000\u0000\u0000+\u0001\u0000\u0000"+ + "\u0000\u0000-\u0001\u0000\u0000\u0000\u0000/\u0001\u0000\u0000\u0000\u0000"+ + "1\u0001\u0000\u0000\u0000\u00003\u0001\u0000\u0000\u0000\u00005\u0001"+ + "\u0000\u0000\u0000\u00007\u0001\u0000\u0000\u0000\u00009\u0001\u0000\u0000"+ + "\u0000\u0000;\u0001\u0000\u0000\u0000\u0000=\u0001\u0000\u0000\u0000\u0000"+ + "?\u0001\u0000\u0000\u0000\u0000A\u0001\u0000\u0000\u0000\u0000C\u0001"+ + "\u0000\u0000\u0000\u0000E\u0001\u0000\u0000\u0000\u0000G\u0001\u0000\u0000"+ + "\u0000\u0000I\u0001\u0000\u0000\u0000\u0000K\u0001\u0000\u0000\u0000\u0000"+ + "M\u0001\u0000\u0000\u0000\u0000O\u0001\u0000\u0000\u0000\u0000Q\u0001"+ + "\u0000\u0000\u0000\u0000S\u0001\u0000\u0000\u0000\u0000U\u0001\u0000\u0000"+ + "\u0000\u0000a\u0001\u0000\u0000\u0000\u0001k\u0001\u0000\u0000\u0000\u0003"+ + "m\u0001\u0000\u0000\u0000\u0005o\u0001\u0000\u0000\u0000\u0007q\u0001"+ + "\u0000\u0000\u0000\ts\u0001\u0000\u0000\u0000\u000bu\u0001\u0000\u0000"+ + "\u0000\rw\u0001\u0000\u0000\u0000\u000fy\u0001\u0000\u0000\u0000\u0011"+ + "{\u0001\u0000\u0000\u0000\u0013}\u0001\u0000\u0000\u0000\u0015\u007f\u0001"+ + "\u0000\u0000\u0000\u0017\u0081\u0001\u0000\u0000\u0000\u0019\u00d2\u0001"+ + "\u0000\u0000\u0000\u001b\u0147\u0001\u0000\u0000\u0000\u001d\u0149\u0001"+ + "\u0000\u0000\u0000\u001f\u014e\u0001\u0000\u0000\u0000!\u0159\u0001\u0000"+ + "\u0000\u0000#\u0163\u0001\u0000\u0000\u0000%\u016a\u0001\u0000\u0000\u0000"+ + "\'\u016f\u0001\u0000\u0000\u0000)\u0175\u0001\u0000\u0000\u0000+\u017b"+ + "\u0001\u0000\u0000\u0000-\u0185\u0001\u0000\u0000\u0000/\u018c\u0001\u0000"+ + "\u0000\u00001\u0193\u0001\u0000\u0000\u00003\u0196\u0001\u0000\u0000\u0000"+ + "5\u019f\u0001\u0000\u0000\u00007\u01a5\u0001\u0000\u0000\u00009\u01ae"+ + "\u0001\u0000\u0000\u0000;\u01bb\u0001\u0000\u0000\u0000=\u01c1\u0001\u0000"+ + "\u0000\u0000?\u01c6\u0001\u0000\u0000\u0000A\u01cc\u0001\u0000\u0000\u0000"+ + "C\u01d1\u0001\u0000\u0000\u0000E\u01d9\u0001\u0000\u0000\u0000G\u01de"+ + "\u0001\u0000\u0000\u0000I\u01ec\u0001\u0000\u0000\u0000K\u01f6\u0001\u0000"+ + "\u0000\u0000M\u01f8\u0001\u0000\u0000\u0000O\u01fa\u0001\u0000\u0000\u0000"+ + "Q\u0203\u0001\u0000\u0000\u0000S\u0205\u0001\u0000\u0000\u0000U\u020f"+ + "\u0001\u0000\u0000\u0000W\u0218\u0001\u0000\u0000\u0000Y\u021d\u0001\u0000"+ + "\u0000\u0000[\u0223\u0001\u0000\u0000\u0000]\u0225\u0001\u0000\u0000\u0000"+ + "_\u0229\u0001\u0000\u0000\u0000a\u022f\u0001\u0000\u0000\u0000c\u0233"+ + "\u0001\u0000\u0000\u0000e\u023a\u0001\u0000\u0000\u0000g\u023c\u0001\u0000"+ + "\u0000\u0000i\u023e\u0001\u0000\u0000\u0000kl\u0005{\u0000\u0000l\u0002"+ + "\u0001\u0000\u0000\u0000mn\u0005}\u0000\u0000n\u0004\u0001\u0000\u0000"+ + "\u0000op\u0005:\u0000\u0000p\u0006\u0001\u0000\u0000\u0000qr\u0005|\u0000"+ + "\u0000r\b\u0001\u0000\u0000\u0000st\u0005@\u0000\u0000t\n\u0001\u0000"+ + "\u0000\u0000uv\u0005(\u0000\u0000v\f\u0001\u0000\u0000\u0000wx\u0005)"+ + "\u0000\u0000x\u000e\u0001\u0000\u0000\u0000yz\u0005&\u0000\u0000z\u0010"+ + "\u0001\u0000\u0000\u0000{|\u0005=\u0000\u0000|\u0012\u0001\u0000\u0000"+ + "\u0000}~\u0005[\u0000\u0000~\u0014\u0001\u0000\u0000\u0000\u007f\u0080"+ + "\u0005]\u0000\u0000\u0080\u0016\u0001\u0000\u0000\u0000\u0081\u0082\u0005"+ + "!\u0000\u0000\u0082\u0018\u0001\u0000\u0000\u0000\u0083\u0084\u0005Q\u0000"+ + "\u0000\u0084\u0085\u0005U\u0000\u0000\u0085\u0086\u0005E\u0000\u0000\u0086"+ + "\u0087\u0005R\u0000\u0000\u0087\u00d3\u0005Y\u0000\u0000\u0088\u0089\u0005"+ + "M\u0000\u0000\u0089\u008a\u0005U\u0000\u0000\u008a\u008b\u0005T\u0000"+ + "\u0000\u008b\u008c\u0005A\u0000\u0000\u008c\u008d\u0005T\u0000\u0000\u008d"+ + "\u008e\u0005I\u0000\u0000\u008e\u008f\u0005O\u0000\u0000\u008f\u00d3\u0005"+ + "N\u0000\u0000\u0090\u0091\u0005S\u0000\u0000\u0091\u0092\u0005U\u0000"+ + "\u0000\u0092\u0093\u0005B\u0000\u0000\u0093\u0094\u0005S\u0000\u0000\u0094"+ + "\u0095\u0005C\u0000\u0000\u0095\u0096\u0005R\u0000\u0000\u0096\u0097\u0005"+ + "I\u0000\u0000\u0097\u0098\u0005P\u0000\u0000\u0098\u0099\u0005T\u0000"+ + "\u0000\u0099\u009a\u0005I\u0000\u0000\u009a\u009b\u0005O\u0000\u0000\u009b"+ + "\u00d3\u0005N\u0000\u0000\u009c\u009d\u0005F\u0000\u0000\u009d\u009e\u0005"+ + "I\u0000\u0000\u009e\u009f\u0005E\u0000\u0000\u009f\u00a0\u0005L\u0000"+ + "\u0000\u00a0\u00d3\u0005D\u0000\u0000\u00a1\u00a2\u0005F\u0000\u0000\u00a2"+ + "\u00a3\u0005R\u0000\u0000\u00a3\u00a4\u0005A\u0000\u0000\u00a4\u00a5\u0005"+ + "G\u0000\u0000\u00a5\u00a6\u0005M\u0000\u0000\u00a6\u00a7\u0005E\u0000"+ + "\u0000\u00a7\u00a8\u0005N\u0000\u0000\u00a8\u00a9\u0005T\u0000\u0000\u00a9"+ + "\u00aa\u0005_\u0000\u0000\u00aa\u00ab\u0005D\u0000\u0000\u00ab\u00ac\u0005"+ + "E\u0000\u0000\u00ac\u00ad\u0005F\u0000\u0000\u00ad\u00ae\u0005I\u0000"+ + "\u0000\u00ae\u00af\u0005N\u0000\u0000\u00af\u00b0\u0005I\u0000\u0000\u00b0"+ + "\u00b1\u0005T\u0000\u0000\u00b1\u00b2\u0005I\u0000\u0000\u00b2\u00b3\u0005"+ + "O\u0000\u0000\u00b3\u00d3\u0005N\u0000\u0000\u00b4\u00b5\u0005F\u0000"+ + "\u0000\u00b5\u00b6\u0005R\u0000\u0000\u00b6\u00b7\u0005A\u0000\u0000\u00b7"+ + "\u00b8\u0005G\u0000\u0000\u00b8\u00b9\u0005M\u0000\u0000\u00b9\u00ba\u0005"+ + "E\u0000\u0000\u00ba\u00bb\u0005N\u0000\u0000\u00bb\u00bc\u0005T\u0000"+ + "\u0000\u00bc\u00bd\u0005_\u0000\u0000\u00bd\u00be\u0005S\u0000\u0000\u00be"+ + "\u00bf\u0005P\u0000\u0000\u00bf\u00c0\u0005R\u0000\u0000\u00c0\u00c1\u0005"+ + "E\u0000\u0000\u00c1\u00c2\u0005A\u0000\u0000\u00c2\u00d3\u0005D\u0000"+ + "\u0000\u00c3\u00c4\u0005I\u0000\u0000\u00c4\u00c5\u0005N\u0000\u0000\u00c5"+ + "\u00c6\u0005L\u0000\u0000\u00c6\u00c7\u0005I\u0000\u0000\u00c7\u00c8\u0005"+ + "N\u0000\u0000\u00c8\u00c9\u0005E\u0000\u0000\u00c9\u00ca\u0005_\u0000"+ + "\u0000\u00ca\u00cb\u0005F\u0000\u0000\u00cb\u00cc\u0005R\u0000\u0000\u00cc"+ + "\u00cd\u0005A\u0000\u0000\u00cd\u00ce\u0005G\u0000\u0000\u00ce\u00cf\u0005"+ + "M\u0000\u0000\u00cf\u00d0\u0005E\u0000\u0000\u00d0\u00d1\u0005N\u0000"+ + "\u0000\u00d1\u00d3\u0005T\u0000\u0000\u00d2\u0083\u0001\u0000\u0000\u0000"+ + "\u00d2\u0088\u0001\u0000\u0000\u0000\u00d2\u0090\u0001\u0000\u0000\u0000"+ + "\u00d2\u009c\u0001\u0000\u0000\u0000\u00d2\u00a1\u0001\u0000\u0000\u0000"+ + "\u00d2\u00b4\u0001\u0000\u0000\u0000\u00d2\u00c3\u0001\u0000\u0000\u0000"+ + "\u00d3\u001a\u0001\u0000\u0000\u0000\u00d4\u00d5\u0005S\u0000\u0000\u00d5"+ + "\u00d6\u0005C\u0000\u0000\u00d6\u00d7\u0005H\u0000\u0000\u00d7\u00d8\u0005"+ + "E\u0000\u0000\u00d8\u00d9\u0005M\u0000\u0000\u00d9\u0148\u0005A\u0000"+ + "\u0000\u00da\u00db\u0005S\u0000\u0000\u00db\u00dc\u0005C\u0000\u0000\u00dc"+ + "\u00dd\u0005A\u0000\u0000\u00dd\u00de\u0005L\u0000\u0000\u00de\u00df\u0005"+ + "A\u0000\u0000\u00df\u0148\u0005R\u0000\u0000\u00e0\u00e1\u0005O\u0000"+ + "\u0000\u00e1\u00e2\u0005B\u0000\u0000\u00e2\u00e3\u0005J\u0000\u0000\u00e3"+ + "\u00e4\u0005E\u0000\u0000\u00e4\u00e5\u0005C\u0000\u0000\u00e5\u0148\u0005"+ + "T\u0000\u0000\u00e6\u00e7\u0005F\u0000\u0000\u00e7\u00e8\u0005I\u0000"+ + "\u0000\u00e8\u00e9\u0005E\u0000\u0000\u00e9\u00ea\u0005L\u0000\u0000\u00ea"+ + "\u00eb\u0005D\u0000\u0000\u00eb\u00ec\u0005_\u0000\u0000\u00ec\u00ed\u0005"+ + "D\u0000\u0000\u00ed\u00ee\u0005E\u0000\u0000\u00ee\u00ef\u0005F\u0000"+ + "\u0000\u00ef\u00f0\u0005I\u0000\u0000\u00f0\u00f1\u0005N\u0000\u0000\u00f1"+ + "\u00f2\u0005I\u0000\u0000\u00f2\u00f3\u0005T\u0000\u0000\u00f3\u00f4\u0005"+ + "I\u0000\u0000\u00f4\u00f5\u0005O\u0000\u0000\u00f5\u0148\u0005N\u0000"+ + "\u0000\u00f6\u00f7\u0005A\u0000\u0000\u00f7\u00f8\u0005R\u0000\u0000\u00f8"+ + "\u00f9\u0005G\u0000\u0000\u00f9\u00fa\u0005U\u0000\u0000\u00fa\u00fb\u0005"+ + "M\u0000\u0000\u00fb\u00fc\u0005E\u0000\u0000\u00fc\u00fd\u0005N\u0000"+ + "\u0000\u00fd\u00fe\u0005T\u0000\u0000\u00fe\u00ff\u0005_\u0000\u0000\u00ff"+ + "\u0100\u0005D\u0000\u0000\u0100\u0101\u0005E\u0000\u0000\u0101\u0102\u0005"+ + "F\u0000\u0000\u0102\u0103\u0005I\u0000\u0000\u0103\u0104\u0005N\u0000"+ + "\u0000\u0104\u0105\u0005I\u0000\u0000\u0105\u0106\u0005T\u0000\u0000\u0106"+ + "\u0107\u0005I\u0000\u0000\u0107\u0108\u0005O\u0000\u0000\u0108\u0148\u0005"+ + "N\u0000\u0000\u0109\u010a\u0005I\u0000\u0000\u010a\u010b\u0005N\u0000"+ + "\u0000\u010b\u010c\u0005T\u0000\u0000\u010c\u010d\u0005E\u0000\u0000\u010d"+ + "\u010e\u0005R\u0000\u0000\u010e\u010f\u0005F\u0000\u0000\u010f\u0110\u0005"+ + "A\u0000\u0000\u0110\u0111\u0005C\u0000\u0000\u0111\u0148\u0005E\u0000"+ + "\u0000\u0112\u0113\u0005U\u0000\u0000\u0113\u0114\u0005N\u0000\u0000\u0114"+ + "\u0115\u0005I\u0000\u0000\u0115\u0116\u0005O\u0000\u0000\u0116\u0148\u0005"+ + "N\u0000\u0000\u0117\u0118\u0005E\u0000\u0000\u0118\u0119\u0005N\u0000"+ + "\u0000\u0119\u011a\u0005U\u0000\u0000\u011a\u0148\u0005M\u0000\u0000\u011b"+ + "\u011c\u0005E\u0000\u0000\u011c\u011d\u0005N\u0000\u0000\u011d\u011e\u0005"+ + "U\u0000\u0000\u011e\u011f\u0005M\u0000\u0000\u011f\u0120\u0005_\u0000"+ + "\u0000\u0120\u0121\u0005V\u0000\u0000\u0121\u0122\u0005A\u0000\u0000\u0122"+ + "\u0123\u0005L\u0000\u0000\u0123\u0124\u0005U\u0000\u0000\u0124\u0148\u0005"+ + "E\u0000\u0000\u0125\u0126\u0005I\u0000\u0000\u0126\u0127\u0005N\u0000"+ + "\u0000\u0127\u0128\u0005P\u0000\u0000\u0128\u0129\u0005U\u0000\u0000\u0129"+ + "\u012a\u0005T\u0000\u0000\u012a\u012b\u0005_\u0000\u0000\u012b\u012c\u0005"+ + "O\u0000\u0000\u012c\u012d\u0005B\u0000\u0000\u012d\u012e\u0005J\u0000"+ + "\u0000\u012e\u012f\u0005E\u0000\u0000\u012f\u0130\u0005C\u0000\u0000\u0130"+ + "\u0148\u0005T\u0000\u0000\u0131\u0132\u0005I\u0000\u0000\u0132\u0133\u0005"+ + "N\u0000\u0000\u0133\u0134\u0005P\u0000\u0000\u0134\u0135\u0005U\u0000"+ + "\u0000\u0135\u0136\u0005T\u0000\u0000\u0136\u0137\u0005_\u0000\u0000\u0137"+ + "\u0138\u0005F\u0000\u0000\u0138\u0139\u0005I\u0000\u0000\u0139\u013a\u0005"+ + "E\u0000\u0000\u013a\u013b\u0005L\u0000\u0000\u013b\u013c\u0005D\u0000"+ + "\u0000\u013c\u013d\u0005_\u0000\u0000\u013d\u013e\u0005D\u0000\u0000\u013e"+ + "\u013f\u0005E\u0000\u0000\u013f\u0140\u0005F\u0000\u0000\u0140\u0141\u0005"+ + "I\u0000\u0000\u0141\u0142\u0005N\u0000\u0000\u0142\u0143\u0005I\u0000"+ + "\u0000\u0143\u0144\u0005T\u0000\u0000\u0144\u0145\u0005I\u0000\u0000\u0145"+ + "\u0146\u0005O\u0000\u0000\u0146\u0148\u0005N\u0000\u0000\u0147\u00d4\u0001"+ + "\u0000\u0000\u0000\u0147\u00da\u0001\u0000\u0000\u0000\u0147\u00e0\u0001"+ + "\u0000\u0000\u0000\u0147\u00e6\u0001\u0000\u0000\u0000\u0147\u00f6\u0001"+ + "\u0000\u0000\u0000\u0147\u0109\u0001\u0000\u0000\u0000\u0147\u0112\u0001"+ + "\u0000\u0000\u0000\u0147\u0117\u0001\u0000\u0000\u0000\u0147\u011b\u0001"+ + "\u0000\u0000\u0000\u0147\u0125\u0001\u0000\u0000\u0000\u0147\u0131\u0001"+ + "\u0000\u0000\u0000\u0148\u001c\u0001\u0000\u0000\u0000\u0149\u014a\u0005"+ + "t\u0000\u0000\u014a\u014b\u0005y\u0000\u0000\u014b\u014c\u0005p\u0000"+ + "\u0000\u014c\u014d\u0005e\u0000\u0000\u014d\u001e\u0001\u0000\u0000\u0000"+ + "\u014e\u014f\u0005i\u0000\u0000\u014f\u0150\u0005m\u0000\u0000\u0150\u0151"+ + "\u0005p\u0000\u0000\u0151\u0152\u0005l\u0000\u0000\u0152\u0153\u0005e"+ + "\u0000\u0000\u0153\u0154\u0005m\u0000\u0000\u0154\u0155\u0005e\u0000\u0000"+ + "\u0155\u0156\u0005n\u0000\u0000\u0156\u0157\u0005t\u0000\u0000\u0157\u0158"+ + "\u0005s\u0000\u0000\u0158 \u0001\u0000\u0000\u0000\u0159\u015a\u0005i"+ + "\u0000\u0000\u015a\u015b\u0005n\u0000\u0000\u015b\u015c\u0005t\u0000\u0000"+ + "\u015c\u015d\u0005e\u0000\u0000\u015d\u015e\u0005r\u0000\u0000\u015e\u015f"+ + "\u0005f\u0000\u0000\u015f\u0160\u0005a\u0000\u0000\u0160\u0161\u0005c"+ + "\u0000\u0000\u0161\u0162\u0005e\u0000\u0000\u0162\"\u0001\u0000\u0000"+ + "\u0000\u0163\u0164\u0005s\u0000\u0000\u0164\u0165\u0005c\u0000\u0000\u0165"+ + "\u0166\u0005h\u0000\u0000\u0166\u0167\u0005e\u0000\u0000\u0167\u0168\u0005"+ + "m\u0000\u0000\u0168\u0169\u0005a\u0000\u0000\u0169$\u0001\u0000\u0000"+ + "\u0000\u016a\u016b\u0005e\u0000\u0000\u016b\u016c\u0005n\u0000\u0000\u016c"+ + "\u016d\u0005u\u0000\u0000\u016d\u016e\u0005m\u0000\u0000\u016e&\u0001"+ + "\u0000\u0000\u0000\u016f\u0170\u0005u\u0000\u0000\u0170\u0171\u0005n\u0000"+ + "\u0000\u0171\u0172\u0005i\u0000\u0000\u0172\u0173\u0005o\u0000\u0000\u0173"+ + "\u0174\u0005n\u0000\u0000\u0174(\u0001\u0000\u0000\u0000\u0175\u0176\u0005"+ + "i\u0000\u0000\u0176\u0177\u0005n\u0000\u0000\u0177\u0178\u0005p\u0000"+ + "\u0000\u0178\u0179\u0005u\u0000\u0000\u0179\u017a\u0005t\u0000\u0000\u017a"+ + "*\u0001\u0000\u0000\u0000\u017b\u017c\u0005d\u0000\u0000\u017c\u017d\u0005"+ + "i\u0000\u0000\u017d\u017e\u0005r\u0000\u0000\u017e\u017f\u0005e\u0000"+ + "\u0000\u017f\u0180\u0005c\u0000\u0000\u0180\u0181\u0005t\u0000\u0000\u0181"+ + "\u0182\u0005i\u0000\u0000\u0182\u0183\u0005v\u0000\u0000\u0183\u0184\u0005"+ + "e\u0000\u0000\u0184,\u0001\u0000\u0000\u0000\u0185\u0186\u0005e\u0000"+ + "\u0000\u0186\u0187\u0005x\u0000\u0000\u0187\u0188\u0005t\u0000\u0000\u0188"+ + "\u0189\u0005e\u0000\u0000\u0189\u018a\u0005n\u0000\u0000\u018a\u018b\u0005"+ + "d\u0000\u0000\u018b.\u0001\u0000\u0000\u0000\u018c\u018d\u0005s\u0000"+ + "\u0000\u018d\u018e\u0005c\u0000\u0000\u018e\u018f\u0005a\u0000\u0000\u018f"+ + "\u0190\u0005l\u0000\u0000\u0190\u0191\u0005a\u0000\u0000\u0191\u0192\u0005"+ + "r\u0000\u0000\u01920\u0001\u0000\u0000\u0000\u0193\u0194\u0005o\u0000"+ + "\u0000\u0194\u0195\u0005n\u0000\u0000\u01952\u0001\u0000\u0000\u0000\u0196"+ + "\u0197\u0005f\u0000\u0000\u0197\u0198\u0005r\u0000\u0000\u0198\u0199\u0005"+ + "a\u0000\u0000\u0199\u019a\u0005g\u0000\u0000\u019a\u019b\u0005m\u0000"+ + "\u0000\u019b\u019c\u0005e\u0000\u0000\u019c\u019d\u0005n\u0000\u0000\u019d"+ + "\u019e\u0005t\u0000\u0000\u019e4\u0001\u0000\u0000\u0000\u019f\u01a0\u0005"+ + "q\u0000\u0000\u01a0\u01a1\u0005u\u0000\u0000\u01a1\u01a2\u0005e\u0000"+ + "\u0000\u01a2\u01a3\u0005r\u0000\u0000\u01a3\u01a4\u0005y\u0000\u0000\u01a4"+ + "6\u0001\u0000\u0000\u0000\u01a5\u01a6\u0005m\u0000\u0000\u01a6\u01a7\u0005"+ + "u\u0000\u0000\u01a7\u01a8\u0005t\u0000\u0000\u01a8\u01a9\u0005a\u0000"+ + "\u0000\u01a9\u01aa\u0005t\u0000\u0000\u01aa\u01ab\u0005i\u0000\u0000\u01ab"+ + "\u01ac\u0005o\u0000\u0000\u01ac\u01ad\u0005n\u0000\u0000\u01ad8\u0001"+ + "\u0000\u0000\u0000\u01ae\u01af\u0005s\u0000\u0000\u01af\u01b0\u0005u\u0000"+ + "\u0000\u01b0\u01b1\u0005b\u0000\u0000\u01b1\u01b2\u0005s\u0000\u0000\u01b2"+ + "\u01b3\u0005c\u0000\u0000\u01b3\u01b4\u0005r\u0000\u0000\u01b4\u01b5\u0005"+ + "i\u0000\u0000\u01b5\u01b6\u0005p\u0000\u0000\u01b6\u01b7\u0005t\u0000"+ + "\u0000\u01b7\u01b8\u0005i\u0000\u0000\u01b8\u01b9\u0005o\u0000\u0000\u01b9"+ + "\u01ba\u0005n\u0000\u0000\u01ba:\u0001\u0000\u0000\u0000\u01bb\u01bc\u0005"+ + "v\u0000\u0000\u01bc\u01bd\u0005a\u0000\u0000\u01bd\u01be\u0005l\u0000"+ + "\u0000\u01be\u01bf\u0005u\u0000\u0000\u01bf\u01c0\u0005e\u0000\u0000\u01c0"+ + "<\u0001\u0000\u0000\u0000\u01c1\u01c2\u0005t\u0000\u0000\u01c2\u01c3\u0005"+ + "r\u0000\u0000\u01c3\u01c4\u0005u\u0000\u0000\u01c4\u01c5\u0005e\u0000"+ + "\u0000\u01c5>\u0001\u0000\u0000\u0000\u01c6\u01c7\u0005f\u0000\u0000\u01c7"+ + "\u01c8\u0005a\u0000\u0000\u01c8\u01c9\u0005l\u0000\u0000\u01c9\u01ca\u0005"+ + "s\u0000\u0000\u01ca\u01cb\u0005e\u0000\u0000\u01cb@\u0001\u0000\u0000"+ + "\u0000\u01cc\u01cd\u0005n\u0000\u0000\u01cd\u01ce\u0005u\u0000\u0000\u01ce"+ + "\u01cf\u0005l\u0000\u0000\u01cf\u01d0\u0005l\u0000\u0000\u01d0B\u0001"+ + "\u0000\u0000\u0000\u01d1\u01d5\u0007\u0000\u0000\u0000\u01d2\u01d4\u0007"+ + "\u0001\u0000\u0000\u01d3\u01d2\u0001\u0000\u0000\u0000\u01d4\u01d7\u0001"+ + "\u0000\u0000\u0000\u01d5\u01d3\u0001\u0000\u0000\u0000\u01d5\u01d6\u0001"+ + "\u0000\u0000\u0000\u01d6D\u0001\u0000\u0000\u0000\u01d7\u01d5\u0001\u0000"+ + "\u0000\u0000\u01d8\u01da\u0003I$\u0000\u01d9\u01d8\u0001\u0000\u0000\u0000"+ + "\u01d9\u01da\u0001\u0000\u0000\u0000\u01da\u01db\u0001\u0000\u0000\u0000"+ + "\u01db\u01dc\u0003K%\u0000\u01dcF\u0001\u0000\u0000\u0000\u01dd\u01df"+ + "\u0003I$\u0000\u01de\u01dd\u0001\u0000\u0000\u0000\u01de\u01df\u0001\u0000"+ + "\u0000\u0000\u01df\u01e0\u0001\u0000\u0000\u0000\u01e0\u01e7\u0003K%\u0000"+ + "\u01e1\u01e3\u0005.\u0000\u0000\u01e2\u01e4\u0003Q(\u0000\u01e3\u01e2"+ + "\u0001\u0000\u0000\u0000\u01e4\u01e5\u0001\u0000\u0000\u0000\u01e5\u01e3"+ + "\u0001\u0000\u0000\u0000\u01e5\u01e6\u0001\u0000\u0000\u0000\u01e6\u01e8"+ + "\u0001\u0000\u0000\u0000\u01e7\u01e1\u0001\u0000\u0000\u0000\u01e7\u01e8"+ + "\u0001\u0000\u0000\u0000\u01e8\u01ea\u0001\u0000\u0000\u0000\u01e9\u01eb"+ + "\u0003O\'\u0000\u01ea\u01e9\u0001\u0000\u0000\u0000\u01ea\u01eb\u0001"+ + "\u0000\u0000\u0000\u01ebH\u0001\u0000\u0000\u0000\u01ec\u01ed\u0005-\u0000"+ + "\u0000\u01edJ\u0001\u0000\u0000\u0000\u01ee\u01f7\u00050\u0000\u0000\u01ef"+ + "\u01f7\u0003M&\u0000\u01f0\u01f2\u0003M&\u0000\u01f1\u01f3\u0003Q(\u0000"+ + "\u01f2\u01f1\u0001\u0000\u0000\u0000\u01f3\u01f4\u0001\u0000\u0000\u0000"+ + "\u01f4\u01f2\u0001\u0000\u0000\u0000\u01f4\u01f5\u0001\u0000\u0000\u0000"+ + "\u01f5\u01f7\u0001\u0000\u0000\u0000\u01f6\u01ee\u0001\u0000\u0000\u0000"+ + "\u01f6\u01ef\u0001\u0000\u0000\u0000\u01f6\u01f0\u0001\u0000\u0000\u0000"+ + "\u01f7L\u0001\u0000\u0000\u0000\u01f8\u01f9\u000219\u0000\u01f9N\u0001"+ + "\u0000\u0000\u0000\u01fa\u01fc\u0007\u0002\u0000\u0000\u01fb\u01fd\u0003"+ + "I$\u0000\u01fc\u01fb\u0001\u0000\u0000\u0000\u01fc\u01fd\u0001\u0000\u0000"+ + "\u0000\u01fd\u01ff\u0001\u0000\u0000\u0000\u01fe\u0200\u0003Q(\u0000\u01ff"+ + "\u01fe\u0001\u0000\u0000\u0000\u0200\u0201\u0001\u0000\u0000\u0000\u0201"+ + "\u01ff\u0001\u0000\u0000\u0000\u0201\u0202\u0001\u0000\u0000\u0000\u0202"+ + "P\u0001\u0000\u0000\u0000\u0203\u0204\u000209\u0000\u0204R\u0001\u0000"+ + "\u0000\u0000\u0205\u020a\u0003[-\u0000\u0206\u0209\b\u0003\u0000\u0000"+ + "\u0207\u0209\u0003W+\u0000\u0208\u0206\u0001\u0000\u0000\u0000\u0208\u0207"+ + "\u0001\u0000\u0000\u0000\u0209\u020c\u0001\u0000\u0000\u0000\u020a\u0208"+ + "\u0001\u0000\u0000\u0000\u020a\u020b\u0001\u0000\u0000\u0000\u020b\u020d"+ + "\u0001\u0000\u0000\u0000\u020c\u020a\u0001\u0000\u0000\u0000\u020d\u020e"+ + "\u0003[-\u0000\u020eT\u0001\u0000\u0000\u0000\u020f\u0213\u0003].\u0000"+ + "\u0210\u0212\t\u0000\u0000\u0000\u0211\u0210\u0001\u0000\u0000\u0000\u0212"+ + "\u0215\u0001\u0000\u0000\u0000\u0213\u0214\u0001\u0000\u0000\u0000\u0213"+ + "\u0211\u0001\u0000\u0000\u0000\u0214\u0216\u0001\u0000\u0000\u0000\u0215"+ + "\u0213\u0001\u0000\u0000\u0000\u0216\u0217\u0003].\u0000\u0217V\u0001"+ + "\u0000\u0000\u0000\u0218\u021b\u0005\\\u0000\u0000\u0219\u021c\u0007\u0004"+ + "\u0000\u0000\u021a\u021c\u0003Y,\u0000\u021b\u0219\u0001\u0000\u0000\u0000"+ + "\u021b\u021a\u0001\u0000\u0000\u0000\u021cX\u0001\u0000\u0000\u0000\u021d"+ + "\u021e\u0005u\u0000\u0000\u021e\u021f\u0003_/\u0000\u021f\u0220\u0003"+ + "_/\u0000\u0220\u0221\u0003_/\u0000\u0221\u0222\u0003_/\u0000\u0222Z\u0001"+ + "\u0000\u0000\u0000\u0223\u0224\u0005\"\u0000\u0000\u0224\\\u0001\u0000"+ + "\u0000\u0000\u0225\u0226\u0005\"\u0000\u0000\u0226\u0227\u0005\"\u0000"+ + "\u0000\u0227\u0228\u0005\"\u0000\u0000\u0228^\u0001\u0000\u0000\u0000"+ + "\u0229\u022a\u0007\u0005\u0000\u0000\u022a`\u0001\u0000\u0000\u0000\u022b"+ + "\u0230\u0003g3\u0000\u022c\u0230\u0003i4\u0000\u022d\u0230\u0003e2\u0000"+ + "\u022e\u0230\u0003c1\u0000\u022f\u022b\u0001\u0000\u0000\u0000\u022f\u022c"+ + "\u0001\u0000\u0000\u0000\u022f\u022d\u0001\u0000\u0000\u0000\u022f\u022e"+ + "\u0001\u0000\u0000\u0000\u0230\u0231\u0001\u0000\u0000\u0000\u0231\u0232"+ + "\u00060\u0000\u0000\u0232b\u0001\u0000\u0000\u0000\u0233\u0237\u0005#"+ + "\u0000\u0000\u0234\u0236\b\u0006\u0000\u0000\u0235\u0234\u0001\u0000\u0000"+ + "\u0000\u0236\u0239\u0001\u0000\u0000\u0000\u0237\u0235\u0001\u0000\u0000"+ + "\u0000\u0237\u0238\u0001\u0000\u0000\u0000\u0238d\u0001\u0000\u0000\u0000"+ + "\u0239\u0237\u0001\u0000\u0000\u0000\u023a\u023b\u0007\u0006\u0000\u0000"+ + "\u023bf\u0001\u0000\u0000\u0000\u023c\u023d\u0007\u0007\u0000\u0000\u023d"+ + "h\u0001\u0000\u0000\u0000\u023e\u023f\u0005,\u0000\u0000\u023fj\u0001"+ + "\u0000\u0000\u0000\u0013\u0000\u00d2\u0147\u01d5\u01d9\u01de\u01e5\u01e7"+ + "\u01ea\u01f4\u01f6\u01fc\u0201\u0208\u020a\u0213\u021b\u022f\u0237\u0001"+ + "\u0006\u0000\u0000"; + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); + static { + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); + } + } +} \ No newline at end of file diff --git a/gen/src/com/walmartlabs/lacinia/GraphqlSchemaLexer.tokens b/gen/src/com/walmartlabs/lacinia/GraphqlSchemaLexer.tokens new file mode 100644 index 00000000..d5c4d0f9 --- /dev/null +++ b/gen/src/com/walmartlabs/lacinia/GraphqlSchemaLexer.tokens @@ -0,0 +1,76 @@ +T__0=1 +T__1=2 +T__2=3 +T__3=4 +T__4=5 +T__5=6 +T__6=7 +T__7=8 +T__8=9 +T__9=10 +T__10=11 +T__11=12 +EXECUTABLE_DIRECTIVE_LOCATION=13 +TYPE_SYSTEM_DIRECTIVE_LOCATION=14 +K_TYPE=15 +K_IMPLEMENTS=16 +K_INTERFACE=17 +K_SCHEMA=18 +K_ENUM=19 +K_UNION=20 +K_INPUT=21 +K_DIRECTIVE=22 +K_EXTEND=23 +K_SCALAR=24 +K_ON=25 +K_FRAGMENT=26 +K_QUERY=27 +K_MUTATION=28 +K_SUBSCRIPTION=29 +K_VALUE=30 +K_TRUE=31 +K_FALSE=32 +K_NULL=33 +Name=34 +IntValue=35 +FloatValue=36 +Sign=37 +IntegerPart=38 +NonZeroDigit=39 +ExponentPart=40 +Digit=41 +StringValue=42 +BlockStringValue=43 +Ignored=44 +'{'=1 +'}'=2 +':'=3 +'|'=4 +'@'=5 +'('=6 +')'=7 +'&'=8 +'='=9 +'['=10 +']'=11 +'!'=12 +'type'=15 +'implements'=16 +'interface'=17 +'schema'=18 +'enum'=19 +'union'=20 +'input'=21 +'directive'=22 +'extend'=23 +'scalar'=24 +'on'=25 +'fragment'=26 +'query'=27 +'mutation'=28 +'subscription'=29 +'value'=30 +'true'=31 +'false'=32 +'null'=33 +'-'=37 diff --git a/gen/src/com/walmartlabs/lacinia/GraphqlSchemaListener.java b/gen/src/com/walmartlabs/lacinia/GraphqlSchemaListener.java new file mode 100644 index 00000000..2a64267c --- /dev/null +++ b/gen/src/com/walmartlabs/lacinia/GraphqlSchemaListener.java @@ -0,0 +1,500 @@ +// Generated from /Users/namenu/Development/lacinia/resources/com/walmartlabs/lacinia/GraphqlSchema.g4 by ANTLR 4.13.1 +package com.walmartlabs.lacinia; +import org.antlr.v4.runtime.tree.ParseTreeListener; + +/** + * This interface defines a complete listener for a parse tree produced by + * {@link GraphqlSchemaParser}. + */ +public interface GraphqlSchemaListener extends ParseTreeListener { + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#graphqlSchema}. + * @param ctx the parse tree + */ + void enterGraphqlSchema(GraphqlSchemaParser.GraphqlSchemaContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#graphqlSchema}. + * @param ctx the parse tree + */ + void exitGraphqlSchema(GraphqlSchemaParser.GraphqlSchemaContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#description}. + * @param ctx the parse tree + */ + void enterDescription(GraphqlSchemaParser.DescriptionContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#description}. + * @param ctx the parse tree + */ + void exitDescription(GraphqlSchemaParser.DescriptionContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#schemaDef}. + * @param ctx the parse tree + */ + void enterSchemaDef(GraphqlSchemaParser.SchemaDefContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#schemaDef}. + * @param ctx the parse tree + */ + void exitSchemaDef(GraphqlSchemaParser.SchemaDefContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#operationTypeDef}. + * @param ctx the parse tree + */ + void enterOperationTypeDef(GraphqlSchemaParser.OperationTypeDefContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#operationTypeDef}. + * @param ctx the parse tree + */ + void exitOperationTypeDef(GraphqlSchemaParser.OperationTypeDefContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#queryOperationDef}. + * @param ctx the parse tree + */ + void enterQueryOperationDef(GraphqlSchemaParser.QueryOperationDefContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#queryOperationDef}. + * @param ctx the parse tree + */ + void exitQueryOperationDef(GraphqlSchemaParser.QueryOperationDefContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#mutationOperationDef}. + * @param ctx the parse tree + */ + void enterMutationOperationDef(GraphqlSchemaParser.MutationOperationDefContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#mutationOperationDef}. + * @param ctx the parse tree + */ + void exitMutationOperationDef(GraphqlSchemaParser.MutationOperationDefContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#subscriptionOperationDef}. + * @param ctx the parse tree + */ + void enterSubscriptionOperationDef(GraphqlSchemaParser.SubscriptionOperationDefContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#subscriptionOperationDef}. + * @param ctx the parse tree + */ + void exitSubscriptionOperationDef(GraphqlSchemaParser.SubscriptionOperationDefContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#directiveLocationList}. + * @param ctx the parse tree + */ + void enterDirectiveLocationList(GraphqlSchemaParser.DirectiveLocationListContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#directiveLocationList}. + * @param ctx the parse tree + */ + void exitDirectiveLocationList(GraphqlSchemaParser.DirectiveLocationListContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#directiveLocation}. + * @param ctx the parse tree + */ + void enterDirectiveLocation(GraphqlSchemaParser.DirectiveLocationContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#directiveLocation}. + * @param ctx the parse tree + */ + void exitDirectiveLocation(GraphqlSchemaParser.DirectiveLocationContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#executableDirectiveLocation}. + * @param ctx the parse tree + */ + void enterExecutableDirectiveLocation(GraphqlSchemaParser.ExecutableDirectiveLocationContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#executableDirectiveLocation}. + * @param ctx the parse tree + */ + void exitExecutableDirectiveLocation(GraphqlSchemaParser.ExecutableDirectiveLocationContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#typeSystemDirectiveLocation}. + * @param ctx the parse tree + */ + void enterTypeSystemDirectiveLocation(GraphqlSchemaParser.TypeSystemDirectiveLocationContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#typeSystemDirectiveLocation}. + * @param ctx the parse tree + */ + void exitTypeSystemDirectiveLocation(GraphqlSchemaParser.TypeSystemDirectiveLocationContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#directiveDef}. + * @param ctx the parse tree + */ + void enterDirectiveDef(GraphqlSchemaParser.DirectiveDefContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#directiveDef}. + * @param ctx the parse tree + */ + void exitDirectiveDef(GraphqlSchemaParser.DirectiveDefContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#directiveList}. + * @param ctx the parse tree + */ + void enterDirectiveList(GraphqlSchemaParser.DirectiveListContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#directiveList}. + * @param ctx the parse tree + */ + void exitDirectiveList(GraphqlSchemaParser.DirectiveListContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#directive}. + * @param ctx the parse tree + */ + void enterDirective(GraphqlSchemaParser.DirectiveContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#directive}. + * @param ctx the parse tree + */ + void exitDirective(GraphqlSchemaParser.DirectiveContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#directiveArgList}. + * @param ctx the parse tree + */ + void enterDirectiveArgList(GraphqlSchemaParser.DirectiveArgListContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#directiveArgList}. + * @param ctx the parse tree + */ + void exitDirectiveArgList(GraphqlSchemaParser.DirectiveArgListContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#directiveArg}. + * @param ctx the parse tree + */ + void enterDirectiveArg(GraphqlSchemaParser.DirectiveArgContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#directiveArg}. + * @param ctx the parse tree + */ + void exitDirectiveArg(GraphqlSchemaParser.DirectiveArgContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#typeDef}. + * @param ctx the parse tree + */ + void enterTypeDef(GraphqlSchemaParser.TypeDefContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#typeDef}. + * @param ctx the parse tree + */ + void exitTypeDef(GraphqlSchemaParser.TypeDefContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#typeExtDef}. + * @param ctx the parse tree + */ + void enterTypeExtDef(GraphqlSchemaParser.TypeExtDefContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#typeExtDef}. + * @param ctx the parse tree + */ + void exitTypeExtDef(GraphqlSchemaParser.TypeExtDefContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#fieldDefs}. + * @param ctx the parse tree + */ + void enterFieldDefs(GraphqlSchemaParser.FieldDefsContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#fieldDefs}. + * @param ctx the parse tree + */ + void exitFieldDefs(GraphqlSchemaParser.FieldDefsContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#implementationDef}. + * @param ctx the parse tree + */ + void enterImplementationDef(GraphqlSchemaParser.ImplementationDefContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#implementationDef}. + * @param ctx the parse tree + */ + void exitImplementationDef(GraphqlSchemaParser.ImplementationDefContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#inputTypeDef}. + * @param ctx the parse tree + */ + void enterInputTypeDef(GraphqlSchemaParser.InputTypeDefContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#inputTypeDef}. + * @param ctx the parse tree + */ + void exitInputTypeDef(GraphqlSchemaParser.InputTypeDefContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#inputTypeExtDef}. + * @param ctx the parse tree + */ + void enterInputTypeExtDef(GraphqlSchemaParser.InputTypeExtDefContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#inputTypeExtDef}. + * @param ctx the parse tree + */ + void exitInputTypeExtDef(GraphqlSchemaParser.InputTypeExtDefContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#inputValueDefs}. + * @param ctx the parse tree + */ + void enterInputValueDefs(GraphqlSchemaParser.InputValueDefsContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#inputValueDefs}. + * @param ctx the parse tree + */ + void exitInputValueDefs(GraphqlSchemaParser.InputValueDefsContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#inputValueDef}. + * @param ctx the parse tree + */ + void enterInputValueDef(GraphqlSchemaParser.InputValueDefContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#inputValueDef}. + * @param ctx the parse tree + */ + void exitInputValueDef(GraphqlSchemaParser.InputValueDefContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#interfaceDef}. + * @param ctx the parse tree + */ + void enterInterfaceDef(GraphqlSchemaParser.InterfaceDefContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#interfaceDef}. + * @param ctx the parse tree + */ + void exitInterfaceDef(GraphqlSchemaParser.InterfaceDefContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#scalarDef}. + * @param ctx the parse tree + */ + void enterScalarDef(GraphqlSchemaParser.ScalarDefContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#scalarDef}. + * @param ctx the parse tree + */ + void exitScalarDef(GraphqlSchemaParser.ScalarDefContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#unionDef}. + * @param ctx the parse tree + */ + void enterUnionDef(GraphqlSchemaParser.UnionDefContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#unionDef}. + * @param ctx the parse tree + */ + void exitUnionDef(GraphqlSchemaParser.UnionDefContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#unionExtDef}. + * @param ctx the parse tree + */ + void enterUnionExtDef(GraphqlSchemaParser.UnionExtDefContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#unionExtDef}. + * @param ctx the parse tree + */ + void exitUnionExtDef(GraphqlSchemaParser.UnionExtDefContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#unionTypes}. + * @param ctx the parse tree + */ + void enterUnionTypes(GraphqlSchemaParser.UnionTypesContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#unionTypes}. + * @param ctx the parse tree + */ + void exitUnionTypes(GraphqlSchemaParser.UnionTypesContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#enumDef}. + * @param ctx the parse tree + */ + void enterEnumDef(GraphqlSchemaParser.EnumDefContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#enumDef}. + * @param ctx the parse tree + */ + void exitEnumDef(GraphqlSchemaParser.EnumDefContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#enumValueDefs}. + * @param ctx the parse tree + */ + void enterEnumValueDefs(GraphqlSchemaParser.EnumValueDefsContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#enumValueDefs}. + * @param ctx the parse tree + */ + void exitEnumValueDefs(GraphqlSchemaParser.EnumValueDefsContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#enumValueDef}. + * @param ctx the parse tree + */ + void enterEnumValueDef(GraphqlSchemaParser.EnumValueDefContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#enumValueDef}. + * @param ctx the parse tree + */ + void exitEnumValueDef(GraphqlSchemaParser.EnumValueDefContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#fieldDef}. + * @param ctx the parse tree + */ + void enterFieldDef(GraphqlSchemaParser.FieldDefContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#fieldDef}. + * @param ctx the parse tree + */ + void exitFieldDef(GraphqlSchemaParser.FieldDefContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#argList}. + * @param ctx the parse tree + */ + void enterArgList(GraphqlSchemaParser.ArgListContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#argList}. + * @param ctx the parse tree + */ + void exitArgList(GraphqlSchemaParser.ArgListContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#argument}. + * @param ctx the parse tree + */ + void enterArgument(GraphqlSchemaParser.ArgumentContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#argument}. + * @param ctx the parse tree + */ + void exitArgument(GraphqlSchemaParser.ArgumentContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#typeSpec}. + * @param ctx the parse tree + */ + void enterTypeSpec(GraphqlSchemaParser.TypeSpecContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#typeSpec}. + * @param ctx the parse tree + */ + void exitTypeSpec(GraphqlSchemaParser.TypeSpecContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#typeName}. + * @param ctx the parse tree + */ + void enterTypeName(GraphqlSchemaParser.TypeNameContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#typeName}. + * @param ctx the parse tree + */ + void exitTypeName(GraphqlSchemaParser.TypeNameContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#listType}. + * @param ctx the parse tree + */ + void enterListType(GraphqlSchemaParser.ListTypeContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#listType}. + * @param ctx the parse tree + */ + void exitListType(GraphqlSchemaParser.ListTypeContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#required}. + * @param ctx the parse tree + */ + void enterRequired(GraphqlSchemaParser.RequiredContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#required}. + * @param ctx the parse tree + */ + void exitRequired(GraphqlSchemaParser.RequiredContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#defaultValue}. + * @param ctx the parse tree + */ + void enterDefaultValue(GraphqlSchemaParser.DefaultValueContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#defaultValue}. + * @param ctx the parse tree + */ + void exitDefaultValue(GraphqlSchemaParser.DefaultValueContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#anyName}. + * @param ctx the parse tree + */ + void enterAnyName(GraphqlSchemaParser.AnyNameContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#anyName}. + * @param ctx the parse tree + */ + void exitAnyName(GraphqlSchemaParser.AnyNameContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#nameTokens}. + * @param ctx the parse tree + */ + void enterNameTokens(GraphqlSchemaParser.NameTokensContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#nameTokens}. + * @param ctx the parse tree + */ + void exitNameTokens(GraphqlSchemaParser.NameTokensContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#booleanValue}. + * @param ctx the parse tree + */ + void enterBooleanValue(GraphqlSchemaParser.BooleanValueContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#booleanValue}. + * @param ctx the parse tree + */ + void exitBooleanValue(GraphqlSchemaParser.BooleanValueContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#value}. + * @param ctx the parse tree + */ + void enterValue(GraphqlSchemaParser.ValueContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#value}. + * @param ctx the parse tree + */ + void exitValue(GraphqlSchemaParser.ValueContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#enumValue}. + * @param ctx the parse tree + */ + void enterEnumValue(GraphqlSchemaParser.EnumValueContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#enumValue}. + * @param ctx the parse tree + */ + void exitEnumValue(GraphqlSchemaParser.EnumValueContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#arrayValue}. + * @param ctx the parse tree + */ + void enterArrayValue(GraphqlSchemaParser.ArrayValueContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#arrayValue}. + * @param ctx the parse tree + */ + void exitArrayValue(GraphqlSchemaParser.ArrayValueContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#objectValue}. + * @param ctx the parse tree + */ + void enterObjectValue(GraphqlSchemaParser.ObjectValueContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#objectValue}. + * @param ctx the parse tree + */ + void exitObjectValue(GraphqlSchemaParser.ObjectValueContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#objectField}. + * @param ctx the parse tree + */ + void enterObjectField(GraphqlSchemaParser.ObjectFieldContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#objectField}. + * @param ctx the parse tree + */ + void exitObjectField(GraphqlSchemaParser.ObjectFieldContext ctx); + /** + * Enter a parse tree produced by {@link GraphqlSchemaParser#nullValue}. + * @param ctx the parse tree + */ + void enterNullValue(GraphqlSchemaParser.NullValueContext ctx); + /** + * Exit a parse tree produced by {@link GraphqlSchemaParser#nullValue}. + * @param ctx the parse tree + */ + void exitNullValue(GraphqlSchemaParser.NullValueContext ctx); +} \ No newline at end of file diff --git a/gen/src/com/walmartlabs/lacinia/GraphqlSchemaParser.java b/gen/src/com/walmartlabs/lacinia/GraphqlSchemaParser.java new file mode 100644 index 00000000..ce304e2d --- /dev/null +++ b/gen/src/com/walmartlabs/lacinia/GraphqlSchemaParser.java @@ -0,0 +1,3986 @@ +// Generated from /Users/namenu/Development/lacinia/resources/com/walmartlabs/lacinia/GraphqlSchema.g4 by ANTLR 4.13.1 +package com.walmartlabs.lacinia; +import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.dfa.DFA; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.misc.*; +import org.antlr.v4.runtime.tree.*; +import java.util.List; +import java.util.Iterator; +import java.util.ArrayList; + +@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast", "CheckReturnValue"}) +public class GraphqlSchemaParser extends Parser { + static { RuntimeMetaData.checkVersion("4.13.1", RuntimeMetaData.VERSION); } + + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + T__0=1, T__1=2, T__2=3, T__3=4, T__4=5, T__5=6, T__6=7, T__7=8, T__8=9, + T__9=10, T__10=11, T__11=12, EXECUTABLE_DIRECTIVE_LOCATION=13, TYPE_SYSTEM_DIRECTIVE_LOCATION=14, + K_TYPE=15, K_IMPLEMENTS=16, K_INTERFACE=17, K_SCHEMA=18, K_ENUM=19, K_UNION=20, + K_INPUT=21, K_DIRECTIVE=22, K_EXTEND=23, K_SCALAR=24, K_ON=25, K_FRAGMENT=26, + K_QUERY=27, K_MUTATION=28, K_SUBSCRIPTION=29, K_VALUE=30, K_TRUE=31, K_FALSE=32, + K_NULL=33, Name=34, IntValue=35, FloatValue=36, Sign=37, IntegerPart=38, + NonZeroDigit=39, ExponentPart=40, Digit=41, StringValue=42, BlockStringValue=43, + Ignored=44; + public static final int + RULE_graphqlSchema = 0, RULE_description = 1, RULE_schemaDef = 2, RULE_operationTypeDef = 3, + RULE_queryOperationDef = 4, RULE_mutationOperationDef = 5, RULE_subscriptionOperationDef = 6, + RULE_directiveLocationList = 7, RULE_directiveLocation = 8, RULE_executableDirectiveLocation = 9, + RULE_typeSystemDirectiveLocation = 10, RULE_directiveDef = 11, RULE_directiveList = 12, + RULE_directive = 13, RULE_directiveArgList = 14, RULE_directiveArg = 15, + RULE_typeDef = 16, RULE_typeExtDef = 17, RULE_fieldDefs = 18, RULE_implementationDef = 19, + RULE_inputTypeDef = 20, RULE_inputTypeExtDef = 21, RULE_inputValueDefs = 22, + RULE_inputValueDef = 23, RULE_interfaceDef = 24, RULE_scalarDef = 25, + RULE_unionDef = 26, RULE_unionExtDef = 27, RULE_unionTypes = 28, RULE_enumDef = 29, + RULE_enumValueDefs = 30, RULE_enumValueDef = 31, RULE_fieldDef = 32, RULE_argList = 33, + RULE_argument = 34, RULE_typeSpec = 35, RULE_typeName = 36, RULE_listType = 37, + RULE_required = 38, RULE_defaultValue = 39, RULE_anyName = 40, RULE_nameTokens = 41, + RULE_booleanValue = 42, RULE_value = 43, RULE_enumValue = 44, RULE_arrayValue = 45, + RULE_objectValue = 46, RULE_objectField = 47, RULE_nullValue = 48; + private static String[] makeRuleNames() { + return new String[] { + "graphqlSchema", "description", "schemaDef", "operationTypeDef", "queryOperationDef", + "mutationOperationDef", "subscriptionOperationDef", "directiveLocationList", + "directiveLocation", "executableDirectiveLocation", "typeSystemDirectiveLocation", + "directiveDef", "directiveList", "directive", "directiveArgList", "directiveArg", + "typeDef", "typeExtDef", "fieldDefs", "implementationDef", "inputTypeDef", + "inputTypeExtDef", "inputValueDefs", "inputValueDef", "interfaceDef", + "scalarDef", "unionDef", "unionExtDef", "unionTypes", "enumDef", "enumValueDefs", + "enumValueDef", "fieldDef", "argList", "argument", "typeSpec", "typeName", + "listType", "required", "defaultValue", "anyName", "nameTokens", "booleanValue", + "value", "enumValue", "arrayValue", "objectValue", "objectField", "nullValue" + }; + } + public static final String[] ruleNames = makeRuleNames(); + + private static String[] makeLiteralNames() { + return new String[] { + null, "'{'", "'}'", "':'", "'|'", "'@'", "'('", "')'", "'&'", "'='", + "'['", "']'", "'!'", null, null, "'type'", "'implements'", "'interface'", + "'schema'", "'enum'", "'union'", "'input'", "'directive'", "'extend'", + "'scalar'", "'on'", "'fragment'", "'query'", "'mutation'", "'subscription'", + "'value'", "'true'", "'false'", "'null'", null, null, null, "'-'" + }; + } + private static final String[] _LITERAL_NAMES = makeLiteralNames(); + private static String[] makeSymbolicNames() { + return new String[] { + null, null, null, null, null, null, null, null, null, null, null, null, + null, "EXECUTABLE_DIRECTIVE_LOCATION", "TYPE_SYSTEM_DIRECTIVE_LOCATION", + "K_TYPE", "K_IMPLEMENTS", "K_INTERFACE", "K_SCHEMA", "K_ENUM", "K_UNION", + "K_INPUT", "K_DIRECTIVE", "K_EXTEND", "K_SCALAR", "K_ON", "K_FRAGMENT", + "K_QUERY", "K_MUTATION", "K_SUBSCRIPTION", "K_VALUE", "K_TRUE", "K_FALSE", + "K_NULL", "Name", "IntValue", "FloatValue", "Sign", "IntegerPart", "NonZeroDigit", + "ExponentPart", "Digit", "StringValue", "BlockStringValue", "Ignored" + }; + } + private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); + } + + if (tokenNames[i] == null) { + tokenNames[i] = ""; + } + } + } + + @Override + @Deprecated + public String[] getTokenNames() { + return tokenNames; + } + + @Override + + public Vocabulary getVocabulary() { + return VOCABULARY; + } + + @Override + public String getGrammarFileName() { return "GraphqlSchema.g4"; } + + @Override + public String[] getRuleNames() { return ruleNames; } + + @Override + public String getSerializedATN() { return _serializedATN; } + + @Override + public ATN getATN() { return _ATN; } + + public GraphqlSchemaParser(TokenStream input) { + super(input); + _interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); + } + + @SuppressWarnings("CheckReturnValue") + public static class GraphqlSchemaContext extends ParserRuleContext { + public List schemaDef() { + return getRuleContexts(SchemaDefContext.class); + } + public SchemaDefContext schemaDef(int i) { + return getRuleContext(SchemaDefContext.class,i); + } + public List typeDef() { + return getRuleContexts(TypeDefContext.class); + } + public TypeDefContext typeDef(int i) { + return getRuleContext(TypeDefContext.class,i); + } + public List typeExtDef() { + return getRuleContexts(TypeExtDefContext.class); + } + public TypeExtDefContext typeExtDef(int i) { + return getRuleContext(TypeExtDefContext.class,i); + } + public List inputTypeDef() { + return getRuleContexts(InputTypeDefContext.class); + } + public InputTypeDefContext inputTypeDef(int i) { + return getRuleContext(InputTypeDefContext.class,i); + } + public List inputTypeExtDef() { + return getRuleContexts(InputTypeExtDefContext.class); + } + public InputTypeExtDefContext inputTypeExtDef(int i) { + return getRuleContext(InputTypeExtDefContext.class,i); + } + public List unionDef() { + return getRuleContexts(UnionDefContext.class); + } + public UnionDefContext unionDef(int i) { + return getRuleContext(UnionDefContext.class,i); + } + public List unionExtDef() { + return getRuleContexts(UnionExtDefContext.class); + } + public UnionExtDefContext unionExtDef(int i) { + return getRuleContext(UnionExtDefContext.class,i); + } + public List enumDef() { + return getRuleContexts(EnumDefContext.class); + } + public EnumDefContext enumDef(int i) { + return getRuleContext(EnumDefContext.class,i); + } + public List interfaceDef() { + return getRuleContexts(InterfaceDefContext.class); + } + public InterfaceDefContext interfaceDef(int i) { + return getRuleContext(InterfaceDefContext.class,i); + } + public List scalarDef() { + return getRuleContexts(ScalarDefContext.class); + } + public ScalarDefContext scalarDef(int i) { + return getRuleContext(ScalarDefContext.class,i); + } + public List directiveDef() { + return getRuleContexts(DirectiveDefContext.class); + } + public DirectiveDefContext directiveDef(int i) { + return getRuleContext(DirectiveDefContext.class,i); + } + public GraphqlSchemaContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_graphqlSchema; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterGraphqlSchema(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitGraphqlSchema(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitGraphqlSchema(this); + else return visitor.visitChildren(this); + } + } + + public final GraphqlSchemaContext graphqlSchema() throws RecognitionException { + GraphqlSchemaContext _localctx = new GraphqlSchemaContext(_ctx, getState()); + enterRule(_localctx, 0, RULE_graphqlSchema); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(111); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & 13194172989440L) != 0)) { + { + setState(109); + _errHandler.sync(this); + switch ( getInterpreter().adaptivePredict(_input,0,_ctx) ) { + case 1: + { + setState(98); + schemaDef(); + } + break; + case 2: + { + setState(99); + typeDef(); + } + break; + case 3: + { + setState(100); + typeExtDef(); + } + break; + case 4: + { + setState(101); + inputTypeDef(); + } + break; + case 5: + { + setState(102); + inputTypeExtDef(); + } + break; + case 6: + { + setState(103); + unionDef(); + } + break; + case 7: + { + setState(104); + unionExtDef(); + } + break; + case 8: + { + setState(105); + enumDef(); + } + break; + case 9: + { + setState(106); + interfaceDef(); + } + break; + case 10: + { + setState(107); + scalarDef(); + } + break; + case 11: + { + setState(108); + directiveDef(); + } + break; + } + } + setState(113); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class DescriptionContext extends ParserRuleContext { + public TerminalNode StringValue() { return getToken(GraphqlSchemaParser.StringValue, 0); } + public TerminalNode BlockStringValue() { return getToken(GraphqlSchemaParser.BlockStringValue, 0); } + public DescriptionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_description; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterDescription(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitDescription(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitDescription(this); + else return visitor.visitChildren(this); + } + } + + public final DescriptionContext description() throws RecognitionException { + DescriptionContext _localctx = new DescriptionContext(_ctx, getState()); + enterRule(_localctx, 2, RULE_description); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(114); + _la = _input.LA(1); + if ( !(_la==StringValue || _la==BlockStringValue) ) { + _errHandler.recoverInline(this); + } + else { + if ( _input.LA(1)==Token.EOF ) matchedEOF = true; + _errHandler.reportMatch(this); + consume(); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class SchemaDefContext extends ParserRuleContext { + public TerminalNode K_SCHEMA() { return getToken(GraphqlSchemaParser.K_SCHEMA, 0); } + public DirectiveListContext directiveList() { + return getRuleContext(DirectiveListContext.class,0); + } + public List operationTypeDef() { + return getRuleContexts(OperationTypeDefContext.class); + } + public OperationTypeDefContext operationTypeDef(int i) { + return getRuleContext(OperationTypeDefContext.class,i); + } + public SchemaDefContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_schemaDef; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterSchemaDef(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitSchemaDef(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitSchemaDef(this); + else return visitor.visitChildren(this); + } + } + + public final SchemaDefContext schemaDef() throws RecognitionException { + SchemaDefContext _localctx = new SchemaDefContext(_ctx, getState()); + enterRule(_localctx, 4, RULE_schemaDef); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(116); + match(K_SCHEMA); + setState(118); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==T__4) { + { + setState(117); + directiveList(); + } + } + + setState(120); + match(T__0); + setState(122); + _errHandler.sync(this); + _la = _input.LA(1); + do { + { + { + setState(121); + operationTypeDef(); + } + } + setState(124); + _errHandler.sync(this); + _la = _input.LA(1); + } while ( (((_la) & ~0x3f) == 0 && ((1L << _la) & 939524096L) != 0) ); + setState(126); + match(T__1); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class OperationTypeDefContext extends ParserRuleContext { + public QueryOperationDefContext queryOperationDef() { + return getRuleContext(QueryOperationDefContext.class,0); + } + public MutationOperationDefContext mutationOperationDef() { + return getRuleContext(MutationOperationDefContext.class,0); + } + public SubscriptionOperationDefContext subscriptionOperationDef() { + return getRuleContext(SubscriptionOperationDefContext.class,0); + } + public OperationTypeDefContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_operationTypeDef; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterOperationTypeDef(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitOperationTypeDef(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitOperationTypeDef(this); + else return visitor.visitChildren(this); + } + } + + public final OperationTypeDefContext operationTypeDef() throws RecognitionException { + OperationTypeDefContext _localctx = new OperationTypeDefContext(_ctx, getState()); + enterRule(_localctx, 6, RULE_operationTypeDef); + try { + setState(131); + _errHandler.sync(this); + switch (_input.LA(1)) { + case K_QUERY: + enterOuterAlt(_localctx, 1); + { + setState(128); + queryOperationDef(); + } + break; + case K_MUTATION: + enterOuterAlt(_localctx, 2); + { + setState(129); + mutationOperationDef(); + } + break; + case K_SUBSCRIPTION: + enterOuterAlt(_localctx, 3); + { + setState(130); + subscriptionOperationDef(); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class QueryOperationDefContext extends ParserRuleContext { + public TerminalNode K_QUERY() { return getToken(GraphqlSchemaParser.K_QUERY, 0); } + public AnyNameContext anyName() { + return getRuleContext(AnyNameContext.class,0); + } + public QueryOperationDefContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_queryOperationDef; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterQueryOperationDef(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitQueryOperationDef(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitQueryOperationDef(this); + else return visitor.visitChildren(this); + } + } + + public final QueryOperationDefContext queryOperationDef() throws RecognitionException { + QueryOperationDefContext _localctx = new QueryOperationDefContext(_ctx, getState()); + enterRule(_localctx, 8, RULE_queryOperationDef); + try { + enterOuterAlt(_localctx, 1); + { + setState(133); + match(K_QUERY); + setState(134); + match(T__2); + setState(135); + anyName(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class MutationOperationDefContext extends ParserRuleContext { + public TerminalNode K_MUTATION() { return getToken(GraphqlSchemaParser.K_MUTATION, 0); } + public AnyNameContext anyName() { + return getRuleContext(AnyNameContext.class,0); + } + public MutationOperationDefContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_mutationOperationDef; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterMutationOperationDef(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitMutationOperationDef(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitMutationOperationDef(this); + else return visitor.visitChildren(this); + } + } + + public final MutationOperationDefContext mutationOperationDef() throws RecognitionException { + MutationOperationDefContext _localctx = new MutationOperationDefContext(_ctx, getState()); + enterRule(_localctx, 10, RULE_mutationOperationDef); + try { + enterOuterAlt(_localctx, 1); + { + setState(137); + match(K_MUTATION); + setState(138); + match(T__2); + setState(139); + anyName(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class SubscriptionOperationDefContext extends ParserRuleContext { + public TerminalNode K_SUBSCRIPTION() { return getToken(GraphqlSchemaParser.K_SUBSCRIPTION, 0); } + public AnyNameContext anyName() { + return getRuleContext(AnyNameContext.class,0); + } + public SubscriptionOperationDefContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_subscriptionOperationDef; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterSubscriptionOperationDef(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitSubscriptionOperationDef(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitSubscriptionOperationDef(this); + else return visitor.visitChildren(this); + } + } + + public final SubscriptionOperationDefContext subscriptionOperationDef() throws RecognitionException { + SubscriptionOperationDefContext _localctx = new SubscriptionOperationDefContext(_ctx, getState()); + enterRule(_localctx, 12, RULE_subscriptionOperationDef); + try { + enterOuterAlt(_localctx, 1); + { + setState(141); + match(K_SUBSCRIPTION); + setState(142); + match(T__2); + setState(143); + anyName(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class DirectiveLocationListContext extends ParserRuleContext { + public List directiveLocation() { + return getRuleContexts(DirectiveLocationContext.class); + } + public DirectiveLocationContext directiveLocation(int i) { + return getRuleContext(DirectiveLocationContext.class,i); + } + public DirectiveLocationListContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_directiveLocationList; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterDirectiveLocationList(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitDirectiveLocationList(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitDirectiveLocationList(this); + else return visitor.visitChildren(this); + } + } + + public final DirectiveLocationListContext directiveLocationList() throws RecognitionException { + DirectiveLocationListContext _localctx = new DirectiveLocationListContext(_ctx, getState()); + enterRule(_localctx, 14, RULE_directiveLocationList); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(150); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,5,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + setState(145); + directiveLocation(); + setState(146); + match(T__3); + } + } + } + setState(152); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,5,_ctx); + } + setState(153); + directiveLocation(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class DirectiveLocationContext extends ParserRuleContext { + public ExecutableDirectiveLocationContext executableDirectiveLocation() { + return getRuleContext(ExecutableDirectiveLocationContext.class,0); + } + public TypeSystemDirectiveLocationContext typeSystemDirectiveLocation() { + return getRuleContext(TypeSystemDirectiveLocationContext.class,0); + } + public DirectiveLocationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_directiveLocation; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterDirectiveLocation(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitDirectiveLocation(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitDirectiveLocation(this); + else return visitor.visitChildren(this); + } + } + + public final DirectiveLocationContext directiveLocation() throws RecognitionException { + DirectiveLocationContext _localctx = new DirectiveLocationContext(_ctx, getState()); + enterRule(_localctx, 16, RULE_directiveLocation); + try { + setState(157); + _errHandler.sync(this); + switch (_input.LA(1)) { + case EXECUTABLE_DIRECTIVE_LOCATION: + enterOuterAlt(_localctx, 1); + { + setState(155); + executableDirectiveLocation(); + } + break; + case TYPE_SYSTEM_DIRECTIVE_LOCATION: + enterOuterAlt(_localctx, 2); + { + setState(156); + typeSystemDirectiveLocation(); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class ExecutableDirectiveLocationContext extends ParserRuleContext { + public TerminalNode EXECUTABLE_DIRECTIVE_LOCATION() { return getToken(GraphqlSchemaParser.EXECUTABLE_DIRECTIVE_LOCATION, 0); } + public ExecutableDirectiveLocationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_executableDirectiveLocation; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterExecutableDirectiveLocation(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitExecutableDirectiveLocation(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitExecutableDirectiveLocation(this); + else return visitor.visitChildren(this); + } + } + + public final ExecutableDirectiveLocationContext executableDirectiveLocation() throws RecognitionException { + ExecutableDirectiveLocationContext _localctx = new ExecutableDirectiveLocationContext(_ctx, getState()); + enterRule(_localctx, 18, RULE_executableDirectiveLocation); + try { + enterOuterAlt(_localctx, 1); + { + setState(159); + match(EXECUTABLE_DIRECTIVE_LOCATION); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class TypeSystemDirectiveLocationContext extends ParserRuleContext { + public TerminalNode TYPE_SYSTEM_DIRECTIVE_LOCATION() { return getToken(GraphqlSchemaParser.TYPE_SYSTEM_DIRECTIVE_LOCATION, 0); } + public TypeSystemDirectiveLocationContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_typeSystemDirectiveLocation; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterTypeSystemDirectiveLocation(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitTypeSystemDirectiveLocation(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitTypeSystemDirectiveLocation(this); + else return visitor.visitChildren(this); + } + } + + public final TypeSystemDirectiveLocationContext typeSystemDirectiveLocation() throws RecognitionException { + TypeSystemDirectiveLocationContext _localctx = new TypeSystemDirectiveLocationContext(_ctx, getState()); + enterRule(_localctx, 20, RULE_typeSystemDirectiveLocation); + try { + enterOuterAlt(_localctx, 1); + { + setState(161); + match(TYPE_SYSTEM_DIRECTIVE_LOCATION); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class DirectiveDefContext extends ParserRuleContext { + public TerminalNode K_DIRECTIVE() { return getToken(GraphqlSchemaParser.K_DIRECTIVE, 0); } + public AnyNameContext anyName() { + return getRuleContext(AnyNameContext.class,0); + } + public TerminalNode K_ON() { return getToken(GraphqlSchemaParser.K_ON, 0); } + public DirectiveLocationListContext directiveLocationList() { + return getRuleContext(DirectiveLocationListContext.class,0); + } + public DescriptionContext description() { + return getRuleContext(DescriptionContext.class,0); + } + public ArgListContext argList() { + return getRuleContext(ArgListContext.class,0); + } + public DirectiveDefContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_directiveDef; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterDirectiveDef(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitDirectiveDef(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitDirectiveDef(this); + else return visitor.visitChildren(this); + } + } + + public final DirectiveDefContext directiveDef() throws RecognitionException { + DirectiveDefContext _localctx = new DirectiveDefContext(_ctx, getState()); + enterRule(_localctx, 22, RULE_directiveDef); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(164); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==StringValue || _la==BlockStringValue) { + { + setState(163); + description(); + } + } + + setState(166); + match(K_DIRECTIVE); + setState(167); + match(T__4); + setState(168); + anyName(); + setState(170); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==T__5) { + { + setState(169); + argList(); + } + } + + setState(172); + match(K_ON); + setState(173); + directiveLocationList(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class DirectiveListContext extends ParserRuleContext { + public List directive() { + return getRuleContexts(DirectiveContext.class); + } + public DirectiveContext directive(int i) { + return getRuleContext(DirectiveContext.class,i); + } + public DirectiveListContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_directiveList; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterDirectiveList(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitDirectiveList(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitDirectiveList(this); + else return visitor.visitChildren(this); + } + } + + public final DirectiveListContext directiveList() throws RecognitionException { + DirectiveListContext _localctx = new DirectiveListContext(_ctx, getState()); + enterRule(_localctx, 24, RULE_directiveList); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(176); + _errHandler.sync(this); + _la = _input.LA(1); + do { + { + { + setState(175); + directive(); + } + } + setState(178); + _errHandler.sync(this); + _la = _input.LA(1); + } while ( _la==T__4 ); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class DirectiveContext extends ParserRuleContext { + public AnyNameContext anyName() { + return getRuleContext(AnyNameContext.class,0); + } + public DirectiveArgListContext directiveArgList() { + return getRuleContext(DirectiveArgListContext.class,0); + } + public DirectiveContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_directive; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterDirective(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitDirective(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitDirective(this); + else return visitor.visitChildren(this); + } + } + + public final DirectiveContext directive() throws RecognitionException { + DirectiveContext _localctx = new DirectiveContext(_ctx, getState()); + enterRule(_localctx, 26, RULE_directive); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(180); + match(T__4); + setState(181); + anyName(); + setState(183); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==T__5) { + { + setState(182); + directiveArgList(); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class DirectiveArgListContext extends ParserRuleContext { + public List directiveArg() { + return getRuleContexts(DirectiveArgContext.class); + } + public DirectiveArgContext directiveArg(int i) { + return getRuleContext(DirectiveArgContext.class,i); + } + public DirectiveArgListContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_directiveArgList; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterDirectiveArgList(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitDirectiveArgList(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitDirectiveArgList(this); + else return visitor.visitChildren(this); + } + } + + public final DirectiveArgListContext directiveArgList() throws RecognitionException { + DirectiveArgListContext _localctx = new DirectiveArgListContext(_ctx, getState()); + enterRule(_localctx, 28, RULE_directiveArgList); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(185); + match(T__5); + setState(187); + _errHandler.sync(this); + _la = _input.LA(1); + do { + { + { + setState(186); + directiveArg(); + } + } + setState(189); + _errHandler.sync(this); + _la = _input.LA(1); + } while ( (((_la) & ~0x3f) == 0 && ((1L << _la) & 34359730176L) != 0) ); + setState(191); + match(T__6); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class DirectiveArgContext extends ParserRuleContext { + public AnyNameContext anyName() { + return getRuleContext(AnyNameContext.class,0); + } + public ValueContext value() { + return getRuleContext(ValueContext.class,0); + } + public DirectiveArgContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_directiveArg; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterDirectiveArg(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitDirectiveArg(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitDirectiveArg(this); + else return visitor.visitChildren(this); + } + } + + public final DirectiveArgContext directiveArg() throws RecognitionException { + DirectiveArgContext _localctx = new DirectiveArgContext(_ctx, getState()); + enterRule(_localctx, 30, RULE_directiveArg); + try { + enterOuterAlt(_localctx, 1); + { + setState(193); + anyName(); + setState(194); + match(T__2); + setState(195); + value(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class TypeDefContext extends ParserRuleContext { + public TerminalNode K_TYPE() { return getToken(GraphqlSchemaParser.K_TYPE, 0); } + public AnyNameContext anyName() { + return getRuleContext(AnyNameContext.class,0); + } + public DescriptionContext description() { + return getRuleContext(DescriptionContext.class,0); + } + public ImplementationDefContext implementationDef() { + return getRuleContext(ImplementationDefContext.class,0); + } + public DirectiveListContext directiveList() { + return getRuleContext(DirectiveListContext.class,0); + } + public FieldDefsContext fieldDefs() { + return getRuleContext(FieldDefsContext.class,0); + } + public TypeDefContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_typeDef; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterTypeDef(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitTypeDef(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitTypeDef(this); + else return visitor.visitChildren(this); + } + } + + public final TypeDefContext typeDef() throws RecognitionException { + TypeDefContext _localctx = new TypeDefContext(_ctx, getState()); + enterRule(_localctx, 32, RULE_typeDef); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(198); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==StringValue || _la==BlockStringValue) { + { + setState(197); + description(); + } + } + + setState(200); + match(K_TYPE); + setState(201); + anyName(); + setState(203); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==K_IMPLEMENTS) { + { + setState(202); + implementationDef(); + } + } + + setState(206); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==T__4) { + { + setState(205); + directiveList(); + } + } + + setState(209); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==T__0) { + { + setState(208); + fieldDefs(); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class TypeExtDefContext extends ParserRuleContext { + public TerminalNode K_EXTEND() { return getToken(GraphqlSchemaParser.K_EXTEND, 0); } + public TerminalNode K_TYPE() { return getToken(GraphqlSchemaParser.K_TYPE, 0); } + public AnyNameContext anyName() { + return getRuleContext(AnyNameContext.class,0); + } + public DescriptionContext description() { + return getRuleContext(DescriptionContext.class,0); + } + public ImplementationDefContext implementationDef() { + return getRuleContext(ImplementationDefContext.class,0); + } + public DirectiveListContext directiveList() { + return getRuleContext(DirectiveListContext.class,0); + } + public FieldDefsContext fieldDefs() { + return getRuleContext(FieldDefsContext.class,0); + } + public TypeExtDefContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_typeExtDef; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterTypeExtDef(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitTypeExtDef(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitTypeExtDef(this); + else return visitor.visitChildren(this); + } + } + + public final TypeExtDefContext typeExtDef() throws RecognitionException { + TypeExtDefContext _localctx = new TypeExtDefContext(_ctx, getState()); + enterRule(_localctx, 34, RULE_typeExtDef); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(212); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==StringValue || _la==BlockStringValue) { + { + setState(211); + description(); + } + } + + setState(214); + match(K_EXTEND); + setState(215); + match(K_TYPE); + setState(216); + anyName(); + setState(218); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==K_IMPLEMENTS) { + { + setState(217); + implementationDef(); + } + } + + setState(221); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==T__4) { + { + setState(220); + directiveList(); + } + } + + setState(224); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==T__0) { + { + setState(223); + fieldDefs(); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class FieldDefsContext extends ParserRuleContext { + public List fieldDef() { + return getRuleContexts(FieldDefContext.class); + } + public FieldDefContext fieldDef(int i) { + return getRuleContext(FieldDefContext.class,i); + } + public FieldDefsContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_fieldDefs; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterFieldDefs(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitFieldDefs(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitFieldDefs(this); + else return visitor.visitChildren(this); + } + } + + public final FieldDefsContext fieldDefs() throws RecognitionException { + FieldDefsContext _localctx = new FieldDefsContext(_ctx, getState()); + enterRule(_localctx, 36, RULE_fieldDefs); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(226); + match(T__0); + setState(228); + _errHandler.sync(this); + _la = _input.LA(1); + do { + { + { + setState(227); + fieldDef(); + } + } + setState(230); + _errHandler.sync(this); + _la = _input.LA(1); + } while ( (((_la) & ~0x3f) == 0 && ((1L << _la) & 13228499263488L) != 0) ); + setState(232); + match(T__1); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class ImplementationDefContext extends ParserRuleContext { + public TerminalNode K_IMPLEMENTS() { return getToken(GraphqlSchemaParser.K_IMPLEMENTS, 0); } + public List Name() { return getTokens(GraphqlSchemaParser.Name); } + public TerminalNode Name(int i) { + return getToken(GraphqlSchemaParser.Name, i); + } + public ImplementationDefContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_implementationDef; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterImplementationDef(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitImplementationDef(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitImplementationDef(this); + else return visitor.visitChildren(this); + } + } + + public final ImplementationDefContext implementationDef() throws RecognitionException { + ImplementationDefContext _localctx = new ImplementationDefContext(_ctx, getState()); + enterRule(_localctx, 38, RULE_implementationDef); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(234); + match(K_IMPLEMENTS); + setState(236); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==T__7) { + { + setState(235); + match(T__7); + } + } + + setState(238); + match(Name); + setState(243); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la==T__7) { + { + { + setState(239); + match(T__7); + setState(240); + match(Name); + } + } + setState(245); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class InputTypeDefContext extends ParserRuleContext { + public TerminalNode K_INPUT() { return getToken(GraphqlSchemaParser.K_INPUT, 0); } + public AnyNameContext anyName() { + return getRuleContext(AnyNameContext.class,0); + } + public DescriptionContext description() { + return getRuleContext(DescriptionContext.class,0); + } + public DirectiveListContext directiveList() { + return getRuleContext(DirectiveListContext.class,0); + } + public InputValueDefsContext inputValueDefs() { + return getRuleContext(InputValueDefsContext.class,0); + } + public InputTypeDefContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_inputTypeDef; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterInputTypeDef(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitInputTypeDef(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitInputTypeDef(this); + else return visitor.visitChildren(this); + } + } + + public final InputTypeDefContext inputTypeDef() throws RecognitionException { + InputTypeDefContext _localctx = new InputTypeDefContext(_ctx, getState()); + enterRule(_localctx, 40, RULE_inputTypeDef); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(247); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==StringValue || _la==BlockStringValue) { + { + setState(246); + description(); + } + } + + setState(249); + match(K_INPUT); + setState(250); + anyName(); + setState(252); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==T__4) { + { + setState(251); + directiveList(); + } + } + + setState(255); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==T__0) { + { + setState(254); + inputValueDefs(); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class InputTypeExtDefContext extends ParserRuleContext { + public TerminalNode K_EXTEND() { return getToken(GraphqlSchemaParser.K_EXTEND, 0); } + public TerminalNode K_INPUT() { return getToken(GraphqlSchemaParser.K_INPUT, 0); } + public AnyNameContext anyName() { + return getRuleContext(AnyNameContext.class,0); + } + public DescriptionContext description() { + return getRuleContext(DescriptionContext.class,0); + } + public DirectiveListContext directiveList() { + return getRuleContext(DirectiveListContext.class,0); + } + public InputValueDefsContext inputValueDefs() { + return getRuleContext(InputValueDefsContext.class,0); + } + public InputTypeExtDefContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_inputTypeExtDef; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterInputTypeExtDef(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitInputTypeExtDef(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitInputTypeExtDef(this); + else return visitor.visitChildren(this); + } + } + + public final InputTypeExtDefContext inputTypeExtDef() throws RecognitionException { + InputTypeExtDefContext _localctx = new InputTypeExtDefContext(_ctx, getState()); + enterRule(_localctx, 42, RULE_inputTypeExtDef); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(258); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==StringValue || _la==BlockStringValue) { + { + setState(257); + description(); + } + } + + setState(260); + match(K_EXTEND); + setState(261); + match(K_INPUT); + setState(262); + anyName(); + setState(264); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==T__4) { + { + setState(263); + directiveList(); + } + } + + setState(267); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==T__0) { + { + setState(266); + inputValueDefs(); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class InputValueDefsContext extends ParserRuleContext { + public List inputValueDef() { + return getRuleContexts(InputValueDefContext.class); + } + public InputValueDefContext inputValueDef(int i) { + return getRuleContext(InputValueDefContext.class,i); + } + public InputValueDefsContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_inputValueDefs; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterInputValueDefs(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitInputValueDefs(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitInputValueDefs(this); + else return visitor.visitChildren(this); + } + } + + public final InputValueDefsContext inputValueDefs() throws RecognitionException { + InputValueDefsContext _localctx = new InputValueDefsContext(_ctx, getState()); + enterRule(_localctx, 44, RULE_inputValueDefs); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(269); + match(T__0); + setState(271); + _errHandler.sync(this); + _la = _input.LA(1); + do { + { + { + setState(270); + inputValueDef(); + } + } + setState(273); + _errHandler.sync(this); + _la = _input.LA(1); + } while ( (((_la) & ~0x3f) == 0 && ((1L << _la) & 13228499263488L) != 0) ); + setState(275); + match(T__1); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class InputValueDefContext extends ParserRuleContext { + public AnyNameContext anyName() { + return getRuleContext(AnyNameContext.class,0); + } + public TypeSpecContext typeSpec() { + return getRuleContext(TypeSpecContext.class,0); + } + public DescriptionContext description() { + return getRuleContext(DescriptionContext.class,0); + } + public DefaultValueContext defaultValue() { + return getRuleContext(DefaultValueContext.class,0); + } + public DirectiveListContext directiveList() { + return getRuleContext(DirectiveListContext.class,0); + } + public InputValueDefContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_inputValueDef; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterInputValueDef(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitInputValueDef(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitInputValueDef(this); + else return visitor.visitChildren(this); + } + } + + public final InputValueDefContext inputValueDef() throws RecognitionException { + InputValueDefContext _localctx = new InputValueDefContext(_ctx, getState()); + enterRule(_localctx, 46, RULE_inputValueDef); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(278); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==StringValue || _la==BlockStringValue) { + { + setState(277); + description(); + } + } + + setState(280); + anyName(); + setState(281); + match(T__2); + setState(282); + typeSpec(); + setState(284); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==T__8) { + { + setState(283); + defaultValue(); + } + } + + setState(287); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==T__4) { + { + setState(286); + directiveList(); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class InterfaceDefContext extends ParserRuleContext { + public TerminalNode K_INTERFACE() { return getToken(GraphqlSchemaParser.K_INTERFACE, 0); } + public AnyNameContext anyName() { + return getRuleContext(AnyNameContext.class,0); + } + public DescriptionContext description() { + return getRuleContext(DescriptionContext.class,0); + } + public DirectiveListContext directiveList() { + return getRuleContext(DirectiveListContext.class,0); + } + public FieldDefsContext fieldDefs() { + return getRuleContext(FieldDefsContext.class,0); + } + public InterfaceDefContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_interfaceDef; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterInterfaceDef(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitInterfaceDef(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitInterfaceDef(this); + else return visitor.visitChildren(this); + } + } + + public final InterfaceDefContext interfaceDef() throws RecognitionException { + InterfaceDefContext _localctx = new InterfaceDefContext(_ctx, getState()); + enterRule(_localctx, 48, RULE_interfaceDef); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(290); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==StringValue || _la==BlockStringValue) { + { + setState(289); + description(); + } + } + + setState(292); + match(K_INTERFACE); + setState(293); + anyName(); + setState(295); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==T__4) { + { + setState(294); + directiveList(); + } + } + + setState(298); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==T__0) { + { + setState(297); + fieldDefs(); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class ScalarDefContext extends ParserRuleContext { + public TerminalNode K_SCALAR() { return getToken(GraphqlSchemaParser.K_SCALAR, 0); } + public AnyNameContext anyName() { + return getRuleContext(AnyNameContext.class,0); + } + public DescriptionContext description() { + return getRuleContext(DescriptionContext.class,0); + } + public DirectiveListContext directiveList() { + return getRuleContext(DirectiveListContext.class,0); + } + public ScalarDefContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_scalarDef; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterScalarDef(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitScalarDef(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitScalarDef(this); + else return visitor.visitChildren(this); + } + } + + public final ScalarDefContext scalarDef() throws RecognitionException { + ScalarDefContext _localctx = new ScalarDefContext(_ctx, getState()); + enterRule(_localctx, 50, RULE_scalarDef); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(301); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==StringValue || _la==BlockStringValue) { + { + setState(300); + description(); + } + } + + setState(303); + match(K_SCALAR); + setState(304); + anyName(); + setState(306); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==T__4) { + { + setState(305); + directiveList(); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class UnionDefContext extends ParserRuleContext { + public TerminalNode K_UNION() { return getToken(GraphqlSchemaParser.K_UNION, 0); } + public AnyNameContext anyName() { + return getRuleContext(AnyNameContext.class,0); + } + public UnionTypesContext unionTypes() { + return getRuleContext(UnionTypesContext.class,0); + } + public DescriptionContext description() { + return getRuleContext(DescriptionContext.class,0); + } + public DirectiveListContext directiveList() { + return getRuleContext(DirectiveListContext.class,0); + } + public UnionDefContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_unionDef; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterUnionDef(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitUnionDef(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitUnionDef(this); + else return visitor.visitChildren(this); + } + } + + public final UnionDefContext unionDef() throws RecognitionException { + UnionDefContext _localctx = new UnionDefContext(_ctx, getState()); + enterRule(_localctx, 52, RULE_unionDef); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(309); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==StringValue || _la==BlockStringValue) { + { + setState(308); + description(); + } + } + + setState(311); + match(K_UNION); + setState(312); + anyName(); + setState(314); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==T__4) { + { + setState(313); + directiveList(); + } + } + + setState(316); + match(T__8); + setState(317); + unionTypes(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class UnionExtDefContext extends ParserRuleContext { + public TerminalNode K_EXTEND() { return getToken(GraphqlSchemaParser.K_EXTEND, 0); } + public TerminalNode K_UNION() { return getToken(GraphqlSchemaParser.K_UNION, 0); } + public AnyNameContext anyName() { + return getRuleContext(AnyNameContext.class,0); + } + public UnionTypesContext unionTypes() { + return getRuleContext(UnionTypesContext.class,0); + } + public DescriptionContext description() { + return getRuleContext(DescriptionContext.class,0); + } + public DirectiveListContext directiveList() { + return getRuleContext(DirectiveListContext.class,0); + } + public UnionExtDefContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_unionExtDef; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterUnionExtDef(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitUnionExtDef(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitUnionExtDef(this); + else return visitor.visitChildren(this); + } + } + + public final UnionExtDefContext unionExtDef() throws RecognitionException { + UnionExtDefContext _localctx = new UnionExtDefContext(_ctx, getState()); + enterRule(_localctx, 54, RULE_unionExtDef); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(320); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==StringValue || _la==BlockStringValue) { + { + setState(319); + description(); + } + } + + setState(322); + match(K_EXTEND); + setState(323); + match(K_UNION); + setState(324); + anyName(); + setState(326); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==T__4) { + { + setState(325); + directiveList(); + } + } + + setState(328); + match(T__8); + setState(329); + unionTypes(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class UnionTypesContext extends ParserRuleContext { + public List anyName() { + return getRuleContexts(AnyNameContext.class); + } + public AnyNameContext anyName(int i) { + return getRuleContext(AnyNameContext.class,i); + } + public UnionTypesContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_unionTypes; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterUnionTypes(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitUnionTypes(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitUnionTypes(this); + else return visitor.visitChildren(this); + } + } + + public final UnionTypesContext unionTypes() throws RecognitionException { + UnionTypesContext _localctx = new UnionTypesContext(_ctx, getState()); + enterRule(_localctx, 56, RULE_unionTypes); + try { + int _alt; + enterOuterAlt(_localctx, 1); + { + setState(336); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,42,_ctx); + while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + setState(331); + anyName(); + setState(332); + match(T__3); + } + } + } + setState(338); + _errHandler.sync(this); + _alt = getInterpreter().adaptivePredict(_input,42,_ctx); + } + setState(339); + anyName(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class EnumDefContext extends ParserRuleContext { + public TerminalNode K_ENUM() { return getToken(GraphqlSchemaParser.K_ENUM, 0); } + public AnyNameContext anyName() { + return getRuleContext(AnyNameContext.class,0); + } + public EnumValueDefsContext enumValueDefs() { + return getRuleContext(EnumValueDefsContext.class,0); + } + public DescriptionContext description() { + return getRuleContext(DescriptionContext.class,0); + } + public DirectiveListContext directiveList() { + return getRuleContext(DirectiveListContext.class,0); + } + public EnumDefContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_enumDef; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterEnumDef(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitEnumDef(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitEnumDef(this); + else return visitor.visitChildren(this); + } + } + + public final EnumDefContext enumDef() throws RecognitionException { + EnumDefContext _localctx = new EnumDefContext(_ctx, getState()); + enterRule(_localctx, 58, RULE_enumDef); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(342); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==StringValue || _la==BlockStringValue) { + { + setState(341); + description(); + } + } + + setState(344); + match(K_ENUM); + setState(345); + anyName(); + setState(347); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==T__4) { + { + setState(346); + directiveList(); + } + } + + setState(349); + enumValueDefs(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class EnumValueDefsContext extends ParserRuleContext { + public List enumValueDef() { + return getRuleContexts(EnumValueDefContext.class); + } + public EnumValueDefContext enumValueDef(int i) { + return getRuleContext(EnumValueDefContext.class,i); + } + public EnumValueDefsContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_enumValueDefs; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterEnumValueDefs(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitEnumValueDefs(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitEnumValueDefs(this); + else return visitor.visitChildren(this); + } + } + + public final EnumValueDefsContext enumValueDefs() throws RecognitionException { + EnumValueDefsContext _localctx = new EnumValueDefsContext(_ctx, getState()); + enterRule(_localctx, 60, RULE_enumValueDefs); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(351); + match(T__0); + setState(353); + _errHandler.sync(this); + _la = _input.LA(1); + do { + { + { + setState(352); + enumValueDef(); + } + } + setState(355); + _errHandler.sync(this); + _la = _input.LA(1); + } while ( (((_la) & ~0x3f) == 0 && ((1L << _la) & 13213466877952L) != 0) ); + setState(357); + match(T__1); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class EnumValueDefContext extends ParserRuleContext { + public NameTokensContext nameTokens() { + return getRuleContext(NameTokensContext.class,0); + } + public DescriptionContext description() { + return getRuleContext(DescriptionContext.class,0); + } + public DirectiveListContext directiveList() { + return getRuleContext(DirectiveListContext.class,0); + } + public EnumValueDefContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_enumValueDef; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterEnumValueDef(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitEnumValueDef(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitEnumValueDef(this); + else return visitor.visitChildren(this); + } + } + + public final EnumValueDefContext enumValueDef() throws RecognitionException { + EnumValueDefContext _localctx = new EnumValueDefContext(_ctx, getState()); + enterRule(_localctx, 62, RULE_enumValueDef); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(360); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==StringValue || _la==BlockStringValue) { + { + setState(359); + description(); + } + } + + setState(362); + nameTokens(); + setState(364); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==T__4) { + { + setState(363); + directiveList(); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class FieldDefContext extends ParserRuleContext { + public AnyNameContext anyName() { + return getRuleContext(AnyNameContext.class,0); + } + public TypeSpecContext typeSpec() { + return getRuleContext(TypeSpecContext.class,0); + } + public DescriptionContext description() { + return getRuleContext(DescriptionContext.class,0); + } + public ArgListContext argList() { + return getRuleContext(ArgListContext.class,0); + } + public DirectiveListContext directiveList() { + return getRuleContext(DirectiveListContext.class,0); + } + public FieldDefContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_fieldDef; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterFieldDef(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitFieldDef(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitFieldDef(this); + else return visitor.visitChildren(this); + } + } + + public final FieldDefContext fieldDef() throws RecognitionException { + FieldDefContext _localctx = new FieldDefContext(_ctx, getState()); + enterRule(_localctx, 64, RULE_fieldDef); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(367); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==StringValue || _la==BlockStringValue) { + { + setState(366); + description(); + } + } + + setState(369); + anyName(); + setState(371); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==T__5) { + { + setState(370); + argList(); + } + } + + setState(373); + match(T__2); + setState(374); + typeSpec(); + setState(376); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==T__4) { + { + setState(375); + directiveList(); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class ArgListContext extends ParserRuleContext { + public List argument() { + return getRuleContexts(ArgumentContext.class); + } + public ArgumentContext argument(int i) { + return getRuleContext(ArgumentContext.class,i); + } + public ArgListContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_argList; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterArgList(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitArgList(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitArgList(this); + else return visitor.visitChildren(this); + } + } + + public final ArgListContext argList() throws RecognitionException { + ArgListContext _localctx = new ArgListContext(_ctx, getState()); + enterRule(_localctx, 66, RULE_argList); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(378); + match(T__5); + setState(380); + _errHandler.sync(this); + _la = _input.LA(1); + do { + { + { + setState(379); + argument(); + } + } + setState(382); + _errHandler.sync(this); + _la = _input.LA(1); + } while ( (((_la) & ~0x3f) == 0 && ((1L << _la) & 13228499263488L) != 0) ); + setState(384); + match(T__6); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class ArgumentContext extends ParserRuleContext { + public AnyNameContext anyName() { + return getRuleContext(AnyNameContext.class,0); + } + public TypeSpecContext typeSpec() { + return getRuleContext(TypeSpecContext.class,0); + } + public DescriptionContext description() { + return getRuleContext(DescriptionContext.class,0); + } + public DefaultValueContext defaultValue() { + return getRuleContext(DefaultValueContext.class,0); + } + public DirectiveListContext directiveList() { + return getRuleContext(DirectiveListContext.class,0); + } + public ArgumentContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_argument; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterArgument(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitArgument(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitArgument(this); + else return visitor.visitChildren(this); + } + } + + public final ArgumentContext argument() throws RecognitionException { + ArgumentContext _localctx = new ArgumentContext(_ctx, getState()); + enterRule(_localctx, 68, RULE_argument); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(387); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==StringValue || _la==BlockStringValue) { + { + setState(386); + description(); + } + } + + setState(389); + anyName(); + setState(390); + match(T__2); + setState(391); + typeSpec(); + setState(393); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==T__8) { + { + setState(392); + defaultValue(); + } + } + + setState(396); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==T__4) { + { + setState(395); + directiveList(); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class TypeSpecContext extends ParserRuleContext { + public TypeNameContext typeName() { + return getRuleContext(TypeNameContext.class,0); + } + public ListTypeContext listType() { + return getRuleContext(ListTypeContext.class,0); + } + public RequiredContext required() { + return getRuleContext(RequiredContext.class,0); + } + public TypeSpecContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_typeSpec; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterTypeSpec(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitTypeSpec(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitTypeSpec(this); + else return visitor.visitChildren(this); + } + } + + public final TypeSpecContext typeSpec() throws RecognitionException { + TypeSpecContext _localctx = new TypeSpecContext(_ctx, getState()); + enterRule(_localctx, 70, RULE_typeSpec); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(400); + _errHandler.sync(this); + switch (_input.LA(1)) { + case EXECUTABLE_DIRECTIVE_LOCATION: + case TYPE_SYSTEM_DIRECTIVE_LOCATION: + case K_TYPE: + case K_IMPLEMENTS: + case K_INTERFACE: + case K_SCHEMA: + case K_ENUM: + case K_UNION: + case K_INPUT: + case K_DIRECTIVE: + case K_EXTEND: + case K_SCALAR: + case K_ON: + case K_FRAGMENT: + case K_QUERY: + case K_MUTATION: + case K_SUBSCRIPTION: + case K_VALUE: + case K_TRUE: + case K_FALSE: + case K_NULL: + case Name: + { + setState(398); + typeName(); + } + break; + case T__9: + { + setState(399); + listType(); + } + break; + default: + throw new NoViableAltException(this); + } + setState(403); + _errHandler.sync(this); + _la = _input.LA(1); + if (_la==T__11) { + { + setState(402); + required(); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class TypeNameContext extends ParserRuleContext { + public AnyNameContext anyName() { + return getRuleContext(AnyNameContext.class,0); + } + public TypeNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_typeName; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterTypeName(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitTypeName(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitTypeName(this); + else return visitor.visitChildren(this); + } + } + + public final TypeNameContext typeName() throws RecognitionException { + TypeNameContext _localctx = new TypeNameContext(_ctx, getState()); + enterRule(_localctx, 72, RULE_typeName); + try { + enterOuterAlt(_localctx, 1); + { + setState(405); + anyName(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class ListTypeContext extends ParserRuleContext { + public TypeSpecContext typeSpec() { + return getRuleContext(TypeSpecContext.class,0); + } + public ListTypeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_listType; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterListType(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitListType(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitListType(this); + else return visitor.visitChildren(this); + } + } + + public final ListTypeContext listType() throws RecognitionException { + ListTypeContext _localctx = new ListTypeContext(_ctx, getState()); + enterRule(_localctx, 74, RULE_listType); + try { + enterOuterAlt(_localctx, 1); + { + setState(407); + match(T__9); + setState(408); + typeSpec(); + setState(409); + match(T__10); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class RequiredContext extends ParserRuleContext { + public RequiredContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_required; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterRequired(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitRequired(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitRequired(this); + else return visitor.visitChildren(this); + } + } + + public final RequiredContext required() throws RecognitionException { + RequiredContext _localctx = new RequiredContext(_ctx, getState()); + enterRule(_localctx, 76, RULE_required); + try { + enterOuterAlt(_localctx, 1); + { + setState(411); + match(T__11); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class DefaultValueContext extends ParserRuleContext { + public ValueContext value() { + return getRuleContext(ValueContext.class,0); + } + public DefaultValueContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_defaultValue; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterDefaultValue(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitDefaultValue(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitDefaultValue(this); + else return visitor.visitChildren(this); + } + } + + public final DefaultValueContext defaultValue() throws RecognitionException { + DefaultValueContext _localctx = new DefaultValueContext(_ctx, getState()); + enterRule(_localctx, 78, RULE_defaultValue); + try { + enterOuterAlt(_localctx, 1); + { + setState(413); + match(T__8); + setState(414); + value(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class AnyNameContext extends ParserRuleContext { + public NameTokensContext nameTokens() { + return getRuleContext(NameTokensContext.class,0); + } + public TerminalNode K_TRUE() { return getToken(GraphqlSchemaParser.K_TRUE, 0); } + public TerminalNode K_FALSE() { return getToken(GraphqlSchemaParser.K_FALSE, 0); } + public TerminalNode K_NULL() { return getToken(GraphqlSchemaParser.K_NULL, 0); } + public AnyNameContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_anyName; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterAnyName(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitAnyName(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitAnyName(this); + else return visitor.visitChildren(this); + } + } + + public final AnyNameContext anyName() throws RecognitionException { + AnyNameContext _localctx = new AnyNameContext(_ctx, getState()); + enterRule(_localctx, 80, RULE_anyName); + try { + setState(420); + _errHandler.sync(this); + switch (_input.LA(1)) { + case EXECUTABLE_DIRECTIVE_LOCATION: + case TYPE_SYSTEM_DIRECTIVE_LOCATION: + case K_TYPE: + case K_IMPLEMENTS: + case K_INTERFACE: + case K_SCHEMA: + case K_ENUM: + case K_UNION: + case K_INPUT: + case K_DIRECTIVE: + case K_EXTEND: + case K_SCALAR: + case K_ON: + case K_FRAGMENT: + case K_QUERY: + case K_MUTATION: + case K_SUBSCRIPTION: + case K_VALUE: + case Name: + enterOuterAlt(_localctx, 1); + { + setState(416); + nameTokens(); + } + break; + case K_TRUE: + enterOuterAlt(_localctx, 2); + { + setState(417); + match(K_TRUE); + } + break; + case K_FALSE: + enterOuterAlt(_localctx, 3); + { + setState(418); + match(K_FALSE); + } + break; + case K_NULL: + enterOuterAlt(_localctx, 4); + { + setState(419); + match(K_NULL); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class NameTokensContext extends ParserRuleContext { + public TerminalNode Name() { return getToken(GraphqlSchemaParser.Name, 0); } + public TerminalNode EXECUTABLE_DIRECTIVE_LOCATION() { return getToken(GraphqlSchemaParser.EXECUTABLE_DIRECTIVE_LOCATION, 0); } + public TerminalNode TYPE_SYSTEM_DIRECTIVE_LOCATION() { return getToken(GraphqlSchemaParser.TYPE_SYSTEM_DIRECTIVE_LOCATION, 0); } + public TerminalNode K_TYPE() { return getToken(GraphqlSchemaParser.K_TYPE, 0); } + public TerminalNode K_IMPLEMENTS() { return getToken(GraphqlSchemaParser.K_IMPLEMENTS, 0); } + public TerminalNode K_INTERFACE() { return getToken(GraphqlSchemaParser.K_INTERFACE, 0); } + public TerminalNode K_SCHEMA() { return getToken(GraphqlSchemaParser.K_SCHEMA, 0); } + public TerminalNode K_ENUM() { return getToken(GraphqlSchemaParser.K_ENUM, 0); } + public TerminalNode K_UNION() { return getToken(GraphqlSchemaParser.K_UNION, 0); } + public TerminalNode K_INPUT() { return getToken(GraphqlSchemaParser.K_INPUT, 0); } + public TerminalNode K_DIRECTIVE() { return getToken(GraphqlSchemaParser.K_DIRECTIVE, 0); } + public TerminalNode K_EXTEND() { return getToken(GraphqlSchemaParser.K_EXTEND, 0); } + public TerminalNode K_SCALAR() { return getToken(GraphqlSchemaParser.K_SCALAR, 0); } + public TerminalNode K_ON() { return getToken(GraphqlSchemaParser.K_ON, 0); } + public TerminalNode K_FRAGMENT() { return getToken(GraphqlSchemaParser.K_FRAGMENT, 0); } + public TerminalNode K_QUERY() { return getToken(GraphqlSchemaParser.K_QUERY, 0); } + public TerminalNode K_MUTATION() { return getToken(GraphqlSchemaParser.K_MUTATION, 0); } + public TerminalNode K_SUBSCRIPTION() { return getToken(GraphqlSchemaParser.K_SUBSCRIPTION, 0); } + public TerminalNode K_VALUE() { return getToken(GraphqlSchemaParser.K_VALUE, 0); } + public NameTokensContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_nameTokens; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterNameTokens(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitNameTokens(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitNameTokens(this); + else return visitor.visitChildren(this); + } + } + + public final NameTokensContext nameTokens() throws RecognitionException { + NameTokensContext _localctx = new NameTokensContext(_ctx, getState()); + enterRule(_localctx, 82, RULE_nameTokens); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(422); + _la = _input.LA(1); + if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & 19327344640L) != 0)) ) { + _errHandler.recoverInline(this); + } + else { + if ( _input.LA(1)==Token.EOF ) matchedEOF = true; + _errHandler.reportMatch(this); + consume(); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class BooleanValueContext extends ParserRuleContext { + public TerminalNode K_TRUE() { return getToken(GraphqlSchemaParser.K_TRUE, 0); } + public TerminalNode K_FALSE() { return getToken(GraphqlSchemaParser.K_FALSE, 0); } + public BooleanValueContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_booleanValue; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterBooleanValue(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitBooleanValue(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitBooleanValue(this); + else return visitor.visitChildren(this); + } + } + + public final BooleanValueContext booleanValue() throws RecognitionException { + BooleanValueContext _localctx = new BooleanValueContext(_ctx, getState()); + enterRule(_localctx, 84, RULE_booleanValue); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(424); + _la = _input.LA(1); + if ( !(_la==K_TRUE || _la==K_FALSE) ) { + _errHandler.recoverInline(this); + } + else { + if ( _input.LA(1)==Token.EOF ) matchedEOF = true; + _errHandler.reportMatch(this); + consume(); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class ValueContext extends ParserRuleContext { + public TerminalNode IntValue() { return getToken(GraphqlSchemaParser.IntValue, 0); } + public TerminalNode FloatValue() { return getToken(GraphqlSchemaParser.FloatValue, 0); } + public TerminalNode StringValue() { return getToken(GraphqlSchemaParser.StringValue, 0); } + public TerminalNode BlockStringValue() { return getToken(GraphqlSchemaParser.BlockStringValue, 0); } + public BooleanValueContext booleanValue() { + return getRuleContext(BooleanValueContext.class,0); + } + public NullValueContext nullValue() { + return getRuleContext(NullValueContext.class,0); + } + public EnumValueContext enumValue() { + return getRuleContext(EnumValueContext.class,0); + } + public ArrayValueContext arrayValue() { + return getRuleContext(ArrayValueContext.class,0); + } + public ObjectValueContext objectValue() { + return getRuleContext(ObjectValueContext.class,0); + } + public ValueContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_value; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterValue(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitValue(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitValue(this); + else return visitor.visitChildren(this); + } + } + + public final ValueContext value() throws RecognitionException { + ValueContext _localctx = new ValueContext(_ctx, getState()); + enterRule(_localctx, 86, RULE_value); + try { + setState(435); + _errHandler.sync(this); + switch (_input.LA(1)) { + case IntValue: + enterOuterAlt(_localctx, 1); + { + setState(426); + match(IntValue); + } + break; + case FloatValue: + enterOuterAlt(_localctx, 2); + { + setState(427); + match(FloatValue); + } + break; + case StringValue: + enterOuterAlt(_localctx, 3); + { + setState(428); + match(StringValue); + } + break; + case BlockStringValue: + enterOuterAlt(_localctx, 4); + { + setState(429); + match(BlockStringValue); + } + break; + case K_TRUE: + case K_FALSE: + enterOuterAlt(_localctx, 5); + { + setState(430); + booleanValue(); + } + break; + case K_NULL: + enterOuterAlt(_localctx, 6); + { + setState(431); + nullValue(); + } + break; + case EXECUTABLE_DIRECTIVE_LOCATION: + case TYPE_SYSTEM_DIRECTIVE_LOCATION: + case K_TYPE: + case K_IMPLEMENTS: + case K_INTERFACE: + case K_SCHEMA: + case K_ENUM: + case K_UNION: + case K_INPUT: + case K_DIRECTIVE: + case K_EXTEND: + case K_SCALAR: + case K_ON: + case K_FRAGMENT: + case K_QUERY: + case K_MUTATION: + case K_SUBSCRIPTION: + case K_VALUE: + case Name: + enterOuterAlt(_localctx, 7); + { + setState(432); + enumValue(); + } + break; + case T__9: + enterOuterAlt(_localctx, 8); + { + setState(433); + arrayValue(); + } + break; + case T__0: + enterOuterAlt(_localctx, 9); + { + setState(434); + objectValue(); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class EnumValueContext extends ParserRuleContext { + public NameTokensContext nameTokens() { + return getRuleContext(NameTokensContext.class,0); + } + public EnumValueContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_enumValue; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterEnumValue(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitEnumValue(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitEnumValue(this); + else return visitor.visitChildren(this); + } + } + + public final EnumValueContext enumValue() throws RecognitionException { + EnumValueContext _localctx = new EnumValueContext(_ctx, getState()); + enterRule(_localctx, 88, RULE_enumValue); + try { + enterOuterAlt(_localctx, 1); + { + setState(437); + nameTokens(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class ArrayValueContext extends ParserRuleContext { + public List value() { + return getRuleContexts(ValueContext.class); + } + public ValueContext value(int i) { + return getRuleContext(ValueContext.class,i); + } + public ArrayValueContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_arrayValue; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterArrayValue(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitArrayValue(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitArrayValue(this); + else return visitor.visitChildren(this); + } + } + + public final ArrayValueContext arrayValue() throws RecognitionException { + ArrayValueContext _localctx = new ArrayValueContext(_ctx, getState()); + enterRule(_localctx, 90, RULE_arrayValue); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(439); + match(T__9); + setState(443); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & 13331578479618L) != 0)) { + { + { + setState(440); + value(); + } + } + setState(445); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(446); + match(T__10); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class ObjectValueContext extends ParserRuleContext { + public List objectField() { + return getRuleContexts(ObjectFieldContext.class); + } + public ObjectFieldContext objectField(int i) { + return getRuleContext(ObjectFieldContext.class,i); + } + public ObjectValueContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_objectValue; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterObjectValue(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitObjectValue(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitObjectValue(this); + else return visitor.visitChildren(this); + } + } + + public final ObjectValueContext objectValue() throws RecognitionException { + ObjectValueContext _localctx = new ObjectValueContext(_ctx, getState()); + enterRule(_localctx, 92, RULE_objectValue); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(448); + match(T__0); + setState(452); + _errHandler.sync(this); + _la = _input.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & 34359730176L) != 0)) { + { + { + setState(449); + objectField(); + } + } + setState(454); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(455); + match(T__1); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class ObjectFieldContext extends ParserRuleContext { + public AnyNameContext anyName() { + return getRuleContext(AnyNameContext.class,0); + } + public ValueContext value() { + return getRuleContext(ValueContext.class,0); + } + public ObjectFieldContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_objectField; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterObjectField(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitObjectField(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitObjectField(this); + else return visitor.visitChildren(this); + } + } + + public final ObjectFieldContext objectField() throws RecognitionException { + ObjectFieldContext _localctx = new ObjectFieldContext(_ctx, getState()); + enterRule(_localctx, 94, RULE_objectField); + try { + enterOuterAlt(_localctx, 1); + { + setState(457); + anyName(); + setState(458); + match(T__2); + setState(459); + value(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + @SuppressWarnings("CheckReturnValue") + public static class NullValueContext extends ParserRuleContext { + public TerminalNode K_NULL() { return getToken(GraphqlSchemaParser.K_NULL, 0); } + public NullValueContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_nullValue; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).enterNullValue(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitNullValue(this); + } + @Override + public T accept(ParseTreeVisitor visitor) { + if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitNullValue(this); + else return visitor.visitChildren(this); + } + } + + public final NullValueContext nullValue() throws RecognitionException { + NullValueContext _localctx = new NullValueContext(_ctx, getState()); + enterRule(_localctx, 96, RULE_nullValue); + try { + enterOuterAlt(_localctx, 1); + { + setState(461); + match(K_NULL); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static final String _serializedATN = + "\u0004\u0001,\u01d0\u0002\u0000\u0007\u0000\u0002\u0001\u0007\u0001\u0002"+ + "\u0002\u0007\u0002\u0002\u0003\u0007\u0003\u0002\u0004\u0007\u0004\u0002"+ + "\u0005\u0007\u0005\u0002\u0006\u0007\u0006\u0002\u0007\u0007\u0007\u0002"+ + "\b\u0007\b\u0002\t\u0007\t\u0002\n\u0007\n\u0002\u000b\u0007\u000b\u0002"+ + "\f\u0007\f\u0002\r\u0007\r\u0002\u000e\u0007\u000e\u0002\u000f\u0007\u000f"+ + "\u0002\u0010\u0007\u0010\u0002\u0011\u0007\u0011\u0002\u0012\u0007\u0012"+ + "\u0002\u0013\u0007\u0013\u0002\u0014\u0007\u0014\u0002\u0015\u0007\u0015"+ + "\u0002\u0016\u0007\u0016\u0002\u0017\u0007\u0017\u0002\u0018\u0007\u0018"+ + "\u0002\u0019\u0007\u0019\u0002\u001a\u0007\u001a\u0002\u001b\u0007\u001b"+ + "\u0002\u001c\u0007\u001c\u0002\u001d\u0007\u001d\u0002\u001e\u0007\u001e"+ + "\u0002\u001f\u0007\u001f\u0002 \u0007 \u0002!\u0007!\u0002\"\u0007\"\u0002"+ + "#\u0007#\u0002$\u0007$\u0002%\u0007%\u0002&\u0007&\u0002\'\u0007\'\u0002"+ + "(\u0007(\u0002)\u0007)\u0002*\u0007*\u0002+\u0007+\u0002,\u0007,\u0002"+ + "-\u0007-\u0002.\u0007.\u0002/\u0007/\u00020\u00070\u0001\u0000\u0001\u0000"+ + "\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000"+ + "\u0001\u0000\u0001\u0000\u0001\u0000\u0005\u0000n\b\u0000\n\u0000\f\u0000"+ + "q\t\u0000\u0001\u0001\u0001\u0001\u0001\u0002\u0001\u0002\u0003\u0002"+ + "w\b\u0002\u0001\u0002\u0001\u0002\u0004\u0002{\b\u0002\u000b\u0002\f\u0002"+ + "|\u0001\u0002\u0001\u0002\u0001\u0003\u0001\u0003\u0001\u0003\u0003\u0003"+ + "\u0084\b\u0003\u0001\u0004\u0001\u0004\u0001\u0004\u0001\u0004\u0001\u0005"+ + "\u0001\u0005\u0001\u0005\u0001\u0005\u0001\u0006\u0001\u0006\u0001\u0006"+ + "\u0001\u0006\u0001\u0007\u0001\u0007\u0001\u0007\u0005\u0007\u0095\b\u0007"+ + "\n\u0007\f\u0007\u0098\t\u0007\u0001\u0007\u0001\u0007\u0001\b\u0001\b"+ + "\u0003\b\u009e\b\b\u0001\t\u0001\t\u0001\n\u0001\n\u0001\u000b\u0003\u000b"+ + "\u00a5\b\u000b\u0001\u000b\u0001\u000b\u0001\u000b\u0001\u000b\u0003\u000b"+ + "\u00ab\b\u000b\u0001\u000b\u0001\u000b\u0001\u000b\u0001\f\u0004\f\u00b1"+ + "\b\f\u000b\f\f\f\u00b2\u0001\r\u0001\r\u0001\r\u0003\r\u00b8\b\r\u0001"+ + "\u000e\u0001\u000e\u0004\u000e\u00bc\b\u000e\u000b\u000e\f\u000e\u00bd"+ + "\u0001\u000e\u0001\u000e\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u000f"+ + "\u0001\u0010\u0003\u0010\u00c7\b\u0010\u0001\u0010\u0001\u0010\u0001\u0010"+ + "\u0003\u0010\u00cc\b\u0010\u0001\u0010\u0003\u0010\u00cf\b\u0010\u0001"+ + "\u0010\u0003\u0010\u00d2\b\u0010\u0001\u0011\u0003\u0011\u00d5\b\u0011"+ + "\u0001\u0011\u0001\u0011\u0001\u0011\u0001\u0011\u0003\u0011\u00db\b\u0011"+ + "\u0001\u0011\u0003\u0011\u00de\b\u0011\u0001\u0011\u0003\u0011\u00e1\b"+ + "\u0011\u0001\u0012\u0001\u0012\u0004\u0012\u00e5\b\u0012\u000b\u0012\f"+ + "\u0012\u00e6\u0001\u0012\u0001\u0012\u0001\u0013\u0001\u0013\u0003\u0013"+ + "\u00ed\b\u0013\u0001\u0013\u0001\u0013\u0001\u0013\u0005\u0013\u00f2\b"+ + "\u0013\n\u0013\f\u0013\u00f5\t\u0013\u0001\u0014\u0003\u0014\u00f8\b\u0014"+ + "\u0001\u0014\u0001\u0014\u0001\u0014\u0003\u0014\u00fd\b\u0014\u0001\u0014"+ + "\u0003\u0014\u0100\b\u0014\u0001\u0015\u0003\u0015\u0103\b\u0015\u0001"+ + "\u0015\u0001\u0015\u0001\u0015\u0001\u0015\u0003\u0015\u0109\b\u0015\u0001"+ + "\u0015\u0003\u0015\u010c\b\u0015\u0001\u0016\u0001\u0016\u0004\u0016\u0110"+ + "\b\u0016\u000b\u0016\f\u0016\u0111\u0001\u0016\u0001\u0016\u0001\u0017"+ + "\u0003\u0017\u0117\b\u0017\u0001\u0017\u0001\u0017\u0001\u0017\u0001\u0017"+ + "\u0003\u0017\u011d\b\u0017\u0001\u0017\u0003\u0017\u0120\b\u0017\u0001"+ + "\u0018\u0003\u0018\u0123\b\u0018\u0001\u0018\u0001\u0018\u0001\u0018\u0003"+ + "\u0018\u0128\b\u0018\u0001\u0018\u0003\u0018\u012b\b\u0018\u0001\u0019"+ + "\u0003\u0019\u012e\b\u0019\u0001\u0019\u0001\u0019\u0001\u0019\u0003\u0019"+ + "\u0133\b\u0019\u0001\u001a\u0003\u001a\u0136\b\u001a\u0001\u001a\u0001"+ + "\u001a\u0001\u001a\u0003\u001a\u013b\b\u001a\u0001\u001a\u0001\u001a\u0001"+ + "\u001a\u0001\u001b\u0003\u001b\u0141\b\u001b\u0001\u001b\u0001\u001b\u0001"+ + "\u001b\u0001\u001b\u0003\u001b\u0147\b\u001b\u0001\u001b\u0001\u001b\u0001"+ + "\u001b\u0001\u001c\u0001\u001c\u0001\u001c\u0005\u001c\u014f\b\u001c\n"+ + "\u001c\f\u001c\u0152\t\u001c\u0001\u001c\u0001\u001c\u0001\u001d\u0003"+ + "\u001d\u0157\b\u001d\u0001\u001d\u0001\u001d\u0001\u001d\u0003\u001d\u015c"+ + "\b\u001d\u0001\u001d\u0001\u001d\u0001\u001e\u0001\u001e\u0004\u001e\u0162"+ + "\b\u001e\u000b\u001e\f\u001e\u0163\u0001\u001e\u0001\u001e\u0001\u001f"+ + "\u0003\u001f\u0169\b\u001f\u0001\u001f\u0001\u001f\u0003\u001f\u016d\b"+ + "\u001f\u0001 \u0003 \u0170\b \u0001 \u0001 \u0003 \u0174\b \u0001 \u0001"+ + " \u0001 \u0003 \u0179\b \u0001!\u0001!\u0004!\u017d\b!\u000b!\f!\u017e"+ + "\u0001!\u0001!\u0001\"\u0003\"\u0184\b\"\u0001\"\u0001\"\u0001\"\u0001"+ + "\"\u0003\"\u018a\b\"\u0001\"\u0003\"\u018d\b\"\u0001#\u0001#\u0003#\u0191"+ + "\b#\u0001#\u0003#\u0194\b#\u0001$\u0001$\u0001%\u0001%\u0001%\u0001%\u0001"+ + "&\u0001&\u0001\'\u0001\'\u0001\'\u0001(\u0001(\u0001(\u0001(\u0003(\u01a5"+ + "\b(\u0001)\u0001)\u0001*\u0001*\u0001+\u0001+\u0001+\u0001+\u0001+\u0001"+ + "+\u0001+\u0001+\u0001+\u0003+\u01b4\b+\u0001,\u0001,\u0001-\u0001-\u0005"+ + "-\u01ba\b-\n-\f-\u01bd\t-\u0001-\u0001-\u0001.\u0001.\u0005.\u01c3\b."+ + "\n.\f.\u01c6\t.\u0001.\u0001.\u0001/\u0001/\u0001/\u0001/\u00010\u0001"+ + "0\u00010\u0000\u00001\u0000\u0002\u0004\u0006\b\n\f\u000e\u0010\u0012"+ + "\u0014\u0016\u0018\u001a\u001c\u001e \"$&(*,.02468:<>@BDFHJLNPRTVXZ\\"+ + "^`\u0000\u0003\u0001\u0000*+\u0002\u0000\r\u001e\"\"\u0001\u0000\u001f"+ + " \u01ee\u0000o\u0001\u0000\u0000\u0000\u0002r\u0001\u0000\u0000\u0000"+ + "\u0004t\u0001\u0000\u0000\u0000\u0006\u0083\u0001\u0000\u0000\u0000\b"+ + "\u0085\u0001\u0000\u0000\u0000\n\u0089\u0001\u0000\u0000\u0000\f\u008d"+ + "\u0001\u0000\u0000\u0000\u000e\u0096\u0001\u0000\u0000\u0000\u0010\u009d"+ + "\u0001\u0000\u0000\u0000\u0012\u009f\u0001\u0000\u0000\u0000\u0014\u00a1"+ + "\u0001\u0000\u0000\u0000\u0016\u00a4\u0001\u0000\u0000\u0000\u0018\u00b0"+ + "\u0001\u0000\u0000\u0000\u001a\u00b4\u0001\u0000\u0000\u0000\u001c\u00b9"+ + "\u0001\u0000\u0000\u0000\u001e\u00c1\u0001\u0000\u0000\u0000 \u00c6\u0001"+ + "\u0000\u0000\u0000\"\u00d4\u0001\u0000\u0000\u0000$\u00e2\u0001\u0000"+ + "\u0000\u0000&\u00ea\u0001\u0000\u0000\u0000(\u00f7\u0001\u0000\u0000\u0000"+ + "*\u0102\u0001\u0000\u0000\u0000,\u010d\u0001\u0000\u0000\u0000.\u0116"+ + "\u0001\u0000\u0000\u00000\u0122\u0001\u0000\u0000\u00002\u012d\u0001\u0000"+ + "\u0000\u00004\u0135\u0001\u0000\u0000\u00006\u0140\u0001\u0000\u0000\u0000"+ + "8\u0150\u0001\u0000\u0000\u0000:\u0156\u0001\u0000\u0000\u0000<\u015f"+ + "\u0001\u0000\u0000\u0000>\u0168\u0001\u0000\u0000\u0000@\u016f\u0001\u0000"+ + "\u0000\u0000B\u017a\u0001\u0000\u0000\u0000D\u0183\u0001\u0000\u0000\u0000"+ + "F\u0190\u0001\u0000\u0000\u0000H\u0195\u0001\u0000\u0000\u0000J\u0197"+ + "\u0001\u0000\u0000\u0000L\u019b\u0001\u0000\u0000\u0000N\u019d\u0001\u0000"+ + "\u0000\u0000P\u01a4\u0001\u0000\u0000\u0000R\u01a6\u0001\u0000\u0000\u0000"+ + "T\u01a8\u0001\u0000\u0000\u0000V\u01b3\u0001\u0000\u0000\u0000X\u01b5"+ + "\u0001\u0000\u0000\u0000Z\u01b7\u0001\u0000\u0000\u0000\\\u01c0\u0001"+ + "\u0000\u0000\u0000^\u01c9\u0001\u0000\u0000\u0000`\u01cd\u0001\u0000\u0000"+ + "\u0000bn\u0003\u0004\u0002\u0000cn\u0003 \u0010\u0000dn\u0003\"\u0011"+ + "\u0000en\u0003(\u0014\u0000fn\u0003*\u0015\u0000gn\u00034\u001a\u0000"+ + "hn\u00036\u001b\u0000in\u0003:\u001d\u0000jn\u00030\u0018\u0000kn\u0003"+ + "2\u0019\u0000ln\u0003\u0016\u000b\u0000mb\u0001\u0000\u0000\u0000mc\u0001"+ + "\u0000\u0000\u0000md\u0001\u0000\u0000\u0000me\u0001\u0000\u0000\u0000"+ + "mf\u0001\u0000\u0000\u0000mg\u0001\u0000\u0000\u0000mh\u0001\u0000\u0000"+ + "\u0000mi\u0001\u0000\u0000\u0000mj\u0001\u0000\u0000\u0000mk\u0001\u0000"+ + "\u0000\u0000ml\u0001\u0000\u0000\u0000nq\u0001\u0000\u0000\u0000om\u0001"+ + "\u0000\u0000\u0000op\u0001\u0000\u0000\u0000p\u0001\u0001\u0000\u0000"+ + "\u0000qo\u0001\u0000\u0000\u0000rs\u0007\u0000\u0000\u0000s\u0003\u0001"+ + "\u0000\u0000\u0000tv\u0005\u0012\u0000\u0000uw\u0003\u0018\f\u0000vu\u0001"+ + "\u0000\u0000\u0000vw\u0001\u0000\u0000\u0000wx\u0001\u0000\u0000\u0000"+ + "xz\u0005\u0001\u0000\u0000y{\u0003\u0006\u0003\u0000zy\u0001\u0000\u0000"+ + "\u0000{|\u0001\u0000\u0000\u0000|z\u0001\u0000\u0000\u0000|}\u0001\u0000"+ + "\u0000\u0000}~\u0001\u0000\u0000\u0000~\u007f\u0005\u0002\u0000\u0000"+ + "\u007f\u0005\u0001\u0000\u0000\u0000\u0080\u0084\u0003\b\u0004\u0000\u0081"+ + "\u0084\u0003\n\u0005\u0000\u0082\u0084\u0003\f\u0006\u0000\u0083\u0080"+ + "\u0001\u0000\u0000\u0000\u0083\u0081\u0001\u0000\u0000\u0000\u0083\u0082"+ + "\u0001\u0000\u0000\u0000\u0084\u0007\u0001\u0000\u0000\u0000\u0085\u0086"+ + "\u0005\u001b\u0000\u0000\u0086\u0087\u0005\u0003\u0000\u0000\u0087\u0088"+ + "\u0003P(\u0000\u0088\t\u0001\u0000\u0000\u0000\u0089\u008a\u0005\u001c"+ + "\u0000\u0000\u008a\u008b\u0005\u0003\u0000\u0000\u008b\u008c\u0003P(\u0000"+ + "\u008c\u000b\u0001\u0000\u0000\u0000\u008d\u008e\u0005\u001d\u0000\u0000"+ + "\u008e\u008f\u0005\u0003\u0000\u0000\u008f\u0090\u0003P(\u0000\u0090\r"+ + "\u0001\u0000\u0000\u0000\u0091\u0092\u0003\u0010\b\u0000\u0092\u0093\u0005"+ + "\u0004\u0000\u0000\u0093\u0095\u0001\u0000\u0000\u0000\u0094\u0091\u0001"+ + "\u0000\u0000\u0000\u0095\u0098\u0001\u0000\u0000\u0000\u0096\u0094\u0001"+ + "\u0000\u0000\u0000\u0096\u0097\u0001\u0000\u0000\u0000\u0097\u0099\u0001"+ + "\u0000\u0000\u0000\u0098\u0096\u0001\u0000\u0000\u0000\u0099\u009a\u0003"+ + "\u0010\b\u0000\u009a\u000f\u0001\u0000\u0000\u0000\u009b\u009e\u0003\u0012"+ + "\t\u0000\u009c\u009e\u0003\u0014\n\u0000\u009d\u009b\u0001\u0000\u0000"+ + "\u0000\u009d\u009c\u0001\u0000\u0000\u0000\u009e\u0011\u0001\u0000\u0000"+ + "\u0000\u009f\u00a0\u0005\r\u0000\u0000\u00a0\u0013\u0001\u0000\u0000\u0000"+ + "\u00a1\u00a2\u0005\u000e\u0000\u0000\u00a2\u0015\u0001\u0000\u0000\u0000"+ + "\u00a3\u00a5\u0003\u0002\u0001\u0000\u00a4\u00a3\u0001\u0000\u0000\u0000"+ + "\u00a4\u00a5\u0001\u0000\u0000\u0000\u00a5\u00a6\u0001\u0000\u0000\u0000"+ + "\u00a6\u00a7\u0005\u0016\u0000\u0000\u00a7\u00a8\u0005\u0005\u0000\u0000"+ + "\u00a8\u00aa\u0003P(\u0000\u00a9\u00ab\u0003B!\u0000\u00aa\u00a9\u0001"+ + "\u0000\u0000\u0000\u00aa\u00ab\u0001\u0000\u0000\u0000\u00ab\u00ac\u0001"+ + "\u0000\u0000\u0000\u00ac\u00ad\u0005\u0019\u0000\u0000\u00ad\u00ae\u0003"+ + "\u000e\u0007\u0000\u00ae\u0017\u0001\u0000\u0000\u0000\u00af\u00b1\u0003"+ + "\u001a\r\u0000\u00b0\u00af\u0001\u0000\u0000\u0000\u00b1\u00b2\u0001\u0000"+ + "\u0000\u0000\u00b2\u00b0\u0001\u0000\u0000\u0000\u00b2\u00b3\u0001\u0000"+ + "\u0000\u0000\u00b3\u0019\u0001\u0000\u0000\u0000\u00b4\u00b5\u0005\u0005"+ + "\u0000\u0000\u00b5\u00b7\u0003P(\u0000\u00b6\u00b8\u0003\u001c\u000e\u0000"+ + "\u00b7\u00b6\u0001\u0000\u0000\u0000\u00b7\u00b8\u0001\u0000\u0000\u0000"+ + "\u00b8\u001b\u0001\u0000\u0000\u0000\u00b9\u00bb\u0005\u0006\u0000\u0000"+ + "\u00ba\u00bc\u0003\u001e\u000f\u0000\u00bb\u00ba\u0001\u0000\u0000\u0000"+ + "\u00bc\u00bd\u0001\u0000\u0000\u0000\u00bd\u00bb\u0001\u0000\u0000\u0000"+ + "\u00bd\u00be\u0001\u0000\u0000\u0000\u00be\u00bf\u0001\u0000\u0000\u0000"+ + "\u00bf\u00c0\u0005\u0007\u0000\u0000\u00c0\u001d\u0001\u0000\u0000\u0000"+ + "\u00c1\u00c2\u0003P(\u0000\u00c2\u00c3\u0005\u0003\u0000\u0000\u00c3\u00c4"+ + "\u0003V+\u0000\u00c4\u001f\u0001\u0000\u0000\u0000\u00c5\u00c7\u0003\u0002"+ + "\u0001\u0000\u00c6\u00c5\u0001\u0000\u0000\u0000\u00c6\u00c7\u0001\u0000"+ + "\u0000\u0000\u00c7\u00c8\u0001\u0000\u0000\u0000\u00c8\u00c9\u0005\u000f"+ + "\u0000\u0000\u00c9\u00cb\u0003P(\u0000\u00ca\u00cc\u0003&\u0013\u0000"+ + "\u00cb\u00ca\u0001\u0000\u0000\u0000\u00cb\u00cc\u0001\u0000\u0000\u0000"+ + "\u00cc\u00ce\u0001\u0000\u0000\u0000\u00cd\u00cf\u0003\u0018\f\u0000\u00ce"+ + "\u00cd\u0001\u0000\u0000\u0000\u00ce\u00cf\u0001\u0000\u0000\u0000\u00cf"+ + "\u00d1\u0001\u0000\u0000\u0000\u00d0\u00d2\u0003$\u0012\u0000\u00d1\u00d0"+ + "\u0001\u0000\u0000\u0000\u00d1\u00d2\u0001\u0000\u0000\u0000\u00d2!\u0001"+ + "\u0000\u0000\u0000\u00d3\u00d5\u0003\u0002\u0001\u0000\u00d4\u00d3\u0001"+ + "\u0000\u0000\u0000\u00d4\u00d5\u0001\u0000\u0000\u0000\u00d5\u00d6\u0001"+ + "\u0000\u0000\u0000\u00d6\u00d7\u0005\u0017\u0000\u0000\u00d7\u00d8\u0005"+ + "\u000f\u0000\u0000\u00d8\u00da\u0003P(\u0000\u00d9\u00db\u0003&\u0013"+ + "\u0000\u00da\u00d9\u0001\u0000\u0000\u0000\u00da\u00db\u0001\u0000\u0000"+ + "\u0000\u00db\u00dd\u0001\u0000\u0000\u0000\u00dc\u00de\u0003\u0018\f\u0000"+ + "\u00dd\u00dc\u0001\u0000\u0000\u0000\u00dd\u00de\u0001\u0000\u0000\u0000"+ + "\u00de\u00e0\u0001\u0000\u0000\u0000\u00df\u00e1\u0003$\u0012\u0000\u00e0"+ + "\u00df\u0001\u0000\u0000\u0000\u00e0\u00e1\u0001\u0000\u0000\u0000\u00e1"+ + "#\u0001\u0000\u0000\u0000\u00e2\u00e4\u0005\u0001\u0000\u0000\u00e3\u00e5"+ + "\u0003@ \u0000\u00e4\u00e3\u0001\u0000\u0000\u0000\u00e5\u00e6\u0001\u0000"+ + "\u0000\u0000\u00e6\u00e4\u0001\u0000\u0000\u0000\u00e6\u00e7\u0001\u0000"+ + "\u0000\u0000\u00e7\u00e8\u0001\u0000\u0000\u0000\u00e8\u00e9\u0005\u0002"+ + "\u0000\u0000\u00e9%\u0001\u0000\u0000\u0000\u00ea\u00ec\u0005\u0010\u0000"+ + "\u0000\u00eb\u00ed\u0005\b\u0000\u0000\u00ec\u00eb\u0001\u0000\u0000\u0000"+ + "\u00ec\u00ed\u0001\u0000\u0000\u0000\u00ed\u00ee\u0001\u0000\u0000\u0000"+ + "\u00ee\u00f3\u0005\"\u0000\u0000\u00ef\u00f0\u0005\b\u0000\u0000\u00f0"+ + "\u00f2\u0005\"\u0000\u0000\u00f1\u00ef\u0001\u0000\u0000\u0000\u00f2\u00f5"+ + "\u0001\u0000\u0000\u0000\u00f3\u00f1\u0001\u0000\u0000\u0000\u00f3\u00f4"+ + "\u0001\u0000\u0000\u0000\u00f4\'\u0001\u0000\u0000\u0000\u00f5\u00f3\u0001"+ + "\u0000\u0000\u0000\u00f6\u00f8\u0003\u0002\u0001\u0000\u00f7\u00f6\u0001"+ + "\u0000\u0000\u0000\u00f7\u00f8\u0001\u0000\u0000\u0000\u00f8\u00f9\u0001"+ + "\u0000\u0000\u0000\u00f9\u00fa\u0005\u0015\u0000\u0000\u00fa\u00fc\u0003"+ + "P(\u0000\u00fb\u00fd\u0003\u0018\f\u0000\u00fc\u00fb\u0001\u0000\u0000"+ + "\u0000\u00fc\u00fd\u0001\u0000\u0000\u0000\u00fd\u00ff\u0001\u0000\u0000"+ + "\u0000\u00fe\u0100\u0003,\u0016\u0000\u00ff\u00fe\u0001\u0000\u0000\u0000"+ + "\u00ff\u0100\u0001\u0000\u0000\u0000\u0100)\u0001\u0000\u0000\u0000\u0101"+ + "\u0103\u0003\u0002\u0001\u0000\u0102\u0101\u0001\u0000\u0000\u0000\u0102"+ + "\u0103\u0001\u0000\u0000\u0000\u0103\u0104\u0001\u0000\u0000\u0000\u0104"+ + "\u0105\u0005\u0017\u0000\u0000\u0105\u0106\u0005\u0015\u0000\u0000\u0106"+ + "\u0108\u0003P(\u0000\u0107\u0109\u0003\u0018\f\u0000\u0108\u0107\u0001"+ + "\u0000\u0000\u0000\u0108\u0109\u0001\u0000\u0000\u0000\u0109\u010b\u0001"+ + "\u0000\u0000\u0000\u010a\u010c\u0003,\u0016\u0000\u010b\u010a\u0001\u0000"+ + "\u0000\u0000\u010b\u010c\u0001\u0000\u0000\u0000\u010c+\u0001\u0000\u0000"+ + "\u0000\u010d\u010f\u0005\u0001\u0000\u0000\u010e\u0110\u0003.\u0017\u0000"+ + "\u010f\u010e\u0001\u0000\u0000\u0000\u0110\u0111\u0001\u0000\u0000\u0000"+ + "\u0111\u010f\u0001\u0000\u0000\u0000\u0111\u0112\u0001\u0000\u0000\u0000"+ + "\u0112\u0113\u0001\u0000\u0000\u0000\u0113\u0114\u0005\u0002\u0000\u0000"+ + "\u0114-\u0001\u0000\u0000\u0000\u0115\u0117\u0003\u0002\u0001\u0000\u0116"+ + "\u0115\u0001\u0000\u0000\u0000\u0116\u0117\u0001\u0000\u0000\u0000\u0117"+ + "\u0118\u0001\u0000\u0000\u0000\u0118\u0119\u0003P(\u0000\u0119\u011a\u0005"+ + "\u0003\u0000\u0000\u011a\u011c\u0003F#\u0000\u011b\u011d\u0003N\'\u0000"+ + "\u011c\u011b\u0001\u0000\u0000\u0000\u011c\u011d\u0001\u0000\u0000\u0000"+ + "\u011d\u011f\u0001\u0000\u0000\u0000\u011e\u0120\u0003\u0018\f\u0000\u011f"+ + "\u011e\u0001\u0000\u0000\u0000\u011f\u0120\u0001\u0000\u0000\u0000\u0120"+ + "/\u0001\u0000\u0000\u0000\u0121\u0123\u0003\u0002\u0001\u0000\u0122\u0121"+ + "\u0001\u0000\u0000\u0000\u0122\u0123\u0001\u0000\u0000\u0000\u0123\u0124"+ + "\u0001\u0000\u0000\u0000\u0124\u0125\u0005\u0011\u0000\u0000\u0125\u0127"+ + "\u0003P(\u0000\u0126\u0128\u0003\u0018\f\u0000\u0127\u0126\u0001\u0000"+ + "\u0000\u0000\u0127\u0128\u0001\u0000\u0000\u0000\u0128\u012a\u0001\u0000"+ + "\u0000\u0000\u0129\u012b\u0003$\u0012\u0000\u012a\u0129\u0001\u0000\u0000"+ + "\u0000\u012a\u012b\u0001\u0000\u0000\u0000\u012b1\u0001\u0000\u0000\u0000"+ + "\u012c\u012e\u0003\u0002\u0001\u0000\u012d\u012c\u0001\u0000\u0000\u0000"+ + "\u012d\u012e\u0001\u0000\u0000\u0000\u012e\u012f\u0001\u0000\u0000\u0000"+ + "\u012f\u0130\u0005\u0018\u0000\u0000\u0130\u0132\u0003P(\u0000\u0131\u0133"+ + "\u0003\u0018\f\u0000\u0132\u0131\u0001\u0000\u0000\u0000\u0132\u0133\u0001"+ + "\u0000\u0000\u0000\u01333\u0001\u0000\u0000\u0000\u0134\u0136\u0003\u0002"+ + "\u0001\u0000\u0135\u0134\u0001\u0000\u0000\u0000\u0135\u0136\u0001\u0000"+ + "\u0000\u0000\u0136\u0137\u0001\u0000\u0000\u0000\u0137\u0138\u0005\u0014"+ + "\u0000\u0000\u0138\u013a\u0003P(\u0000\u0139\u013b\u0003\u0018\f\u0000"+ + "\u013a\u0139\u0001\u0000\u0000\u0000\u013a\u013b\u0001\u0000\u0000\u0000"+ + "\u013b\u013c\u0001\u0000\u0000\u0000\u013c\u013d\u0005\t\u0000\u0000\u013d"+ + "\u013e\u00038\u001c\u0000\u013e5\u0001\u0000\u0000\u0000\u013f\u0141\u0003"+ + "\u0002\u0001\u0000\u0140\u013f\u0001\u0000\u0000\u0000\u0140\u0141\u0001"+ + "\u0000\u0000\u0000\u0141\u0142\u0001\u0000\u0000\u0000\u0142\u0143\u0005"+ + "\u0017\u0000\u0000\u0143\u0144\u0005\u0014\u0000\u0000\u0144\u0146\u0003"+ + "P(\u0000\u0145\u0147\u0003\u0018\f\u0000\u0146\u0145\u0001\u0000\u0000"+ + "\u0000\u0146\u0147\u0001\u0000\u0000\u0000\u0147\u0148\u0001\u0000\u0000"+ + "\u0000\u0148\u0149\u0005\t\u0000\u0000\u0149\u014a\u00038\u001c\u0000"+ + "\u014a7\u0001\u0000\u0000\u0000\u014b\u014c\u0003P(\u0000\u014c\u014d"+ + "\u0005\u0004\u0000\u0000\u014d\u014f\u0001\u0000\u0000\u0000\u014e\u014b"+ + "\u0001\u0000\u0000\u0000\u014f\u0152\u0001\u0000\u0000\u0000\u0150\u014e"+ + "\u0001\u0000\u0000\u0000\u0150\u0151\u0001\u0000\u0000\u0000\u0151\u0153"+ + "\u0001\u0000\u0000\u0000\u0152\u0150\u0001\u0000\u0000\u0000\u0153\u0154"+ + "\u0003P(\u0000\u01549\u0001\u0000\u0000\u0000\u0155\u0157\u0003\u0002"+ + "\u0001\u0000\u0156\u0155\u0001\u0000\u0000\u0000\u0156\u0157\u0001\u0000"+ + "\u0000\u0000\u0157\u0158\u0001\u0000\u0000\u0000\u0158\u0159\u0005\u0013"+ + "\u0000\u0000\u0159\u015b\u0003P(\u0000\u015a\u015c\u0003\u0018\f\u0000"+ + "\u015b\u015a\u0001\u0000\u0000\u0000\u015b\u015c\u0001\u0000\u0000\u0000"+ + "\u015c\u015d\u0001\u0000\u0000\u0000\u015d\u015e\u0003<\u001e\u0000\u015e"+ + ";\u0001\u0000\u0000\u0000\u015f\u0161\u0005\u0001\u0000\u0000\u0160\u0162"+ + "\u0003>\u001f\u0000\u0161\u0160\u0001\u0000\u0000\u0000\u0162\u0163\u0001"+ + "\u0000\u0000\u0000\u0163\u0161\u0001\u0000\u0000\u0000\u0163\u0164\u0001"+ + "\u0000\u0000\u0000\u0164\u0165\u0001\u0000\u0000\u0000\u0165\u0166\u0005"+ + "\u0002\u0000\u0000\u0166=\u0001\u0000\u0000\u0000\u0167\u0169\u0003\u0002"+ + "\u0001\u0000\u0168\u0167\u0001\u0000\u0000\u0000\u0168\u0169\u0001\u0000"+ + "\u0000\u0000\u0169\u016a\u0001\u0000\u0000\u0000\u016a\u016c\u0003R)\u0000"+ + "\u016b\u016d\u0003\u0018\f\u0000\u016c\u016b\u0001\u0000\u0000\u0000\u016c"+ + "\u016d\u0001\u0000\u0000\u0000\u016d?\u0001\u0000\u0000\u0000\u016e\u0170"+ + "\u0003\u0002\u0001\u0000\u016f\u016e\u0001\u0000\u0000\u0000\u016f\u0170"+ + "\u0001\u0000\u0000\u0000\u0170\u0171\u0001\u0000\u0000\u0000\u0171\u0173"+ + "\u0003P(\u0000\u0172\u0174\u0003B!\u0000\u0173\u0172\u0001\u0000\u0000"+ + "\u0000\u0173\u0174\u0001\u0000\u0000\u0000\u0174\u0175\u0001\u0000\u0000"+ + "\u0000\u0175\u0176\u0005\u0003\u0000\u0000\u0176\u0178\u0003F#\u0000\u0177"+ + "\u0179\u0003\u0018\f\u0000\u0178\u0177\u0001\u0000\u0000\u0000\u0178\u0179"+ + "\u0001\u0000\u0000\u0000\u0179A\u0001\u0000\u0000\u0000\u017a\u017c\u0005"+ + "\u0006\u0000\u0000\u017b\u017d\u0003D\"\u0000\u017c\u017b\u0001\u0000"+ + "\u0000\u0000\u017d\u017e\u0001\u0000\u0000\u0000\u017e\u017c\u0001\u0000"+ + "\u0000\u0000\u017e\u017f\u0001\u0000\u0000\u0000\u017f\u0180\u0001\u0000"+ + "\u0000\u0000\u0180\u0181\u0005\u0007\u0000\u0000\u0181C\u0001\u0000\u0000"+ + "\u0000\u0182\u0184\u0003\u0002\u0001\u0000\u0183\u0182\u0001\u0000\u0000"+ + "\u0000\u0183\u0184\u0001\u0000\u0000\u0000\u0184\u0185\u0001\u0000\u0000"+ + "\u0000\u0185\u0186\u0003P(\u0000\u0186\u0187\u0005\u0003\u0000\u0000\u0187"+ + "\u0189\u0003F#\u0000\u0188\u018a\u0003N\'\u0000\u0189\u0188\u0001\u0000"+ + "\u0000\u0000\u0189\u018a\u0001\u0000\u0000\u0000\u018a\u018c\u0001\u0000"+ + "\u0000\u0000\u018b\u018d\u0003\u0018\f\u0000\u018c\u018b\u0001\u0000\u0000"+ + "\u0000\u018c\u018d\u0001\u0000\u0000\u0000\u018dE\u0001\u0000\u0000\u0000"+ + "\u018e\u0191\u0003H$\u0000\u018f\u0191\u0003J%\u0000\u0190\u018e\u0001"+ + "\u0000\u0000\u0000\u0190\u018f\u0001\u0000\u0000\u0000\u0191\u0193\u0001"+ + "\u0000\u0000\u0000\u0192\u0194\u0003L&\u0000\u0193\u0192\u0001\u0000\u0000"+ + "\u0000\u0193\u0194\u0001\u0000\u0000\u0000\u0194G\u0001\u0000\u0000\u0000"+ + "\u0195\u0196\u0003P(\u0000\u0196I\u0001\u0000\u0000\u0000\u0197\u0198"+ + "\u0005\n\u0000\u0000\u0198\u0199\u0003F#\u0000\u0199\u019a\u0005\u000b"+ + "\u0000\u0000\u019aK\u0001\u0000\u0000\u0000\u019b\u019c\u0005\f\u0000"+ + "\u0000\u019cM\u0001\u0000\u0000\u0000\u019d\u019e\u0005\t\u0000\u0000"+ + "\u019e\u019f\u0003V+\u0000\u019fO\u0001\u0000\u0000\u0000\u01a0\u01a5"+ + "\u0003R)\u0000\u01a1\u01a5\u0005\u001f\u0000\u0000\u01a2\u01a5\u0005 "+ + "\u0000\u0000\u01a3\u01a5\u0005!\u0000\u0000\u01a4\u01a0\u0001\u0000\u0000"+ + "\u0000\u01a4\u01a1\u0001\u0000\u0000\u0000\u01a4\u01a2\u0001\u0000\u0000"+ + "\u0000\u01a4\u01a3\u0001\u0000\u0000\u0000\u01a5Q\u0001\u0000\u0000\u0000"+ + "\u01a6\u01a7\u0007\u0001\u0000\u0000\u01a7S\u0001\u0000\u0000\u0000\u01a8"+ + "\u01a9\u0007\u0002\u0000\u0000\u01a9U\u0001\u0000\u0000\u0000\u01aa\u01b4"+ + "\u0005#\u0000\u0000\u01ab\u01b4\u0005$\u0000\u0000\u01ac\u01b4\u0005*"+ + "\u0000\u0000\u01ad\u01b4\u0005+\u0000\u0000\u01ae\u01b4\u0003T*\u0000"+ + "\u01af\u01b4\u0003`0\u0000\u01b0\u01b4\u0003X,\u0000\u01b1\u01b4\u0003"+ + "Z-\u0000\u01b2\u01b4\u0003\\.\u0000\u01b3\u01aa\u0001\u0000\u0000\u0000"+ + "\u01b3\u01ab\u0001\u0000\u0000\u0000\u01b3\u01ac\u0001\u0000\u0000\u0000"+ + "\u01b3\u01ad\u0001\u0000\u0000\u0000\u01b3\u01ae\u0001\u0000\u0000\u0000"+ + "\u01b3\u01af\u0001\u0000\u0000\u0000\u01b3\u01b0\u0001\u0000\u0000\u0000"+ + "\u01b3\u01b1\u0001\u0000\u0000\u0000\u01b3\u01b2\u0001\u0000\u0000\u0000"+ + "\u01b4W\u0001\u0000\u0000\u0000\u01b5\u01b6\u0003R)\u0000\u01b6Y\u0001"+ + "\u0000\u0000\u0000\u01b7\u01bb\u0005\n\u0000\u0000\u01b8\u01ba\u0003V"+ + "+\u0000\u01b9\u01b8\u0001\u0000\u0000\u0000\u01ba\u01bd\u0001\u0000\u0000"+ + "\u0000\u01bb\u01b9\u0001\u0000\u0000\u0000\u01bb\u01bc\u0001\u0000\u0000"+ + "\u0000\u01bc\u01be\u0001\u0000\u0000\u0000\u01bd\u01bb\u0001\u0000\u0000"+ + "\u0000\u01be\u01bf\u0005\u000b\u0000\u0000\u01bf[\u0001\u0000\u0000\u0000"+ + "\u01c0\u01c4\u0005\u0001\u0000\u0000\u01c1\u01c3\u0003^/\u0000\u01c2\u01c1"+ + "\u0001\u0000\u0000\u0000\u01c3\u01c6\u0001\u0000\u0000\u0000\u01c4\u01c2"+ + "\u0001\u0000\u0000\u0000\u01c4\u01c5\u0001\u0000\u0000\u0000\u01c5\u01c7"+ + "\u0001\u0000\u0000\u0000\u01c6\u01c4\u0001\u0000\u0000\u0000\u01c7\u01c8"+ + "\u0005\u0002\u0000\u0000\u01c8]\u0001\u0000\u0000\u0000\u01c9\u01ca\u0003"+ + "P(\u0000\u01ca\u01cb\u0005\u0003\u0000\u0000\u01cb\u01cc\u0003V+\u0000"+ + "\u01cc_\u0001\u0000\u0000\u0000\u01cd\u01ce\u0005!\u0000\u0000\u01cea"+ + "\u0001\u0000\u0000\u0000=mov|\u0083\u0096\u009d\u00a4\u00aa\u00b2\u00b7"+ + "\u00bd\u00c6\u00cb\u00ce\u00d1\u00d4\u00da\u00dd\u00e0\u00e6\u00ec\u00f3"+ + "\u00f7\u00fc\u00ff\u0102\u0108\u010b\u0111\u0116\u011c\u011f\u0122\u0127"+ + "\u012a\u012d\u0132\u0135\u013a\u0140\u0146\u0150\u0156\u015b\u0163\u0168"+ + "\u016c\u016f\u0173\u0178\u017e\u0183\u0189\u018c\u0190\u0193\u01a4\u01b3"+ + "\u01bb\u01c4"; + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); + static { + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); + } + } +} \ No newline at end of file diff --git a/gen/src/com/walmartlabs/lacinia/GraphqlSchemaVisitor.java b/gen/src/com/walmartlabs/lacinia/GraphqlSchemaVisitor.java new file mode 100644 index 00000000..79e763f5 --- /dev/null +++ b/gen/src/com/walmartlabs/lacinia/GraphqlSchemaVisitor.java @@ -0,0 +1,307 @@ +// Generated from /Users/namenu/Development/lacinia/resources/com/walmartlabs/lacinia/GraphqlSchema.g4 by ANTLR 4.13.1 +package com.walmartlabs.lacinia; +import org.antlr.v4.runtime.tree.ParseTreeVisitor; + +/** + * This interface defines a complete generic visitor for a parse tree produced + * by {@link GraphqlSchemaParser}. + * + * @param The return type of the visit operation. Use {@link Void} for + * operations with no return type. + */ +public interface GraphqlSchemaVisitor extends ParseTreeVisitor { + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#graphqlSchema}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitGraphqlSchema(GraphqlSchemaParser.GraphqlSchemaContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#description}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitDescription(GraphqlSchemaParser.DescriptionContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#schemaDef}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitSchemaDef(GraphqlSchemaParser.SchemaDefContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#operationTypeDef}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitOperationTypeDef(GraphqlSchemaParser.OperationTypeDefContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#queryOperationDef}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitQueryOperationDef(GraphqlSchemaParser.QueryOperationDefContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#mutationOperationDef}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitMutationOperationDef(GraphqlSchemaParser.MutationOperationDefContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#subscriptionOperationDef}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitSubscriptionOperationDef(GraphqlSchemaParser.SubscriptionOperationDefContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#directiveLocationList}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitDirectiveLocationList(GraphqlSchemaParser.DirectiveLocationListContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#directiveLocation}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitDirectiveLocation(GraphqlSchemaParser.DirectiveLocationContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#executableDirectiveLocation}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitExecutableDirectiveLocation(GraphqlSchemaParser.ExecutableDirectiveLocationContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#typeSystemDirectiveLocation}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitTypeSystemDirectiveLocation(GraphqlSchemaParser.TypeSystemDirectiveLocationContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#directiveDef}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitDirectiveDef(GraphqlSchemaParser.DirectiveDefContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#directiveList}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitDirectiveList(GraphqlSchemaParser.DirectiveListContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#directive}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitDirective(GraphqlSchemaParser.DirectiveContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#directiveArgList}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitDirectiveArgList(GraphqlSchemaParser.DirectiveArgListContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#directiveArg}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitDirectiveArg(GraphqlSchemaParser.DirectiveArgContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#typeDef}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitTypeDef(GraphqlSchemaParser.TypeDefContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#typeExtDef}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitTypeExtDef(GraphqlSchemaParser.TypeExtDefContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#fieldDefs}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitFieldDefs(GraphqlSchemaParser.FieldDefsContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#implementationDef}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitImplementationDef(GraphqlSchemaParser.ImplementationDefContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#inputTypeDef}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitInputTypeDef(GraphqlSchemaParser.InputTypeDefContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#inputTypeExtDef}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitInputTypeExtDef(GraphqlSchemaParser.InputTypeExtDefContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#inputValueDefs}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitInputValueDefs(GraphqlSchemaParser.InputValueDefsContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#inputValueDef}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitInputValueDef(GraphqlSchemaParser.InputValueDefContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#interfaceDef}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitInterfaceDef(GraphqlSchemaParser.InterfaceDefContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#scalarDef}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitScalarDef(GraphqlSchemaParser.ScalarDefContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#unionDef}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitUnionDef(GraphqlSchemaParser.UnionDefContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#unionExtDef}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitUnionExtDef(GraphqlSchemaParser.UnionExtDefContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#unionTypes}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitUnionTypes(GraphqlSchemaParser.UnionTypesContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#enumDef}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitEnumDef(GraphqlSchemaParser.EnumDefContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#enumValueDefs}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitEnumValueDefs(GraphqlSchemaParser.EnumValueDefsContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#enumValueDef}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitEnumValueDef(GraphqlSchemaParser.EnumValueDefContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#fieldDef}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitFieldDef(GraphqlSchemaParser.FieldDefContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#argList}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitArgList(GraphqlSchemaParser.ArgListContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#argument}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitArgument(GraphqlSchemaParser.ArgumentContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#typeSpec}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitTypeSpec(GraphqlSchemaParser.TypeSpecContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#typeName}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitTypeName(GraphqlSchemaParser.TypeNameContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#listType}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitListType(GraphqlSchemaParser.ListTypeContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#required}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitRequired(GraphqlSchemaParser.RequiredContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#defaultValue}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitDefaultValue(GraphqlSchemaParser.DefaultValueContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#anyName}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitAnyName(GraphqlSchemaParser.AnyNameContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#nameTokens}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitNameTokens(GraphqlSchemaParser.NameTokensContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#booleanValue}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitBooleanValue(GraphqlSchemaParser.BooleanValueContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#value}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitValue(GraphqlSchemaParser.ValueContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#enumValue}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitEnumValue(GraphqlSchemaParser.EnumValueContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#arrayValue}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitArrayValue(GraphqlSchemaParser.ArrayValueContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#objectValue}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitObjectValue(GraphqlSchemaParser.ObjectValueContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#objectField}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitObjectField(GraphqlSchemaParser.ObjectFieldContext ctx); + /** + * Visit a parse tree produced by {@link GraphqlSchemaParser#nullValue}. + * @param ctx the parse tree + * @return the visitor result + */ + T visitNullValue(GraphqlSchemaParser.NullValueContext ctx); +} \ No newline at end of file diff --git a/resources/com/walmartlabs/lacinia/schema.g4 b/resources/com/walmartlabs/lacinia/GraphqlSchema.g4 similarity index 100% rename from resources/com/walmartlabs/lacinia/schema.g4 rename to resources/com/walmartlabs/lacinia/GraphqlSchema.g4 diff --git a/src/com/walmartlabs/lacinia/parser/antlr.clj b/src/com/walmartlabs/lacinia/parser/antlr.clj new file mode 100644 index 00000000..b0695b34 --- /dev/null +++ b/src/com/walmartlabs/lacinia/parser/antlr.clj @@ -0,0 +1,52 @@ +(ns com.walmartlabs.lacinia.parser.antlr + "Common functions for building and using parsers. + Excerpted from clj-antlr.common" + (:import (java.util.concurrent ConcurrentHashMap) + (org.antlr.v4.runtime Parser + RecognitionException) + (org.antlr.v4.runtime.tree Tree))) + +(def ^ConcurrentHashMap fast-keyword-cache + "A map of strings to keywords." + (ConcurrentHashMap. 1024)) + +(defn fast-keyword + "Like (keyword str), but faster." + [s] + (or (.get fast-keyword-cache s) + (let [k (keyword s)] + (if (< 1024 (.size fast-keyword-cache)) + k + (do + (.put fast-keyword-cache s k) + k))))) + +(defn child-count + "How many children does a node have?" + [^Tree node] + (.getChildCount node)) + +(defn children + "Returns the children of a RuleNode." + [^Tree node] + (map #(.getChild node %) + (range (child-count node)))) + +(defn parser-rule-name + "Given a parser and an integer rule index, returns the string name of that + rule. Negative indexes map to nil." + [^Parser parser ^long index] + (when-not (neg? index) + (aget (.getRuleNames parser) index))) + +(defn recognition-exception->map + "Converts a RecognitionException to a nice readable map." + [^RecognitionException e] + {:rule (.getCtx e) + :state (.getOffendingState e) + :expected (try (.getExpectedTokens e) + (catch IllegalArgumentException _ + ; I think ANTLR throws here for + ; tokenizer errors. + nil)) + :token (.getOffendingToken e)}) diff --git a/src/com/walmartlabs/lacinia/parser/common.clj b/src/com/walmartlabs/lacinia/parser/common.clj index 4cea667f..162f3fb8 100644 --- a/src/com/walmartlabs/lacinia/parser/common.clj +++ b/src/com/walmartlabs/lacinia/parser/common.clj @@ -15,6 +15,7 @@ (ns ^:no-doc com.walmartlabs.lacinia.parser.common (:require [clojure.string :as str] [com.walmartlabs.lacinia.internal-utils :refer [keepv]] + [com.walmartlabs.lacinia.parser.antlr :as antlr] [clojure.java.io :as io]) (:import (org.antlr.v4.runtime.tree ParseTree TerminalNode) (org.antlr.v4.runtime Parser ParserRuleContext Token))) @@ -136,17 +137,17 @@ (defn traverse [^ParseTree t ^Parser p] - #_(if (instance? ParserRuleContext t) + (if (instance? ParserRuleContext t) (let [node (cons (->> (.getRuleIndex ^ParserRuleContext t) - (antlr.common/parser-rule-name p) - antlr.common/fast-keyword) + (antlr/parser-rule-name p) + antlr/fast-keyword) (keepv (comp #(attach-location-as-meta t %) #(traverse % p)) - (antlr.common/children t)))] + (antlr/children t)))] (if-let [e (.exception ^ParserRuleContext t)] (with-meta (list :clj-antlr/error node) - {:error (antlr.common/recognition-exception->map e)}) + {:error (antlr/recognition-exception->map e)}) node)) (let [token-name* (token-name t p)] @@ -154,11 +155,6 @@ (list (keyword (str/lower-case token-name*)) (.getText t)))))) -(defn antlr-parse - [grammar input-document] - #_(let [{:keys [tree parser]} (antlr.proto/parse grammar nil input-document)] - (traverse tree parser))) - (defn parse-failures [e] (let [errors (deref e)] @@ -167,10 +163,3 @@ :column column}] :message message}) errors))) - -(defn compile-grammar - [path] - #_(-> path - io/resource - slurp - antlr.core/parser)) diff --git a/src/com/walmartlabs/lacinia/parser/query.clj b/src/com/walmartlabs/lacinia/parser/query.clj index a14d6592..0d87447b 100644 --- a/src/com/walmartlabs/lacinia/parser/query.clj +++ b/src/com/walmartlabs/lacinia/parser/query.clj @@ -26,9 +26,6 @@ (com.walmartlabs.lacinia GraphqlParser GraphqlLexer) (org.antlr.v4.runtime CharStreams CommonTokenStream))) -(def ^:private grammar - (common/compile-grammar "com/walmartlabs/lacinia/Graphql.g4")) - (defmulti ^:private xform "Transform an Antlr production into a result. @@ -257,7 +254,11 @@ [input] (xform-query (try - (common/antlr-parse grammar input) + (let [char-stream (CharStreams/fromString input) + lexer (GraphqlLexer. char-stream) + parser (GraphqlParser. (CommonTokenStream. lexer))] + (common/traverse (.document parser) parser)) + (catch RuntimeException e (let [failures (common/parse-failures e)] (throw (ex-info "Failed to parse GraphQL query." @@ -272,12 +273,9 @@ (let [char-stream (CharStreams/fromString query) lexer (GraphqlLexer. char-stream) parser (GraphqlParser. (CommonTokenStream. lexer))] - (common/parse parser) (common/traverse (.document parser) parser) ) (parse-query query) - (common/antlr-parse grammar query) - ) \ No newline at end of file diff --git a/src/com/walmartlabs/lacinia/parser/schema.clj b/src/com/walmartlabs/lacinia/parser/schema.clj index 405cca20..aed48f33 100644 --- a/src/com/walmartlabs/lacinia/parser/schema.clj +++ b/src/com/walmartlabs/lacinia/parser/schema.clj @@ -23,16 +23,15 @@ [com.walmartlabs.lacinia.schema :as schema] [com.walmartlabs.lacinia.federation :as federation] [clojure.spec.alpha :as s] - [clojure.string :as str])) + [clojure.string :as str]) + (:import (com.walmartlabs.lacinia GraphqlSchemaLexer GraphqlSchemaParser) + (org.antlr.v4.runtime CharStreams CommonTokenStream))) ;; When using Clojure 1.8, the dependency on clojure-future-spec must be included, ;; and this code will trigger (when (-> *clojure-version* :minor (< 9)) (require '[clojure.future :refer [simple-keyword?]])) -(def ^:private grammar - (delay (common/compile-grammar "com/walmartlabs/lacinia/schema.g4"))) - (def ^:private extension-meta {:extension true}) (defn ^:private tag @@ -605,7 +604,10 @@ federation/foundation-types {}) antlr-tree (try - (common/antlr-parse @grammar schema-string) + (let [char-stream (CharStreams/fromString schema-string) + lexer (GraphqlSchemaLexer. char-stream) + parser (GraphqlSchemaParser. (CommonTokenStream. lexer))] + (common/traverse (.graphqlSchema parser) parser)) (catch RuntimeException e (let [failures (common/parse-failures e)] (throw (ex-info "Failed to parse GraphQL schema." From eac48aa62053be98080c43dabb1c5fd8ec68c21f Mon Sep 17 00:00:00 2001 From: Hyunwoo Nam Date: Mon, 12 Feb 2024 21:40:02 +0900 Subject: [PATCH 06/16] mimic clj-antlr --- src/com/walmartlabs/lacinia/parser/antlr.clj | 62 ++++++++++++++++++- src/com/walmartlabs/lacinia/parser/common.clj | 24 +++++-- src/com/walmartlabs/lacinia/parser/query.clj | 31 ++++++---- src/com/walmartlabs/lacinia/parser/schema.clj | 15 +++-- 4 files changed, 108 insertions(+), 24 deletions(-) diff --git a/src/com/walmartlabs/lacinia/parser/antlr.clj b/src/com/walmartlabs/lacinia/parser/antlr.clj index b0695b34..45decc3e 100644 --- a/src/com/walmartlabs/lacinia/parser/antlr.clj +++ b/src/com/walmartlabs/lacinia/parser/antlr.clj @@ -2,7 +2,8 @@ "Common functions for building and using parsers. Excerpted from clj-antlr.common" (:import (java.util.concurrent ConcurrentHashMap) - (org.antlr.v4.runtime Parser + (org.antlr.v4.runtime ANTLRErrorListener + Parser RecognitionException) (org.antlr.v4.runtime.tree Tree))) @@ -50,3 +51,62 @@ ; tokenizer errors. nil)) :token (.getOffendingToken e)}) + +(defn error-listener + "A stateful error listener which accretes parse errors in a deref-able + structure. Deref returns nil if there are no errors; else a sequence of + heterogenous maps, depending on what debugging information is available." + [] + (let [errors (atom [])] + (reify + clojure.lang.IDeref + (deref [this] (seq (deref errors))) + + ANTLRErrorListener + (reportAmbiguity [this + parser + dfa + start-index + stop-idex + exact + ambig-alts + configs] + ; TODO + ) + + (reportAttemptingFullContext [this + parser + dfa + start-index + stop-index + conflicting-alts + configs]) + + (reportContextSensitivity [this + parser + dfa + start-index + stop-index + prediction + configs]) + + (syntaxError [this + recognizer + offending-symbol + line + char + message + e] + (let [err {:symbol offending-symbol + :line line + :char char + :message message} + err (if (isa? Parser recognizer) + (assoc err :stack (->> ^Parser recognizer + .getRuleInvocationStack + reverse)) + err) + err (if e + (merge err (recognition-exception->map e)) + err)] + (swap! errors conj err)))))) diff --git a/src/com/walmartlabs/lacinia/parser/common.clj b/src/com/walmartlabs/lacinia/parser/common.clj index 162f3fb8..75ee5874 100644 --- a/src/com/walmartlabs/lacinia/parser/common.clj +++ b/src/com/walmartlabs/lacinia/parser/common.clj @@ -15,10 +15,9 @@ (ns ^:no-doc com.walmartlabs.lacinia.parser.common (:require [clojure.string :as str] [com.walmartlabs.lacinia.internal-utils :refer [keepv]] - [com.walmartlabs.lacinia.parser.antlr :as antlr] - [clojure.java.io :as io]) - (:import (org.antlr.v4.runtime.tree ParseTree TerminalNode) - (org.antlr.v4.runtime Parser ParserRuleContext Token))) + [com.walmartlabs.lacinia.parser.antlr :as antlr]) + (:import (org.antlr.v4.runtime CharStream CharStreams CommonTokenStream Lexer Parser ParserRuleContext Token TokenStream) + (org.antlr.v4.runtime.tree ParseTree TerminalNode))) (defn as-map "Converts a normal Antlr production into a map." @@ -135,7 +134,7 @@ {:line (.getLine token) :column (-> token .getCharPositionInLine inc)})))) -(defn traverse +(defn ^:private traverse [^ParseTree t ^Parser p] (if (instance? ParserRuleContext t) (let [node (cons (->> (.getRuleIndex ^ParserRuleContext t) @@ -155,6 +154,21 @@ (list (keyword (str/lower-case token-name*)) (.getText t)))))) +(defprotocol AntlrParser + (^Lexer lexer [_ ^CharStream chars]) + (^Parser parser [_ ^TokenStream lexer]) + (^ParseTree tree [_ ^Parser parser])) + +(defn antlr-parse [ap ^String input] + (let [error-listener (antlr/error-listener) + + lexer (lexer ap (CharStreams/fromString input)) + _ (.addErrorListener lexer error-listener) + + parser (parser ap (CommonTokenStream. lexer)) + _ (.addErrorListener parser error-listener)] + (traverse (tree ap parser) parser))) + (defn parse-failures [e] (let [errors (deref e)] diff --git a/src/com/walmartlabs/lacinia/parser/query.clj b/src/com/walmartlabs/lacinia/parser/query.clj index 0d87447b..e1021031 100644 --- a/src/com/walmartlabs/lacinia/parser/query.clj +++ b/src/com/walmartlabs/lacinia/parser/query.clj @@ -23,8 +23,9 @@ #_[clojure.pprint :as pprint] [com.walmartlabs.lacinia.parser.common :as common]) (:import - (com.walmartlabs.lacinia GraphqlParser GraphqlLexer) - (org.antlr.v4.runtime CharStreams CommonTokenStream))) + (com.walmartlabs.lacinia GraphqlParser GraphqlLexer))) + +(set! *warn-on-reflection* true) (defmulti ^:private xform "Transform an Antlr production into a result. @@ -254,11 +255,14 @@ [input] (xform-query (try - (let [char-stream (CharStreams/fromString input) - lexer (GraphqlLexer. char-stream) - parser (GraphqlParser. (CommonTokenStream. lexer))] - (common/traverse (.document parser) parser)) - + (let [ap (reify common/AntlrParser + (lexer [_ char-stream] + (GraphqlLexer. char-stream)) + (parser [_ token-stream] + (GraphqlParser. token-stream)) + (tree [_ parser] + (.document ^GraphqlParser parser)))] + (common/antlr-parse ap input)) (catch RuntimeException e (let [failures (common/parse-failures e)] (throw (ex-info "Failed to parse GraphQL query." @@ -270,11 +274,14 @@ (def query (slurp "dev-resources/parser/aliases.gql")) (def query "query { foo }") - (let [char-stream (CharStreams/fromString query) - lexer (GraphqlLexer. char-stream) - parser (GraphqlParser. (CommonTokenStream. lexer))] - (common/traverse (.document parser) parser) - ) + (let [ap (reify common/AntlrParser + (lexer [_ char-stream] + (GraphqlLexer. char-stream)) + (parser [_ token-stream] + (GraphqlParser. token-stream)) + (tree [_ parser] + (.document ^GraphqlParser parser)))] + (common/antlr-parse ap query)) (parse-query query) diff --git a/src/com/walmartlabs/lacinia/parser/schema.clj b/src/com/walmartlabs/lacinia/parser/schema.clj index aed48f33..088c4c09 100644 --- a/src/com/walmartlabs/lacinia/parser/schema.clj +++ b/src/com/walmartlabs/lacinia/parser/schema.clj @@ -24,8 +24,7 @@ [com.walmartlabs.lacinia.federation :as federation] [clojure.spec.alpha :as s] [clojure.string :as str]) - (:import (com.walmartlabs.lacinia GraphqlSchemaLexer GraphqlSchemaParser) - (org.antlr.v4.runtime CharStreams CommonTokenStream))) + (:import (com.walmartlabs.lacinia GraphqlSchemaLexer GraphqlSchemaParser))) ;; When using Clojure 1.8, the dependency on clojure-future-spec must be included, ;; and this code will trigger @@ -604,10 +603,14 @@ federation/foundation-types {}) antlr-tree (try - (let [char-stream (CharStreams/fromString schema-string) - lexer (GraphqlSchemaLexer. char-stream) - parser (GraphqlSchemaParser. (CommonTokenStream. lexer))] - (common/traverse (.graphqlSchema parser) parser)) + (let [ap (reify common/AntlrParser + (lexer [_ char-stream] + (GraphqlSchemaLexer. char-stream)) + (parser [_ token-stream] + (GraphqlSchemaParser. token-stream)) + (tree [_ parser] + (.graphqlSchema ^GraphqlSchemaParser parser)))] + (common/antlr-parse ap schema-string)) (catch RuntimeException e (let [failures (common/parse-failures e)] (throw (ex-info "Failed to parse GraphQL schema." From 394ada893dfb39ea39d96362435cf8da42381392 Mon Sep 17 00:00:00 2001 From: Hyunwoo Nam Date: Mon, 12 Feb 2024 22:22:12 +0900 Subject: [PATCH 07/16] fix errorneous tests --- .../com/walmartlabs/lacinia/ParseError.java | 18 +++++++++++++++ src/com/walmartlabs/lacinia/parser/antlr.clj | 11 ++++++++- src/com/walmartlabs/lacinia/parser/common.clj | 16 ++++++++++--- src/com/walmartlabs/lacinia/parser/query.clj | 23 ++----------------- src/com/walmartlabs/lacinia/parser/schema.clj | 4 ++-- test/com/walmartlabs/lacinia/tracing_test.clj | 2 +- 6 files changed, 46 insertions(+), 28 deletions(-) create mode 100644 gen/src/com/walmartlabs/lacinia/ParseError.java diff --git a/gen/src/com/walmartlabs/lacinia/ParseError.java b/gen/src/com/walmartlabs/lacinia/ParseError.java new file mode 100644 index 00000000..3f352ea7 --- /dev/null +++ b/gen/src/com/walmartlabs/lacinia/ParseError.java @@ -0,0 +1,18 @@ +package com.walmartlabs.lacinia; + +import clojure.lang.IDeref; + +public class ParseError extends RuntimeException implements IDeref { + public final Object errors; + public final Object tree; + + public ParseError(final Object errors, final Object tree, final String msg) { + super(msg); + this.errors = errors; + this.tree = tree; + } + + public Object deref() { + return errors; + } +} diff --git a/src/com/walmartlabs/lacinia/parser/antlr.clj b/src/com/walmartlabs/lacinia/parser/antlr.clj index 45decc3e..62cc1b6b 100644 --- a/src/com/walmartlabs/lacinia/parser/antlr.clj +++ b/src/com/walmartlabs/lacinia/parser/antlr.clj @@ -1,7 +1,9 @@ (ns com.walmartlabs.lacinia.parser.antlr "Common functions for building and using parsers. Excerpted from clj-antlr.common" - (:import (java.util.concurrent ConcurrentHashMap) + (:require [clojure.string :as string]) + (:import (com.walmartlabs.lacinia ParseError) + (java.util.concurrent ConcurrentHashMap) (org.antlr.v4.runtime ANTLRErrorListener Parser RecognitionException) @@ -40,6 +42,13 @@ (when-not (neg? index) (aget (.getRuleNames parser) index))) +(defn parse-error + "Constructs a new ParseError exception with a list of errors." + [errors tree] + (ParseError. errors + tree + (string/join "\n" (map :message errors)))) + (defn recognition-exception->map "Converts a RecognitionException to a nice readable map." [^RecognitionException e] diff --git a/src/com/walmartlabs/lacinia/parser/common.clj b/src/com/walmartlabs/lacinia/parser/common.clj index 75ee5874..d863534d 100644 --- a/src/com/walmartlabs/lacinia/parser/common.clj +++ b/src/com/walmartlabs/lacinia/parser/common.clj @@ -163,11 +163,21 @@ (let [error-listener (antlr/error-listener) lexer (lexer ap (CharStreams/fromString input)) - _ (.addErrorListener lexer error-listener) + _ (doto lexer + (.removeErrorListeners) + (.addErrorListener error-listener)) parser (parser ap (CommonTokenStream. lexer)) - _ (.addErrorListener parser error-listener)] - (traverse (tree ap parser) parser))) + _ (doto parser + (.removeErrorListeners) + (.addErrorListener error-listener)) + + tree (tree ap parser)] + + (when-let [errors @error-listener] + (throw (antlr/parse-error errors tree))) + + (traverse tree parser))) (defn parse-failures [e] diff --git a/src/com/walmartlabs/lacinia/parser/query.clj b/src/com/walmartlabs/lacinia/parser/query.clj index e1021031..c8e47255 100644 --- a/src/com/walmartlabs/lacinia/parser/query.clj +++ b/src/com/walmartlabs/lacinia/parser/query.clj @@ -23,7 +23,7 @@ #_[clojure.pprint :as pprint] [com.walmartlabs.lacinia.parser.common :as common]) (:import - (com.walmartlabs.lacinia GraphqlParser GraphqlLexer))) + (com.walmartlabs.lacinia GraphqlParser GraphqlLexer ParseError))) (set! *warn-on-reflection* true) @@ -263,26 +263,7 @@ (tree [_ parser] (.document ^GraphqlParser parser)))] (common/antlr-parse ap input)) - (catch RuntimeException e + (catch ParseError e (let [failures (common/parse-failures e)] (throw (ex-info "Failed to parse GraphQL query." {:errors failures}))))))) - - -(comment - - (def query (slurp "dev-resources/parser/aliases.gql")) - (def query "query { foo }") - - (let [ap (reify common/AntlrParser - (lexer [_ char-stream] - (GraphqlLexer. char-stream)) - (parser [_ token-stream] - (GraphqlParser. token-stream)) - (tree [_ parser] - (.document ^GraphqlParser parser)))] - (common/antlr-parse ap query)) - - (parse-query query) - - ) \ No newline at end of file diff --git a/src/com/walmartlabs/lacinia/parser/schema.clj b/src/com/walmartlabs/lacinia/parser/schema.clj index 088c4c09..b7abe295 100644 --- a/src/com/walmartlabs/lacinia/parser/schema.clj +++ b/src/com/walmartlabs/lacinia/parser/schema.clj @@ -24,7 +24,7 @@ [com.walmartlabs.lacinia.federation :as federation] [clojure.spec.alpha :as s] [clojure.string :as str]) - (:import (com.walmartlabs.lacinia GraphqlSchemaLexer GraphqlSchemaParser))) + (:import (com.walmartlabs.lacinia GraphqlSchemaLexer GraphqlSchemaParser ParseError))) ;; When using Clojure 1.8, the dependency on clojure-future-spec must be included, ;; and this code will trigger @@ -611,7 +611,7 @@ (tree [_ parser] (.graphqlSchema ^GraphqlSchemaParser parser)))] (common/antlr-parse ap schema-string)) - (catch RuntimeException e + (catch ParseError e (let [failures (common/parse-failures e)] (throw (ex-info "Failed to parse GraphQL schema." {:errors failures})))))] diff --git a/test/com/walmartlabs/lacinia/tracing_test.clj b/test/com/walmartlabs/lacinia/tracing_test.clj index a51d8454..f2176956 100644 --- a/test/com/walmartlabs/lacinia/tracing_test.clj +++ b/test/com/walmartlabs/lacinia/tracing_test.clj @@ -41,7 +41,7 @@ [_ _ value] (let [resolved-value (resolve/resolve-promise) f (fn [] - (Thread/sleep (::delay value)) + (Thread/sleep ^long (::delay value)) (resolve/deliver! resolved-value (::slow value))) thread (Thread. ^Runnable f)] (.start thread) From 46d2bfd6d2184600c8f456ab03859108c3f77bf4 Mon Sep 17 00:00:00 2001 From: Hyunwoo Nam Date: Mon, 12 Feb 2024 22:41:36 +0900 Subject: [PATCH 08/16] make it more similar to original. undo irrelavent fixes. --- src/com/walmartlabs/lacinia/parser/antlr.clj | 33 ++++++++++++++++--- src/com/walmartlabs/lacinia/parser/common.clj | 33 ++++--------------- src/com/walmartlabs/lacinia/parser/query.clj | 3 +- src/com/walmartlabs/lacinia/parser/schema.clj | 6 ++-- test/com/walmartlabs/lacinia/tracing_test.clj | 2 +- 5 files changed, 42 insertions(+), 35 deletions(-) diff --git a/src/com/walmartlabs/lacinia/parser/antlr.clj b/src/com/walmartlabs/lacinia/parser/antlr.clj index 62cc1b6b..a76a20e4 100644 --- a/src/com/walmartlabs/lacinia/parser/antlr.clj +++ b/src/com/walmartlabs/lacinia/parser/antlr.clj @@ -1,13 +1,12 @@ (ns com.walmartlabs.lacinia.parser.antlr - "Common functions for building and using parsers. - Excerpted from clj-antlr.common" + "Mostly excerpted from clj-antlr.common" (:require [clojure.string :as string]) (:import (com.walmartlabs.lacinia ParseError) (java.util.concurrent ConcurrentHashMap) (org.antlr.v4.runtime ANTLRErrorListener - Parser + CharStreams CommonTokenStream Lexer Parser RecognitionException) - (org.antlr.v4.runtime.tree Tree))) + (org.antlr.v4.runtime.tree ParseTree Tree))) (def ^ConcurrentHashMap fast-keyword-cache "A map of strings to keywords." @@ -119,3 +118,29 @@ (merge err (recognition-exception->map e)) err)] (swap! errors conj err)))))) + +(defprotocol AntlrParser + (^Lexer lexer [_ ^CharStream chars]) + (^Parser parser [_ ^TokenStream lexer]) + (^ParseTree tree [_ ^Parser parser])) + +(defn parse [ap ^String input] + (let [error-listener (error-listener) + + lexer (lexer ap (CharStreams/fromString input)) + _ (doto lexer + (.removeErrorListeners) + (.addErrorListener error-listener)) + + parser (parser ap (CommonTokenStream. lexer)) + _ (doto parser + (.removeErrorListeners) + (.addErrorListener error-listener)) + + tree (tree ap parser)] + + (when-let [errors @error-listener] + (throw (parse-error errors tree))) + + {:tree tree + :parser parser})) diff --git a/src/com/walmartlabs/lacinia/parser/common.clj b/src/com/walmartlabs/lacinia/parser/common.clj index d863534d..edad7fb3 100644 --- a/src/com/walmartlabs/lacinia/parser/common.clj +++ b/src/com/walmartlabs/lacinia/parser/common.clj @@ -16,8 +16,9 @@ (:require [clojure.string :as str] [com.walmartlabs.lacinia.internal-utils :refer [keepv]] [com.walmartlabs.lacinia.parser.antlr :as antlr]) - (:import (org.antlr.v4.runtime CharStream CharStreams CommonTokenStream Lexer Parser ParserRuleContext Token TokenStream) - (org.antlr.v4.runtime.tree ParseTree TerminalNode))) + (:import (org.antlr.v4.runtime.tree ParseTree TerminalNode) + (org.antlr.v4.runtime Parser ParserRuleContext Token) + (com.walmartlabs.lacinia ParseError))) (defn as-map "Converts a normal Antlr production into a map." @@ -154,33 +155,13 @@ (list (keyword (str/lower-case token-name*)) (.getText t)))))) -(defprotocol AntlrParser - (^Lexer lexer [_ ^CharStream chars]) - (^Parser parser [_ ^TokenStream lexer]) - (^ParseTree tree [_ ^Parser parser])) - -(defn antlr-parse [ap ^String input] - (let [error-listener (antlr/error-listener) - - lexer (lexer ap (CharStreams/fromString input)) - _ (doto lexer - (.removeErrorListeners) - (.addErrorListener error-listener)) - - parser (parser ap (CommonTokenStream. lexer)) - _ (doto parser - (.removeErrorListeners) - (.addErrorListener error-listener)) - - tree (tree ap parser)] - - (when-let [errors @error-listener] - (throw (antlr/parse-error errors tree))) - +(defn antlr-parse + [ap input] + (let [{:keys [tree parser]} (antlr/parse ap input)] (traverse tree parser))) (defn parse-failures - [e] + [^ParseError e] (let [errors (deref e)] (map (fn [{:keys [line column message]}] {:locations [{:line line diff --git a/src/com/walmartlabs/lacinia/parser/query.clj b/src/com/walmartlabs/lacinia/parser/query.clj index c8e47255..d04684ec 100644 --- a/src/com/walmartlabs/lacinia/parser/query.clj +++ b/src/com/walmartlabs/lacinia/parser/query.clj @@ -21,6 +21,7 @@ (:require #_[io.pedestal.log :as log] #_[clojure.pprint :as pprint] + [com.walmartlabs.lacinia.parser.antlr :refer [AntlrParser]] [com.walmartlabs.lacinia.parser.common :as common]) (:import (com.walmartlabs.lacinia GraphqlParser GraphqlLexer ParseError))) @@ -255,7 +256,7 @@ [input] (xform-query (try - (let [ap (reify common/AntlrParser + (let [ap (reify AntlrParser (lexer [_ char-stream] (GraphqlLexer. char-stream)) (parser [_ token-stream] diff --git a/src/com/walmartlabs/lacinia/parser/schema.clj b/src/com/walmartlabs/lacinia/parser/schema.clj index b7abe295..a6bd648a 100644 --- a/src/com/walmartlabs/lacinia/parser/schema.clj +++ b/src/com/walmartlabs/lacinia/parser/schema.clj @@ -18,6 +18,7 @@ (:require #_[io.pedestal.log :as log] [com.walmartlabs.lacinia.internal-utils :refer [remove-vals keepv q qualified-name]] + [com.walmartlabs.lacinia.parser.antlr :refer [AntlrParser]] [com.walmartlabs.lacinia.parser.common :as common] [com.walmartlabs.lacinia.util :refer [inject-descriptions]] [com.walmartlabs.lacinia.schema :as schema] @@ -364,8 +365,7 @@ (defmethod xform :booleanValue [prod] - (let [v (-> prod second second)] - (Boolean/valueOf ^String v))) + (Boolean/valueOf ^String (-> prod second second))) (defmethod xform :nullValue [_] @@ -603,7 +603,7 @@ federation/foundation-types {}) antlr-tree (try - (let [ap (reify common/AntlrParser + (let [ap (reify AntlrParser (lexer [_ char-stream] (GraphqlSchemaLexer. char-stream)) (parser [_ token-stream] diff --git a/test/com/walmartlabs/lacinia/tracing_test.clj b/test/com/walmartlabs/lacinia/tracing_test.clj index f2176956..a51d8454 100644 --- a/test/com/walmartlabs/lacinia/tracing_test.clj +++ b/test/com/walmartlabs/lacinia/tracing_test.clj @@ -41,7 +41,7 @@ [_ _ value] (let [resolved-value (resolve/resolve-promise) f (fn [] - (Thread/sleep ^long (::delay value)) + (Thread/sleep (::delay value)) (resolve/deliver! resolved-value (::slow value))) thread (Thread. ^Runnable f)] (.start thread) From 23b1ea816ed84c89c8854756b78679effc372211 Mon Sep 17 00:00:00 2001 From: Hyunwoo Nam Date: Mon, 12 Feb 2024 23:17:38 +0900 Subject: [PATCH 09/16] add lacinia-parser local deps which must be prepared before use --- build.clj | 8 ------ deps.edn | 4 +-- gen/build.clj | 26 +++++++++++++++++++ gen/deps.edn | 9 +++++++ .../src}/com/walmartlabs/lacinia/Graphql.g4 | 0 .../com/walmartlabs/lacinia/GraphqlSchema.g4 | 0 6 files changed, 37 insertions(+), 10 deletions(-) create mode 100644 gen/build.clj create mode 100644 gen/deps.edn rename {resources => gen/src}/com/walmartlabs/lacinia/Graphql.g4 (100%) rename {resources => gen/src}/com/walmartlabs/lacinia/GraphqlSchema.g4 (100%) diff --git a/build.clj b/build.clj index 33c7b083..fcfa1978 100644 --- a/build.clj +++ b/build.clj @@ -60,11 +60,3 @@ (println "Pushing changes ...") (build/process {:dir publish-dir :command-args ["git" "push"]})) - -(def basis (delay (build/create-basis {:project "deps.edn"}))) - -(defn compile-java [& _] - (build/delete {:path "target/classes"}) - (build/javac {:src-dirs ["gen"] - :class-dir "gen/classes" - :basis @basis})) \ No newline at end of file diff --git a/deps.edn b/deps.edn index 8e5daabc..6b789573 100644 --- a/deps.edn +++ b/deps.edn @@ -1,8 +1,8 @@ {:deps {org.clojure/clojure {:mvn/version "1.11.1"} - org.antlr/antlr4-runtime {:mvn/version "4.13.1"} + com.walmartlabs/lacinia-parser {:local/root "./gen"} org.flatland/ordered {:mvn/version "1.15.10"} org.clojure/data.json {:mvn/version "2.4.0"}} - :paths ["src" "resources" "gen/src" "gen/classes"] + :paths ["src" "resources" "gen/target"] :aliases {:dev {:extra-deps {criterium/criterium {:mvn/version "0.4.6"} diff --git a/gen/build.clj b/gen/build.clj new file mode 100644 index 00000000..c5f77b17 --- /dev/null +++ b/gen/build.clj @@ -0,0 +1,26 @@ +; Copyright (c) 2021-present Walmart, Inc. +; +; Licensed under the Apache License, Version 2.0 (the "License") +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +;; clj -T:build + +(ns build + (:require [clojure.tools.build.api :as build])) + +(def basis (delay (build/create-basis {:project "deps.edn"}))) + +(defn compile-java [& _] + (build/delete {:path "target/classes"}) + (build/javac {:src-dirs ["src"] + :class-dir "target/classes" + :basis @basis})) \ No newline at end of file diff --git a/gen/deps.edn b/gen/deps.edn new file mode 100644 index 00000000..d4ec472f --- /dev/null +++ b/gen/deps.edn @@ -0,0 +1,9 @@ +{:deps {org.antlr/antlr4-runtime {:mvn/version "4.13.1"}} + :paths ["src" "target/classes"] + :deps/prep-lib {:ensure "target/classes" + :alias :build + :fn compile-java} + :aliases + {:build {:deps {io.github.hlship/build-tools + {:git/tag "0.10.1" :git/sha "7ecff5"}} + :ns-default build}}} \ No newline at end of file diff --git a/resources/com/walmartlabs/lacinia/Graphql.g4 b/gen/src/com/walmartlabs/lacinia/Graphql.g4 similarity index 100% rename from resources/com/walmartlabs/lacinia/Graphql.g4 rename to gen/src/com/walmartlabs/lacinia/Graphql.g4 diff --git a/resources/com/walmartlabs/lacinia/GraphqlSchema.g4 b/gen/src/com/walmartlabs/lacinia/GraphqlSchema.g4 similarity index 100% rename from resources/com/walmartlabs/lacinia/GraphqlSchema.g4 rename to gen/src/com/walmartlabs/lacinia/GraphqlSchema.g4 From 704f22288f9c8bb24f2d251c752f774654963117 Mon Sep 17 00:00:00 2001 From: Hyunwoo Nam Date: Mon, 12 Feb 2024 23:19:29 +0900 Subject: [PATCH 10/16] [CI] prepare java before tests --- .github/workflows/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/config.yml b/.github/workflows/config.yml index df000281..305810b9 100644 --- a/.github/workflows/config.yml +++ b/.github/workflows/config.yml @@ -33,4 +33,4 @@ jobs: key: cljdeps-${{ hashFiles('deps.edn') }} - name: Execute tests - run: clojure -X:dev:test + run: clojure -X:deps prep && clojure -X:dev:test From 3c5f53f62b5019cd35114d0d9b69ced498f4962a Mon Sep 17 00:00:00 2001 From: Hyunwoo Nam Date: Mon, 12 Feb 2024 23:21:54 +0900 Subject: [PATCH 11/16] cleanup deps paths --- deps.edn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deps.edn b/deps.edn index 6b789573..4f04afb6 100644 --- a/deps.edn +++ b/deps.edn @@ -2,7 +2,7 @@ com.walmartlabs/lacinia-parser {:local/root "./gen"} org.flatland/ordered {:mvn/version "1.15.10"} org.clojure/data.json {:mvn/version "2.4.0"}} - :paths ["src" "resources" "gen/target"] + :paths ["src" "resources"] :aliases {:dev {:extra-deps {criterium/criterium {:mvn/version "0.4.6"} From 565884400db4abb3eb9157a3ace575ca7f81f654 Mon Sep 17 00:00:00 2001 From: Hyunwoo Nam Date: Wed, 14 Feb 2024 17:36:41 +0900 Subject: [PATCH 12/16] set java build target as 11, follow official guide to mix java/clojure --- .github/workflows/config.yml | 2 +- build.clj | 11 +++++++- deps.edn | 10 +++++-- gen/build.clj | 26 ------------------- gen/deps.edn | 9 ------- .../com/walmartlabs/lacinia/Graphql.g4 | 0 .../com/walmartlabs/lacinia/Graphql.interp | 0 .../com/walmartlabs/lacinia/Graphql.tokens | 0 .../lacinia/GraphqlBaseListener.java | 0 .../lacinia/GraphqlBaseVisitor.java | 0 .../walmartlabs/lacinia/GraphqlLexer.interp | 0 .../com/walmartlabs/lacinia/GraphqlLexer.java | 0 .../walmartlabs/lacinia/GraphqlLexer.tokens | 0 .../walmartlabs/lacinia/GraphqlListener.java | 0 .../walmartlabs/lacinia/GraphqlParser.java | 0 .../com/walmartlabs/lacinia/GraphqlSchema.g4 | 0 .../walmartlabs/lacinia/GraphqlSchema.interp | 0 .../walmartlabs/lacinia/GraphqlSchema.tokens | 0 .../lacinia/GraphqlSchemaBaseListener.java | 0 .../lacinia/GraphqlSchemaBaseVisitor.java | 0 .../lacinia/GraphqlSchemaLexer.interp | 0 .../lacinia/GraphqlSchemaLexer.java | 0 .../lacinia/GraphqlSchemaLexer.tokens | 0 .../lacinia/GraphqlSchemaListener.java | 0 .../lacinia/GraphqlSchemaParser.java | 0 .../lacinia/GraphqlSchemaVisitor.java | 0 .../walmartlabs/lacinia/GraphqlVisitor.java | 0 .../com/walmartlabs/lacinia/ParseError.java | 0 28 files changed, 19 insertions(+), 39 deletions(-) delete mode 100644 gen/build.clj delete mode 100644 gen/deps.edn rename {gen/src => java}/com/walmartlabs/lacinia/Graphql.g4 (100%) rename {gen/src => java}/com/walmartlabs/lacinia/Graphql.interp (100%) rename {gen/src => java}/com/walmartlabs/lacinia/Graphql.tokens (100%) rename {gen/src => java}/com/walmartlabs/lacinia/GraphqlBaseListener.java (100%) rename {gen/src => java}/com/walmartlabs/lacinia/GraphqlBaseVisitor.java (100%) rename {gen/src => java}/com/walmartlabs/lacinia/GraphqlLexer.interp (100%) rename {gen/src => java}/com/walmartlabs/lacinia/GraphqlLexer.java (100%) rename {gen/src => java}/com/walmartlabs/lacinia/GraphqlLexer.tokens (100%) rename {gen/src => java}/com/walmartlabs/lacinia/GraphqlListener.java (100%) rename {gen/src => java}/com/walmartlabs/lacinia/GraphqlParser.java (100%) rename {gen/src => java}/com/walmartlabs/lacinia/GraphqlSchema.g4 (100%) rename {gen/src => java}/com/walmartlabs/lacinia/GraphqlSchema.interp (100%) rename {gen/src => java}/com/walmartlabs/lacinia/GraphqlSchema.tokens (100%) rename {gen/src => java}/com/walmartlabs/lacinia/GraphqlSchemaBaseListener.java (100%) rename {gen/src => java}/com/walmartlabs/lacinia/GraphqlSchemaBaseVisitor.java (100%) rename {gen/src => java}/com/walmartlabs/lacinia/GraphqlSchemaLexer.interp (100%) rename {gen/src => java}/com/walmartlabs/lacinia/GraphqlSchemaLexer.java (100%) rename {gen/src => java}/com/walmartlabs/lacinia/GraphqlSchemaLexer.tokens (100%) rename {gen/src => java}/com/walmartlabs/lacinia/GraphqlSchemaListener.java (100%) rename {gen/src => java}/com/walmartlabs/lacinia/GraphqlSchemaParser.java (100%) rename {gen/src => java}/com/walmartlabs/lacinia/GraphqlSchemaVisitor.java (100%) rename {gen/src => java}/com/walmartlabs/lacinia/GraphqlVisitor.java (100%) rename {gen/src => java}/com/walmartlabs/lacinia/ParseError.java (100%) diff --git a/.github/workflows/config.yml b/.github/workflows/config.yml index 305810b9..4dad05ed 100644 --- a/.github/workflows/config.yml +++ b/.github/workflows/config.yml @@ -33,4 +33,4 @@ jobs: key: cljdeps-${{ hashFiles('deps.edn') }} - name: Execute tests - run: clojure -X:deps prep && clojure -X:dev:test + run: clojure -T:build compile-java && clojure -X:dev:test diff --git a/build.clj b/build.clj index fcfa1978..3d6baf11 100644 --- a/build.clj +++ b/build.clj @@ -21,16 +21,25 @@ (def lib 'com.walmartlabs/lacinia) (def version (-> "VERSION.txt" slurp string/trim)) +(def class-dir "target/classes") (def jar-params {:project-name lib - :version version}) + :version version + :class-dir class-dir}) (defn clean [_params] (build/delete {:path "target"})) +(defn compile-java [_] + (build/javac {:src-dirs ["java"] + :class-dir class-dir + :basis (build/create-basis) + :javac-opts ["--release" "11"]})) + (defn jar [_params] + (compile-java nil) (b/create-jar jar-params)) (defn deploy diff --git a/deps.edn b/deps.edn index 4f04afb6..203b3e3f 100644 --- a/deps.edn +++ b/deps.edn @@ -1,8 +1,14 @@ {:deps {org.clojure/clojure {:mvn/version "1.11.1"} - com.walmartlabs/lacinia-parser {:local/root "./gen"} + org.antlr/antlr4-runtime {:mvn/version "4.13.1"} org.flatland/ordered {:mvn/version "1.15.10"} org.clojure/data.json {:mvn/version "2.4.0"}} - :paths ["src" "resources"] + :paths ["src" "resources" "target/classes"] + + :deps/prep-lib + {:ensure "target/classes" + :alias :build + :fn compile-java} + :aliases {:dev {:extra-deps {criterium/criterium {:mvn/version "0.4.6"} diff --git a/gen/build.clj b/gen/build.clj deleted file mode 100644 index c5f77b17..00000000 --- a/gen/build.clj +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (c) 2021-present Walmart, Inc. -; -; Licensed under the Apache License, Version 2.0 (the "License") -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -;; clj -T:build - -(ns build - (:require [clojure.tools.build.api :as build])) - -(def basis (delay (build/create-basis {:project "deps.edn"}))) - -(defn compile-java [& _] - (build/delete {:path "target/classes"}) - (build/javac {:src-dirs ["src"] - :class-dir "target/classes" - :basis @basis})) \ No newline at end of file diff --git a/gen/deps.edn b/gen/deps.edn deleted file mode 100644 index d4ec472f..00000000 --- a/gen/deps.edn +++ /dev/null @@ -1,9 +0,0 @@ -{:deps {org.antlr/antlr4-runtime {:mvn/version "4.13.1"}} - :paths ["src" "target/classes"] - :deps/prep-lib {:ensure "target/classes" - :alias :build - :fn compile-java} - :aliases - {:build {:deps {io.github.hlship/build-tools - {:git/tag "0.10.1" :git/sha "7ecff5"}} - :ns-default build}}} \ No newline at end of file diff --git a/gen/src/com/walmartlabs/lacinia/Graphql.g4 b/java/com/walmartlabs/lacinia/Graphql.g4 similarity index 100% rename from gen/src/com/walmartlabs/lacinia/Graphql.g4 rename to java/com/walmartlabs/lacinia/Graphql.g4 diff --git a/gen/src/com/walmartlabs/lacinia/Graphql.interp b/java/com/walmartlabs/lacinia/Graphql.interp similarity index 100% rename from gen/src/com/walmartlabs/lacinia/Graphql.interp rename to java/com/walmartlabs/lacinia/Graphql.interp diff --git a/gen/src/com/walmartlabs/lacinia/Graphql.tokens b/java/com/walmartlabs/lacinia/Graphql.tokens similarity index 100% rename from gen/src/com/walmartlabs/lacinia/Graphql.tokens rename to java/com/walmartlabs/lacinia/Graphql.tokens diff --git a/gen/src/com/walmartlabs/lacinia/GraphqlBaseListener.java b/java/com/walmartlabs/lacinia/GraphqlBaseListener.java similarity index 100% rename from gen/src/com/walmartlabs/lacinia/GraphqlBaseListener.java rename to java/com/walmartlabs/lacinia/GraphqlBaseListener.java diff --git a/gen/src/com/walmartlabs/lacinia/GraphqlBaseVisitor.java b/java/com/walmartlabs/lacinia/GraphqlBaseVisitor.java similarity index 100% rename from gen/src/com/walmartlabs/lacinia/GraphqlBaseVisitor.java rename to java/com/walmartlabs/lacinia/GraphqlBaseVisitor.java diff --git a/gen/src/com/walmartlabs/lacinia/GraphqlLexer.interp b/java/com/walmartlabs/lacinia/GraphqlLexer.interp similarity index 100% rename from gen/src/com/walmartlabs/lacinia/GraphqlLexer.interp rename to java/com/walmartlabs/lacinia/GraphqlLexer.interp diff --git a/gen/src/com/walmartlabs/lacinia/GraphqlLexer.java b/java/com/walmartlabs/lacinia/GraphqlLexer.java similarity index 100% rename from gen/src/com/walmartlabs/lacinia/GraphqlLexer.java rename to java/com/walmartlabs/lacinia/GraphqlLexer.java diff --git a/gen/src/com/walmartlabs/lacinia/GraphqlLexer.tokens b/java/com/walmartlabs/lacinia/GraphqlLexer.tokens similarity index 100% rename from gen/src/com/walmartlabs/lacinia/GraphqlLexer.tokens rename to java/com/walmartlabs/lacinia/GraphqlLexer.tokens diff --git a/gen/src/com/walmartlabs/lacinia/GraphqlListener.java b/java/com/walmartlabs/lacinia/GraphqlListener.java similarity index 100% rename from gen/src/com/walmartlabs/lacinia/GraphqlListener.java rename to java/com/walmartlabs/lacinia/GraphqlListener.java diff --git a/gen/src/com/walmartlabs/lacinia/GraphqlParser.java b/java/com/walmartlabs/lacinia/GraphqlParser.java similarity index 100% rename from gen/src/com/walmartlabs/lacinia/GraphqlParser.java rename to java/com/walmartlabs/lacinia/GraphqlParser.java diff --git a/gen/src/com/walmartlabs/lacinia/GraphqlSchema.g4 b/java/com/walmartlabs/lacinia/GraphqlSchema.g4 similarity index 100% rename from gen/src/com/walmartlabs/lacinia/GraphqlSchema.g4 rename to java/com/walmartlabs/lacinia/GraphqlSchema.g4 diff --git a/gen/src/com/walmartlabs/lacinia/GraphqlSchema.interp b/java/com/walmartlabs/lacinia/GraphqlSchema.interp similarity index 100% rename from gen/src/com/walmartlabs/lacinia/GraphqlSchema.interp rename to java/com/walmartlabs/lacinia/GraphqlSchema.interp diff --git a/gen/src/com/walmartlabs/lacinia/GraphqlSchema.tokens b/java/com/walmartlabs/lacinia/GraphqlSchema.tokens similarity index 100% rename from gen/src/com/walmartlabs/lacinia/GraphqlSchema.tokens rename to java/com/walmartlabs/lacinia/GraphqlSchema.tokens diff --git a/gen/src/com/walmartlabs/lacinia/GraphqlSchemaBaseListener.java b/java/com/walmartlabs/lacinia/GraphqlSchemaBaseListener.java similarity index 100% rename from gen/src/com/walmartlabs/lacinia/GraphqlSchemaBaseListener.java rename to java/com/walmartlabs/lacinia/GraphqlSchemaBaseListener.java diff --git a/gen/src/com/walmartlabs/lacinia/GraphqlSchemaBaseVisitor.java b/java/com/walmartlabs/lacinia/GraphqlSchemaBaseVisitor.java similarity index 100% rename from gen/src/com/walmartlabs/lacinia/GraphqlSchemaBaseVisitor.java rename to java/com/walmartlabs/lacinia/GraphqlSchemaBaseVisitor.java diff --git a/gen/src/com/walmartlabs/lacinia/GraphqlSchemaLexer.interp b/java/com/walmartlabs/lacinia/GraphqlSchemaLexer.interp similarity index 100% rename from gen/src/com/walmartlabs/lacinia/GraphqlSchemaLexer.interp rename to java/com/walmartlabs/lacinia/GraphqlSchemaLexer.interp diff --git a/gen/src/com/walmartlabs/lacinia/GraphqlSchemaLexer.java b/java/com/walmartlabs/lacinia/GraphqlSchemaLexer.java similarity index 100% rename from gen/src/com/walmartlabs/lacinia/GraphqlSchemaLexer.java rename to java/com/walmartlabs/lacinia/GraphqlSchemaLexer.java diff --git a/gen/src/com/walmartlabs/lacinia/GraphqlSchemaLexer.tokens b/java/com/walmartlabs/lacinia/GraphqlSchemaLexer.tokens similarity index 100% rename from gen/src/com/walmartlabs/lacinia/GraphqlSchemaLexer.tokens rename to java/com/walmartlabs/lacinia/GraphqlSchemaLexer.tokens diff --git a/gen/src/com/walmartlabs/lacinia/GraphqlSchemaListener.java b/java/com/walmartlabs/lacinia/GraphqlSchemaListener.java similarity index 100% rename from gen/src/com/walmartlabs/lacinia/GraphqlSchemaListener.java rename to java/com/walmartlabs/lacinia/GraphqlSchemaListener.java diff --git a/gen/src/com/walmartlabs/lacinia/GraphqlSchemaParser.java b/java/com/walmartlabs/lacinia/GraphqlSchemaParser.java similarity index 100% rename from gen/src/com/walmartlabs/lacinia/GraphqlSchemaParser.java rename to java/com/walmartlabs/lacinia/GraphqlSchemaParser.java diff --git a/gen/src/com/walmartlabs/lacinia/GraphqlSchemaVisitor.java b/java/com/walmartlabs/lacinia/GraphqlSchemaVisitor.java similarity index 100% rename from gen/src/com/walmartlabs/lacinia/GraphqlSchemaVisitor.java rename to java/com/walmartlabs/lacinia/GraphqlSchemaVisitor.java diff --git a/gen/src/com/walmartlabs/lacinia/GraphqlVisitor.java b/java/com/walmartlabs/lacinia/GraphqlVisitor.java similarity index 100% rename from gen/src/com/walmartlabs/lacinia/GraphqlVisitor.java rename to java/com/walmartlabs/lacinia/GraphqlVisitor.java diff --git a/gen/src/com/walmartlabs/lacinia/ParseError.java b/java/com/walmartlabs/lacinia/ParseError.java similarity index 100% rename from gen/src/com/walmartlabs/lacinia/ParseError.java rename to java/com/walmartlabs/lacinia/ParseError.java From 0d19b1803eb80b4893c13c0f6c3af93270bc7bb1 Mon Sep 17 00:00:00 2001 From: Hyunwoo Nam Date: Thu, 15 Feb 2024 03:21:40 +0900 Subject: [PATCH 13/16] add codegen script --- codegen.sh | 7 + .../lacinia/GraphqlBaseListener.java | 2 +- .../com/walmartlabs/lacinia/GraphqlLexer.java | 2 +- .../walmartlabs/lacinia/GraphqlListener.java | 2 +- .../walmartlabs/lacinia/GraphqlParser.java | 160 +----------- .../lacinia/GraphqlSchemaBaseListener.java | 2 +- .../lacinia/GraphqlSchemaLexer.java | 2 +- .../lacinia/GraphqlSchemaListener.java | 2 +- .../lacinia/GraphqlSchemaParser.java | 247 +----------------- 9 files changed, 18 insertions(+), 408 deletions(-) create mode 100755 codegen.sh diff --git a/codegen.sh b/codegen.sh new file mode 100755 index 00000000..c9b8f109 --- /dev/null +++ b/codegen.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +set -x + +pip install antlr4-tools +antlr4 java/com/walmartlabs/lacinia/Graphql.g4 -package com.walmartlabs.lacinia +antlr4 java/com/walmartlabs/lacinia/GraphqlSchema.g4 -package com.walmartlabs.lacinia \ No newline at end of file diff --git a/java/com/walmartlabs/lacinia/GraphqlBaseListener.java b/java/com/walmartlabs/lacinia/GraphqlBaseListener.java index 380ae855..2e0c04ab 100644 --- a/java/com/walmartlabs/lacinia/GraphqlBaseListener.java +++ b/java/com/walmartlabs/lacinia/GraphqlBaseListener.java @@ -1,4 +1,4 @@ -// Generated from /Users/namenu/Development/lacinia/resources/com/walmartlabs/lacinia/Graphql.g4 by ANTLR 4.13.1 +// Generated from java/com/walmartlabs/lacinia/Graphql.g4 by ANTLR 4.13.1 package com.walmartlabs.lacinia; import org.antlr.v4.runtime.ParserRuleContext; diff --git a/java/com/walmartlabs/lacinia/GraphqlLexer.java b/java/com/walmartlabs/lacinia/GraphqlLexer.java index d968e510..aa683c2e 100644 --- a/java/com/walmartlabs/lacinia/GraphqlLexer.java +++ b/java/com/walmartlabs/lacinia/GraphqlLexer.java @@ -1,4 +1,4 @@ -// Generated from /Users/namenu/Development/lacinia/resources/com/walmartlabs/lacinia/Graphql.g4 by ANTLR 4.13.1 +// Generated from java/com/walmartlabs/lacinia/Graphql.g4 by ANTLR 4.13.1 package com.walmartlabs.lacinia; import org.antlr.v4.runtime.Lexer; import org.antlr.v4.runtime.CharStream; diff --git a/java/com/walmartlabs/lacinia/GraphqlListener.java b/java/com/walmartlabs/lacinia/GraphqlListener.java index e010ce08..16f6eeb5 100644 --- a/java/com/walmartlabs/lacinia/GraphqlListener.java +++ b/java/com/walmartlabs/lacinia/GraphqlListener.java @@ -1,4 +1,4 @@ -// Generated from /Users/namenu/Development/lacinia/resources/com/walmartlabs/lacinia/Graphql.g4 by ANTLR 4.13.1 +// Generated from java/com/walmartlabs/lacinia/Graphql.g4 by ANTLR 4.13.1 package com.walmartlabs.lacinia; import org.antlr.v4.runtime.tree.ParseTreeListener; diff --git a/java/com/walmartlabs/lacinia/GraphqlParser.java b/java/com/walmartlabs/lacinia/GraphqlParser.java index 8b8fdfe2..ef5f487e 100644 --- a/java/com/walmartlabs/lacinia/GraphqlParser.java +++ b/java/com/walmartlabs/lacinia/GraphqlParser.java @@ -1,10 +1,13 @@ -// Generated from /Users/namenu/Development/lacinia/resources/com/walmartlabs/lacinia/Graphql.g4 by ANTLR 4.13.1 +// Generated from java/com/walmartlabs/lacinia/Graphql.g4 by ANTLR 4.13.1 package com.walmartlabs.lacinia; import org.antlr.v4.runtime.atn.*; import org.antlr.v4.runtime.dfa.DFA; import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.misc.*; import org.antlr.v4.runtime.tree.*; import java.util.List; +import java.util.Iterator; +import java.util.ArrayList; @SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast", "CheckReturnValue"}) public class GraphqlParser extends Parser { @@ -128,11 +131,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitDocument(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitDocument(this); - else return visitor.visitChildren(this); - } } public final DocumentContext document() throws RecognitionException { @@ -189,11 +187,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitDefinition(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitDefinition(this); - else return visitor.visitChildren(this); - } } public final DefinitionContext definition() throws RecognitionException { @@ -264,11 +257,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitOperationDefinition(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitOperationDefinition(this); - else return visitor.visitChildren(this); - } } public final OperationDefinitionContext operationDefinition() throws RecognitionException { @@ -357,11 +345,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitName(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitName(this); - else return visitor.visitChildren(this); - } } public final NameContext name() throws RecognitionException { @@ -408,11 +391,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitOperationType(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitOperationType(this); - else return visitor.visitChildren(this); - } } public final OperationTypeContext operationType() throws RecognitionException { @@ -465,11 +443,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitVariableDefinitions(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitVariableDefinitions(this); - else return visitor.visitChildren(this); - } } public final VariableDefinitionsContext variableDefinitions() throws RecognitionException { @@ -533,11 +506,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitVariableDefinition(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitVariableDefinition(this); - else return visitor.visitChildren(this); - } } public final VariableDefinitionContext variableDefinition() throws RecognitionException { @@ -593,11 +561,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitVariable(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitVariable(this); - else return visitor.visitChildren(this); - } } public final VariableContext variable() throws RecognitionException { @@ -640,11 +603,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitDefaultValue(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitDefaultValue(this); - else return visitor.visitChildren(this); - } } public final DefaultValueContext defaultValue() throws RecognitionException { @@ -690,11 +648,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitSelectionSet(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitSelectionSet(this); - else return visitor.visitChildren(this); - } } public final SelectionSetContext selectionSet() throws RecognitionException { @@ -758,11 +711,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitSelection(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitSelection(this); - else return visitor.visitChildren(this); - } } public final SelectionContext selection() throws RecognitionException { @@ -835,11 +783,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitField(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitField(this); - else return visitor.visitChildren(this); - } } public final FieldContext field() throws RecognitionException { @@ -921,11 +864,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitAlias(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitAlias(this); - else return visitor.visitChildren(this); - } } public final AliasContext alias() throws RecognitionException { @@ -971,11 +909,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitArguments(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitArguments(this); - else return visitor.visitChildren(this); - } } public final ArgumentsContext arguments() throws RecognitionException { @@ -1036,11 +969,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitArgument(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitArgument(this); - else return visitor.visitChildren(this); - } } public final ArgumentContext argument() throws RecognitionException { @@ -1088,11 +1016,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitFragmentSpread(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitFragmentSpread(this); - else return visitor.visitChildren(this); - } } public final FragmentSpreadContext fragmentSpread() throws RecognitionException { @@ -1152,11 +1075,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitInlineFragment(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitInlineFragment(this); - else return visitor.visitChildren(this); - } } public final InlineFragmentContext inlineFragment() throws RecognitionException { @@ -1223,11 +1141,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitFragmentDefinition(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitFragmentDefinition(this); - else return visitor.visitChildren(this); - } } public final FragmentDefinitionContext fragmentDefinition() throws RecognitionException { @@ -1287,11 +1200,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitFragmentName(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitFragmentName(this); - else return visitor.visitChildren(this); - } } public final FragmentNameContext fragmentName() throws RecognitionException { @@ -1332,11 +1240,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitTypeCondition(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitTypeCondition(this); - else return visitor.visitChildren(this); - } } public final TypeConditionContext typeCondition() throws RecognitionException { @@ -1392,11 +1295,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitValue(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitValue(this); - else return visitor.visitChildren(this); - } } public final ValueContext value() throws RecognitionException { @@ -1511,11 +1409,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitEnumValue(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitEnumValue(this); - else return visitor.visitChildren(this); - } } public final EnumValueContext enumValue() throws RecognitionException { @@ -1559,11 +1452,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitArrayValue(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitArrayValue(this); - else return visitor.visitChildren(this); - } } public final ArrayValueContext arrayValue() throws RecognitionException { @@ -1624,11 +1512,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitObjectValue(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitObjectValue(this); - else return visitor.visitChildren(this); - } } public final ObjectValueContext objectValue() throws RecognitionException { @@ -1689,11 +1572,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitObjectField(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitObjectField(this); - else return visitor.visitChildren(this); - } } public final ObjectFieldContext objectField() throws RecognitionException { @@ -1741,11 +1619,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitDirectives(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitDirectives(this); - else return visitor.visitChildren(this); - } } public final DirectivesContext directives() throws RecognitionException { @@ -1802,11 +1675,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitDirective(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitDirective(this); - else return visitor.visitChildren(this); - } } public final DirectiveContext directive() throws RecognitionException { @@ -1866,11 +1734,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitType(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitType(this); - else return visitor.visitChildren(this); - } } public final TypeContext type() throws RecognitionException { @@ -1931,11 +1794,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitTypeName(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitTypeName(this); - else return visitor.visitChildren(this); - } } public final TypeNameContext typeName() throws RecognitionException { @@ -1976,11 +1834,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitListType(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitListType(this); - else return visitor.visitChildren(this); - } } public final ListTypeContext listType() throws RecognitionException { @@ -2028,11 +1881,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitNonNullType(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor)visitor).visitNonNullType(this); - else return visitor.visitChildren(this); - } } public final NonNullTypeContext nonNullType() throws RecognitionException { diff --git a/java/com/walmartlabs/lacinia/GraphqlSchemaBaseListener.java b/java/com/walmartlabs/lacinia/GraphqlSchemaBaseListener.java index 8bd61749..86ede43f 100644 --- a/java/com/walmartlabs/lacinia/GraphqlSchemaBaseListener.java +++ b/java/com/walmartlabs/lacinia/GraphqlSchemaBaseListener.java @@ -1,4 +1,4 @@ -// Generated from /Users/namenu/Development/lacinia/resources/com/walmartlabs/lacinia/GraphqlSchema.g4 by ANTLR 4.13.1 +// Generated from java/com/walmartlabs/lacinia/GraphqlSchema.g4 by ANTLR 4.13.1 package com.walmartlabs.lacinia; import org.antlr.v4.runtime.ParserRuleContext; diff --git a/java/com/walmartlabs/lacinia/GraphqlSchemaLexer.java b/java/com/walmartlabs/lacinia/GraphqlSchemaLexer.java index 5264cbfd..3de85d56 100644 --- a/java/com/walmartlabs/lacinia/GraphqlSchemaLexer.java +++ b/java/com/walmartlabs/lacinia/GraphqlSchemaLexer.java @@ -1,4 +1,4 @@ -// Generated from /Users/namenu/Development/lacinia/resources/com/walmartlabs/lacinia/GraphqlSchema.g4 by ANTLR 4.13.1 +// Generated from java/com/walmartlabs/lacinia/GraphqlSchema.g4 by ANTLR 4.13.1 package com.walmartlabs.lacinia; import org.antlr.v4.runtime.Lexer; import org.antlr.v4.runtime.CharStream; diff --git a/java/com/walmartlabs/lacinia/GraphqlSchemaListener.java b/java/com/walmartlabs/lacinia/GraphqlSchemaListener.java index 2a64267c..04a1823e 100644 --- a/java/com/walmartlabs/lacinia/GraphqlSchemaListener.java +++ b/java/com/walmartlabs/lacinia/GraphqlSchemaListener.java @@ -1,4 +1,4 @@ -// Generated from /Users/namenu/Development/lacinia/resources/com/walmartlabs/lacinia/GraphqlSchema.g4 by ANTLR 4.13.1 +// Generated from java/com/walmartlabs/lacinia/GraphqlSchema.g4 by ANTLR 4.13.1 package com.walmartlabs.lacinia; import org.antlr.v4.runtime.tree.ParseTreeListener; diff --git a/java/com/walmartlabs/lacinia/GraphqlSchemaParser.java b/java/com/walmartlabs/lacinia/GraphqlSchemaParser.java index ce304e2d..758073e1 100644 --- a/java/com/walmartlabs/lacinia/GraphqlSchemaParser.java +++ b/java/com/walmartlabs/lacinia/GraphqlSchemaParser.java @@ -1,4 +1,4 @@ -// Generated from /Users/namenu/Development/lacinia/resources/com/walmartlabs/lacinia/GraphqlSchema.g4 by ANTLR 4.13.1 +// Generated from java/com/walmartlabs/lacinia/GraphqlSchema.g4 by ANTLR 4.13.1 package com.walmartlabs.lacinia; import org.antlr.v4.runtime.atn.*; import org.antlr.v4.runtime.dfa.DFA; @@ -208,11 +208,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitGraphqlSchema(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitGraphqlSchema(this); - else return visitor.visitChildren(this); - } } public final GraphqlSchemaContext graphqlSchema() throws RecognitionException { @@ -331,11 +326,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitDescription(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitDescription(this); - else return visitor.visitChildren(this); - } } public final DescriptionContext description() throws RecognitionException { @@ -392,11 +382,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitSchemaDef(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitSchemaDef(this); - else return visitor.visitChildren(this); - } } public final SchemaDefContext schemaDef() throws RecognitionException { @@ -472,11 +457,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitOperationTypeDef(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitOperationTypeDef(this); - else return visitor.visitChildren(this); - } } public final OperationTypeDefContext operationTypeDef() throws RecognitionException { @@ -540,11 +520,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitQueryOperationDef(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitQueryOperationDef(this); - else return visitor.visitChildren(this); - } } public final QueryOperationDefContext queryOperationDef() throws RecognitionException { @@ -590,11 +565,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitMutationOperationDef(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitMutationOperationDef(this); - else return visitor.visitChildren(this); - } } public final MutationOperationDefContext mutationOperationDef() throws RecognitionException { @@ -640,11 +610,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitSubscriptionOperationDef(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitSubscriptionOperationDef(this); - else return visitor.visitChildren(this); - } } public final SubscriptionOperationDefContext subscriptionOperationDef() throws RecognitionException { @@ -692,11 +657,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitDirectiveLocationList(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitDirectiveLocationList(this); - else return visitor.visitChildren(this); - } } public final DirectiveLocationListContext directiveLocationList() throws RecognitionException { @@ -759,11 +719,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitDirectiveLocation(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitDirectiveLocation(this); - else return visitor.visitChildren(this); - } } public final DirectiveLocationContext directiveLocation() throws RecognitionException { @@ -817,11 +772,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitExecutableDirectiveLocation(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitExecutableDirectiveLocation(this); - else return visitor.visitChildren(this); - } } public final ExecutableDirectiveLocationContext executableDirectiveLocation() throws RecognitionException { @@ -860,11 +810,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitTypeSystemDirectiveLocation(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitTypeSystemDirectiveLocation(this); - else return visitor.visitChildren(this); - } } public final TypeSystemDirectiveLocationContext typeSystemDirectiveLocation() throws RecognitionException { @@ -916,11 +861,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitDirectiveDef(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitDirectiveDef(this); - else return visitor.visitChildren(this); - } } public final DirectiveDefContext directiveDef() throws RecognitionException { @@ -993,11 +933,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitDirectiveList(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitDirectiveList(this); - else return visitor.visitChildren(this); - } } public final DirectiveListContext directiveList() throws RecognitionException { @@ -1054,11 +989,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitDirective(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitDirective(this); - else return visitor.visitChildren(this); - } } public final DirectiveContext directive() throws RecognitionException { @@ -1115,11 +1045,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitDirectiveArgList(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitDirectiveArgList(this); - else return visitor.visitChildren(this); - } } public final DirectiveArgListContext directiveArgList() throws RecognitionException { @@ -1180,11 +1105,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitDirectiveArg(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitDirectiveArg(this); - else return visitor.visitChildren(this); - } } public final DirectiveArgContext directiveArg() throws RecognitionException { @@ -1242,11 +1162,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitTypeDef(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitTypeDef(this); - else return visitor.visitChildren(this); - } } public final TypeDefContext typeDef() throws RecognitionException { @@ -1344,11 +1259,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitTypeExtDef(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitTypeExtDef(this); - else return visitor.visitChildren(this); - } } public final TypeExtDefContext typeExtDef() throws RecognitionException { @@ -1437,11 +1347,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitFieldDefs(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitFieldDefs(this); - else return visitor.visitChildren(this); - } } public final FieldDefsContext fieldDefs() throws RecognitionException { @@ -1501,11 +1406,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitImplementationDef(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitImplementationDef(this); - else return visitor.visitChildren(this); - } } public final ImplementationDefContext implementationDef() throws RecognitionException { @@ -1585,11 +1485,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitInputTypeDef(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitInputTypeDef(this); - else return visitor.visitChildren(this); - } } public final InputTypeDefContext inputTypeDef() throws RecognitionException { @@ -1674,11 +1569,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitInputTypeExtDef(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitInputTypeExtDef(this); - else return visitor.visitChildren(this); - } } public final InputTypeExtDefContext inputTypeExtDef() throws RecognitionException { @@ -1757,11 +1647,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitInputValueDefs(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitInputValueDefs(this); - else return visitor.visitChildren(this); - } } public final InputValueDefsContext inputValueDefs() throws RecognitionException { @@ -1831,11 +1716,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitInputValueDef(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitInputValueDef(this); - else return visitor.visitChildren(this); - } } public final InputValueDefContext inputValueDef() throws RecognitionException { @@ -1921,11 +1801,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitInterfaceDef(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitInterfaceDef(this); - else return visitor.visitChildren(this); - } } public final InterfaceDefContext interfaceDef() throws RecognitionException { @@ -2006,11 +1881,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitScalarDef(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitScalarDef(this); - else return visitor.visitChildren(this); - } } public final ScalarDefContext scalarDef() throws RecognitionException { @@ -2084,11 +1954,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitUnionDef(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitUnionDef(this); - else return visitor.visitChildren(this); - } } public final UnionDefContext unionDef() throws RecognitionException { @@ -2167,11 +2032,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitUnionExtDef(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitUnionExtDef(this); - else return visitor.visitChildren(this); - } } public final UnionExtDefContext unionExtDef() throws RecognitionException { @@ -2244,11 +2104,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitUnionTypes(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitUnionTypes(this); - else return visitor.visitChildren(this); - } } public final UnionTypesContext unionTypes() throws RecognitionException { @@ -2318,11 +2173,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitEnumDef(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitEnumDef(this); - else return visitor.visitChildren(this); - } } public final EnumDefContext enumDef() throws RecognitionException { @@ -2391,11 +2241,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitEnumValueDefs(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitEnumValueDefs(this); - else return visitor.visitChildren(this); - } } public final EnumValueDefsContext enumValueDefs() throws RecognitionException { @@ -2459,11 +2304,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitEnumValueDef(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitEnumValueDef(this); - else return visitor.visitChildren(this); - } } public final EnumValueDefContext enumValueDef() throws RecognitionException { @@ -2537,11 +2377,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitFieldDef(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitFieldDef(this); - else return visitor.visitChildren(this); - } } public final FieldDefContext fieldDef() throws RecognitionException { @@ -2620,11 +2455,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitArgList(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitArgList(this); - else return visitor.visitChildren(this); - } } public final ArgListContext argList() throws RecognitionException { @@ -2694,11 +2524,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitArgument(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitArgument(this); - else return visitor.visitChildren(this); - } } public final ArgumentContext argument() throws RecognitionException { @@ -2780,11 +2605,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitTypeSpec(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitTypeSpec(this); - else return visitor.visitChildren(this); - } } public final TypeSpecContext typeSpec() throws RecognitionException { @@ -2873,11 +2693,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitTypeName(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitTypeName(this); - else return visitor.visitChildren(this); - } } public final TypeNameContext typeName() throws RecognitionException { @@ -2918,11 +2733,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitListType(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitListType(this); - else return visitor.visitChildren(this); - } } public final ListTypeContext listType() throws RecognitionException { @@ -2964,11 +2774,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitRequired(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitRequired(this); - else return visitor.visitChildren(this); - } } public final RequiredContext required() throws RecognitionException { @@ -3009,11 +2814,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitDefaultValue(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitDefaultValue(this); - else return visitor.visitChildren(this); - } } public final DefaultValueContext defaultValue() throws RecognitionException { @@ -3059,11 +2859,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitAnyName(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitAnyName(this); - else return visitor.visitChildren(this); - } } public final AnyNameContext anyName() throws RecognitionException { @@ -3167,11 +2962,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitNameTokens(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitNameTokens(this); - else return visitor.visitChildren(this); - } } public final NameTokensContext nameTokens() throws RecognitionException { @@ -3220,11 +3010,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitBooleanValue(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitBooleanValue(this); - else return visitor.visitChildren(this); - } } public final BooleanValueContext booleanValue() throws RecognitionException { @@ -3290,11 +3075,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitValue(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitValue(this); - else return visitor.visitChildren(this); - } } public final ValueContext value() throws RecognitionException { @@ -3418,11 +3198,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitEnumValue(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitEnumValue(this); - else return visitor.visitChildren(this); - } } public final EnumValueContext enumValue() throws RecognitionException { @@ -3466,11 +3241,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitArrayValue(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitArrayValue(this); - else return visitor.visitChildren(this); - } } public final ArrayValueContext arrayValue() throws RecognitionException { @@ -3531,11 +3301,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitObjectValue(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitObjectValue(this); - else return visitor.visitChildren(this); - } } public final ObjectValueContext objectValue() throws RecognitionException { @@ -3596,11 +3361,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitObjectField(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitObjectField(this); - else return visitor.visitChildren(this); - } } public final ObjectFieldContext objectField() throws RecognitionException { @@ -3643,11 +3403,6 @@ public void enterRule(ParseTreeListener listener) { public void exitRule(ParseTreeListener listener) { if ( listener instanceof GraphqlSchemaListener ) ((GraphqlSchemaListener)listener).exitNullValue(this); } - @Override - public T accept(ParseTreeVisitor visitor) { - if ( visitor instanceof GraphqlSchemaVisitor ) return ((GraphqlSchemaVisitor)visitor).visitNullValue(this); - else return visitor.visitChildren(this); - } } public final NullValueContext nullValue() throws RecognitionException { From 7a03aace69fbafda5bf11c2235b0f95e0197013f Mon Sep 17 00:00:00 2001 From: Hyunwoo Nam Date: Thu, 15 Feb 2024 03:28:32 +0900 Subject: [PATCH 14/16] restore .g4 path --- codegen.sh | 7 +++++-- java/com/walmartlabs/lacinia/GraphqlBaseListener.java | 2 +- java/com/walmartlabs/lacinia/GraphqlLexer.java | 2 +- java/com/walmartlabs/lacinia/GraphqlListener.java | 2 +- java/com/walmartlabs/lacinia/GraphqlParser.java | 2 +- .../com/walmartlabs/lacinia/GraphqlSchemaBaseListener.java | 2 +- java/com/walmartlabs/lacinia/GraphqlSchemaLexer.java | 2 +- java/com/walmartlabs/lacinia/GraphqlSchemaListener.java | 2 +- java/com/walmartlabs/lacinia/GraphqlSchemaParser.java | 2 +- {java => resources}/com/walmartlabs/lacinia/Graphql.g4 | 0 .../com/walmartlabs/lacinia/GraphqlSchema.g4 | 0 11 files changed, 13 insertions(+), 10 deletions(-) rename {java => resources}/com/walmartlabs/lacinia/Graphql.g4 (100%) rename {java => resources}/com/walmartlabs/lacinia/GraphqlSchema.g4 (100%) diff --git a/codegen.sh b/codegen.sh index c9b8f109..8f783b7f 100755 --- a/codegen.sh +++ b/codegen.sh @@ -3,5 +3,8 @@ set -x pip install antlr4-tools -antlr4 java/com/walmartlabs/lacinia/Graphql.g4 -package com.walmartlabs.lacinia -antlr4 java/com/walmartlabs/lacinia/GraphqlSchema.g4 -package com.walmartlabs.lacinia \ No newline at end of file + +PACKAGE_NAME='com/walmartlabs/lacinia' + +antlr4 resources/$PACKAGE_NAME/Graphql.g4 -o java/$PACKAGE_NAME -Xexact-output-dir -package com.walmartlabs.lacinia +antlr4 resources/$PACKAGE_NAME/GraphqlSchema.g4 -o java/$PACKAGE_NAME -Xexact-output-dir -package com.walmartlabs.lacinia diff --git a/java/com/walmartlabs/lacinia/GraphqlBaseListener.java b/java/com/walmartlabs/lacinia/GraphqlBaseListener.java index 2e0c04ab..2eed4d3d 100644 --- a/java/com/walmartlabs/lacinia/GraphqlBaseListener.java +++ b/java/com/walmartlabs/lacinia/GraphqlBaseListener.java @@ -1,4 +1,4 @@ -// Generated from java/com/walmartlabs/lacinia/Graphql.g4 by ANTLR 4.13.1 +// Generated from resources/com/walmartlabs/lacinia/Graphql.g4 by ANTLR 4.13.1 package com.walmartlabs.lacinia; import org.antlr.v4.runtime.ParserRuleContext; diff --git a/java/com/walmartlabs/lacinia/GraphqlLexer.java b/java/com/walmartlabs/lacinia/GraphqlLexer.java index aa683c2e..a7df1c98 100644 --- a/java/com/walmartlabs/lacinia/GraphqlLexer.java +++ b/java/com/walmartlabs/lacinia/GraphqlLexer.java @@ -1,4 +1,4 @@ -// Generated from java/com/walmartlabs/lacinia/Graphql.g4 by ANTLR 4.13.1 +// Generated from resources/com/walmartlabs/lacinia/Graphql.g4 by ANTLR 4.13.1 package com.walmartlabs.lacinia; import org.antlr.v4.runtime.Lexer; import org.antlr.v4.runtime.CharStream; diff --git a/java/com/walmartlabs/lacinia/GraphqlListener.java b/java/com/walmartlabs/lacinia/GraphqlListener.java index 16f6eeb5..74e99be1 100644 --- a/java/com/walmartlabs/lacinia/GraphqlListener.java +++ b/java/com/walmartlabs/lacinia/GraphqlListener.java @@ -1,4 +1,4 @@ -// Generated from java/com/walmartlabs/lacinia/Graphql.g4 by ANTLR 4.13.1 +// Generated from resources/com/walmartlabs/lacinia/Graphql.g4 by ANTLR 4.13.1 package com.walmartlabs.lacinia; import org.antlr.v4.runtime.tree.ParseTreeListener; diff --git a/java/com/walmartlabs/lacinia/GraphqlParser.java b/java/com/walmartlabs/lacinia/GraphqlParser.java index ef5f487e..9bd697fa 100644 --- a/java/com/walmartlabs/lacinia/GraphqlParser.java +++ b/java/com/walmartlabs/lacinia/GraphqlParser.java @@ -1,4 +1,4 @@ -// Generated from java/com/walmartlabs/lacinia/Graphql.g4 by ANTLR 4.13.1 +// Generated from resources/com/walmartlabs/lacinia/Graphql.g4 by ANTLR 4.13.1 package com.walmartlabs.lacinia; import org.antlr.v4.runtime.atn.*; import org.antlr.v4.runtime.dfa.DFA; diff --git a/java/com/walmartlabs/lacinia/GraphqlSchemaBaseListener.java b/java/com/walmartlabs/lacinia/GraphqlSchemaBaseListener.java index 86ede43f..f3e0c29c 100644 --- a/java/com/walmartlabs/lacinia/GraphqlSchemaBaseListener.java +++ b/java/com/walmartlabs/lacinia/GraphqlSchemaBaseListener.java @@ -1,4 +1,4 @@ -// Generated from java/com/walmartlabs/lacinia/GraphqlSchema.g4 by ANTLR 4.13.1 +// Generated from resources/com/walmartlabs/lacinia/GraphqlSchema.g4 by ANTLR 4.13.1 package com.walmartlabs.lacinia; import org.antlr.v4.runtime.ParserRuleContext; diff --git a/java/com/walmartlabs/lacinia/GraphqlSchemaLexer.java b/java/com/walmartlabs/lacinia/GraphqlSchemaLexer.java index 3de85d56..24cf17cc 100644 --- a/java/com/walmartlabs/lacinia/GraphqlSchemaLexer.java +++ b/java/com/walmartlabs/lacinia/GraphqlSchemaLexer.java @@ -1,4 +1,4 @@ -// Generated from java/com/walmartlabs/lacinia/GraphqlSchema.g4 by ANTLR 4.13.1 +// Generated from resources/com/walmartlabs/lacinia/GraphqlSchema.g4 by ANTLR 4.13.1 package com.walmartlabs.lacinia; import org.antlr.v4.runtime.Lexer; import org.antlr.v4.runtime.CharStream; diff --git a/java/com/walmartlabs/lacinia/GraphqlSchemaListener.java b/java/com/walmartlabs/lacinia/GraphqlSchemaListener.java index 04a1823e..b900eaa2 100644 --- a/java/com/walmartlabs/lacinia/GraphqlSchemaListener.java +++ b/java/com/walmartlabs/lacinia/GraphqlSchemaListener.java @@ -1,4 +1,4 @@ -// Generated from java/com/walmartlabs/lacinia/GraphqlSchema.g4 by ANTLR 4.13.1 +// Generated from resources/com/walmartlabs/lacinia/GraphqlSchema.g4 by ANTLR 4.13.1 package com.walmartlabs.lacinia; import org.antlr.v4.runtime.tree.ParseTreeListener; diff --git a/java/com/walmartlabs/lacinia/GraphqlSchemaParser.java b/java/com/walmartlabs/lacinia/GraphqlSchemaParser.java index 758073e1..c92f9b84 100644 --- a/java/com/walmartlabs/lacinia/GraphqlSchemaParser.java +++ b/java/com/walmartlabs/lacinia/GraphqlSchemaParser.java @@ -1,4 +1,4 @@ -// Generated from java/com/walmartlabs/lacinia/GraphqlSchema.g4 by ANTLR 4.13.1 +// Generated from resources/com/walmartlabs/lacinia/GraphqlSchema.g4 by ANTLR 4.13.1 package com.walmartlabs.lacinia; import org.antlr.v4.runtime.atn.*; import org.antlr.v4.runtime.dfa.DFA; diff --git a/java/com/walmartlabs/lacinia/Graphql.g4 b/resources/com/walmartlabs/lacinia/Graphql.g4 similarity index 100% rename from java/com/walmartlabs/lacinia/Graphql.g4 rename to resources/com/walmartlabs/lacinia/Graphql.g4 diff --git a/java/com/walmartlabs/lacinia/GraphqlSchema.g4 b/resources/com/walmartlabs/lacinia/GraphqlSchema.g4 similarity index 100% rename from java/com/walmartlabs/lacinia/GraphqlSchema.g4 rename to resources/com/walmartlabs/lacinia/GraphqlSchema.g4 From 002c5bdd13b34e45da435e0273ba51ef9ae219d4 Mon Sep 17 00:00:00 2001 From: Hyunwoo Nam Date: Thu, 15 Feb 2024 03:31:28 +0900 Subject: [PATCH 15/16] remove unnecessary files --- .../lacinia/GraphqlBaseVisitor.java | 232 ------------ .../lacinia/GraphqlSchemaBaseVisitor.java | 358 ------------------ .../lacinia/GraphqlSchemaVisitor.java | 307 --------------- .../walmartlabs/lacinia/GraphqlVisitor.java | 199 ---------- 4 files changed, 1096 deletions(-) delete mode 100644 java/com/walmartlabs/lacinia/GraphqlBaseVisitor.java delete mode 100644 java/com/walmartlabs/lacinia/GraphqlSchemaBaseVisitor.java delete mode 100644 java/com/walmartlabs/lacinia/GraphqlSchemaVisitor.java delete mode 100644 java/com/walmartlabs/lacinia/GraphqlVisitor.java diff --git a/java/com/walmartlabs/lacinia/GraphqlBaseVisitor.java b/java/com/walmartlabs/lacinia/GraphqlBaseVisitor.java deleted file mode 100644 index 571699ba..00000000 --- a/java/com/walmartlabs/lacinia/GraphqlBaseVisitor.java +++ /dev/null @@ -1,232 +0,0 @@ -// Generated from /Users/namenu/Development/lacinia/resources/com/walmartlabs/lacinia/Graphql.g4 by ANTLR 4.13.1 -package com.walmartlabs.lacinia; -import org.antlr.v4.runtime.tree.AbstractParseTreeVisitor; - -/** - * This class provides an empty implementation of {@link GraphqlVisitor}, - * which can be extended to create a visitor which only needs to handle a subset - * of the available methods. - * - * @param The return type of the visit operation. Use {@link Void} for - * operations with no return type. - */ -@SuppressWarnings("CheckReturnValue") -public class GraphqlBaseVisitor extends AbstractParseTreeVisitor implements GraphqlVisitor { - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitDocument(GraphqlParser.DocumentContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitDefinition(GraphqlParser.DefinitionContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitOperationDefinition(GraphqlParser.OperationDefinitionContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitName(GraphqlParser.NameContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitOperationType(GraphqlParser.OperationTypeContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitVariableDefinitions(GraphqlParser.VariableDefinitionsContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitVariableDefinition(GraphqlParser.VariableDefinitionContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitVariable(GraphqlParser.VariableContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitDefaultValue(GraphqlParser.DefaultValueContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitSelectionSet(GraphqlParser.SelectionSetContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitSelection(GraphqlParser.SelectionContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitField(GraphqlParser.FieldContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitAlias(GraphqlParser.AliasContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitArguments(GraphqlParser.ArgumentsContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitArgument(GraphqlParser.ArgumentContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitFragmentSpread(GraphqlParser.FragmentSpreadContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitInlineFragment(GraphqlParser.InlineFragmentContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitFragmentDefinition(GraphqlParser.FragmentDefinitionContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitFragmentName(GraphqlParser.FragmentNameContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitTypeCondition(GraphqlParser.TypeConditionContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitValue(GraphqlParser.ValueContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitEnumValue(GraphqlParser.EnumValueContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitArrayValue(GraphqlParser.ArrayValueContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitObjectValue(GraphqlParser.ObjectValueContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitObjectField(GraphqlParser.ObjectFieldContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitDirectives(GraphqlParser.DirectivesContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitDirective(GraphqlParser.DirectiveContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitType(GraphqlParser.TypeContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitTypeName(GraphqlParser.TypeNameContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitListType(GraphqlParser.ListTypeContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitNonNullType(GraphqlParser.NonNullTypeContext ctx) { return visitChildren(ctx); } -} \ No newline at end of file diff --git a/java/com/walmartlabs/lacinia/GraphqlSchemaBaseVisitor.java b/java/com/walmartlabs/lacinia/GraphqlSchemaBaseVisitor.java deleted file mode 100644 index 316346e1..00000000 --- a/java/com/walmartlabs/lacinia/GraphqlSchemaBaseVisitor.java +++ /dev/null @@ -1,358 +0,0 @@ -// Generated from /Users/namenu/Development/lacinia/resources/com/walmartlabs/lacinia/GraphqlSchema.g4 by ANTLR 4.13.1 -package com.walmartlabs.lacinia; -import org.antlr.v4.runtime.tree.AbstractParseTreeVisitor; - -/** - * This class provides an empty implementation of {@link GraphqlSchemaVisitor}, - * which can be extended to create a visitor which only needs to handle a subset - * of the available methods. - * - * @param The return type of the visit operation. Use {@link Void} for - * operations with no return type. - */ -@SuppressWarnings("CheckReturnValue") -public class GraphqlSchemaBaseVisitor extends AbstractParseTreeVisitor implements GraphqlSchemaVisitor { - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitGraphqlSchema(GraphqlSchemaParser.GraphqlSchemaContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitDescription(GraphqlSchemaParser.DescriptionContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitSchemaDef(GraphqlSchemaParser.SchemaDefContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitOperationTypeDef(GraphqlSchemaParser.OperationTypeDefContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitQueryOperationDef(GraphqlSchemaParser.QueryOperationDefContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitMutationOperationDef(GraphqlSchemaParser.MutationOperationDefContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitSubscriptionOperationDef(GraphqlSchemaParser.SubscriptionOperationDefContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitDirectiveLocationList(GraphqlSchemaParser.DirectiveLocationListContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitDirectiveLocation(GraphqlSchemaParser.DirectiveLocationContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitExecutableDirectiveLocation(GraphqlSchemaParser.ExecutableDirectiveLocationContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitTypeSystemDirectiveLocation(GraphqlSchemaParser.TypeSystemDirectiveLocationContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitDirectiveDef(GraphqlSchemaParser.DirectiveDefContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitDirectiveList(GraphqlSchemaParser.DirectiveListContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitDirective(GraphqlSchemaParser.DirectiveContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitDirectiveArgList(GraphqlSchemaParser.DirectiveArgListContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitDirectiveArg(GraphqlSchemaParser.DirectiveArgContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitTypeDef(GraphqlSchemaParser.TypeDefContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitTypeExtDef(GraphqlSchemaParser.TypeExtDefContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitFieldDefs(GraphqlSchemaParser.FieldDefsContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitImplementationDef(GraphqlSchemaParser.ImplementationDefContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitInputTypeDef(GraphqlSchemaParser.InputTypeDefContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitInputTypeExtDef(GraphqlSchemaParser.InputTypeExtDefContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitInputValueDefs(GraphqlSchemaParser.InputValueDefsContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitInputValueDef(GraphqlSchemaParser.InputValueDefContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitInterfaceDef(GraphqlSchemaParser.InterfaceDefContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitScalarDef(GraphqlSchemaParser.ScalarDefContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitUnionDef(GraphqlSchemaParser.UnionDefContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitUnionExtDef(GraphqlSchemaParser.UnionExtDefContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitUnionTypes(GraphqlSchemaParser.UnionTypesContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitEnumDef(GraphqlSchemaParser.EnumDefContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitEnumValueDefs(GraphqlSchemaParser.EnumValueDefsContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitEnumValueDef(GraphqlSchemaParser.EnumValueDefContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitFieldDef(GraphqlSchemaParser.FieldDefContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitArgList(GraphqlSchemaParser.ArgListContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitArgument(GraphqlSchemaParser.ArgumentContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitTypeSpec(GraphqlSchemaParser.TypeSpecContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitTypeName(GraphqlSchemaParser.TypeNameContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitListType(GraphqlSchemaParser.ListTypeContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitRequired(GraphqlSchemaParser.RequiredContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitDefaultValue(GraphqlSchemaParser.DefaultValueContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitAnyName(GraphqlSchemaParser.AnyNameContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitNameTokens(GraphqlSchemaParser.NameTokensContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitBooleanValue(GraphqlSchemaParser.BooleanValueContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitValue(GraphqlSchemaParser.ValueContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitEnumValue(GraphqlSchemaParser.EnumValueContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitArrayValue(GraphqlSchemaParser.ArrayValueContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitObjectValue(GraphqlSchemaParser.ObjectValueContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitObjectField(GraphqlSchemaParser.ObjectFieldContext ctx) { return visitChildren(ctx); } - /** - * {@inheritDoc} - * - *

The default implementation returns the result of calling - * {@link #visitChildren} on {@code ctx}.

- */ - @Override public T visitNullValue(GraphqlSchemaParser.NullValueContext ctx) { return visitChildren(ctx); } -} \ No newline at end of file diff --git a/java/com/walmartlabs/lacinia/GraphqlSchemaVisitor.java b/java/com/walmartlabs/lacinia/GraphqlSchemaVisitor.java deleted file mode 100644 index 79e763f5..00000000 --- a/java/com/walmartlabs/lacinia/GraphqlSchemaVisitor.java +++ /dev/null @@ -1,307 +0,0 @@ -// Generated from /Users/namenu/Development/lacinia/resources/com/walmartlabs/lacinia/GraphqlSchema.g4 by ANTLR 4.13.1 -package com.walmartlabs.lacinia; -import org.antlr.v4.runtime.tree.ParseTreeVisitor; - -/** - * This interface defines a complete generic visitor for a parse tree produced - * by {@link GraphqlSchemaParser}. - * - * @param The return type of the visit operation. Use {@link Void} for - * operations with no return type. - */ -public interface GraphqlSchemaVisitor extends ParseTreeVisitor { - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#graphqlSchema}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitGraphqlSchema(GraphqlSchemaParser.GraphqlSchemaContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#description}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitDescription(GraphqlSchemaParser.DescriptionContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#schemaDef}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitSchemaDef(GraphqlSchemaParser.SchemaDefContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#operationTypeDef}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitOperationTypeDef(GraphqlSchemaParser.OperationTypeDefContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#queryOperationDef}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitQueryOperationDef(GraphqlSchemaParser.QueryOperationDefContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#mutationOperationDef}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitMutationOperationDef(GraphqlSchemaParser.MutationOperationDefContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#subscriptionOperationDef}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitSubscriptionOperationDef(GraphqlSchemaParser.SubscriptionOperationDefContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#directiveLocationList}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitDirectiveLocationList(GraphqlSchemaParser.DirectiveLocationListContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#directiveLocation}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitDirectiveLocation(GraphqlSchemaParser.DirectiveLocationContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#executableDirectiveLocation}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitExecutableDirectiveLocation(GraphqlSchemaParser.ExecutableDirectiveLocationContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#typeSystemDirectiveLocation}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitTypeSystemDirectiveLocation(GraphqlSchemaParser.TypeSystemDirectiveLocationContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#directiveDef}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitDirectiveDef(GraphqlSchemaParser.DirectiveDefContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#directiveList}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitDirectiveList(GraphqlSchemaParser.DirectiveListContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#directive}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitDirective(GraphqlSchemaParser.DirectiveContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#directiveArgList}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitDirectiveArgList(GraphqlSchemaParser.DirectiveArgListContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#directiveArg}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitDirectiveArg(GraphqlSchemaParser.DirectiveArgContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#typeDef}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitTypeDef(GraphqlSchemaParser.TypeDefContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#typeExtDef}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitTypeExtDef(GraphqlSchemaParser.TypeExtDefContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#fieldDefs}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitFieldDefs(GraphqlSchemaParser.FieldDefsContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#implementationDef}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitImplementationDef(GraphqlSchemaParser.ImplementationDefContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#inputTypeDef}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitInputTypeDef(GraphqlSchemaParser.InputTypeDefContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#inputTypeExtDef}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitInputTypeExtDef(GraphqlSchemaParser.InputTypeExtDefContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#inputValueDefs}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitInputValueDefs(GraphqlSchemaParser.InputValueDefsContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#inputValueDef}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitInputValueDef(GraphqlSchemaParser.InputValueDefContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#interfaceDef}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitInterfaceDef(GraphqlSchemaParser.InterfaceDefContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#scalarDef}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitScalarDef(GraphqlSchemaParser.ScalarDefContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#unionDef}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitUnionDef(GraphqlSchemaParser.UnionDefContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#unionExtDef}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitUnionExtDef(GraphqlSchemaParser.UnionExtDefContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#unionTypes}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitUnionTypes(GraphqlSchemaParser.UnionTypesContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#enumDef}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitEnumDef(GraphqlSchemaParser.EnumDefContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#enumValueDefs}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitEnumValueDefs(GraphqlSchemaParser.EnumValueDefsContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#enumValueDef}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitEnumValueDef(GraphqlSchemaParser.EnumValueDefContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#fieldDef}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitFieldDef(GraphqlSchemaParser.FieldDefContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#argList}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitArgList(GraphqlSchemaParser.ArgListContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#argument}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitArgument(GraphqlSchemaParser.ArgumentContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#typeSpec}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitTypeSpec(GraphqlSchemaParser.TypeSpecContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#typeName}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitTypeName(GraphqlSchemaParser.TypeNameContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#listType}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitListType(GraphqlSchemaParser.ListTypeContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#required}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitRequired(GraphqlSchemaParser.RequiredContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#defaultValue}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitDefaultValue(GraphqlSchemaParser.DefaultValueContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#anyName}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitAnyName(GraphqlSchemaParser.AnyNameContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#nameTokens}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitNameTokens(GraphqlSchemaParser.NameTokensContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#booleanValue}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitBooleanValue(GraphqlSchemaParser.BooleanValueContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#value}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitValue(GraphqlSchemaParser.ValueContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#enumValue}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitEnumValue(GraphqlSchemaParser.EnumValueContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#arrayValue}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitArrayValue(GraphqlSchemaParser.ArrayValueContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#objectValue}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitObjectValue(GraphqlSchemaParser.ObjectValueContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#objectField}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitObjectField(GraphqlSchemaParser.ObjectFieldContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlSchemaParser#nullValue}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitNullValue(GraphqlSchemaParser.NullValueContext ctx); -} \ No newline at end of file diff --git a/java/com/walmartlabs/lacinia/GraphqlVisitor.java b/java/com/walmartlabs/lacinia/GraphqlVisitor.java deleted file mode 100644 index 30e1b5a3..00000000 --- a/java/com/walmartlabs/lacinia/GraphqlVisitor.java +++ /dev/null @@ -1,199 +0,0 @@ -// Generated from /Users/namenu/Development/lacinia/resources/com/walmartlabs/lacinia/Graphql.g4 by ANTLR 4.13.1 -package com.walmartlabs.lacinia; -import org.antlr.v4.runtime.tree.ParseTreeVisitor; - -/** - * This interface defines a complete generic visitor for a parse tree produced - * by {@link GraphqlParser}. - * - * @param The return type of the visit operation. Use {@link Void} for - * operations with no return type. - */ -public interface GraphqlVisitor extends ParseTreeVisitor { - /** - * Visit a parse tree produced by {@link GraphqlParser#document}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitDocument(GraphqlParser.DocumentContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlParser#definition}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitDefinition(GraphqlParser.DefinitionContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlParser#operationDefinition}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitOperationDefinition(GraphqlParser.OperationDefinitionContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlParser#name}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitName(GraphqlParser.NameContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlParser#operationType}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitOperationType(GraphqlParser.OperationTypeContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlParser#variableDefinitions}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitVariableDefinitions(GraphqlParser.VariableDefinitionsContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlParser#variableDefinition}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitVariableDefinition(GraphqlParser.VariableDefinitionContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlParser#variable}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitVariable(GraphqlParser.VariableContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlParser#defaultValue}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitDefaultValue(GraphqlParser.DefaultValueContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlParser#selectionSet}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitSelectionSet(GraphqlParser.SelectionSetContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlParser#selection}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitSelection(GraphqlParser.SelectionContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlParser#field}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitField(GraphqlParser.FieldContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlParser#alias}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitAlias(GraphqlParser.AliasContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlParser#arguments}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitArguments(GraphqlParser.ArgumentsContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlParser#argument}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitArgument(GraphqlParser.ArgumentContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlParser#fragmentSpread}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitFragmentSpread(GraphqlParser.FragmentSpreadContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlParser#inlineFragment}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitInlineFragment(GraphqlParser.InlineFragmentContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlParser#fragmentDefinition}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitFragmentDefinition(GraphqlParser.FragmentDefinitionContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlParser#fragmentName}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitFragmentName(GraphqlParser.FragmentNameContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlParser#typeCondition}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitTypeCondition(GraphqlParser.TypeConditionContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlParser#value}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitValue(GraphqlParser.ValueContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlParser#enumValue}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitEnumValue(GraphqlParser.EnumValueContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlParser#arrayValue}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitArrayValue(GraphqlParser.ArrayValueContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlParser#objectValue}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitObjectValue(GraphqlParser.ObjectValueContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlParser#objectField}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitObjectField(GraphqlParser.ObjectFieldContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlParser#directives}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitDirectives(GraphqlParser.DirectivesContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlParser#directive}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitDirective(GraphqlParser.DirectiveContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlParser#type}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitType(GraphqlParser.TypeContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlParser#typeName}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitTypeName(GraphqlParser.TypeNameContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlParser#listType}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitListType(GraphqlParser.ListTypeContext ctx); - /** - * Visit a parse tree produced by {@link GraphqlParser#nonNullType}. - * @param ctx the parse tree - * @return the visitor result - */ - T visitNonNullType(GraphqlParser.NonNullTypeContext ctx); -} \ No newline at end of file From d820bb850973c7639cac4fc05656cbc4b7e413a1 Mon Sep 17 00:00:00 2001 From: Hyunwoo Nam Date: Fri, 16 Feb 2024 14:24:51 +0900 Subject: [PATCH 16/16] fix antlr4-tools version --- codegen.sh | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/codegen.sh b/codegen.sh index 8f783b7f..cba88a07 100755 --- a/codegen.sh +++ b/codegen.sh @@ -4,7 +4,10 @@ set -x pip install antlr4-tools -PACKAGE_NAME='com/walmartlabs/lacinia' +export ANTLR4_TOOLS_ANTLR_VERSION=4.13.1 -antlr4 resources/$PACKAGE_NAME/Graphql.g4 -o java/$PACKAGE_NAME -Xexact-output-dir -package com.walmartlabs.lacinia -antlr4 resources/$PACKAGE_NAME/GraphqlSchema.g4 -o java/$PACKAGE_NAME -Xexact-output-dir -package com.walmartlabs.lacinia +PACKAGE_NAME=com.walmartlabs.lacinia +DIR=$(echo $PACKAGE_NAME | tr . /) + +antlr4 resources/$DIR/Graphql.g4 -o java/$DIR -Xexact-output-dir -package $PACKAGE_NAME +antlr4 resources/$DIR/GraphqlSchema.g4 -o java/$DIR -Xexact-output-dir -package $PACKAGE_NAME