From 40fac2f3d9829968d646790b8403b4271755bda4 Mon Sep 17 00:00:00 2001 From: Hyunwoo Nam Date: Sun, 11 Feb 2024 17:37:53 +0900 Subject: [PATCH 01/17] 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/17] 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/17] =?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/17] 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/17] 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/17] 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/17] 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/17] 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/17] 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/17] [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/17] 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/17] 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/17] 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/17] 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/17] 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/17] 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 From ff4bae44b93a9e0ce20324fd423abfd93e261217 Mon Sep 17 00:00:00 2001 From: Hyunwoo Nam Date: Mon, 8 Apr 2024 10:28:53 +0900 Subject: [PATCH 17/17] commit fat binary files --- .../lacinia/GraphqlBaseListener.class | Bin 0 -> 9001 bytes .../com/walmartlabs/lacinia/GraphqlLexer.class | Bin 0 -> 8920 bytes .../walmartlabs/lacinia/GraphqlListener.class | Bin 0 -> 6625 bytes .../lacinia/GraphqlParser$AliasContext.class | Bin 0 -> 1131 bytes .../lacinia/GraphqlParser$ArgumentContext.class | Bin 0 -> 1339 bytes .../GraphqlParser$ArgumentsContext.class | Bin 0 -> 1398 bytes .../GraphqlParser$ArrayValueContext.class | Bin 0 -> 1388 bytes .../GraphqlParser$DefaultValueContext.class | Bin 0 -> 1170 bytes .../GraphqlParser$DefinitionContext.class | Bin 0 -> 1460 bytes .../GraphqlParser$DirectiveContext.class | Bin 0 -> 1360 bytes .../GraphqlParser$DirectivesContext.class | Bin 0 -> 1408 bytes .../lacinia/GraphqlParser$DocumentContext.class | Bin 0 -> 1402 bytes .../GraphqlParser$EnumValueContext.class | Bin 0 -> 1151 bytes .../lacinia/GraphqlParser$FieldContext.class | Bin 0 -> 1967 bytes ...raphqlParser$FragmentDefinitionContext.class | Bin 0 -> 1887 bytes .../GraphqlParser$FragmentNameContext.class | Bin 0 -> 1166 bytes .../GraphqlParser$FragmentSpreadContext.class | Bin 0 -> 1421 bytes .../GraphqlParser$InlineFragmentContext.class | Bin 0 -> 1646 bytes .../lacinia/GraphqlParser$ListTypeContext.class | Bin 0 -> 1146 bytes .../lacinia/GraphqlParser$NameContext.class | Bin 0 -> 1014 bytes .../GraphqlParser$NonNullTypeContext.class | Bin 0 -> 1382 bytes .../GraphqlParser$ObjectFieldContext.class | Bin 0 -> 1354 bytes .../GraphqlParser$ObjectValueContext.class | Bin 0 -> 1423 bytes ...aphqlParser$OperationDefinitionContext.class | Bin 0 -> 2108 bytes .../GraphqlParser$OperationTypeContext.class | Bin 0 -> 891 bytes .../GraphqlParser$SelectionContext.class | Bin 0 -> 1613 bytes .../GraphqlParser$SelectionSetContext.class | Bin 0 -> 1418 bytes .../GraphqlParser$TypeConditionContext.class | Bin 0 -> 1187 bytes .../lacinia/GraphqlParser$TypeContext.class | Bin 0 -> 1564 bytes .../lacinia/GraphqlParser$TypeNameContext.class | Bin 0 -> 1146 bytes .../lacinia/GraphqlParser$ValueContext.class | Bin 0 -> 2259 bytes .../lacinia/GraphqlParser$VariableContext.class | Bin 0 -> 1146 bytes ...raphqlParser$VariableDefinitionContext.class | Bin 0 -> 1622 bytes ...aphqlParser$VariableDefinitionsContext.class | Bin 0 -> 1497 bytes .../com/walmartlabs/lacinia/GraphqlParser.class | Bin 0 -> 28051 bytes .../lacinia/GraphqlSchemaBaseListener.class | Bin 0 -> 14823 bytes .../lacinia/GraphqlSchemaLexer.class | Bin 0 -> 13716 bytes .../lacinia/GraphqlSchemaListener.class | Bin 0 -> 11325 bytes .../GraphqlSchemaParser$AnyNameContext.class | Bin 0 -> 1486 bytes .../GraphqlSchemaParser$ArgListContext.class | Bin 0 -> 1436 bytes .../GraphqlSchemaParser$ArgumentContext.class | Bin 0 -> 2116 bytes .../GraphqlSchemaParser$ArrayValueContext.class | Bin 0 -> 1436 bytes ...raphqlSchemaParser$BooleanValueContext.class | Bin 0 -> 1141 bytes ...raphqlSchemaParser$DefaultValueContext.class | Bin 0 -> 1212 bytes ...GraphqlSchemaParser$DescriptionContext.class | Bin 0 -> 1149 bytes ...raphqlSchemaParser$DirectiveArgContext.class | Bin 0 -> 1425 bytes ...qlSchemaParser$DirectiveArgListContext.class | Bin 0 -> 1501 bytes .../GraphqlSchemaParser$DirectiveContext.class | Bin 0 -> 1454 bytes ...raphqlSchemaParser$DirectiveDefContext.class | Bin 0 -> 2157 bytes ...aphqlSchemaParser$DirectiveListContext.class | Bin 0 -> 1471 bytes ...lSchemaParser$DirectiveLocationContext.class | Bin 0 -> 1618 bytes ...emaParser$DirectiveLocationListContext.class | Bin 0 -> 1551 bytes .../GraphqlSchemaParser$EnumDefContext.class | Bin 0 -> 2066 bytes .../GraphqlSchemaParser$EnumValueContext.class | Bin 0 -> 1217 bytes ...raphqlSchemaParser$EnumValueDefContext.class | Bin 0 -> 1698 bytes ...aphqlSchemaParser$EnumValueDefsContext.class | Bin 0 -> 1486 bytes ...ser$ExecutableDirectiveLocationContext.class | Bin 0 -> 1183 bytes .../GraphqlSchemaParser$FieldDefContext.class | Bin 0 -> 2096 bytes .../GraphqlSchemaParser$FieldDefsContext.class | Bin 0 -> 1446 bytes ...aphqlSchemaParser$GraphqlSchemaContext.class | Bin 0 -> 5135 bytes ...lSchemaParser$ImplementationDefContext.class | Bin 0 -> 1408 bytes ...raphqlSchemaParser$InputTypeDefContext.class | Bin 0 -> 2096 bytes ...hqlSchemaParser$InputTypeExtDefContext.class | Bin 0 -> 2168 bytes ...aphqlSchemaParser$InputValueDefContext.class | Bin 0 -> 2141 bytes ...phqlSchemaParser$InputValueDefsContext.class | Bin 0 -> 1496 bytes ...raphqlSchemaParser$InterfaceDefContext.class | Bin 0 -> 2080 bytes .../GraphqlSchemaParser$ListTypeContext.class | Bin 0 -> 1204 bytes ...hemaParser$MutationOperationDefContext.class | Bin 0 -> 1431 bytes .../GraphqlSchemaParser$NameTokensContext.class | Bin 0 -> 2150 bytes .../GraphqlSchemaParser$NullValueContext.class | Bin 0 -> 1070 bytes ...GraphqlSchemaParser$ObjectFieldContext.class | Bin 0 -> 1420 bytes ...GraphqlSchemaParser$ObjectValueContext.class | Bin 0 -> 1471 bytes ...qlSchemaParser$OperationTypeDefContext.class | Bin 0 -> 1825 bytes ...lSchemaParser$QueryOperationDefContext.class | Bin 0 -> 1413 bytes .../GraphqlSchemaParser$RequiredContext.class | Bin 0 -> 897 bytes .../GraphqlSchemaParser$ScalarDefContext.class | Bin 0 -> 1841 bytes .../GraphqlSchemaParser$SchemaDefContext.class | Bin 0 -> 1892 bytes ...Parser$SubscriptionOperationDefContext.class | Bin 0 -> 1456 bytes .../GraphqlSchemaParser$TypeDefContext.class | Bin 0 -> 2303 bytes .../GraphqlSchemaParser$TypeExtDefContext.class | Bin 0 -> 2375 bytes .../GraphqlSchemaParser$TypeNameContext.class | Bin 0 -> 1200 bytes .../GraphqlSchemaParser$TypeSpecContext.class | Bin 0 -> 1638 bytes ...ser$TypeSystemDirectiveLocationContext.class | Bin 0 -> 1184 bytes .../GraphqlSchemaParser$UnionDefContext.class | Bin 0 -> 2060 bytes ...GraphqlSchemaParser$UnionExtDefContext.class | Bin 0 -> 2132 bytes .../GraphqlSchemaParser$UnionTypesContext.class | Bin 0 -> 1446 bytes .../GraphqlSchemaParser$ValueContext.class | Bin 0 -> 2455 bytes .../lacinia/GraphqlSchemaParser.class | Bin 0 -> 46319 bytes .../com/walmartlabs/lacinia/ParseError.class | Bin 0 -> 503 bytes 89 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlBaseListener.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlLexer.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlListener.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlParser$AliasContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlParser$ArgumentContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlParser$ArgumentsContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlParser$ArrayValueContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlParser$DefaultValueContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlParser$DefinitionContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlParser$DirectiveContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlParser$DirectivesContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlParser$DocumentContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlParser$EnumValueContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlParser$FieldContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlParser$FragmentDefinitionContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlParser$FragmentNameContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlParser$FragmentSpreadContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlParser$InlineFragmentContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlParser$ListTypeContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlParser$NameContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlParser$NonNullTypeContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlParser$ObjectFieldContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlParser$ObjectValueContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlParser$OperationDefinitionContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlParser$OperationTypeContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlParser$SelectionContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlParser$SelectionSetContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlParser$TypeConditionContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlParser$TypeContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlParser$TypeNameContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlParser$ValueContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlParser$VariableContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlParser$VariableDefinitionContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlParser$VariableDefinitionsContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlParser.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaBaseListener.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaLexer.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaListener.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$AnyNameContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$ArgListContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$ArgumentContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$ArrayValueContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$BooleanValueContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$DefaultValueContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$DescriptionContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$DirectiveArgContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$DirectiveArgListContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$DirectiveContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$DirectiveDefContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$DirectiveListContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$DirectiveLocationContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$DirectiveLocationListContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$EnumDefContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$EnumValueContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$EnumValueDefContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$EnumValueDefsContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$ExecutableDirectiveLocationContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$FieldDefContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$FieldDefsContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$GraphqlSchemaContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$ImplementationDefContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$InputTypeDefContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$InputTypeExtDefContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$InputValueDefContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$InputValueDefsContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$InterfaceDefContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$ListTypeContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$MutationOperationDefContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$NameTokensContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$NullValueContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$ObjectFieldContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$ObjectValueContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$OperationTypeDefContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$QueryOperationDefContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$RequiredContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$ScalarDefContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$SchemaDefContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$SubscriptionOperationDefContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$TypeDefContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$TypeExtDefContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$TypeNameContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$TypeSpecContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$TypeSystemDirectiveLocationContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$UnionDefContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$UnionExtDefContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$UnionTypesContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$ValueContext.class create mode 100644 target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser.class create mode 100644 target/classes/com/walmartlabs/lacinia/ParseError.class diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlBaseListener.class b/target/classes/com/walmartlabs/lacinia/GraphqlBaseListener.class new file mode 100644 index 0000000000000000000000000000000000000000..f0c0018da29b78bf0fb6582a1fc850e559b33655 GIT binary patch literal 9001 zcmbVQM|d1H6n+XxM4aN1kVYth01kmHg!D#&3j~Yu3b+#%bg@ z8bzZSHEi+*yiDNb`!Z|0H~Bp!Mx&Q!^V!l$M!Pl7-oR;hMss=!xy%+X$a!HY@VblO z_kiPNjt;&4jhlm`yrSQcEtdSeA9AW=bdbeCkr|C_DfIe`>N~P|zq6d{_QUmFcYv1h ze!k>~t%aU)4!;;JZSJs$p5TQ=Kb)mpS_%-@T3R-H1EX>N)@(@`5G~U7&lLmB7V?ai zJF9CaQ-6Zg*Cs|&WrVf;e&~q+t%j-1HB=36Gv*W#vj&IJ7#Y0N%V8Q9x<(UpQ+{_L zA89mI4`%(geh44wDy+LG{LBcARRf4rqj}rlg;}u*D$`bE2%UlPeear~s#YnV;QJs`;&-y_xqeZUL zl5fh65wfvLB)K}sdRWHJl9Hd0j8&pZSRMAs>l2B+t3UKT%=9YfnXYm)<21=BuQID>Yw`ikm-g5;jA+%4iD=bkl|fXT zO8Oc`21z=bQDp{6Qq=BKmMCvK?>^Jbj3#%vX=D_g1#v3xjZaVKv!Ke)j3m#3Dy!Ow zamI4qHj-~j%bggjMBAnVR)?XtE!KCgD=JQA09jX5Oeojn z=7}n`IK&Fqonv^JG3v#(F>KXA;uJQ_Ac=Hn1c?>n8Y~-%<6^)^3Ui*TR_$btBdWo) zNgWiLJd7NveN27%vb9B3Sy9>ITxG>eTo->GcCT~6t6a>^%ABhVDxZt0 zJBsD3ty~h?%Ai(DXCdEN4uVMDd9@f`W(2uf44ZnFZ3BL|ZCzPh59Ty?6vDoYmoEij zW?+6MEaywvoS%s<0fJ)+MjN%_J$@it%$C;sVJ@5Zf}zz)q3>rDtrIsDd7GFZz1zaD z5Q;WN%|moXx@(^Ft?Me3!ydmqD+V#O#{FroxRBw-vL=tqR7>C$i++()nbCs(b^YPA zh0y^{uE<~NiWJWsr|l?MoSbJ>4!hVHXHue#(*-zu-30Z$A)&%(`p`yB7c)BCErfCB zVKmlw;&d5`9ybx)6|wg9*eBI$=5(d=@Kpg{8GTWUPaoRI=^EV4+jrH<+TW(O5rkQGS{}3mNW9t9zLh{Y z$WGf1S~JbIsa*`h!FJk}pv@t%oKpL?6NE$Uv|B)%OBtKmT_7B0r#%4L;Uv~@YTq6M z;RrkJ8PMj_0-M@PAS|@g-T-Y8iH(!mxA#C;VyArq+EQ9(Q~L^p<#yT+psgUWTT}b? z8wf|*X}^QEidNgy{s7@9JMB-ab0O3SCZ9mY~QI}1v8HDwA+Fa01B9Vbp z`!*khlkK#npq)ae+SFEoaGIUg4%+D?(tc{+IzTwnPFn}sS#-8d?GzBsvD3~1%_DKv zr1q^BgdRI>6KK8U+tm6&IM+@a0IiS20hijh9Ux@wv`azTMCaMmt^pyi({2PUN8(gX z?c41j6iAFWm3A+xzs<4+45Iq(YLRluu( z*8;BtUJtwhcoXnu;H|*hfOi1z1l|q22Y4Uwe&B<^hk%a&9|b-Rd;<6s@M++)z~_K3 z0AB>Y415Ln8t`@Co4~h#?*QKgz7PBW_!019;HSXPfL{Q=1bz+t2KXKDd*F}2pMby6 GnEwD&z&WP? literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlLexer.class b/target/classes/com/walmartlabs/lacinia/GraphqlLexer.class new file mode 100644 index 0000000000000000000000000000000000000000..6f68cbabf52647e79efd059742b23fe023015941 GIT binary patch literal 8920 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlListener.class b/target/classes/com/walmartlabs/lacinia/GraphqlListener.class new file mode 100644 index 0000000000000000000000000000000000000000..0c68cc7b572b0630a2393d0a9994ded4421d1589 GIT binary patch literal 6625 zcmbW5=X(=J5XRpnWiibKQ&UKR03ktv&`onNCM3j=n2=u1<}e~>$($qu>Am;fd+)uF zg!FvKpOg=IGB>xoTIu8`qkOP`nw_0@ZdY68^w&R!j{sPSKQ+cF%pWWc=MDtXa1fWH zV4#$Xg28+tALO>g!N}hI(YAc492UY@<7kDpeZgozJqkm)?F0M5!Lr7&3X6*IP%bEx zqc}IZEEiV_<@|7%E5~7&+Y!X2a3_7TG76K!LOG0kii4G5`lPUC!M6W+1Qv5BPi#K1%^w9=!W*Q*?h%tXKSO)X08-U- z-gX6XJ{X9?>a>*<#Pil5+E2^#)}W8V3?66JrO+cCY&O_WJv|w5wu@ct*3-mdw;_HO zUhLMP(9WZxsSGL+C66lf<*k>F#}D&!v?U|)oi9Asu1jx$1F2{y5Sa%(?7E;W{^QM!FbZpTBJ9u~k-Dwuq}Nv&3Ct z%2igXkruqk=XCdq3tk)IKP;cQ)?v@{q_|FViM4G=M%y~?)3`;v7OjYrZLMq3 zxLskj>}hEtT+#0Yr#5KSxJxYRYGtbMtD+5BHSVSNPuY{YaHrT--=y(?!cv)>fB(?I z;F}r`i)H*0oMe1c<1z8zZ0%cJjcxT!8c&Lsh>dkq)mqo0@eEyd!kMb6m!0G^TlJ;& zxoOvUUMyT&8drrIwrjj3-h%eYs=M5Y&l=OG@v3-%TM_SYqxXmgtr~BLk34hIr4_S# z;Lb+P8gGkNDA#~aZjx_myeD3vu7-6|ZS_qWABr!wYQ^gG+B0n$pD3)7tx~T%b&4I? zMvc##l=M#qdbvp@{YH(i#KU&QVRfUoXWBHr6@M)**bTa^zDeVI@!ef>+fMW>jU(dI zCkd z7*4=MwkH`*#uT<&4cpMpc8B3qbh16oa5`qNJ=1U&X0v^q;qf?u?Gp{>;3T$BHarEV zvOU*u9!_I>zTpBaWczf(ML2`)GYuCb$M#u#&~f4Tc-h&GtElo6y7dX2V`=Vf$RetvHYE^9{G*0=D}Mw_^v}7aCrKeztcSUW{FA zUt)MEE@S(0!z*wl+gBN0jceGx)-b>T+k*))4!ik(h&{x=F$Y7)<2w5GBVvJABkTVd4+O SABjH^efgc5Qg84(>QUQwh7-*KARRhK^PDyhg3)?5)dhk5G@rTfwW0i!Qj|sy(#%C z{09zj0l@*4D?bV`8#^Tkq2{vd_0Bvq^UmzgU*En1XrN{y!?4zmhTc0K47pSR@5Nrg z`+n$i?}6lduigfaxQvA~k!83!mua=jhoTjQN{p3-9842=8wFSlx8?)f3w$1@1ct?d zP>)B!6v?pRbYAm)PKkyCuNCk(ZnoV{BnKW3RUp0n+nyYS${z|ZNq)w=X~9Ox#G;KQ zEHkXn=f;rRAW_s^hHK8eq1x__i3-EjBdYHBu@a$>MU-*e#tEEcumtHRCqghZoX!!5 zq|WNBa7}kd15evHqk#o6_EpNuhSVX3JB~Xicc!CFhHNX^CHJL{AByg1*b{P__X7H3 zr=4ntyJE~>IBr`9)|KcMFx>c$c1nu0SKIV8)q^TvC~Ya;f3wN=(inMNM?$l;Z`r!}Xqj3>0xT+uppFzC*#)mOft`03EtLWYc=B4<1!(+jwm zI_O9`g0XCWI5bYk&*|b4rIwHz1Rw+|^&cp|N2z{*a_uXQWuSv(CK)9`UZ8Be#1#z% pE0g=`QIJ#rLO4Nse;@{`lPGIgpX@Z^v{xvu7RaHuu5)%#_zjDw7l8l( literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlParser$ArgumentContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlParser$ArgumentContext.class new file mode 100644 index 0000000000000000000000000000000000000000..4fc8514858f3983ebdd99fed7fb504ce82d4e7b6 GIT binary patch literal 1339 zcma)+YflqF6o%jFK)08rK?-@ewnkgIp;a=ymNMsetq5tunN~gf?=WAX}hn5-xf;yVk>lg z(ewgOxQ~?BdH%|ODpV+yg)xSku~O&PMO#)oftGtZgCr~qDH~~I81BRaJW#D}TLyXn zVaTj=@Ht8vHmRul9H?(NJd?I!RB2&hTJ}tA+>8hrD=oxhWuWx3>j3`5DU55H`C)A{^ z7SLt&=2eCa*&$EJi^$yLvA2hhhAZ?f<>si-}5N35g+58!ItFct4bry1L!s*|W%-iHVwM zqR;*ZAM^#I4+dZTQN}slT?88gyquYx&U|zEX8P;*_a6Y}am_-8VY1O~xzB~)5=#4G zJ#>B1@B&Y`ca_+D{LFtSR4A2&9)=r7a-F!Xno&yzdZ`^~xvg{Pg=HaYqYpWTo5uqQ z6BLHQrqqujUnYi-Vce-d5nF;P4w~+gFT$`|iY<}$e7Ej}x@xl9Hu4x?7&wT)u+R-q zE7jYo>54%6%H6u|swmK2OSOh}b-LQ|_c^+RCdUiWxRDX5m#4DhIp3kEnZw>`ZN zH!Bj}8H!F94-7p^?F~sZ*1bS3N3C_KR>itcmcA9Q83-LI((iXgE*!JkWId{jRfby* z(RsXP({Khm*_K+cA-5U0Q>sy|ooSjiV3_+4e_F|8Usg#=Iicy%%vQ8$JbfTGlh(6l zhA~=hr5&k;yyF?@;(_CvHCxV*U6!G~*A6w+Rtt#c&dN)obTFl1?^p_{B_$7+=@1HZ z_aMn|5top`7=0PZNLuA0-@%E`q%v}j-N0Yq3h5b)cY-G99i#7YaIyjY6g0Af{$22Y z17DIW9mc)@P61ZAGWr#RUr3F!2FXRc^f?i^hb95)wnAG^xZ`()XcE>gsljv$Kdl#TOG3 zHPNWi7mPj_eDy~e&+HakYz&Prb7sz-?>qPX`Rm(v0IRrRA;B=;Xt$iF+-q^EJiZe+ z9&fn5%bmND?>&6t-RCk8(!vnK&4Enk>f8&(M%!27K&6m`WntLH2vQ8IgE8Eel0WOE zVHj@;^&s?)c>{*oeDx9E=M=BsbT&L51m!}k36<+PRX0#&?cTOAhBQO^Bm=`*KS8BX zZOf*^edS4K|CS>|U%4&e#6{@wPs|g@SjgHqgR=|^gTWY*YgAmd&ajjp)K#TWw=l)9 zcuMhf#=;kJ6q7h_;{q;H*#xygcIz2seF{&U>|7Vr>1DZ4*VHpME@|qtIB-?hh{4>~ zjc3T_`})8zw9($BZ{t6Z0;GYoHuKy9`IMX^yxpO`9Rp?MA0%xJnB!LE8?J z43}{Q3FPRdB_nASv&JFJPjqEu9Gk&>fopV6U^W8H(V3(7EDX{CqXe2h#OM)>zkx5w zlop}~U=YA6mS(OF XgzJ%HSSFbzzvKfB{p)nhD;W6=mY!n% literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlParser$DefaultValueContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlParser$DefaultValueContext.class new file mode 100644 index 0000000000000000000000000000000000000000..2e638104e87ce82f7b9938c0d9a5175d65245fdc GIT binary patch literal 1170 zcma)6+iuf95It)*aV}1qq}(ajro~ARMhH=%RDB5oB893VAp!{=Ht7-!j#Jj_kYC{+ zcz_oWJfQN*MpZKT^=Z3x})2!i~{8iggY%F7G2B0M$W>r zjTPh>HWv$HNN$rjYKP&vvnW-g+_6w(xOPnOO)pd;5HgDbPS`k!Qw#+`GRn9f3_DKq z7^G>rrFht^AGLBv!=JHnR>SAT*i&&ghQvs>kKv9}UXUiDNBm&Mkv=5vqs7P*HA;fRvvMkqGG+uZdwbF40U$T%pmn=^+6L zFr34AvTJl&he!RM);B`{~Fz1B0Af zNE&T&y@*S*0L`Qs%zWy@k@FP!30+*K)TYQ=1V9idR)3)I9=Ylv3YD)|HK0k1Nk&tW yrzjZDa8-kX6)1fDIFQr-f;=aX7k@xZlqM`2*qp5N0%$D~uNKImKZ4G=jP!5E4kw%d literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlParser$DefinitionContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlParser$DefinitionContext.class new file mode 100644 index 0000000000000000000000000000000000000000..f5cf7236af7ac9b018e718cedf775e31bc5f1279 GIT binary patch literal 1460 zcma)6TTc@~6#h;ZU1&>@)*BV?TzWy)2NNDj)T9J$Qqc(EeJDd+-R|P-6!|Ou2Td?u zF>3JDA7wnVt$=PC_GQk@lmptau~C5CW~?82{XxZ6HYH0jqVcWN=f-P%Ih}H5@t`J+;l@NeW@}i z;CvPraFH;^+@(5VA4zutPEWC^qoBU*weq@wE@pAbKBp% zgHSWKhR>~zMqh@6;$ZOz-=nU{AGYGVG@^ly~3xPuy_Y#DtXKLgi{Bw z_V`G++II!s^644_!~!zCfXx2^d+f>&=vaWoV0NWC`5B|{4$;#{@%}v%`oOL?m`X20 zk*%SW8hUf+Ye)khd7Z*EuZH>p#~Xxv^(P9iFTsT{mUdQC3@+!v-d@%Ld|s zx!jShZd*9Y^*fr!f`MclDWn-zf|X>@H%U}=n_(>I~ItmaBv#WDFUc zjN=qelVC(yNMA^Xa=tbLW~fun&lxpbF6?^1**F$G;DqQ~%8y}~b7HZeISpw6AV}X zGY}=kXnA(%Yb-L!K_YA`-hBFi?~llaJyC{e(d|xGHpM;5gHHeRhSt4}WeC@WtF}6> zB5qZO<~CSg;WES~v|&j4Dvu^XuIc`8ksjDQy=IVQSi)I4&(ZBNH2MN!#k8h<#jyiu zpXthQeiRD*1>G(Xz>$R5Fd;Ub@RCAl=_e920yB!GrEf@l@zJ9Q5t~=g_16@7iKq-K zERyvoY02y-KiFdp{SBQtEYs<6-yi^jK)Un`nU6@64v;B+$B7WUBB4PG!y<2y(%)f) xywq)q(pP7JoH+{eo9>*N?Afe*gLL6TliCTZk|$G&^nQBlp@|Dv$36j>ns> z?{ep*UGx};sy-4eC-|YajMyGITeowLAelGy2|yOnj5IHPH)>tV2WYtJOab|I6$>f>&TYF zedS4~_r#H1U%74Jgo8MfpOBMCSxDQsjvEY%mkVPs*J;3NgJC&;*;LiSo`stXOBW1J zcPxA%Cy~Kz8#A~=V-rM!9I--UqpmN&37b8oa!5kCu&1HtY~0n*Q{u=~XOUwEL-HBY z`7tgSCMul+K{eG}U+i?-`$9JOzDJf=-EH|?btUPwvB>qS7Ccy*@#)yu%J`X3gR6oaj4kTzt7CdiPeE8cv+%?}67NA(;-w0OPK zl}+)&)zIm4mvBYzIzx0v1ZuMrD5|aM6WRU67sP9FM8)XNq(-J8g?K<0B1ta*NHW~R zeMFF@FD)5KtC%*9aqSDKjGRL^n9uQ$^ayhOpm{p8^qqr2Heiy1W{)v>0^{GnO>(6R zawfo_0IOJ<`-bVSq=s4I8pqs%Y1YWHfW<+;EJ@K zDe2NLWIiELIzguR9k(LTNh1AL!X&#$nXgbFs{xjx@Zv=vv*REQ0(o-^VxZK|vW!Q4 U$*@8)O?fE?9D4h7&8vw01$vHXl>h($ literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlParser$DocumentContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlParser$DocumentContext.class new file mode 100644 index 0000000000000000000000000000000000000000..fa0129adf38cf75c720febd10d6709335a98181c GIT binary patch literal 1402 zcma)6+iuf95Iq~0x=r0n0_D;c2=taqsfz@vM5?~D0wSdqB30iv=@JZ%UDoRo36Ma7 zkKiA8fR`e8K;@N>Ld@DuXo*nr;@KU|IWu!+$G?7m{{dhfw@suN78`!ce#zYym&)b! zz;=1V@f>bHko@rJ3-=M1fsiJK7}f_0UDy^+h(I~Mx8-|Ev{f3zFinhD7)6@l?tnCY zBWwvzB_s@!O`#r#u1FjK!+gH_j303-*=yQcE)RloA@+pIaqX%TsIpFOSs2Fz!^Bwz zhK*i=N}=k@rp-O&O8e-JEkjQ^En&wxoXStkQ^=UeS~!mj3`>K-7=|~rJev$F`9V`v z3i~E5GA#FzPIoLkA;&O{%NDL+hGCpE6mmOJli^;z+J_}>b)f@E^ez|nHSL^*tD4pl zZAW!N7}5vbsWW8rJ!4=P+VT$sO|j~DVmEBnh1}zHmpr32r|EGON;>cKAU6iBwwu3G z?`ByKnC3ZPyFCQdWb$At-hpT{82Lhl>Wu`|FM(n0KOiyg8*i+H1`#gU+5TTNk=@dsHoTES;SHTm?5jnN*SNJvAS^J4Sko9 zr*DpK>x9>pWJ^CW{So7(6HFJs;Zh1ZM=I(h&hZu*yhDM!23UsR#eO8Sy(I66Uhg4i59+5(XXqEdWT?K>fl=UVAkU)Y@ z!FS*Q7Z4m!x$>b9v$2x~A=F%U*WQ`m%=~Be*YEE?0BoUZBEhiH8~Dx(?)h9Qk9R}I z<2^TUxpQCg{U^`8M_h(Nnpk4Ev5;xG&3(}r1WJrm7Acq}(iSqvGTdGaa5otG9qtXM z6o%!#P>+Y+;g4;*^^}h|B^&gehR4IO-mJ6+vhVOfdD0o(bmTBlt}mRZfI07a78dd* zmMyHHz_7WP8$)WFgi&`GuG))+YF0WXN(@(ysJ!KdN(4gYP{eTyt2jYL3(`=|#9*k~ zts^i|t>u|d+=hCkqrs;voYvsH7`tj_!>|-k#~5zel?C~89j=pmW3Wf=D=jw=?V;Zl za+h~K`eVgiYX*B_%wX7+CPQXYm2L;a_5bLoq=@^rOQ)$eR0ZX}qj>MxL%tu!Nb6c6 zT6SkJls$3J)#%b+<9kgH3q!gsLiJz}D$1=Hkld5W5g|ivt|W%SOq^IiT%tj?=+yv8 zFr2|zTG!}n9R{6%T(x8vUywY2@rgbe&e59ESIH5rG-tF<9SpiNtF^VS$bFs}XOSS| zmq;aFk?DC{h#hn!9lHX`RE6Dr-`kWyC literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlParser$FieldContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlParser$FieldContext.class new file mode 100644 index 0000000000000000000000000000000000000000..8e4511ae4944f5528e677f4ef783e8119207c8b1 GIT binary patch literal 1967 zcma)6+fEZv6kVrNI=w<$@PgnKgkF#V7?lCY7 zH-z)5ZFDIaHglCX{Df1XW<%RGxNVop`AW-bXxwxROFLQCthVXsO`*BP`_Ls7$-s5& z7&^DTI#diZtOl!p$7-~j!gMaMX@<36*r&QBYL0#)F2Gra^lB8K;3Qp;CovJl>pj~rlmasin2o5Cw$DTiTYu)Y@f> zS6gkXCiZkmo&9Ho&C8*|5ZxEH^Sos{R9o338+Im$AQ=-r+3BO-T(tE|$B^#7;|!UB zZZeEs(iHM%1Y56Zw51VEYeaqu{ibyWv$XaB z5-uRo5BNi=IphZcDHo9H2b@!C0mVVUhzl6$11OAA=kRC{kZ}Q-en6N~X%_ha3jLp2 zC{BLG=;z)K#}NV)6%i#$sq@f0zyw9vB_*Bs*h}toN0IGZz@nG9Mg&BGZ1E??KOj{+ z!+7BvCPI*hggRYy4@n}Uq_8AO!7>DYd=<&vL6S6)WG+Y)EO$;>!D=VcRHL{=I!ckB bko2aZc>zmY$5g+sVV^0 literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlParser$FragmentDefinitionContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlParser$FragmentDefinitionContext.class new file mode 100644 index 0000000000000000000000000000000000000000..6215f31fce1f20cd6c4b12199226639b33991d56 GIT binary patch literal 1887 zcmb7F+fvg|6kVq&r1U~*K`MfGF1;W@MJpEZ0S4_%WgN@!erOLhm?oH{1wX}q@Iha6 z^ufVbKgw~ZNlR?&5MHu#*=y}}_Fm`Y_n#j>0Ti(=BgC*!Gn&c?*P7h4HGW_z8n3Ck z%9R%;KYsgOd(BNtm@>i)>w!||cTC=B3f;b|~YdmoOSs&&5}8RLPwQx%%1Icup3+gpx|35H^@^4qHEz}v#=wKk1O8B=jw z!8F5Suq88$Za6*NWLVAyZBse7FXJl1(gjj0s$~mZm@#B6Drlr>Z@yQvA^8OonIK+$Agf99?1vZy9yLkgTY> z*ljfrgt^BLGF*HePU)AQdcdz)d*UpGDPnRuPHCkp(?5GZP z`kxbO#o7K0kzHZgFAd8kZDpNI*f|S?#W2~mgl~!rGu^iXu40%PHVz^h(p84kKzneT zPQ5f8wLk<6x9FMS4n5t4M0Y?epO&Pr7&(LVnI0K^072+enA3G03v}%R#9TnEA5f>% zMJx>h5-uRo4`@(o7P&z{(gh^@0Y{WdM~n|3kz6@nnEQs*m!AG8LZrWm(XdXbc@#Xr zEJbJ0(nRW0FWFtJK_8ZJ&r2*40Z|}b_=U_zBnoH9aq`WE5ro~PW1_@N5RNX`>L<&(wtL`W1C>U&~j3*_(!UrG$ z0z_GWV1de(k3!sulVXHWvzhUD?m6e)bFcmL*SGHg)=)E%Vp!=70`~>?11^=%yOHbj zo)>!DeIWV%ljr^xmywVr(hPTI3axf{Aew_viIK`91Jgv-LJoO``?C>jO5P7ds1igB z^L?Qn5B(`K!@Avm$`3f@8}{9%&!ec(a@qsgcX_CM=^os5sNxN$=9Z7)(H6taLaPFXmOGYn;NLCB;Z3>$X) z1g5y$Y7#c-N5k3G^ye&`*YqVZ@>DX6Astfp81C85j4FvHH3;4u>=AsS?S-N<47x(@ z@UBm9tV#P?;hq>V7`D@5$c@X>ePOu$A48QClLqe4)6^s?grT^tc<T+VX z{Ptiddt%em)Rn(R`Iepfs<#lv^t#-^U{)B8EbuB!PFz5*=)GCJY8FNQ4KGKol60I41m3~Dl%^a;$fI)X=t-kaHg~Q|EJW>?= z8kzJP3cZXg6M$CI3P!2&?l?GReoGfuDYck+jR=SWmHH2qU!qt)Lb>)8iz#T4)HtJ9 z1u;)`W@(;9prukG3O{L literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlParser$FragmentSpreadContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlParser$FragmentSpreadContext.class new file mode 100644 index 0000000000000000000000000000000000000000..39a908d01e8ed078d07d762501a44ce9ec1471e8 GIT binary patch literal 1421 zcmb7E$!-%t5PjtinZ%wfwh2oT_AFjPh67TB91v1az>={LiE{7QjTsn^Lr**8SNI1G zZ~?&qg)5(egak++!2wa@v5gZ8#kq7%x4PbYRj+zJ{dxZZzzQ4-F~WSMQFoq8uP(Lm zl(*|g-IJpqzDUxaT11Cxy9xdVJS1H&SG}U!b!s7 z5mHNTV3eDjxSL=3AZz)Be0@wbqzh>Lm|5rQcT;J2`N%)&oze` z>_%qJ+fZgfD!R-$+k_U@$9}pM8t5 z*Io2DVu1LHVeyTxUS=r~!wknzl9-%$*}WX9hWO6w9OiiqwXZM$Lm-v^i1Z7L<@b@! zy~9)tAxW%NLPYWdN%0d4e9F}(IeqackhA?DzZm5AKM;XTizSO(D-!Y?rCO9r*^e->XcxV6s literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlParser$InlineFragmentContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlParser$InlineFragmentContext.class new file mode 100644 index 0000000000000000000000000000000000000000..efa833dc1429bfd30a0edd1ecb21dfadec479d39 GIT binary patch literal 1646 zcma)6T~8B16g|_eEVNr_3-t?BL_W4Hu%H;CMPdR$n^a;f;eBW)b#=SN-6`Tv@jv*W zFB*L?`09@`-svv2r8Vr!+?m~b&iy(wzyJLB31AZ&I${h9wN}%5&z&asq{EMV%i%TK zwYl}oGh*s33})Vau$%;U}C@cN^A@!+pP0&R1Gq!{V-VJnLk`^4hMn zo5Bjp=|Put7z~f1B~%rTsHw85;yfK4;|!b8;Jdb`;3vZGwk3^>j;w)6Off7*OPOJ0 zi$)~38J5kcWtQ`YI<7J-U6N|W_N8!zmqZTN4cx#@hDqwa@cO60@YJka!WA@oz8@Ht zUdkV;5HkjDsSsIlYRi5{hLr4;62rEcj~H^821^X_omO2iOjJl#`|akD@DBKqLthNP zXR-`WA_p3x2#S-acPC9^k4!e8527+cv6tPtIAzexe3@aaGZ3X>hPD4lKzbsS`vL9F z$4YIdzE&l#y?w!t!|F#>^8>a-wbk}&V$W98*}gYmRoyX$(S6~|=PjS^ol$m4DV+-^ ze1@rEU1!MkkF|SiCx`ToAv4ef+@;4OO-~k}gW)#r&^k+}d(dbHBnw$h`-&@P&_2_V z5dZ|CU-3Cw=g4sYkPHCHi+}}korhXyiKHh&DgdM|0!(tH%i9Cc2&fl|Gv6@rg|nJEvunfVAmyt{ll57yk!+#_imOD{au-dT<7TGz(J0n=5S6$`2PBuyQ LKG_u62N?SccT=+Y literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlParser$ListTypeContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlParser$ListTypeContext.class new file mode 100644 index 0000000000000000000000000000000000000000..e874af03229d0e2aee72752da43e6c2ce648935c GIT binary patch literal 1146 zcma)*%Wl&^6o&ta+c+1eZNeQ|E=}6nNrgcIRU#FeNI;}eAsTf*Nk_rp*kL>=;Zb-8 z7O(-q0+lTfg*ao!B^5%+W@hX;|97tQ>-YB`0QOKfkzv^CheP)r_lI06pZ6ly=Y22m zxcgM{(W|%q3oaueO)N3oU&yr9eLoVdFi>Km3dq7Vk+YCTf#Km|fQ}cb83@D5K&Y2v zKczD4+nv|^gj1}+z-{?FikfYw6Uu?h1LaHiALJ zi^&+W`&1Y8m|@pm)K%L#GErgJnUlEASOh{AQN~3JmvEV(B&dWktp&p)yEBK9q*_ZQ z(;hUPBaOXk;hM%;V&bXPgkechx2Q9=vmkw@F-?-U!ef%JcDz6wjE6lTyS(SqA8XpO zc5o~v42JEr8S-&Tx)%)h{!>IH#k6T%I;Dl7B&Z^Xiud0<=cB2QoK7X76%NC(?29L! zMpw>_?p-}847mdlsb^uND7JP$wT{O|L=455l;Tv*O&{*i3|sVIfMqaT#|>K7>8lEZ zPC&6&FU-j7Oga6w59@s?#y~){VR%}&x{Mm(BDmD%_^DRgqCT6 z_M|-+Ya1WWj1zK=E^bq3iQygr2!TrDC(0jCYMi26|Aq@0XeXICqQuD#%BGD?4FxNc nygCnZ^6JIMb5PB9%h literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlParser$NameContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlParser$NameContext.class new file mode 100644 index 0000000000000000000000000000000000000000..279b5a712b01d6066d56cef6aa309192bf84205e GIT binary patch literal 1014 zcma)5OK;Oa5dJn!?Zk0N6DW^T9;Kzt17VO5Jp^%y1Xv0InkYzc+9a!D>PJ~`O8yG} zfdgDXa6oY7MwZlWviX$Z^iXpcpR4?8Z5yP#j=hfP= z+;VxO0_pDFbLBWvekfceg>ZX9hJM6@PCOD#8#W3S90x_5VOTr1ELFKV4i5Ot2h@go zsM(IEI#Sd0YJCgy4C^Pf*Y*=7A|VSXq2k~y&N1W#^(l474EL+;6A)7F!vkv8`Wo)M zg9{oiCnmm1(M;{U5ktLt>Y*`YTQod|QrnM2XB-ZM?D0WB5r^(U56X*1V!~ilYu=uE z9cH-mpLtEMW-7c#m$Wwn(#=rpDn8tP%6DcQQ}rpD-Hpd`C?5G5y7JFb-G0k=Iknmm ziFy(zv?Goe(O6pnPZE(Z6b>yAmT3iTT3lcb3>R^U>>~YLhe0PGSD#-nzQFiIXNJpU zO&w>?$kOJJ)!8eQZIHL>jis;1f8I~Fk)h-lFxe)hF5$|oV3E9r&zK+gb5r0h#joPp zEN_GA2?3SHFO)u@*!YQ3{Ts>|XpYQOP|DFqnY|?0(89}9zI+nM!cmY{1oHX-#K4Uy T%L-Pfp58Tio4~X5ts(yxFv0IK literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlParser$NonNullTypeContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlParser$NonNullTypeContext.class new file mode 100644 index 0000000000000000000000000000000000000000..e4438a6bf967a0d7759b7d849ed3d910c0f3cfbd GIT binary patch literal 1382 zcmb7EOK;Oa5dJnUao){?XIsiEZSyEK2T(yNTp|GxA%Z3f5}Y>aDi|C)*qc&*3jcuv zTtIL@<;ssj%qDK?ra}pq9q(%9n{U3E@$WxBegfErp(Dhw)^+;Edv5i)D=psf42yS7 z+vLV0mk(aQvz~F+6RwU0hC6e)=35^IqQU#3>ex~o$QZ)Vbwm<~BF1ocK9GiEH-?s_ zuzVbbR8Pp=p>_PQQ>ee;`%I&#Tmmb;s=)+?JMW?B6!rp)Jk6FvevBqANNQ zbC*;%JsF@9Lkf#J(g|dcWmumtBSUzHl$8${HVgBztQFfj&N6JwkWDcZws7Of;d}xY zaFHP`r~z(3NrwA{`V644Q29WVuYaZ3R^UqsEGzIuabU`T7ehq)jc2%5D9)K@YFH`^ z3sq-N5PsdXMPu0S2)D&M7QI9)zYG6^Kh-(HPxw<*v-iXSgH|Zk7@{Mo)Oax5`bTr5 zEBrZX(btjSBnv~bDS7wpQ$9GNs>B(i#hT90?TUw{g3g{;sx39VR98cI^0DJd;#RY% zhoear9%(S84gmxdpX>!mbz(emjaDv2I}Wl8E4WPOD&1~Cqc0#{%4*tIoH>N{nXU|1 zd{^jC=ysI=P6for0rBa82D#D}1OhYy(@W)*Z%BTbpvMrR*XIc9yX1PEsEji#lU08kI0k(ndyqfpvPNYBLnR rF$?6lxj1?zv~~_~);0-vMmFF_2+c?F2pN9rt=Xlpb$Kj>kK$ z?{ep9$d6yY^M>;%3Pr!of}hJmbw3FH_ar6YLJJ`x?d>k991 z$itBD3i+z!bz^*b#^=+MfFCd8H8Pj`_c=YllxBC_odqtPTWEQT{mDc z+)JmX#l8M{*&OniGElHkM2TT7T{#AQn=F-27&h#*5*wA4fh!E_m#A#IkrciNO_VWh z;TmQb3WD4Z6E-qDwwsp_#V)NRP($m0T_AMeH3Y2O;P=1fe+8N5#ueh3lDv}wr5EofOQD4Ryol>_& sg0EjjGJBC^l}Oh9kZ7<6RVt_sB14Vh992+`ZqP4GX}(R-q_~NR-?aQx`2YX_ literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlParser$ObjectValueContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlParser$ObjectValueContext.class new file mode 100644 index 0000000000000000000000000000000000000000..e81538fbacdb92de665663501b65a50e51b33775 GIT binary patch literal 1423 zcmb7E-A)rh6#k}5S!fq1tB49J%3ptw#l!@YA~z&xlY&MF_tP?|i`!kCokd>7ckn`Q zFnVF|)<-ZgQ4>w{A&h5s3$!){xS4bI?40lXeCN!kKkq*PSi~I@DTe8K&~#pKugRtI zcrA21UUz+$I}aq^efr#c%w;H~i5`Y~XSzD|sJ0{OYSk6q_DbL@v9B`dg=wPCLO(L+ z#M$CrBw9EOLk*#xMBb4hWSGoXclaKswEc#&;_)yn7ZOXPT+gYxp(^Y6mW2TfG7NSi zFf4TgR0`EVHXQCNPda;d9U1w`Z3-vpMO%DA&SBVuZQ%kgGR&OKjiGmmdaRZi=JIC^ zRVi$lxWq7f3Jbbo;R~6?2rgT=f~yQUK|IKWn7E+~_w&_LfRbukbhgt_E^KM=aSPWp z_>kClRR?x9I2i#3JKseJL(fXEEy%a(`eHq5)`Z;THIFR)8*anrDw3qHcX=+IE9v$b zEH9UJ(M0We%I-j5uv)`Y@wdf3gOM*(DC4-fdMX$e{zIpdqBTC7q#aR2jbs?uP`v(Z zjqkP^(5Ks(pk+3KNY=%wtD)_Vg`C$z&(OCnLiI2R73Eg(iS>8`1nq_0y@toeb~163 zmLo?G0!T7k#|@+~L0?)jl4j914v>CLDx=HEHKae|7U?NW#!gdoPSE!x46*@PavD28 z_7KLuj$i01ElZn&K@MiIH2xMtZ%9p|WHe6tD|*x4$TE$YmctlHotBXseRX_UXO8rD zI%kombAtXX5`a#{E`7wvOAM3_F;aYo(G+x$R9s3Dxl(H*DQh zD+{VwHf*gRROd)7=(K_m!^(eVwf&-053it~Va^?Xix--(Q?84#!%dCv>Y`Z-t9Et; zF@_~~!8bKi_NF50-~a}3TEUqRhA_-9>8@Z5zE#vFc0fG)7*bewgu5lzf0bvIaZU=lL z*CbM%fQSQ#v;)4A>ol%*0-_Ee+79?Zt~B{t0A4zul1z=g!@!%yfdlZ+{wE#$7rD+r ztpP^K$|`w!Up0K4;{2xPvzV*-EfHQa#8RIy@)F_HAx4t#an=JF!&5D)6XOU`{J}gu zrTRw+e(fZZ3mqiPgDCShNxWF7Mp?x5s-@or*?BsR?C}liyv%u-Y>?~<*)Z8O*$CNH KvNDl1`2PYN^+E># literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlParser$OperationTypeContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlParser$OperationTypeContext.class new file mode 100644 index 0000000000000000000000000000000000000000..902984e26169f2fae26836d62108eb189ae05499 GIT binary patch literal 891 zcmbVKOK;Oa5dOvvaqK#jxaC#Kqk=-xAj|=&Qj6da35XO*MWfy~>8dq2cDmk_Z~`Qd z;3x1Oxb%eJfZ)oHLd+)S5g`jO{L?XPaM1OBT-V`d6%0mH1929*xC=o8FYBv;#j#YSYBUFP#M?D#iLmv)e*+>&D zhni5l$yoXp;cB(@Z#nDD+O`9aaAitittitnk!l7md>>^TB?OXr)q}oNLPu%Re%hCW z+tt<-sBz(!Ci3zY)@$2_;Fyn!A*jeE9o z9jLCn6B+1WV*S@1i333>ZOBaDOEX@q-%NP+jaX!v%n0)nGs$O%B?NqL%u@iFo5OOR z|1QGj7jRbUi|=6{vPn43(u2k3GZg7LdrshFp0L20_}p^d{fsRd54~V{3a42b;8o6N z1O)XjaNnX_{|tBK17<834(m6Lm#EMyEU?!GRXF|3G?3XpL0&V+n_nO{7Dp^+ac-mu N=UICU9`JVo?ssIe+WG(h literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlParser$SelectionContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlParser$SelectionContext.class new file mode 100644 index 0000000000000000000000000000000000000000..3a053a7aa5aa8a090ac1d1921e431f470e6818e7 GIT binary patch literal 1613 zcmb7E+fLL_6kVqU3Uh&((eVb}kjq?3>PGVV@0bp|lhm+qc+ueJBum-FlQr!N4Ov1CAFm~OZ&^9{FKTq>Jyd8W-9 zmSb`AvE;iiUfa*O^n^4pz_1w0b!yEL_V%jlD6y{+7=mG7IE4`;7#_r9s0&*(l;t`h z3&UtrsON24L?2cPwU>O4Q?^diT(!C9RjS3BE1M>Flr7D@B~!K?WwnGEDCj{~45Sz; z@p4&{yx9_ts_#m{yRr<7#wMsbw&jQ}O;nc*vIcS~T);(!nRtma46RUa)I)~3LR_)c z;--O1472Cxty!KDj*v;@aV3STxJG3s;X+33AkBr^IW$4Fry@)!xKiBoi6>IH?h~iQ zzNI1`hQS?wXlOtR#h3wlr>w#-u}twkK%{uLw1D_ zrPbHc|Dil{7%2TzINw!gTkJFFg<_Rqq*Hx=a2Xc<(QhS1IN=-g*6krxn`&HFyz%NO z-wi7r_S|l`nf}*BQkU&0R|Xu;3hq9(diC!dIOTBoUR{W@Cf>QIx+%)AoNQ+pywnx zo&qETK=LHukX)xQeHxGs0O^x}&*Vxg+5^xjx=|`me8kv?D4hf}O6Mzvv?Fqz!E6W^ zC+lm_Gl_SRbCCNn{V1RqIxZ6dQ6N`7M*c0*&-otNB-ur>X|ne*@(0aDs#yR4 literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlParser$SelectionSetContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlParser$SelectionSetContext.class new file mode 100644 index 0000000000000000000000000000000000000000..4bb32c695b99b3cd9bda8ebde73d127464329d82 GIT binary patch literal 1418 zcmb7ETTc@~6#ixxSy~ooi+BSS<+g2+#l%QV8(v7%CWRPFcpu87u5Nd6c8bKrL`^i& zf8c-cL0>TXVDQx+WjxbeT54l}mpNz8&iT&eJ7<3X`SBCL3T|6480P9>(|y7HCYQ?R z+mY+@x)*rdeIWVnljr^;E+Zi=3^3e1)z#UW@I_sDVXzhkO6;pN24PtkvXMfX;occh zYC(6nn|#|RORDBI0-sg)LbZ_dN}r>siJnJ@E`f8zNE=YM z(zyVK&T0CyLI66IT=5qsK4GMIh>5~?Tr{AA80}KxAn%Yh-Xl*|6D&*ag_A%g`$0Ys f$j2^-iDEm-B5t)M!xG6H#ibZ<=@ryDFC+CAyyk8z literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlParser$TypeConditionContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlParser$TypeConditionContext.class new file mode 100644 index 0000000000000000000000000000000000000000..5b766628e4beba27cb6e57454cb7f5513c1d869f GIT binary patch literal 1187 zcmb7EO>fgc5Pch`agsW1la}xD*$?alVGf`QQo$h-5Gh26R=sbMRWLYqus0?A6#fGT zxPah*$`uI-kU)YTgP66Q&=#SD%j~Xq=DnFWv;O$&-FpBVDCM zFS?qCfr5@X1M^s5Sf4J8A+t#W$(sz9%xS6W){c%6!^H{JH=IxkPXx0lV#&Y}9Azj8 z(lJn~js;=3Wi}>2#q~zr7{?_-R;?XHaNNKNMNkw&M;^k@%A|`7*G=m`xb}6v%8;)4 z9lxYtZt9#UfXqrSw$sZbMhNS~y zC8FXy4Z1-u3zz}JNt`0POs5rSv;$_#B~5#cnLTJP>Bw-JY(`zBKar&wBs&Vw=uR(J zmfv9Z)z~?Y6ghuJCjEt6&){qlpqLbcwy^kO>>MM1rHgZvT8z9w00eJ3l|Ux_ KA5_j3a=!s@HZtn~ literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlParser$TypeContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlParser$TypeContext.class new file mode 100644 index 0000000000000000000000000000000000000000..be7bbc3713e6c50877229a070848c689ed24c1e3 GIT binary patch literal 1564 zcmb7E*>2NN5Ir{zan>$@u(fQZOO{f%P$(!BFO?{fLWF45_nY*p7#us;H>G?E|G)!0 zuuG)~BoH5km}@(2+6dKs@pzeY?wL6={`2?CE`TL0>WDE+wVbx`l3Q)=N{cr=!{RN| zHo39t^3Ky2)?@B^!qpLHxE(2Va{X0DGN4BOAGvy6H(( zPbfvl5X0SQ6*L^X(Y35TbQ&WV)sfHQG|n(gN7KuYSSCZ{eTLa$)EaB04IO70W{%OS z>JzqbGbrGE78h`lAtlH+SLtTBQ>-7u5cJnKJ#137w4vz6v$&+_l48g7dq}r391Vth z#nK6w`^Krt5MOaNN!xJUv_+%aZjxBuwCGLJ3hg=x{}GFcKVu(Qr)Djx(m}_GEE~>l z&E6C{3|g^N>$O-7CByuGOqH$(r+1z1dPY%m8FFiqx1K-ZonGCl#Q|G-&FQ)=@xWBn z`9nKAr&flV)DWJ0=y;N})ok+K-yh*oLzU-!t)@=&O|ReZL)$;*wC^MIg8_6f zT*ei;UZtn&(C7}xl=GVQ0jKt$y`@J+01$*eCEn9@f)WP+nE;SE3iw2+lb9L=V@`VlM53luXHZ&J)ryoJ<1gE5ys literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlParser$TypeNameContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlParser$TypeNameContext.class new file mode 100644 index 0000000000000000000000000000000000000000..fad8847f5421d249c97a2daad0cce40c4a5ce472 GIT binary patch literal 1146 zcma)*O>fgc5Qg84Q#&6{+k|fjpG}LMAPf?y5~;XE0wRS7(W>`Nx=LLfJJ_2NehUAA z16)9GK;_CGLIMQL#&!upD7oxZ_VOZ}6L+1tehCGxW??sNs z`>yYD=V8c4`_H{6Jd8wWAj@!jA=6ry4@E2RrI^S9bQlJ5Ch{mS++7T?^Kv9+APma` zA)k)Dl*+JWbq@F;r(FGk)AD!}HQRP42nP=Lr58GfcbstSOLr)oIR6>%W&tKj29`~% zV3lEGF*gQ%i*%9q8E#mMhHBfp1}Y5K=M>&?BPo0l7E#7Y6Q^*Rp(IGcFx7(Lp4FK{ ziA$}eE=doX_O8O7HE~X1O)+t0YQm89saw<;%U+N^)0if?w}L%#U+K8M=#GayN|^UN z`eP<7Yx{d*!k}4pn;}0fN%ex^)_+8lp-7sxLtm*dR0JuqEqVXhV?Ih^iAg(24!k$eDTzu+wMpc|RhnUw9t^MqhV!^U zYn4uG(C7;&)+?I!4ogSS-q4ZZBCWc*(!bJ5Ge&FbpwXRCZ&cr-`1aVifD9RbgRXxk z(@VIVIH*V}g0@G(MyJ3Z=#o%JmO8k%0=5nPwCR`Gv9p tTvJf6GP$qKgPi#XVrT@({()$yO{1)1W4hD0(_W#tN+64#zRKA~{x{oTALsx8 literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlParser$ValueContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlParser$ValueContext.class new file mode 100644 index 0000000000000000000000000000000000000000..8c500b30cd0e4eded95f4de2681e45a5b81bd651 GIT binary patch literal 2259 zcma)7TTc@~7(GKNy)Dod#Y;s&6x*V%7ocbn1r%*k(FoyvC=*=S?&@@l_*483KIn@^ zAB?{Gd%VWP_|5i0=`LZ@WM;NK=X{qr`}NzuPoDu4a5sV;hVvD>s=wrBl}pFu8#UeJ z6~i*PeqZwEPhXgixvU8pM=!z=^l6A7%5W_Z>D)Ru>te~a9I@*#M7M;qW^W6N;bOK_ z%9U-orE|+MrM@$z%ev(lRiQgl2z^b+s$p?+#oiRf2;vMg!6M$X>ebGuDsN3gKL!{E zDE^bWxtGvfw)~9maH`na(w9tLs}&E*s?miGHf5D$CasA&Xw5gdWNnIFhEO(FQdg`zqh3*lD+jpL9WJh0)@aPMoJU?^=wEesW&0t2-n`VP za!f-lzG~NHMJyXiI=yc$URDEy>RJ&s=Yd_LDW{bzGP65PM2#NZt8LG~WcOt;q&!`x zAl~kg@wys;F&b{eG|GViFr34AS|{jf6d^hR(R^|^^d6zNbf))^);{%p?{`|We&}O< z=pTg6`JqSr&_4;C_d}odL;oW5q#ru%hyG3Ii+<=KKlC3$U&3WtRZqs7JxS!#F+wN4 zAlBWMzXa8B#Y-4$5C*#m{|I^&*Sv&OgOKVXgc(7vW6DcV1yD*u-Gp9((xC1jgs7HC ze)7}@9DUcm);N0L{ym4I1f9lAlaQfZ86lKB@}>=TJrIu34+YFNfdvvE38W{#BJ&#k zlV6a@f5b=+RFEFmJB=V3QsI8wP@-TdqTf7BWXvm)B$3pfNC-tY${cRFJHtHfd4$Q| a47U-Z55pZ=2WelRT?JmGeTeoY#Qp>9P9>NC literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlParser$VariableContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlParser$VariableContext.class new file mode 100644 index 0000000000000000000000000000000000000000..2c2489ac96227a6d02d6342283ac35644b7b1a16 GIT binary patch literal 1146 zcma)5%Wl&^6g^|NaUSj?;SJ^4G}sBMd8!hr*hB&%r4gc4_LFoJ431sKlagQIA6UQ! z1PfHQd=%nNY?mN}lFf|AbI&>Vo_pu#uW#Q0?4WMJVAvW&Bkvs#MqH|Z_hT>M13&b+ z_e}DmS8szCT*g9LSYo)hP-wNwN1_#lN=#G{Ian6*HVP;*JX(yP$EDBvK}N!`Iuz>V zc;?5h(|OI0IprD-y;i{ExY>3)ksNwFRDtx4A9`{eDt{!rB>x$7vj`h27FKPnVV$A2 z7>pseOTMTl40oJGrP^-KLWSY>oWeVPtVAee31ytMaSrDhRs>lnGcOn(JDoW!NvYKg zlJ=nK_B8E98<#Y#EhfIoLKv1p>K1jzaTjEt>28zYt>}>8YaKrn-SMa|e@s+Tq)j`Zugn-Kf*jdbeDG$EAEg?3T}r}M+>gd`AfEb~ zy7JfPZtF>5$ah7oo=35w+}a^|JslenGn8gZqEa$%Qu}a|X4s|&11y8#GOp0NL8nca z^aYga71R8TBw-E)||dFYP8af(V78Fy0hwyjV~yDIt?zupkNm{qfVjMa6JWR zC9PntTOUq?6Xph8+@RDF<{cs+3RD_DP=1e<#tF*xuQ+2six|_45|M3`4G*_8DOj1{ noAXF6{7Z75NFMwlF;ShWY@s&YY20bAkghh!p{K8Nc2W2Z!Dk#d literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlParser$VariableDefinitionContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlParser$VariableDefinitionContext.class new file mode 100644 index 0000000000000000000000000000000000000000..87cc26b426edcc81c531174fa66103637cc66bd8 GIT binary patch literal 1622 zcmb7E+fLL_6kU6YQH|idWF$t&ydQ=mRy!SR&mew^|KNkZ zX!OD0tAAo*VxlIRXpFnlc4h<(<)ypr*=y~~+WUO?{q`MzB`oTQ5vHp3n(;(fHQ^{r zY`BIcs-|rUjxNIGNUoC=;h18>k}Gvv$z7E|9J-F~6nc;#Tt6Dg z4SAolQD)r^=m@=AQr&B`_zBC|@F6a~i3Z~uM8i@QVKqW{0{s}!kx5|?#|hKXk|o5Ky>471 z%x0q&Sjts&3=?J!Nw#ddO4`y%VhATv7{y7#h-3+!P|&s(gd5rNA$)$TThq`62SOHe z6))6y3a7kK!*bW;7Wt#ob|!T11V6do+1wGMhOr1;EA>rD=qsDHTy4}gq_ge~DIX|S zm4`brcgGYI38~EvbqQA^({PRZr^2HPhPz~M%3Xq%&6Nl}O&PqYCCvXvc;(1oyw~|H z6qB1wNUteTeRM}`2NidFt@haxYxRaxl{Za~I`h}c&v`q=?O&Cyx?Oh_=T@?LKAH~k*-9sY z7^m|Ear(-x)0hbWV{E+|wEp<>mb0JxH$KQB7dS340aGATc#olHNEh}nlz)Sf7`z~{ zX3c((?--yT$a|!q0frY2BN;nL@{>t^wMjJ0Hltj?T+(++a%kI KY}0Hnq2~{!3a|eF literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlParser$VariableDefinitionsContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlParser$VariableDefinitionsContext.class new file mode 100644 index 0000000000000000000000000000000000000000..50dc7d8f84c1e62d674f20180b4de8e11d34fb22 GIT binary patch literal 1497 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 BFmV6? literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlSchemaListener.class b/target/classes/com/walmartlabs/lacinia/GraphqlSchemaListener.class new file mode 100644 index 0000000000000000000000000000000000000000..1bc39dd9baa15f991f9a3ead49830404c12dadd4 GIT binary patch literal 11325 zcmbtaXJ8%05uP=W#kMRx=}ETSurUT~jQubnfnbc0E!kF(3&=RVoSx72Gq1?^-ZN5q zgCwN)9@2a7AqnY?^xk{#y(c8IbGv(UcTaLg{D6;{z4^Yq-MQI)gKoX;=34;ZVs)X0 zc?vd`8@1APLA4e{t!gmQELDSYrCte2yP{z7=<(`!`Dj=R#wyKLSPvr&rz$8M3r+<1 zT>VIC-^8)7+|qCd1sfXCky21^Rio00i%L(*7W7h6nJ!9F2m$u-*!z zl!k(lbz}e6Y=|#fn~L7iK*Fikmh}e}^oCQFR%#R{O@hN=vm8|>Ta`v#!48=mi{)ZH zMvRRq=q9On;fBM*3Wj7tK9b8UGBSQd!2pTun+&7Cyv>2>$&j>m%e1ltT(aLtW*<RE<)${vv!+~{TI?r8-}10*nRqZ4FQhVsnB&Ut1L6!7R{m5p*Q3gx8g=E^JH_SL zM{*%5$9}|>WA7M>j>In}EXP>_E=lD$`#^5@P+7rTcMpTPVtV(8xr=hepElcMX=3BJ z#zK=Jp0CH#k4)jAif89`xk4PuMY^4cV~vmKot3b92vwTmobZucg>u4=xKcP;o2-U4 zd@m}<^iIN3m}B6gR0?xXxU?9pPqvfQ6{ZCb=8}{ad{99@?VIHr-OZJz;=JOUYbu&6QvFJeCOe5W`fyN=Z+YUK zOoF+b-N|IoRm<^mPz@qVR`KQ4Msgi{dG(x&Xy2}>eKN8O4Bxu;~H_=I=;9%8twy)Ys0#{Iwql9gsNjQMf3{sXi-lDzjYSq4z@P_0gxeRTQAHf70Z?vOw zxU*8lBDO5m%QU6P^kO%eHY^@HqjfZPRD)(SY-)HRR;1h8MAh&j?B@zt@CQI@iuTPk zyi~#E0-m+3k7_ya!ku?&c!h$?B*eaR>S+sEmxfnk(nv^s)6bkWSaLo0k{L!cybepb zL?YJ$^%{dS4QY6zf?X1kPEAg)vwW6O4R29!r9|o^txg52PV$6?w=38!k@PJS-W2t( zw_>(o4et`}SB}jK4bC*A;XMlWO5SLeMx&QobMl8Y+#(dFn_TDiWg>j?hctXp!8XYo z`?cd=S+Rpx!$*V#(36ffTjlUu{bg=NRHc;Z6VrQud#+3^haw}IzgGQ)_5&&+kb zQNq(F>z#Ntd|tt&lC8|v%I>s7!?(Dl4Paa$z}1I!At{y*Zy&X9$;oH;FuPv4dBuGZkDS zDb{rMdCo3wYPD8)ocNOA2@6@5R_6-WH0k_!*4~^?tMi0M3TyLt-oCt3tBrFarZSf$ z=1#3H5U#Fo<9OOa)`g`{!72F9Y51pj6ZkiE8cqlEw{`O^E`Wt(cUfEn-DLMzEI=>W zeHM$*PxgSt#ju3zL5oXa8QIG%u7H(fpJ8zotS0+Ri)-L4ve#NX8_ps7T#M^qJ=y13 z+yLj3z0u+(D3N`E#m#Ub*>|*f5!{LFJ6pUME+P9a7B7V@WM5`+D_lh-0TMS@=?6So}5R!e^;t@DXcE#c`xR&gy#TwMfZdjaz<77t`o6sV= zZSe$LNA{G(X?OtH5489ocre)yvG`DU7}*cE_y~9;*^jb#J={R{qb)uL9!vI(79R(X zC;JH&p9oJP`^grc0#7CTX%?Rj&mjAm7M}&rCi^)CVIDk}{{1|7K7hIrHp2_xCU`M^ z9WOzA8RE+kUy1lC#MdCc7V-6nZ$Nw#;+qlQiug9fcObqK@!g0wBfb~$eTeTz`~c#I z5I>CgQN)iSegg56h@V3IG~#CwKZp1Q#4jR#8SyKKUqk#l;x`e$h4>xB?;?I5@dt=M zLi{n}PZ58H_zT2eBK{ijH;BJO{5|3y5&wkv7sS6J{vGiji2p+TH{xxG|Am_rRtGf? z@l?dq5H;fIhzk%GA}&JgMl2xqA{G(*5f>vaL0pQs3~>eGO2k!&s}a{Ao`rZe;yH-x T5Z5DaKs+CD6JiN*GtB=Vh?U-7 literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$AnyNameContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$AnyNameContext.class new file mode 100644 index 0000000000000000000000000000000000000000..902e504d74a696fb1163ae2b239c2a60356e3458 GIT binary patch literal 1486 zcmb7E-%ry}7(I8zb*uxnDT)FzWMH=eMPowZP(z5|LR}0SypqefflAk6+adlb{trIr zi$)&|zWPTQzuVOzZp87@+aKqg@7(i!w?BV<`wn0k4^_k%N)5MZyybS2dx6dOe8c7q z%dxnz;ql|cH+HRYD4P5g_k7{07+`pE1wy{co1*R>3CCY^oj{xhNyMS5NTe``B*WvY zh^;#Bq+X=NFnl0_t(JZMVnsJ!^Ak>6a1M+$oBMvbQZQZbz~D|`d&bEl!)rN#)f7g1 zLw~W$(pf5nAq+DlNIA64Ft1lG(+E5vjJoiemc#9;yDvy1jf{$H3fFOiVXnW@4Dl6; zJa{Ur^=r3M*imtlVWF=CP0J62BRmbG7)#+c?l7bTb;OH8Wq78WeMz;G%U^6pxv(Rp zCsLS{(waE6f{t?1=}ZB`s$RHKovsNgGYqUz*bF14<%nvlxhK3j-?QmWd~>(Hwf&r- zNL6}<-`z6?b#r%p)vOVX_|(msyO@NltIx86^6kuFgY^}OP4e%)DI)7({%ia zo#J5_ss+4p^pYP(W)m``wpz00w!DT|x1{t~kCV43=bGlSD*WJu>j&hp;!r=sAs0SF zrYk2p9~XOsX`1jf9ep4HhP#-eYmS~~pwJzl6|;)+8Q0FBe56N41Q3NjX_IulN5D2A z7ZDQ0^b`@af6-Dn-wU1Vh0YOrwikN37kZk|bhsiX(z-$})naMl3r0S5Y$p*T+cSu3 zd4kU2enc3jRqjmNGc_8w>HgN{N3TqXgMK(_P)qwg_PI>Tu3D{jRgi^Rfg+C_9^ vv;vA!6f8sZ(*H!pyG7TXVDQx+WxUfZSggkOW$x_koO3_Uz4PPe*KYupaNR_Lp;&7++~?eHaH)L0 z8M;2Nd4b2>dy?;LKl7`#ZPDNlxeSFgF~Csj12A(()}w|9)M_(OVo#+o2-8H;hJ_Tv z%|59rUUy4C6M=;{t~lJ<|fkjwqX+u4Ps zl@h~khotQ@=@TSW#CHFbgDtVgU^w|Q#oel`ZVZOSe<-S?Xm`*$?T+-JIx-AZ6|X&g zz<1hZNa||FY^iE9k~MMH)70aC8P5gX{S3)95vu!5t*c!QNch$$2pW(PlBF{T8iA8i zVv5FNlwJprWw?aPNFYaF+A^|cA!{7q)JNJfx*T7F^#WIDpTKkrG(&5SzNcZ(8IUH> z!~xQWF#ZI-q^mS89RPy>W}!Iw86%%)8+%D<9_tkbt=DvN6|-%?1X&%HF*^0(__B^1 z)*D){!J#!rf0l?qhmtLR$JjoGiia30e8IT{w39?DmDtH!WUP0{)2RWLA$Z|`Boo~v h?}=ppH;I8_%gY?*Tb5ygY?l0z54iLg>X;W{{Q^ahbtnJ; literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$ArgumentContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$ArgumentContext.class new file mode 100644 index 0000000000000000000000000000000000000000..dcb1b6c6c8faa6654d7eda8bcc4183413dafc62e GIT binary patch literal 2116 zcmb7GTTc@~6#jHv8BMGq9{caOVlQn7$Lk5?Fg&eZQY$B{1pF#5Bj3f z2ZIkLMiUbgHPJ+Wit%iBmzEYI+lM*3JLmi6T)sK!$3Ji00+_+PiZ+IHp)j2DGwW5z7@(@B&hCm|;FhMvKBOSb9b3WpkIKli_+Wjt9JI$W?As z{X(edX1EcEM7Kmi>YF03+kSl`=*1BgM`JjKK8DeQm60JdN8*w54CBdzmOhtSRdJkQ z;y^JwF$z;yQS@Ulh7&l+5GP#-Yr#_pWuMF+h|871h!6C-kV&mN*#re-Ho!H(H;7cva(*>X`ZB=Wi`ma3&SVXg2rgT8b~Pg|shfQK}xl1_;h>pEk& z8IZ44q(m7jin{C=vVl44Xusyv#A2fi85V=GHp1()F>g%d%%a$0P?D(}L%1dw=l(NH z{X?kI65gO#p(kH|3xi<@ z!?cdj+b|S*0-|Hxit-YNcAz|`SBA5+hMcYNds;_vj@BkX)CEMF0UyXUiBu~f?gHY? zfKTK)hIA_+;Q|uPfY0PQj)_)4mka1>27Dn`8gvZ+h4NF!(u1$i^I|vQ2-+y&uLy;| zk?SNh4=_O1sglw;^laDJt literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$ArrayValueContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$ArrayValueContext.class new file mode 100644 index 0000000000000000000000000000000000000000..b83fcedba0a0355db7cf8cf64416dc333161a10b GIT binary patch literal 1436 zcmb7ET~8B16g|@g7RvC^DvE+y1##N~i-`#)MG_@Zn^a;f;e9BRvbx>k>@4C>F(xKz zqKW#TFBp9=`09@`-su)wtj6|b?%lg{&i$SrKfithu#BrV5)AoDz2-g=W0 zMa2s|;oebVcjvKRuI$K~xGz*Fm5n}z>pcKwH-#U`wR)iCzD{BQwv9oKAtV`Y^ulvf zDe<(OjA5)Q^@GSiVhaO`B3=7%V5^2wOOJ1l8CJ4?kf>DOi;|vTd zodm^fsjjN72(+)fx`QzctWdf2D#N_ft*c^o z)5a-=g|13y@|J;A!kli#6ra8_T2cvS| z)2&Mk{d;B<7}8EhPZ;{v>f7{htmFl9J*sU42GqDbW|(ZoS+TTj`~9tWEd%HQF(Mv z>^2K9XzCcVCCl|lRpf2YP*474Jr~XNGYqcFP~WYGnj$O))cD3KNLmoyo&ZCt)t_b) zago+zoL&czWH^rtNFYOBMlzCiE^Qs4|0Ai4F2~ovpW_ng3CuJ=vvg+Ydj=NSfMEhn z9botn)}O!^bd}bn4PX(#&gG{+W9$>Dv6rOb;V&`3Uy{s0NxKu9hhPKOl zj_+{$vE&-M**=z7hk)kX{w4 z9jptV;d-%NFEs+WYI9$?(%!sn%f7E1PuNNdVYh|!9G|<*U`1377%+8M7P2_ba5Xk< zRP$2b-P23mA#3Vxq!urAD5qL4b#&wzZXC&M!wHq}g*1`FgoR0*U?>Q3EBE_ncvx&4 zi8rbzu6fl`ClWbj;dCUD7XwEf)JQEZx0jwjVkj4n+*pQWjT+35YdF4W_Pwr?(iUomfCcre|kku7_u$Jd+Sg6 z##k*K`5DoSR?wF{vEW4LGcjX%^9A4JG)zqqswY86b7j?iI)s|b!%&0_llvPp9zI;8 zVK(R@04Wd`XK6i0U$fBY4M>;sGunG-Z|R+3Y8(f1i@v7gqG#ixKTtHyD6J9uGO;z< z^>Sr;3z>JjXafnr+(yd$M4{(#VVp2UdsK{;FTdFhj_QT^nbsMqc0`^h03k3@`G(wU zWGg$!l|Q18KqQhF);|*Yih{XA?gfgc5PcgrapE{_obpkid^WWC0L%fYNU7kE3WyXcM5^33>5>{8r`Vg2zrugu z02dG(P`UDVkN^n;%*IZ!1c>A^yX&2KZ|2RcKmK_49>69lIuZ=k?x1f!<8Gh((&e4N zc6rzF9B$wB`N95Ex7FPjeg1&^f$()KFx;FYpxEZ_P}B#W6k};11zktlLKyq;Zmc@WeZ<>tWe+1!(^Z;x)+{?L<7U)W(m zvFMrs6FD7=CYF$ASf4G7A+<$v$y*FpO0!Zm%55D5hO0A4&~ySRJmF_y;h2fzIKf~E zlGKl@!mwRx&V(11UW^Av9jcYvie$yaDMgYOV@Jl_7?LB^P^ENvF0y#zY77hY!5*P3 zH62gv4Er77@A8gIU(Beb4R2438MIQl!H}60t9r$7{U0JrUqnsarQK9ADu^N1lDzxm zK0k;!(yFWw&1emVeplRa6!gkpCjOe5Cx-Nn2;{v%ASuI!N4=N~mk8(>uZ&?iE?1-~ zF4Ewe^yGjf7*691*;P8NL8BdztrRrvHIj$WUeb}_EZLO0GCq-|aU?qp(CALDR9D|1 z`|8NqK!Thk4O$Dts{|_1|3c+l GM&=iJemr#m literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$DescriptionContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$DescriptionContext.class new file mode 100644 index 0000000000000000000000000000000000000000..08883ed6db809a3126ec7ef90bf3adc9646fe569 GIT binary patch literal 1149 zcmb7@%Wl&^6o&taLoSX(F5FAG7sv%L3#2Ym1w<-ZOCdre%6{UGQWM7x<4MV@@D40s z1A+yDEf0k_lZ4Q!MwEqTZ0nrwKmVCCKYo7s3SbkJG!hJTHyqnh2e0@6r@88gNbQCZjhN*GbRI3AN0Epa%7?nN91Gl_sW$0G z04Wd_muOw1uj?@A4an4rHRB_U_w>$ic^L=Rps)3~=z3iA7Ddyv(yH0Fh;7iGuGQB+ zA^Ty4HjyBeCQ|G%g3-*N8YgFt4yh-^)K)L=Mg}2DpzoAh3 zj8XzxBQY<3q0vH#ZIgLunq(;=X9U$o}a(IeFv}#+eCz+)a`j;Zez{Vpc4W)uo^qw#yKl>`r<}I1 zgOWngWfK;|gK?7D<8JqaJc%i!O-x(JAj_~g8Yx3;jpSDA3`_Y@6Ri~XOk7}C9x2zV z<166_nL-YiEL_G6Lq1!&27rz@Lc+tJW7|5&~i zJ=hHKn()<=j;|=gibrkjPr2}E8BR;YkPB-++!-reCvMV8PSJA!vJCUMO6N7Y-G)J5 zK&qHEjL(=jhVhZE4A%#)q(9wm5Wty$R1lE*J7Ak!X*WUv27#Hy()<@pej1`D5doqV z#G+5h^%kWPFwBwFDH+r04?}02HKNbxT)-VVb?&PKKoH25ejxWAlci(iieGUt0! zmk^NDkcqy)BK@UmGZcRJJdi7AL3RkF{s+WBzRyxXv2W>#B|A$DTG1tX`gG3AWK(2U GkoXM{_;RTL literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$DirectiveArgListContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$DirectiveArgListContext.class new file mode 100644 index 0000000000000000000000000000000000000000..cc7c39cf625468676eea3fcb709cbb7ff78d5f50 GIT binary patch literal 1501 zcmbVMQBM;=5dOAza!{@<6bdM)D2Uebc zHu?!_#d=4!TplQ2y2lS)*$tG}7H(9XM0{c%!?=aKjR{OLEDZ)@7}}uPt4)SwXV6f! z;+};mhLwQ|sqZZUAxBZbjE(EK!B7w+j7&tE73Ax@>Zr-RMexT%9p ziW5)u$FdI+ox+fJ`ov-|tDOTuTGzcm>~!1vLhkZ?pFATCuN83Bm9&4^hupaGE#hvf zY*rYy98&+PbfmQe*VIfGoo;+(ruX^rbB$YnAfGDXx8>Eu+KHF_;$a(msWS9%zx)dHP;}K|WxV zK(nV9J%jN(Fil5k#1a6509L6y_X)X=w2h*qHIJFWkeMaVJuJn5S+Y7UV=Vjr;;_yf zW{%eTaA=*UKkG!GQ^}XVq3{lw@)-)H&zMd@2TAp=5(UX)+?+s>yaw1f!At)lne8W; gB9iG}BnHa8D9c#sS%y`zd5TLh;L=N~b6&&9Pp|ok00000 literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$DirectiveContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$DirectiveContext.class new file mode 100644 index 0000000000000000000000000000000000000000..26aad62f80fc640b4fb0dc51ceb2de8408c45af7 GIT binary patch literal 1454 zcmbVMTTc@~6#k}zZ0Uuo3Ig6M_5!RACM1@SkQ%W`Aw~%ALz$G-?G|UJSbvKD!3TZO z=!3ymUrbEYL=*id#xvdRLPcZi%bc0XIp6utch1cFpKsm*Sb}XK#!#p>>h@#d)`ilp z*zs*wR2|O|_L>s=dym}B>Yl8NdqVkASr}lr)ki>P)qAob>ax`Ev~1}F24PuXAPDsmVj7DiJT!#KlSZ}}Mpmq~WL!Z4rhm2)|_ZQ(S- zLQk{}N9jqG#01W!Fo`MBP*P)5q%Fg0w$c+=AYdkn42v)3whjDr3Nr>iEnAL`d>AYd z%mc$pHrH38?m;Rt43rwXl3}Fccygmz-;rud?6`C@y4#tQurCa2eI|<-cXyVurox#k zd%Lp5z_YnB!%$m9GfWIO{?a_HWH@zOwCl8j zh4hOEJ%Jd&KVgu6Cf6%OCCD&C)==W3>1UC%VGaI;)(o!EYPc^E06}29@D3ACkuDr! zBL5m^VlYW!?Gl0{UopnNVUBL8+A#{h{x6VoCqcdw$d4lsj%+(i4*9mF|Cj7EWiX1) P)4ymqFOW@=UBu8YD>8$H literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$DirectiveDefContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$DirectiveDefContext.class new file mode 100644 index 0000000000000000000000000000000000000000..5df29467fe965474fb2d7dceb122f24759f0cdae GIT binary patch literal 2157 zcmbVOT~pIQ6g^9T&<~&mK@e0>#L@ymMNx|&Qjkh54pf}c8JVT55J?kE0^(2cKlq?8 zI{M(?t3S%|Zc|FX7^%~ly=i*Sxp&W=-1PUKA3p(1;h~BKhFI3hY45p_A8QqcWL{U%&oFkT9m^htDeM6Ha4Cq(7+?qsa+Y0`l)T1}h@{TM=k-&| zsPU0?S>#F(S7niqIMm(p8iD1FL~?auK9gKuV2DP}>|}<|i7mN!eTlos*GhH)W zr?pw$R~BiFV1!ngeYKDsh<5lWJ8%SFC18nCqqXRJYtcWU>=;I?>DxW}_DcE`rH)~| z8W8pX;Yz>?rD~X{26TFW&Pu>4rP4es0VuR{H5%*xhORF~dHiS~d7h(LS*O$+xLE-7 zQIvuzp}?nNvZv(>`r#HP3yD)iKosbR{X*YIw8oCm7yXWl4Uk0|@@L=`d5N&{3b!RG zSeW2<{zWoaP4b#ZHcm(s`kNrD+{L|oq!$UrD4NJ83~~7ALoZBP+bKSvC=1U}?4&pg F-(N~dI#d7v literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$DirectiveListContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$DirectiveListContext.class new file mode 100644 index 0000000000000000000000000000000000000000..c741213bb75837b398baa3f04ccb65ef68108af3 GIT binary patch literal 1471 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 GBmEoKZ##Yf literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$EnumValueDefContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$EnumValueDefContext.class new file mode 100644 index 0000000000000000000000000000000000000000..8e02026447f3d96f79b5f6a0545b31bcf5b6bfc9 GIT binary patch literal 1698 zcmb7F+fEZv6kVr-Os~)uP!tqJ#9n|wCE=ln7wV-+B}NGEhv^YU=7KY)$glVhKIn@^ z9}K?wGbSb`Y9et@JCq5<*m;>fm%Y}$ti8{CJ^b_;z#nJYeAClR zt{b+&wMQ=B-F|7V>D$8MPr2&}S4AJg?FfLWRc?uOXGhrHiepQ$FO%qpsv@370!fBD zQOF+HO>2XjO;Huk13HF*Eg_#ZP0@L=RH(n;dz|X9x3m?LdtRkhtUK>vdd0}OW~aTu=9rLiaKh9^6X$|9#CpT-b| z8K!$HfT4eh)RW5$GlgD@t`#>_oMo8pDQ7=NVGB2f5sapB9v2vLg2Z*h`Y==r^`7|J zB20zBK?^Fy4L`_u8W;T_S+Q@(up2|t?#vg%y+Sck#ID(_F!ZfB4Z$#2H*B%mv^Isi z&NoeZlWH96%y2(qsO}-5SeZsxcE4fK@~?*BM=fJW2MbZN8)Bb9DHLlAiIzbAq%+L_ zV=$yEf|XdOyCa!N1WI*Ha((9s-wnDE_oZmFCD)v$tBZ$*Pd$3dp)u!gBSU;uc=EC1 zNy@Nh)BLnnQ+PByT|zJng>?>UW5{>+kzx3>KHv(SGg&(302K_EFhSSL^mG*p-2tgm zUQyoT%mI|Q^vDPRg3zbk?kw_G{0}~8 zOfX=AsBiu#HJ zs^dA_e&qAro!4%;x+CiRDfa{6>*!&){~rM}>t0x|a5ofd;>BvilVV>c(F_3*kc~W{bX>dS1hSy=Fii|#kYVsF z0>g4AKrvft_%)k*()I1Vd$u2X(y0qODoq?qYSg%g)#IlQ{m+b!<^ME zRWV!9ahYMht17B{3s3m{7{j=UtGLFH7Nm;bt`pU7-70kj7~TDh$}L$6*@~i>G;v+g zq{O}>&#{=Itve_at3xA(p4G;-Ac;$kCpNewaf|i|WST)Uv`*7^1{(Q* zehQj6K>rD}^MMC+l*XzpK%)RXm!JHEp%1i;Sdt3II7F{;M4sE2jRPjgssduM` zRpu~0(|QLMt<&^pi2zh8>HJrWy~RNO1Y@~FTuDHYB$`)=NRE**z936p4J<|BxqpF7 jbb@>%kng`iG~}BsbC_>hh6S=|;w28)^mMA67t!|%{St|E literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$ExecutableDirectiveLocationContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$ExecutableDirectiveLocationContext.class new file mode 100644 index 0000000000000000000000000000000000000000..b0117ab9b7c9e1a5c91e66a14365e101d712a571 GIT binary patch literal 1183 zcmb7DOH-CZvlCVeW-Ea3=14*uvE=VEDnu~JLVGZKqO7@=C<~)_#a&8 zMn@NpZv9D)GM=Or7a-I{&bdj>`M&e`?)SsbUjQuQW)2!d&5PRBYaX<@Q~}?Pt$=%e z=yU6_rtpgPch_og>s{P5i;B=+jhl?VnAUG$qZ5cDzU+PKR6R)8PNq7Rvtm~^a~NZ|Jyh?GA1e_GIf@b{Oq|CB zhFL+~%2UR{&?-Aa!S~A>Vzeuj&7_1&CN3u>%!r<^POV_N@uE?G?yf#`8e41jMx*Z9 zn~g1Jy}s(&>rIAgdFbUZjMQmK3?;`8MYGf17Sc_0z+lq8lZDvfj_5Jy<%-QvNavG$ zX1M#0y`&OIyLU+pf2K@bG89{id;3rM!GI&5^x8)=T2V)O;*p;~UpYbFcV6-?CmA+H zte!+MDbln z9~^x3qa1gdwDf{wV;{~=a`swhU)I_E_51q|0ISGI@GzuGwW|D{t5vR>DnBq}m6sGv z;qs2o>xb{uV(Cy+`Ae=FLYFYauPXA1%vzLo=1CknMCj z&}j)FmjUga)J3r_N=`r$E;3}?WRw#|NmuHoQq$TTBW~-fR|<+@w(&8BC$3^pbWt*u zBhkSUz$h+DxDvuuj4{j(RzU{e2IwVzyiuByOvj`W#QVI;Q&?q#1^? zwX$G{6ckPDHmV0g-{S`=eHk_#Sus3zc}R~S>6BpkOkxaMF8TWPNt6<|755)C=#nZ? zh0C4dW5~IUuM^&CAT`aI3wf<9jv2i1M4rLll!swJ>L69L zBk?046Z9upeutu&)r1}978xZLQq{(#-^ZkIR z4T$yvGUQ5=tpnht{G?=R@+&TVZYLaohZ5d|&%Z^k3y>Ya1X-&}-jS(~ZD+eWS=v~{ zJ;!mC2#5l))K83mKsa@Z@#Hs5cwimkX;#%fWE)Zc4wfuZuqeUr|BK{iKgly9d45LX s#d7nM6+CEKM*sMrZC|s=Yt(ux=7(g1WY@`t$)?Fh$Zn9e0(k`gAMYqKkpKVy literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$FieldDefsContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$FieldDefsContext.class new file mode 100644 index 0000000000000000000000000000000000000000..cddc74d3df0cb1667f98f0f48b0b4cfa466db799 GIT binary patch literal 1446 zcmbVM-&4~-5dN;Aq?7=qilU&RAf_!4oYBFVR0ak_J5w384DUxdN;FOJaz*|X{|6uR z1xFtoeD#lV+-njSuO{5q~^;Xk)!~G_g%I7a!nTP^ z4D&s8P}eO2AqO#raSK;)l}Z=Hh)npQ-mTizp1`8IPnk{Va0}ZSe$v7<4L>A~Jaq;= zvlmYSL*DMM1{n+mO-y zjL@>RR$JD^hNq#&|FEVDdIuOXn<7+CTA`v0D*@5pSqMQ?k0ivLu2L?sBy{2?tx1mF z36NyCjvGi}ioUdDB+X*pI7a$Csf;d1*O0!CTcoEj-Eo?sbBeyFVUP_NB&UgE44%OF z-SGikrL{TZV331ZEKPpI$OlrRC|Qk@cF~_MljSyMV}}WnIxQoYe|LIWXO8qkI`6=y zbBg{f5r9r5U;2u%w-_p&V66BFms8L|Qk_zwAS)P6ucAO!18kJsi~j<2w!PcKy*x1Ep1by7cth- z*^*YRW>U^b&C*Nhyk503wvJc~ZD?m`_hz6s^e4!r@)dI}tr=FyOmALDn>EAI%RKGW zrH-G8;3&hTAn&#C_6FapPy`(emxIPnZ&~#zjxme}Ns%))YL=|yIKyN^NhC2R7&1Zf zEE;;nsDGQ23}b;4NFq)J{3z2#tz56+!N3)@xVfqoJzw^rz^g|qX=c5QhXcx((oJ5p z^vyaMQ4Hac2u{cFD3T1P_cyN@nntNDSYr%llKWi?xzthw!whHl_4Vw9$qjC{B84+C zoW(hY4o+>u^sIb_>12Li37y3`T6vk93)*stMp_E`nxR=Wlb+{&k)wgc%MCO$mSMP(q<$2n1imZ` z5zA>i408vR=U_tp4iA}=Y zq7S3hdv|+L&<0w)l!Z#VQg;eCcu5s!ipF}BDiNu5kK;LGg>Ny0lc^llS)2pxb2h{I z|2ThGCU+0y3-q*enxLJYp{-zP#oO1l4R?obw)cA{TeMKAnMHn8w^N_+oB^Ek!#Vph zK|N@eSFLN6sznNO1|3tx&4SZ?!62tG{DS8gk<wZeFL+O<%-;(RBiqfZ`Y`c`_MbMm| z(&te6WXfG~y`iG?D=0s>lz9gVRg*rxlM(Sg>TNZ?PrOrv421ckrye@W8*B!5wozxR@a z@v5M_hS!B$qLWOcHA RWN(q}CwrUh0ND~+{smLido}<7 literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$ImplementationDefContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$ImplementationDefContext.class new file mode 100644 index 0000000000000000000000000000000000000000..0a3a223311d3fe48c149e685e5017685a5c2b63c GIT binary patch literal 1408 zcmb7DT~8B16g|`J7iED$1yN8C5c>fv4<qt0!m-~V6b4VhUL0U%!S%$6u2wgCpwk;gtN-izW-4d@hJy(jZ zWXK*0+4PQu%dk{5%~H+t4-M{0+c!=h8-B-?mLm-53t=>c?^rIk>)wH=Dm6JBgU}fU zE;s^)LXkLL^HXkgq-7g5E0Ba8#z+Qv9itdySd2~4d*q9bEiSdC*QpkALn(`w6^W^u zrM(PpF)ZJxI!c{zg+GV_CUo4!B*O$%N%)b1F_^{LjYxZQWthf2TJO`pS!i?uvgLeUJBRj(&I~iOrqz9_P3tU0 zCqncL?FyYK=jYBba20%lIr^Bud>FJq>qUwL-BXIWshAW2;b{8$=y?*Pg()i2UoiBU zjy*j&B1Y;I>C_qBJj7x@V2XC7Ny`^LUV?k#yY%4^ihbZ35hxvFm7gelz)>H$QBl+)h~P(KZHQD}%}_>I*>3CZ7U8G(AAHak z3C1Xzs0k+ekBoP^ODVKQ_GM;2?m73)xo7Y0|M~Cv?Y4I$yC= zo#!+|j65HGKwWTyIm9u;`w~Ru*H_m z(6lD(Y+*wf45P7BY9w7S*HmuUx~XnXs%FWswY*SmQwTLH%)DlBJyTc}Nd?Uex4fjE zGqy84FWk)XAfXUi(Zvw1C&L|29GWR|wzetKnq^m5x)|oXu#{W0%=MD&kyVkZ2d5PDhHx5Z z7>4V1s742dz%;qYo{^2M-_;rnsl2S9k74XYMa!cKLzpdy;#>&l(a#VTWGu7VY77gp z^ojVKdg}Q!IkGI1TnJ%MCg~7cnte2f^5|JAv-mX25RaYM#0-t|WM+o;v}TA*DZe7j zEML*-iNYPbl9h%ZMEV@< zEkkE*cNn_rsmst^R~!t`Anc*P0T2Yk5H8X>On3e8(G}1X@96fuhwm+2GhCuIAfNkp zXpLcnRvA6$Mz_Q}gB0Dehv0F*E``RCs0Fk;fcE2nj}$tJv06ab0fdhOK2zv8)LKBq z0Yr`izEUX7v?_p)&Z5K2@Oe2V|zgTCnK zgM+Vrl;b{4DA1IVOlQtX)4kT-S$mzG{`vd!7l4OYRM5hZDwa#?N3NH+Y3qF3QgvR` z42`R+Ca>&$&^L;EqQuv^X$doeR;E$xjUPiQIdBz)1^ZS6$Y*Wu-5w%u(hHnkwsJSnyL> zMp#8ttJqrEaH~_$&9LZ;Lo-Fu)(%8Yv+O!cFT;`_mRgrKxn332Bdab|KL!+BiQy`) zF-$b=kVglG;5-@0UXYD#-c=8VRNho@oniV?MaxGOhA^WT#LXCnFwD>^$XI5B+Za|8 zxl2(xC0*dw^yH>YH5$X1Ow}U}HQSRZw6?YKwy=`VFeDR~wlhQPGTEA;Gp89MUoCA5 zv%t4?x}&UZW%KKA3UtLC3zNNw+0XNw_kNlox^wC|I>|oiyoM#p_MNj9WXSj>JqvfO zN3Q}*$Zr28%8yw6lg4+n2^jt z8f@6Sxc`b*+}?$xMI5%sM!9Mh#S2YRUuiO3XXMDCftVMT{jzM)Y>Z_Ma(8Y12#cY= z!E3HYB+>cyGIVB%?$!c1jYUe+)9qBRsC{^zx-Wi8k^HLmFZF(2JASPTHT+E)y@%E(Lvt F@INZ6JZ}I1 literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$InputValueDefContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$InputValueDefContext.class new file mode 100644 index 0000000000000000000000000000000000000000..9f9f0dc02ccae958bfc006390eb89f5605d4df3b GIT binary patch literal 2141 zcmb7GYfsZq7=F%%E$jjeP(bhs;>LiYq9{YWfR`nc7$JN=YzL@z-E7Ygeu^JVOiWBn z(1?i`{b2B`Kg#%a?d}-qKAg8*-{*O6Pv7+SpC3N~%wj=BfFYSJSP~l^A4BJ+kk3j+B>=;GJoB7ybE?AJ)D{hH+o^OSQ?NEQZc4+_wr4b} zWJ*0RG`FTYbV@~pA>}8l)!m|4DT=I@kcv)*1wRB!!p>THQR)S=%F)em#~;TAFBxug zsw6!=`@5uDA}jT6kv%iHRLuHuy29 z+?6@aKA!Luu<`v!F|;ifa)O~Nqnl#6lwTLtDqlC~pLXd zlDe5TN#5oCC2U%AjXGiIYfzw98Of$;)bv)g4vV3eR%r9aAkL#!0Eu3qE#Uk*z;F>G zbdJ*92!eD4gvWb=!2_H)MDR1+GF+llaULme=p4gkI-3At7Z7d+yd~E-60Lx!3y3xY z-jVA#lC6L)7tqxVcu%eqm}~{aTtKWD@PS-u`PBh}RG&JY9R7yh{c6D>1gPLWD9T52 zor2~8hR8Zy3U>GJRh`}Le4+=_xZ*j^5&==5C;1D5uMtfiVsQLBh5~Sc1j=1?gX|-w ze8E+R6f8#YYyTrT*Glr0NDgWwLCln+T*r;FW%PLfdaRU(e3M4+4nCu+cDA^R* NF0%7vokVV<<1aiDN|FEo literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$InputValueDefsContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$InputValueDefsContext.class new file mode 100644 index 0000000000000000000000000000000000000000..5c2b14442bc66e6fd22a217924aac693247ea0ec GIT binary patch literal 1496 zcmbVMQB%`E5dN;g1WGDUD59XEAf_!4oNz2cBV3pW%_=UvqaOhTrS98@jv*W zFF5+(;Hy8%aj!{{QXMNV*~{kk`*!!+&5xg7zX4ds0}CmJV!hRL-*LamrSkb+==!|w z1s->wN!~s<^sDs)(c~|=4285X#PH}p0v5|bJ5n|7N8*Wiz10eoI96$xuq+JQ7(trh z@ul&?1dw5@A=InL7l|WeSa2$D_z|aSf`+^0^Dr#sV^5?!->rC|D(OUQ8yQ?>xY~=r zu+a}t&R1Hp;qpNF(mi_U$|z7?Q@C++&hZoSI3_G)ZA@Z{VQH{126Ka2uQnN$ok6L} z`I?1khLwTZsOuJikfX?9#>RErV3-sni|kQ~8o2FL211OB?-jZ$OetT}L~}N7YND(- z_S8k5jCX!S=#tZ?6T{F}YhRGe6)zAwQFBkoUB2g&XQb*i0}E$(N~uPWScjFs%JWbtOeIWxI6hYDnE>$W#@tzkR{m zNkfKpk7KlSwH3*_*!DE^%pcZyRc{Ex@Qw)8^H!)R!*W2w(ODNkGceU7*4eh@dfZ*H zafjAvoc=5z%Ww;~k-|K^Y0Jo3g{*OcDf-(pRUq+oeMB1z$z5yK4a_?9b=ZX#xWZ(%>(k>!%`A3OID|4j8A_!yR0*Z z>Cy8(9D2^vmvsWrsbq`ak$aC!@f5kj7hFq0lcYMO#3Vi@%qH^WHNYk)yznoO*?y2V ffgJt@F;MKVEMui(8CJ<=iI+Iw(mzz^yoQlqEP#tp literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$InterfaceDefContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$InterfaceDefContext.class new file mode 100644 index 0000000000000000000000000000000000000000..51cde69f5c938a0f04c43b7b2e8a0f382089bd12 GIT binary patch literal 2080 zcmb7F+fEZv6kVr<4!v+GMMR4Vg4hc%s3>X?L<-ti8v_lm=FlEsWIDx}DdMO24?gIN zMjs5m`a8zN#Dus{JCxFv$h@3AbGp~sw>7&zkG_2eFo#729)@J0TvFe1y~Ish=bM(Q z^MYn*TzzWty`4AudSOSD_)BhD!VI7ToeF#*DClBXbO9aD7`8CCctNDa)^eF%4s3?5 zZDHrjyTV|YjAb(MY}wpaxnb+3x<9L$6~op_LbXjH)VwfDn!)v4xhPT!0t^q`gkLh= z<#O;AqCc`GKO?4doI3O zKJ6r$if_mu*FzYSLHfjjW}l7`eEuqv%df1hE-kMxBx2{*Fhj>OX_=uns~I9!DQyZf z&o_0tQFu+Qq$J{VQ^IMPrx=386L~Q_aY@&zO`_~BHmXf_*F>C>x@wp2Mpd=JVP<6B9Y%K!^|1ttZtjCBJ#9%j-^IIpvu>6Uf6xX_nbL( zNjcQm0_)|9SrDt5q#kOsJE!GNp^cXlmi?@3(eevr4AO9Q!3c{X(x@w^Ewr6ZPn4m* zbtVi0?RrXbZSD(3Y4Hux_6Pi67{?7dC+KYiUU~w$5`AIsXLvu-Gs8_fee&M-i_RG0 zbV~0r$2*wl_mg+<5dLPsZ*ol_*$U{b0eYJOf5>$bQ>_4*4@C$!1OAfhG}Kl=qy~sI z1CGd*7Fh$pOSLG8$5w!vnGjbkgMMKa=JzC!eCTm+U-Q8Tb*|2-yYr{{cw!EXDu; literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$ListTypeContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$ListTypeContext.class new file mode 100644 index 0000000000000000000000000000000000000000..9bbd5d0899c1d02e4d166f22989add25e24fb20a GIT binary patch literal 1204 zcmb7EU2hUW6g|VXEG$b~@T+S5EUgQu>w`%jXw-y6CBeoB>HDyq(A8zZ*`eZ3@zq34 z)cEnD(Faps{ZYm{u(VojgqQie_nbNB-rXNRzkUO-hLVW{L)q(g+$TKfaH#^`irj#E ze&}=ej^w@V$3er}79D<{%ScEQGYpj}5(>?yJ<;e1ui6cj7$^%#m?ly-(y*q4s{4`B za4{6aTwACI{b2uK-Kjt1JDe1RZMPcmD5}(o^{#BYJXC>ncdom#A1c2i+>xH&vMUyB zWKGQ3n8yOc>SSpQ$#rr|-C(%vOiEQNZkot5T$#v8ty_dbW{|^C8^>^*AuGsEId+8M zmQ$YyYb3icPK>Rr6gM^aqK%Up+!h00jYAkxDy|{JO{X{&&w=V!7-p*7Ex|Bf_d~JK z@3e$$@>W16c3jL_xFrS*hEuFDq=zzfl^CuaVy}`SE@zWgW3xySxzteHdvuTYVvdv+ zHbS!+-M;k1ZC^t#{-f2e>P{l@8zNG7yOE+7)%lp29&zvZsSrE>XZXuG`O z_zt(1CEwe5&d5#h?4D_Ivp_gKK-gJ*XG0dCQ*LY+AMITLj$%}`B*Y9$D1oQ#T36^>h0 zgbbtYR6d@)-qQ)<7R^LI{UCre7;fMutp$23AVnu2WA%@vJ|p#!&Wx-RJ7^}o-Nrbr z1-ct=S$A9cELnFSBKtSMB2yZU6Mz%}b*nV?1%03Bn6T%d0opXu+6>)H;7$uLLVFaC zmicgO8$}Gwrgai`X)Vx~Il>bI@}(abe2<>eAqK6lxTYcUp~V>_KJH;ayAP9YDboRh n7ym~xdY0rNk<9%eNx_P}lrRMmrv-ET literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$NameTokensContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$NameTokensContext.class new file mode 100644 index 0000000000000000000000000000000000000000..8b30ef04079737583d0c1faf548d6919d9cea2c1 GIT binary patch literal 2150 zcmb7`TXWk~5Xb)~4z^=Eah%?pORp4P+NwaIFac&9RcSSrRo9j?&67rP&$OnpTqGq8 z_xoj_GcZ$L_zrz2FEH@Hz$+h$VUKJQX0jc^gO84me*53ub9N>F`PZ+%0l0!!Gnf#l z^@aoOf#(mrF!sHTNb|j3Kj?efwa~kN_btEEyDJA?%L^kJ<}it8GDsJYK~~`P|6zL8 z_6E`!-jhM34}(~4#{$_qGESBR&X-NIVhzJPnis@=sBK-=!p$J=52O}{QfiJ22mQeF z?cr^?oI?)z3ru7CqLC{UD?ZMd7gz)IQLm)aPDbi-uH$I zOzO0;6s*+`q`f)VkfGyk__VTU+%oj8Q(v(R_o~@8bjMsXT>4xGThF3 z$1$2LkZ!mN5hyfVv)QtYreQlBfjr&Xj?rGN>+~?&a69^SqgfXq1HQ+~UOU0?G#|&=EZGlv|VhT(phpCnYE9Q`@b zHI823=r4#q&(Vt<{Uy;CIC_brzapAGOEjuZJ42n8qHCsFTlg7MKkhVI4inU9Un8CW zhR}=9#s>3rRjrwttvud=M_u`l9$donWAF+IkObyxf1vmSrfa{WSp5a12`DEMNjHz2 ye2Y^4JG`JoAxdQa;(v)8+AH#iM84k@N#Szh@s`G&h5myyf+q3QC0 z<2&4ZBKgVDYqv8v5*~lXWhkVEEEZJcbg0NP?EFXSMmu)h9(QBW3j9b6BZmB;h`PbC z@EPt@Evse+^3ddd$~Bzz$kQN*&2b2!hiBxqVW8J=OcYR?55 zH8Uk!v(`)S7j;}p@P-&V(I52O)0gcRw#`tl&aEdywne%!6m7>B?bz!J+2wtgPIS7W zL_^Cz5JLu~TC*4m=}5^j!`5GDff#7kI1%ZvX%Q literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$ObjectFieldContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$ObjectFieldContext.class new file mode 100644 index 0000000000000000000000000000000000000000..604ab7743a9ff53ded64d29667e608829c596f85 GIT binary patch literal 1420 zcmb7ET~E_c7=F$Q>)6`CHbuS!g^BwB>V*l$5fZZmT{5N-viq~`WE8s&+cU(U;(zc$ zZ!~&g@YWw?e9v02h{o-vZ%_Na&-1)r=f}^l-vDgG(h*}QxBETo4R?CnlMZkBmc!e& zYjf+V$4`!4I|uC}(c>?;=L=8A1jFMo0`gDXw+-GC)xImmnM@)MT}Q&e6p{?P;~+h6 z9gDWyvxU~K&T2+Vpex+8d_r0#gUFmq%=|jsKxYF(k zE66AkUD07MJQ_z+lRJY8@+8uj)-husgDk`PXrv7B9jdn6W!NZ;DzsK?>bSwMIg-}8 z?MvYbFNGXt4cx*U!;GMQc#)DaR15Wy;DWm4Be7vSD#fOvSTL}tD5k}kEhAnGIuC|{ z8eb@mMRs+HDhw0Ven${T-F8J|&}#|rkhdKAGI^?6q6T3+hG-`V-v|e*=61vxgH|Zk z7^a3rQxn7R;2+JBo(MCt0X00SR|_?X*1UQOJ}7Truvn~J$fqb+XO%m$dAky#D*yZ zB+JN{D_Ezmlx>E>@Ba^E{yNAifvo)o(NGw&6j2&lx?RaG5QD1d2Hko}^CsC8*)2@{ E0!Mvr?*IS* literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$ObjectValueContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$ObjectValueContext.class new file mode 100644 index 0000000000000000000000000000000000000000..4e0995ac1eb06387920b7ddd205db8fd8cabd4e3 GIT binary patch literal 1471 zcmbVMT~8B16g|^LwzLbhRTKpk1+gE%Vq(HW2`^31CKZh(yid!dEN*vkb{6?7{s$lQ z1)~oJU;P6nCTgOI{tM%s-2%mGEWFH}y*uZeJNIKg{CfKiz!L75NHCO|e%pS=-8PrX z<&D60dDHP6Zr_u9XX~k3Z*GY;f5c@Vq=^BBl~Vv_9yYc`Q>{9}-K_YY5_>9zL6|0z z7KV^I6Wa!NL(ySl7;OplICKvk0mF2@w#|1rUBqkI6_*D=xe$9o<+ygu2~=4}VObc) z2*b!p28QKcf@-1W%a+YOf;7FowZp%DP%% zn9KJoRV{3oxX3WyS4H%_g(qYhV;Hw^8CMuGf@&h;B1LIssN`#X(Zx6K6u7%2<-&%R zn6z+JON@#=N1aee`^QbekjwWJhhd=NZwkWJ98au;?S_!+yy22(sP42pu0l!s^&aH% z8A9*w&GJfFCxD85`V^etVX!()RrNN-9)poDR4Mu>-MU*C7XMLZB}J#L)@gTGG)gMN za9#1{lLvgKlZ>QJZOoRc`=M-#RYy~g|7CO+^hhuy*F>Q1`+=ees~&YjG#`SdCf7Tv zN6zl@;s%XQh8_@*Ww?gxNMMS-v}I(?V$RsdxtFwMbT~c+>mzQ`K7r{7G(+nYeNV$6 zACM-{#6HpoF#ZI7qN6lQT>ygsX0bH+8l$gh8>^%=kM$XY))(^J!fXdHK~{%lWENf= z9oCV<`bz6<OV literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$OperationTypeDefContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$OperationTypeDefContext.class new file mode 100644 index 0000000000000000000000000000000000000000..f0ba133b56b313ac0509925f08bfbea6553a3344 GIT binary patch literal 1825 zcmb7F+fEZv6kWT;4)g*PsUV;zBK86dDhUrIzLW@!1=JGWPsHskLqAJzFdPOSX7-efozRHv>NA5d81fXf?4xid(k}2!rTHRKq|R*D*+# zYA-25V3C{aJRwZS+bu*kv8mw(VWzF{bB66mOR5lJ7!KnmMhG#gs z>&=;LCh+>4PHehjV`1EK#RlcR;WWDvqPxwb=;|jr3ZT_ArwLt|@|Gm@Utcxf}JRo@6h&4bdoJ4P?5IAQ#XGT|;?aQ%GE0vZUnG0x9B{B;k0egi_u z0l)tft{uVufj@}>U#D;ad;=C!fcW@cb4S&kPty9V7M*k<<}l z$*&ml!PW59Qm$+KLX>_Z$){YMD8o}%k&K=vIbo7NrzCz%*HmUOTeAe6?F71N9hl=k S9yjKPY(s1xv5l~OjGljGxd7k* literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$QueryOperationDefContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$QueryOperationDefContext.class new file mode 100644 index 0000000000000000000000000000000000000000..00a8446435ee5722b9dd64de2a2cb30b8be28d7b GIT binary patch literal 1413 zcmb7ET~8B16g{(rZd(>8)gl6F6~ulZ%YzAtB_sy?XslIeCGp7&WrUU8S)AP>{1pF# z5Bj3f2ZOKvC8P1~Zb7hZgtVENoxSItd(XXhfBgRX4Zs5Cb!ZHwrt6q*x$SV}+kC?_ zZQit`#m$F`?{2@b>&YDrOR zIU7PX_=Zh4I**FYutfgOlgQ~VDKi-D=BUU`vCk087b*PlLMm zNPH56VX*G==FSto+YUDo$P#%=)!mkAiU(HUdaTPB&IO%Gb5j$Z|H$=dgp7)$s)lVU zJOXv-dpvAIr?bO#8iF)^4uCiquHqW4IeN+=MkgRqOi#oo- z=x(ZQJy6Uf$$H=r$$tUA$dsnx1RzF0y;z$3jNy-TjJ&6yA^6AX)5I{1n{B{2?Lj=6 z{{GlDh!~ni>kMwunxi)h1SU8#rSHhT!(izU+2R*m(hzWHVFnRLKSs1T@^nj?ju5=? mKPMBNPLkv#_18%Z#gL_h*>I=1q&-8teMB&aB>fmnB>w<2A#G0p literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$RequiredContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$RequiredContext.class new file mode 100644 index 0000000000000000000000000000000000000000..19598611447155ccfb090f4900db6275f65b965b GIT binary patch literal 897 zcmbu7O>fgc5Qg84LmayfZNgWf<)Z>sNduSzQV&50DH0GVRH&(X-#DYz;E#5_F8M3` z2QHit91vVN01`;>YY?-E14w{~ge}jmXLp|2d3WA@d-WQ?Cf00}1lmCw`%h#POQj<@ z%=}0OVG>IJo{|UqhtVL|r&vCeDkJ5hjAJ$`9&A(v)>F0T%S1=YKf39wJkeoH{&eeh z9#J<x@DZr~n`Lp|GK(ldI>AvjbxTl#wE;DDTKos8r(MKDMOgXVSAGQ zF2mv%us7PPFJL|AslX|=E=p|PqvC#G&uN?~0#5qd`;47p_KTx51IJ<`giHZA(`5N=xZVR4|C zUF^Q~HKT^umDlc^$uzuie|BpBw;P*8iI+nuY@ zXdmf;dPbpEOkUf4#`m1U`mD~`Y=KI%rPsu&Vo{Iuxtr#!v879;EDUq4Y0&)=DrzLO z_6!SyA=;6ElLQIxWc?Z9y%l5_F7&AYNy~#_x<>&Y7$z`D>lFPPhnt@0G#wpre}nrA zJu}>*)oYzgtF%tzHm#QRq+=aS$Ngj-JcR!=V2w hVWGV<+^2nl+UOw%58$UCqtBur5!xTpZaIDg|3B7J<=y}Q literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$SchemaDefContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$SchemaDefContext.class new file mode 100644 index 0000000000000000000000000000000000000000..3075a4d1c51209e7172010d8331cf4a199a44732 GIT binary patch literal 1892 zcmb7FT~8B16g|@d{a~@BA|RlEAoc@TR1~!hkrb82g2px^KAEA6Wo5ftcejAiME{2W z!3TZ8=!3ymf0XggwwBtDNYi9yI=%PYbMHNK`|J1j9{^U6^1;K9D3~Snkn1IGIXd65 zRh<_!L*wcri$$?7DDkJOB5XK zKx8%Bsl}JMC<+E}j^P|Jc~;RyomwiIeZ>zr)xs#MX`S14vJ<~*Wg5JRUzj1?4ZkO4 zVR1(@jr^OkI4zN+7*TK@LkyvRDcTG(tsG-j))hz7Rheosh+&NQFsk4p#u(<>R=6bt zhQ1U@z*&`zY2TF=AF9u`4-*UvXG&bM6Na$*F^AUeJ}8Ez4)Sw{g4^~yjfcNtqJ~o!at<%-Z}M`jD}LGb zDq1jSR;+?}s7dJ2HuG&!7L^9mmav@-)211vWDHWNI{^f}xo}-S^-(d@u5An>9kRwW zJ?deazknYMv$#s@9DSRDmrisW4@bPm@P4K$p*~TOohRB$D`v@sAit zoM1fu4VOHSF+6UasxjVTkiElAx}|y!lKb-iK&D$k-V?}&QxGq1xlwM@zov}FaEJCW UiqJ#ny9m&S;U29a+LH+U0iI3vi~s-t literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$SubscriptionOperationDefContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$SubscriptionOperationDefContext.class new file mode 100644 index 0000000000000000000000000000000000000000..5f4f41a50ab41d65b621751f2676015794094478 GIT binary patch literal 1456 zcmb7ET~8B16g{(x-L@>HR8bU=Dv13+mIo6OOGvav-B1gm1rs&F=`zB~e$?45;!p8E z_@FNueK7dyk22nEi-OPq*<@yR_TF>vJ@?%G_51q|0P~pBpfD6I-!HecLrjN;IK$F8T&HTSMqo+18QQ+L+!T^Whlk>I z+4n-R7c#`RL|FHCgvT(GGtGR(ms4DmiL};@DRVex_pwJqZO+o+GBb zpqnY&>NYZ5WMb>ns#oSro~Q0tw{HC?C+fK^SS4K$-n>o^8&zC)D4UY zRNGzG`c^uw^g~Ck2bLq-wr5N0jxT$Uo;qvoN6MA=q#r21fGplJkTYRmT;N&?=$Y0| zPu11Km97`6?NDHRLxrvG6XgkoX8&91*;NiTGKYwL>TZ+fBaDl7DrvRcY_ZBII@ z-HxgmD5R`>!`oSvt{PO^>4$DmNd?ElCZ$4Qs`bK~OuWvq+JB zXm(ZZ7%ppfjJ8Gs!>xK?;9Y_9 zhw4|qrSgZZHSR^__GJBExrPXCcFP0z0%jvD*y?3q&FW=guG zqe)q^;~o{bo09k-o0ERBv){NpJ}Ie3`JS}-hr3SZIZ8chhgH+qR~jA2G`> z=t0LZysComZa3gWHX9y~Lx1Y2fWt99v8P`5ioi^Aw^{3;of0@QN@;;&TrHl(Eav$e z1r)%MfwNr8{B{xFoqc+cJyDs-GkfAC@^L`G z)N?qW1Za8!rsIGure1)R1e78`DGu0S>P1{i0%jw?Y#i_%Q!nGABw#KA%*6rUGnJ!t zA0We*H!9T=f8p34Lxl<$qe4F*m;I5cSMc!waGX(Vnkg248zx6`{=^5L@Q*?y=T#Dr z0yEWDSojr_)t6YP{EhdGfLTC@Tn$+C=veIn@CP4NuH79`5s9I*ZNgz nSn5ZC&lxXsuQTexHyCFbZ!*p?t|0$EV9ak% literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$TypeExtDefContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$TypeExtDefContext.class new file mode 100644 index 0000000000000000000000000000000000000000..8e6da6c601d759f3b0ec67eb3f04fd080610be63 GIT binary patch literal 2375 zcmb7FU2hvz5Ir|GUORR^oHR704fG3e?6zA<+d!SRw6ROA8ml5!1y9wDeVZ=bU7Oua zn*Nmjhd#gy2p&**{RH;&>f&>!$1;n{tCr-VN$jZ{4^?J^kxie?RKmGgt4*-@> zH83VnYIPj*p|l<81-4xCOTX1un;c zo@_qqs_IryQTJ9lZlJaTf%Lixnw)fVd=Z{3t`V0-4~dDGi)1Itln;3;J` zmFHNlv>TnaDjOIVxD+S&HTO|NI;tO8Un7^p1SSP0nZu_W_V!N#%Z2(Ea#OMl?z*{R zOW!Z=m04JnU1(-DEpR1HW)3SZ{4ka)~q%v0>#3~?!eL;-b<0(a4QGv6%Qc&CQn&6lKfhfSFl4BE zYLdipF7fKXlm)Wwflzfx;?YG_PRhJBtXqMbF^Tt*KItdgyT#0rib*|c7D$`9x23X3(y=xIdy;E%L2fIVTI0=E1KE1;iR||E zkk*O|*~V8p8(vG@ur&4jh!uZEFF&s4hVp}(9iLk|S93Wcy-lcmc5NWt{&-W;ugXPW zCfaa@+pAdu2SycJV0yS<9ML4^`R@f}!A*j9c^3HXC=z@E(#7e6iEohjiq8UzJX898 z@@JmKQQlLdynms038#2!?h}3PY;h(-@9a}#hUtH$>uH>c0yI4VQ^SDY=xX9@6p#-A z`C-5_y1s{VQNU~nm>mW@r|bJT9|g>XfVpA73%YVY?*b%vd81f5@+}U2y;IL|jIo|C zkxKqf*9*AV2OOr=9Y{>)pX@k?#s7mpEa8K`;}Qu-ftk{eSa^(y(o-xHzr$N&&_Tv} zO$&qkiG1=ee5gqw@`PXdKavwslD|pv&wwO>axcmQ7f&2x(O S8m$g|opzRXg?5g%g3N!g7Jx(m literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$TypeNameContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$TypeNameContext.class new file mode 100644 index 0000000000000000000000000000000000000000..6c3fff5fc97ee6485a0f7c8fced3e56a3ba0ed0c GIT binary patch literal 1200 zcmb7EO>fgc5PciBapE{_6TS+R&xT?rfH@#lB2@*71VjoEB3193bd?%xC)k^kA^{Re z@EiCK9N+?i11eX36k;}xODjMmmsziO=DmGy#{Tj1>o)+aDC*O4)ig~3pr z25DorFAhL4%yor)IPel|hBd44i0^O`5OkfI$D^oPw;R2%>+nE&p|f+t2?v36ec{A% z4pdhSn8@pxGck_^hLy?67}9HGmRx7JVogd_w>NbZ8Lmzwzu`tw1R~6#fTJdk;W$HH zkey-T2*WL_F%ecQyOb1;yHd3`75JiwlM37vLsup#3_6cn$gpnNQ_&pmeU)LR*4q*c z^9?r;&4J%03B2vm8*|*sdaxyi44P%v8L}ghsz(gh|6#5S#kiRp^psddg2(hchY^KL0L0c%j-%pN_U(&&Ox>}69N&p0bV&yvu?~t$Tp-}#U zBPl47)aXVr$tx6$*SM%a!3tEq{6CNre}cRrkhi}3CAYr|=If zU;}~$DqB7ZamRK_NI@js_}b$+=iYPAo%!+e>o)+K*f5b`C^lM6=MDFoTq=+62ad-Z zuJ3Z^ndI%GW3S#g5>5V+%RopINrv(WfTi8HZL!UpqSEq}=qd|iFioUvjKjJBRlO}5 zF%`qap-?*=ugA@>m8-qtC!7@chfc-gK~S#dYb|-`a9?@SIoWVz$5(DsIFX({blHSG zVnH=GP+DJHkco*A33kMB$CcvXtT|JdHZf!4GOjSJ3|BbA*cSPv9x<%uh80`Q@0qyD zur`#JTBz`aOe2d~8`p7zAtT68spV@=7@p*6Lvclo59gxK%yNEDlh50@smX28b;H(1 z+$j}L5yRtLe&jrT^H*j_R$2#wVY24>V!PAaClP$#qm`5w`#E}+fk~h&DH(e^I@!Qf z5SbkhdeuJ=T?QkUuQH5>2IvW9SpSFdN{V>Ycj>KXBQ=}+t1I4k{eri9>UGN_Hmlz1 z$cA|8YUzy5{>7(-a?2%usxY@n3#Yu2ld4 literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$TypeSystemDirectiveLocationContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$TypeSystemDirectiveLocationContext.class new file mode 100644 index 0000000000000000000000000000000000000000..1acc11cd25b726d4589ebe4cbeeebf80bfb68047 GIT binary patch literal 1184 zcmb7DO-~b16g{s4Z5aky@LLcHMd$}QE=*X|n3z&^l2QmWAz{@#h8Gx_4}9~A<)`=` zTjK2On0sg5+2eIjM z*9$#vzL5O%__c4l$0Fc6T*gA`7{ho5X#*K#8Cw65y5gLl3i~`(BG~k#aFur^nvu(u z7lrjGRHCaGvPVKW(TNBd)=QREZbtIRLyUI8A@OJ7s!o^AXNfc Z{{y07xyMq(O3yRgC$AIu7(J_)_ytVgFsc9m literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$UnionDefContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$UnionDefContext.class new file mode 100644 index 0000000000000000000000000000000000000000..66572837bf78e37594424eb58930306b7de7d88a GIT binary patch literal 2060 zcmb7FT~8B16g@+MrDgdjAR?fGAeI(bR1~#-#Dn3xzp z5>52c2Yu1#gTYsSl=05)^3}!2zRcb3-gD;8xo2*F|M~F~z&NfdsA5PJN=5AnH;UYH z48CY<1~2HQ&b6BsUt4)>%oSEdk>BH%Evy)-QKO(%g@QVUbO>nwys4MWS@CeDWIAHQ zVW?XcPQJ7%OopLECNr2VS<4zX9mCSr$26;KI(kuPjwOVa7gkX>xsfX^iL`QVsXZ#`Y(MiA44hU*{x(xvb3?+_uyIs?3vQ51J}#W|$09 znJY?ub4}QOaSB=(rovFn3cFzGYYwTq!_mfYEfj}tiGriAi>z)tJ2JK7sDcg^$I!_z zaA0==8ZgvOkb9gd+0=tO8o-dk3ktd!h7VPCN=uf+RnsqEC{mVncU!xs}@w=5v|5Ifi87(57Xmo+0xxG-Y*DnDckkZb`j5@G$)uDcknhhz*|lPDXO_L_}hHZ190 zxbIb>RsEZsF_**!LnJYnVTii6kXMvp^dEL~2aM~3JdK)dbCCt8)H#P2R`2jNzf*P6 z2p(H(u2i-P;)X7%I}R9?BXW$;kjn|%xmB`h-l-XrT4=wFeNPvna___ct8*vUA`Vs_5-&)GBW%brffPKo>lGSOTj)xD$MGu2O{!c~y-nUBuDr*XBn68T{KEf8dV?e%h~(ogNdy<& mUB+?AjSQD5CQ(D3r~gRmyX<_L)+UM*6y?T~6k91yA^I1@LMa#k literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$UnionExtDefContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$UnionExtDefContext.class new file mode 100644 index 0000000000000000000000000000000000000000..a98e05b1459e7a70aed8da4deaec1a62bf0951dc GIT binary patch literal 2132 zcmb7GT~8BH5IvUy+m`ZCKtzj*f>>H`QBl+af)ur(RwKpuW-jH5tJ^K^ZV`Tp|G@`+ z(ddK0SO0;=#KgozO*GLTV4T}sps+QvX>w<~JLk;YnR93N-JjQQ0E}TuK^;S~P%5gA zxnAU^t@A}o)p zi+eLA!xn2cLvUHx`O-sSFbu^rnZazyTvoYZ>!!Los+wiP)`~*4O(E30FpHYO^;~I5 zq!ff1F8YZ+ZLH^bQMi%iJ|Yn`qlKY`a=2C2Hy<&K$FmRkDyKRa%j%5IEi3h}%$%xJ zp((RAh6z8JRqB#oUlEp@oPu_rrA-T~U}`Hi6?luIlVQqF8fncG1zTGcSxenu`7Z7y-(cOU0xC3+QkF9lHTv$d!g)6(B%+Q4-0Xm)Q4wt2|-U(cQ0T zRKAhxDV%lzF|x9tfwtJwEoY~e-|4{_jJl3vL_id1PrgO$37V4|h$UX(P#t8Dx=Ih6 zAU_aQe&Vbo1&b2=-2X_9dP#l}$?t8F0DTR}DCcpZV(H~dHh~7x2}24Y`q7J#)>g6; OWM$wu5YrY2I4UDW9A!rBOl260yf0;^MAHN}TZEtDfAB$H zaP+~!SAUe_-6mMDI<_x+Z*KOS`@KJYe*Feu35zCD48>a5aNlvi!KL!~cI5iJ<^>*i zpGm&A`_`}4c1444a2W|{qK{#@2f*~>;BcKc#9A0AaiG%ZhiSsHF@Q9~!(NzP1zs3z z9`1=KA!8V>3-z+;pRh*^Q%>bI-{+J=PT}13KdUKOJuvM3{RX&S8Q?O(`{(dkWzk2JD9L>RXfOt z15dRtF_=6a28Nu|(G`ZiwQxsJToo@6>&?ctkehtlC(A(9s|Q>)CFvU-$d#UgK0A-4 z)e^%ahdSI#;(u^3*vS-?gB@|eU^w|QMct~e9uJ0vfAm#Jk<8I1X(wHxIx-AZ6|cQ{ z!S|9PSh|`qTe=!HWlcQwH1*hD)^uL)0E4wIBK16s6h&ALsQs;l5VR(lvneoS+kHx! zi5s*gBlJ#yB*QgaM+%elr6nV27IMZB&V3}6(dGCWtO9P5p2AcMG)?CueNVw48!$+q z@goc#!}t?8M^|ZWP5}%8n1$lRXAFNLHTII$Jk|pGtwplj!b}1fC#l0SMkYS|zN{mM zb%)N|aOj+*KTAZQL&+7tWAr_SipLl&e8Hs@w3AdTmDtHWWUc$ilhpvr61?y~lJQQG h2Sl>mCNWTKd6~srOES!p%#mO60hiuI9rFSPegS4Rb<+R< literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$ValueContext.class b/target/classes/com/walmartlabs/lacinia/GraphqlSchemaParser$ValueContext.class new file mode 100644 index 0000000000000000000000000000000000000000..db93acd7ecaa69d35efb28d5a6c30c1afe62426f GIT binary patch literal 2455 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/walmartlabs/lacinia/ParseError.class b/target/classes/com/walmartlabs/lacinia/ParseError.class new file mode 100644 index 0000000000000000000000000000000000000000..756c8a244286f0c2a1c0ab611b2bd3f85aa17bed GIT binary patch literal 503 zcmZXQ%Syvg5QhI#o5rT8>D3#!(3OpsYy^>t8?7J|6)Wyf(ql=)6%&?%;f>u^#yO)i7`-@^p1AbYthKo6Q2hqmw0#Z?6^d2$ z5&Cyk9Ya~^8fp~lR2@;Br(CfQKEdq0F?4%>jPg5a3=N94N#7t(2?h}?l&RCi>Wr{O XnbDkPe?Whm+X@r0LUE0>9M=B;%871J literal 0 HcmV?d00001