graphql.parser.antlr.GraphqlParser Maven / Gradle / Ivy
The newest version!
// Generated from Graphql.g4 by ANTLR 4.5.1
package graphql.parser.antlr;
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"})
public class GraphqlParser extends Parser {
static { RuntimeMetaData.checkVersion("4.5.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, BooleanValue=15, FRAGMENT=16,
QUERY=17, MUTATION=18, SUBSCRIPTION=19, SCHEMA=20, SCALAR=21, TYPE=22,
INTERFACE=23, IMPLEMENTS=24, ENUM=25, UNION=26, INPUT=27, EXTEND=28, DIRECTIVE=29,
NAME=30, IntValue=31, FloatValue=32, Sign=33, IntegerPart=34, NonZeroDigit=35,
ExponentPart=36, Digit=37, StringValue=38, Comment=39, Ignored=40;
public static final int
RULE_document = 0, RULE_definition = 1, RULE_operationDefinition = 2,
RULE_operationType = 3, RULE_variableDefinitions = 4, RULE_variableDefinition = 5,
RULE_variable = 6, RULE_defaultValue = 7, RULE_selectionSet = 8, RULE_selection = 9,
RULE_field = 10, RULE_alias = 11, RULE_arguments = 12, RULE_argument = 13,
RULE_fragmentSpread = 14, RULE_inlineFragment = 15, RULE_fragmentDefinition = 16,
RULE_fragmentName = 17, RULE_typeCondition = 18, RULE_name = 19, RULE_value = 20,
RULE_valueWithVariable = 21, RULE_enumValue = 22, RULE_arrayValue = 23,
RULE_arrayValueWithVariable = 24, RULE_objectValue = 25, RULE_objectValueWithVariable = 26,
RULE_objectField = 27, RULE_objectFieldWithVariable = 28, RULE_directives = 29,
RULE_directive = 30, RULE_type = 31, RULE_typeName = 32, RULE_listType = 33,
RULE_nonNullType = 34, RULE_typeSystemDefinition = 35, RULE_schemaDefinition = 36,
RULE_operationTypeDefinition = 37, RULE_typeDefinition = 38, RULE_scalarTypeDefinition = 39,
RULE_objectTypeDefinition = 40, RULE_implementsInterfaces = 41, RULE_fieldDefinition = 42,
RULE_argumentsDefinition = 43, RULE_inputValueDefinition = 44, RULE_interfaceTypeDefinition = 45,
RULE_unionTypeDefinition = 46, RULE_unionMembers = 47, RULE_enumTypeDefinition = 48,
RULE_enumValueDefinition = 49, RULE_inputObjectTypeDefinition = 50, RULE_typeExtensionDefinition = 51,
RULE_directiveDefinition = 52, RULE_directiveLocation = 53, RULE_directiveLocations = 54;
public static final String[] ruleNames = {
"document", "definition", "operationDefinition", "operationType", "variableDefinitions",
"variableDefinition", "variable", "defaultValue", "selectionSet", "selection",
"field", "alias", "arguments", "argument", "fragmentSpread", "inlineFragment",
"fragmentDefinition", "fragmentName", "typeCondition", "name", "value",
"valueWithVariable", "enumValue", "arrayValue", "arrayValueWithVariable",
"objectValue", "objectValueWithVariable", "objectField", "objectFieldWithVariable",
"directives", "directive", "type", "typeName", "listType", "nonNullType",
"typeSystemDefinition", "schemaDefinition", "operationTypeDefinition",
"typeDefinition", "scalarTypeDefinition", "objectTypeDefinition", "implementsInterfaces",
"fieldDefinition", "argumentsDefinition", "inputValueDefinition", "interfaceTypeDefinition",
"unionTypeDefinition", "unionMembers", "enumTypeDefinition", "enumValueDefinition",
"inputObjectTypeDefinition", "typeExtensionDefinition", "directiveDefinition",
"directiveLocation", "directiveLocations"
};
private static final String[] _LITERAL_NAMES = {
null, "'('", "')'", "':'", "'$'", "'='", "'{'", "'}'", "'...'", "'on'",
"'['", "']'", "'@'", "'!'", "'|'", null, "'fragment'", "'query'", "'mutation'",
"'subscription'", "'schema'", "'scalar'", "'type'", "'interface'", "'implements'",
"'enum'", "'union'", "'input'", "'extend'", "'directive'", null, null,
null, "'-'"
};
private static final String[] _SYMBOLIC_NAMES = {
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, "BooleanValue", "FRAGMENT", "QUERY", "MUTATION", "SUBSCRIPTION",
"SCHEMA", "SCALAR", "TYPE", "INTERFACE", "IMPLEMENTS", "ENUM", "UNION",
"INPUT", "EXTEND", "DIRECTIVE", "NAME", "IntValue", "FloatValue", "Sign",
"IntegerPart", "NonZeroDigit", "ExponentPart", "Digit", "StringValue",
"Comment", "Ignored"
};
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);
}
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 extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)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(111);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(110);
definition();
}
}
setState(113);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( (((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__5) | (1L << FRAGMENT) | (1L << QUERY) | (1L << MUTATION) | (1L << SUBSCRIPTION) | (1L << SCHEMA) | (1L << SCALAR) | (1L << TYPE) | (1L << INTERFACE) | (1L << ENUM) | (1L << UNION) | (1L << INPUT) | (1L << EXTEND) | (1L << DIRECTIVE))) != 0) );
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class DefinitionContext extends ParserRuleContext {
public OperationDefinitionContext operationDefinition() {
return getRuleContext(OperationDefinitionContext.class,0);
}
public FragmentDefinitionContext fragmentDefinition() {
return getRuleContext(FragmentDefinitionContext.class,0);
}
public TypeSystemDefinitionContext typeSystemDefinition() {
return getRuleContext(TypeSystemDefinitionContext.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 extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)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(118);
switch (_input.LA(1)) {
case T__5:
case QUERY:
case MUTATION:
case SUBSCRIPTION:
enterOuterAlt(_localctx, 1);
{
setState(115);
operationDefinition();
}
break;
case FRAGMENT:
enterOuterAlt(_localctx, 2);
{
setState(116);
fragmentDefinition();
}
break;
case SCHEMA:
case SCALAR:
case TYPE:
case INTERFACE:
case ENUM:
case UNION:
case INPUT:
case EXTEND:
case DIRECTIVE:
enterOuterAlt(_localctx, 3);
{
setState(117);
typeSystemDefinition();
}
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 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 extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)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(133);
switch (_input.LA(1)) {
case T__5:
enterOuterAlt(_localctx, 1);
{
setState(120);
selectionSet();
}
break;
case QUERY:
case MUTATION:
case SUBSCRIPTION:
enterOuterAlt(_localctx, 2);
{
setState(121);
operationType();
setState(123);
_la = _input.LA(1);
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << FRAGMENT) | (1L << QUERY) | (1L << MUTATION) | (1L << SUBSCRIPTION) | (1L << SCHEMA) | (1L << SCALAR) | (1L << TYPE) | (1L << INTERFACE) | (1L << IMPLEMENTS) | (1L << ENUM) | (1L << UNION) | (1L << INPUT) | (1L << EXTEND) | (1L << DIRECTIVE) | (1L << NAME))) != 0)) {
{
setState(122);
name();
}
}
setState(126);
_la = _input.LA(1);
if (_la==T__0) {
{
setState(125);
variableDefinitions();
}
}
setState(129);
_la = _input.LA(1);
if (_la==T__11) {
{
setState(128);
directives();
}
}
setState(131);
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;
}
public static class OperationTypeContext extends ParserRuleContext {
public TerminalNode SUBSCRIPTION() { return getToken(GraphqlParser.SUBSCRIPTION, 0); }
public TerminalNode MUTATION() { return getToken(GraphqlParser.MUTATION, 0); }
public TerminalNode QUERY() { return getToken(GraphqlParser.QUERY, 0); }
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 extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitOperationType(this);
else return visitor.visitChildren(this);
}
}
public final OperationTypeContext operationType() throws RecognitionException {
OperationTypeContext _localctx = new OperationTypeContext(_ctx, getState());
enterRule(_localctx, 6, RULE_operationType);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(135);
_la = _input.LA(1);
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << QUERY) | (1L << MUTATION) | (1L << SUBSCRIPTION))) != 0)) ) {
_errHandler.recoverInline(this);
} else {
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
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 extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitVariableDefinitions(this);
else return visitor.visitChildren(this);
}
}
public final VariableDefinitionsContext variableDefinitions() throws RecognitionException {
VariableDefinitionsContext _localctx = new VariableDefinitionsContext(_ctx, getState());
enterRule(_localctx, 8, RULE_variableDefinitions);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(137);
match(T__0);
setState(139);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(138);
variableDefinition();
}
}
setState(141);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( _la==T__3 );
setState(143);
match(T__1);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
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 extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitVariableDefinition(this);
else return visitor.visitChildren(this);
}
}
public final VariableDefinitionContext variableDefinition() throws RecognitionException {
VariableDefinitionContext _localctx = new VariableDefinitionContext(_ctx, getState());
enterRule(_localctx, 10, RULE_variableDefinition);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(145);
variable();
setState(146);
match(T__2);
setState(147);
type();
setState(149);
_la = _input.LA(1);
if (_la==T__4) {
{
setState(148);
defaultValue();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
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 extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitVariable(this);
else return visitor.visitChildren(this);
}
}
public final VariableContext variable() throws RecognitionException {
VariableContext _localctx = new VariableContext(_ctx, getState());
enterRule(_localctx, 12, RULE_variable);
try {
enterOuterAlt(_localctx, 1);
{
setState(151);
match(T__3);
setState(152);
name();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
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 extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitDefaultValue(this);
else return visitor.visitChildren(this);
}
}
public final DefaultValueContext defaultValue() throws RecognitionException {
DefaultValueContext _localctx = new DefaultValueContext(_ctx, getState());
enterRule(_localctx, 14, RULE_defaultValue);
try {
enterOuterAlt(_localctx, 1);
{
setState(154);
match(T__4);
setState(155);
value();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
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 extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitSelectionSet(this);
else return visitor.visitChildren(this);
}
}
public final SelectionSetContext selectionSet() throws RecognitionException {
SelectionSetContext _localctx = new SelectionSetContext(_ctx, getState());
enterRule(_localctx, 16, RULE_selectionSet);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(157);
match(T__5);
setState(159);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(158);
selection();
}
}
setState(161);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( (((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__7) | (1L << FRAGMENT) | (1L << QUERY) | (1L << MUTATION) | (1L << SUBSCRIPTION) | (1L << SCHEMA) | (1L << SCALAR) | (1L << TYPE) | (1L << INTERFACE) | (1L << IMPLEMENTS) | (1L << ENUM) | (1L << UNION) | (1L << INPUT) | (1L << EXTEND) | (1L << DIRECTIVE) | (1L << NAME))) != 0) );
setState(163);
match(T__6);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
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 extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitSelection(this);
else return visitor.visitChildren(this);
}
}
public final SelectionContext selection() throws RecognitionException {
SelectionContext _localctx = new SelectionContext(_ctx, getState());
enterRule(_localctx, 18, RULE_selection);
try {
setState(168);
switch ( getInterpreter().adaptivePredict(_input,9,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(165);
field();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(166);
fragmentSpread();
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(167);
inlineFragment();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
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 extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitField(this);
else return visitor.visitChildren(this);
}
}
public final FieldContext field() throws RecognitionException {
FieldContext _localctx = new FieldContext(_ctx, getState());
enterRule(_localctx, 20, RULE_field);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(171);
switch ( getInterpreter().adaptivePredict(_input,10,_ctx) ) {
case 1:
{
setState(170);
alias();
}
break;
}
setState(173);
name();
setState(175);
_la = _input.LA(1);
if (_la==T__0) {
{
setState(174);
arguments();
}
}
setState(178);
_la = _input.LA(1);
if (_la==T__11) {
{
setState(177);
directives();
}
}
setState(181);
_la = _input.LA(1);
if (_la==T__5) {
{
setState(180);
selectionSet();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
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 extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitAlias(this);
else return visitor.visitChildren(this);
}
}
public final AliasContext alias() throws RecognitionException {
AliasContext _localctx = new AliasContext(_ctx, getState());
enterRule(_localctx, 22, RULE_alias);
try {
enterOuterAlt(_localctx, 1);
{
setState(183);
name();
setState(184);
match(T__2);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
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 extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitArguments(this);
else return visitor.visitChildren(this);
}
}
public final ArgumentsContext arguments() throws RecognitionException {
ArgumentsContext _localctx = new ArgumentsContext(_ctx, getState());
enterRule(_localctx, 24, RULE_arguments);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(186);
match(T__0);
setState(188);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(187);
argument();
}
}
setState(190);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( (((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << FRAGMENT) | (1L << QUERY) | (1L << MUTATION) | (1L << SUBSCRIPTION) | (1L << SCHEMA) | (1L << SCALAR) | (1L << TYPE) | (1L << INTERFACE) | (1L << IMPLEMENTS) | (1L << ENUM) | (1L << UNION) | (1L << INPUT) | (1L << EXTEND) | (1L << DIRECTIVE) | (1L << NAME))) != 0) );
setState(192);
match(T__1);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ArgumentContext extends ParserRuleContext {
public NameContext name() {
return getRuleContext(NameContext.class,0);
}
public ValueWithVariableContext valueWithVariable() {
return getRuleContext(ValueWithVariableContext.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 extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitArgument(this);
else return visitor.visitChildren(this);
}
}
public final ArgumentContext argument() throws RecognitionException {
ArgumentContext _localctx = new ArgumentContext(_ctx, getState());
enterRule(_localctx, 26, RULE_argument);
try {
enterOuterAlt(_localctx, 1);
{
setState(194);
name();
setState(195);
match(T__2);
setState(196);
valueWithVariable();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
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 extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitFragmentSpread(this);
else return visitor.visitChildren(this);
}
}
public final FragmentSpreadContext fragmentSpread() throws RecognitionException {
FragmentSpreadContext _localctx = new FragmentSpreadContext(_ctx, getState());
enterRule(_localctx, 28, RULE_fragmentSpread);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(198);
match(T__7);
setState(199);
fragmentName();
setState(201);
_la = _input.LA(1);
if (_la==T__11) {
{
setState(200);
directives();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class InlineFragmentContext extends ParserRuleContext {
public SelectionSetContext selectionSet() {
return getRuleContext(SelectionSetContext.class,0);
}
public TypeConditionContext typeCondition() {
return getRuleContext(TypeConditionContext.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 extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitInlineFragment(this);
else return visitor.visitChildren(this);
}
}
public final InlineFragmentContext inlineFragment() throws RecognitionException {
InlineFragmentContext _localctx = new InlineFragmentContext(_ctx, getState());
enterRule(_localctx, 30, RULE_inlineFragment);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(203);
match(T__7);
setState(205);
_la = _input.LA(1);
if (_la==T__8) {
{
setState(204);
typeCondition();
}
}
setState(208);
_la = _input.LA(1);
if (_la==T__11) {
{
setState(207);
directives();
}
}
setState(210);
selectionSet();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
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 extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitFragmentDefinition(this);
else return visitor.visitChildren(this);
}
}
public final FragmentDefinitionContext fragmentDefinition() throws RecognitionException {
FragmentDefinitionContext _localctx = new FragmentDefinitionContext(_ctx, getState());
enterRule(_localctx, 32, RULE_fragmentDefinition);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(212);
match(FRAGMENT);
setState(213);
fragmentName();
setState(214);
typeCondition();
setState(216);
_la = _input.LA(1);
if (_la==T__11) {
{
setState(215);
directives();
}
}
setState(218);
selectionSet();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
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 extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitFragmentName(this);
else return visitor.visitChildren(this);
}
}
public final FragmentNameContext fragmentName() throws RecognitionException {
FragmentNameContext _localctx = new FragmentNameContext(_ctx, getState());
enterRule(_localctx, 34, RULE_fragmentName);
try {
enterOuterAlt(_localctx, 1);
{
setState(220);
name();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
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 extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitTypeCondition(this);
else return visitor.visitChildren(this);
}
}
public final TypeConditionContext typeCondition() throws RecognitionException {
TypeConditionContext _localctx = new TypeConditionContext(_ctx, getState());
enterRule(_localctx, 36, RULE_typeCondition);
try {
enterOuterAlt(_localctx, 1);
{
setState(222);
match(T__8);
setState(223);
typeName();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class NameContext extends ParserRuleContext {
public TerminalNode NAME() { return getToken(GraphqlParser.NAME, 0); }
public TerminalNode FRAGMENT() { return getToken(GraphqlParser.FRAGMENT, 0); }
public TerminalNode QUERY() { return getToken(GraphqlParser.QUERY, 0); }
public TerminalNode MUTATION() { return getToken(GraphqlParser.MUTATION, 0); }
public TerminalNode SUBSCRIPTION() { return getToken(GraphqlParser.SUBSCRIPTION, 0); }
public TerminalNode SCHEMA() { return getToken(GraphqlParser.SCHEMA, 0); }
public TerminalNode SCALAR() { return getToken(GraphqlParser.SCALAR, 0); }
public TerminalNode TYPE() { return getToken(GraphqlParser.TYPE, 0); }
public TerminalNode INTERFACE() { return getToken(GraphqlParser.INTERFACE, 0); }
public TerminalNode IMPLEMENTS() { return getToken(GraphqlParser.IMPLEMENTS, 0); }
public TerminalNode ENUM() { return getToken(GraphqlParser.ENUM, 0); }
public TerminalNode UNION() { return getToken(GraphqlParser.UNION, 0); }
public TerminalNode INPUT() { return getToken(GraphqlParser.INPUT, 0); }
public TerminalNode EXTEND() { return getToken(GraphqlParser.EXTEND, 0); }
public TerminalNode DIRECTIVE() { return getToken(GraphqlParser.DIRECTIVE, 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 extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitName(this);
else return visitor.visitChildren(this);
}
}
public final NameContext name() throws RecognitionException {
NameContext _localctx = new NameContext(_ctx, getState());
enterRule(_localctx, 38, RULE_name);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(225);
_la = _input.LA(1);
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << FRAGMENT) | (1L << QUERY) | (1L << MUTATION) | (1L << SUBSCRIPTION) | (1L << SCHEMA) | (1L << SCALAR) | (1L << TYPE) | (1L << INTERFACE) | (1L << IMPLEMENTS) | (1L << ENUM) | (1L << UNION) | (1L << INPUT) | (1L << EXTEND) | (1L << DIRECTIVE) | (1L << NAME))) != 0)) ) {
_errHandler.recoverInline(this);
} else {
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
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 BooleanValue() { return getToken(GraphqlParser.BooleanValue, 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 GraphqlListener ) ((GraphqlListener)listener).enterValue(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitValue(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)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(234);
switch (_input.LA(1)) {
case IntValue:
enterOuterAlt(_localctx, 1);
{
setState(227);
match(IntValue);
}
break;
case FloatValue:
enterOuterAlt(_localctx, 2);
{
setState(228);
match(FloatValue);
}
break;
case StringValue:
enterOuterAlt(_localctx, 3);
{
setState(229);
match(StringValue);
}
break;
case BooleanValue:
enterOuterAlt(_localctx, 4);
{
setState(230);
match(BooleanValue);
}
break;
case FRAGMENT:
case QUERY:
case MUTATION:
case SUBSCRIPTION:
case SCHEMA:
case SCALAR:
case TYPE:
case INTERFACE:
case IMPLEMENTS:
case ENUM:
case UNION:
case INPUT:
case EXTEND:
case DIRECTIVE:
case NAME:
enterOuterAlt(_localctx, 5);
{
setState(231);
enumValue();
}
break;
case T__9:
enterOuterAlt(_localctx, 6);
{
setState(232);
arrayValue();
}
break;
case T__5:
enterOuterAlt(_localctx, 7);
{
setState(233);
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;
}
public static class ValueWithVariableContext extends ParserRuleContext {
public VariableContext variable() {
return getRuleContext(VariableContext.class,0);
}
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 BooleanValue() { return getToken(GraphqlParser.BooleanValue, 0); }
public EnumValueContext enumValue() {
return getRuleContext(EnumValueContext.class,0);
}
public ArrayValueWithVariableContext arrayValueWithVariable() {
return getRuleContext(ArrayValueWithVariableContext.class,0);
}
public ObjectValueWithVariableContext objectValueWithVariable() {
return getRuleContext(ObjectValueWithVariableContext.class,0);
}
public ValueWithVariableContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_valueWithVariable; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterValueWithVariable(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitValueWithVariable(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitValueWithVariable(this);
else return visitor.visitChildren(this);
}
}
public final ValueWithVariableContext valueWithVariable() throws RecognitionException {
ValueWithVariableContext _localctx = new ValueWithVariableContext(_ctx, getState());
enterRule(_localctx, 42, RULE_valueWithVariable);
try {
setState(244);
switch (_input.LA(1)) {
case T__3:
enterOuterAlt(_localctx, 1);
{
setState(236);
variable();
}
break;
case IntValue:
enterOuterAlt(_localctx, 2);
{
setState(237);
match(IntValue);
}
break;
case FloatValue:
enterOuterAlt(_localctx, 3);
{
setState(238);
match(FloatValue);
}
break;
case StringValue:
enterOuterAlt(_localctx, 4);
{
setState(239);
match(StringValue);
}
break;
case BooleanValue:
enterOuterAlt(_localctx, 5);
{
setState(240);
match(BooleanValue);
}
break;
case FRAGMENT:
case QUERY:
case MUTATION:
case SUBSCRIPTION:
case SCHEMA:
case SCALAR:
case TYPE:
case INTERFACE:
case IMPLEMENTS:
case ENUM:
case UNION:
case INPUT:
case EXTEND:
case DIRECTIVE:
case NAME:
enterOuterAlt(_localctx, 6);
{
setState(241);
enumValue();
}
break;
case T__9:
enterOuterAlt(_localctx, 7);
{
setState(242);
arrayValueWithVariable();
}
break;
case T__5:
enterOuterAlt(_localctx, 8);
{
setState(243);
objectValueWithVariable();
}
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 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 extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitEnumValue(this);
else return visitor.visitChildren(this);
}
}
public final EnumValueContext enumValue() throws RecognitionException {
EnumValueContext _localctx = new EnumValueContext(_ctx, getState());
enterRule(_localctx, 44, RULE_enumValue);
try {
enterOuterAlt(_localctx, 1);
{
setState(246);
name();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
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 extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitArrayValue(this);
else return visitor.visitChildren(this);
}
}
public final ArrayValueContext arrayValue() throws RecognitionException {
ArrayValueContext _localctx = new ArrayValueContext(_ctx, getState());
enterRule(_localctx, 46, RULE_arrayValue);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(248);
match(T__9);
setState(252);
_errHandler.sync(this);
_la = _input.LA(1);
while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__5) | (1L << T__9) | (1L << BooleanValue) | (1L << FRAGMENT) | (1L << QUERY) | (1L << MUTATION) | (1L << SUBSCRIPTION) | (1L << SCHEMA) | (1L << SCALAR) | (1L << TYPE) | (1L << INTERFACE) | (1L << IMPLEMENTS) | (1L << ENUM) | (1L << UNION) | (1L << INPUT) | (1L << EXTEND) | (1L << DIRECTIVE) | (1L << NAME) | (1L << IntValue) | (1L << FloatValue) | (1L << StringValue))) != 0)) {
{
{
setState(249);
value();
}
}
setState(254);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(255);
match(T__10);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ArrayValueWithVariableContext extends ParserRuleContext {
public List valueWithVariable() {
return getRuleContexts(ValueWithVariableContext.class);
}
public ValueWithVariableContext valueWithVariable(int i) {
return getRuleContext(ValueWithVariableContext.class,i);
}
public ArrayValueWithVariableContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_arrayValueWithVariable; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterArrayValueWithVariable(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitArrayValueWithVariable(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitArrayValueWithVariable(this);
else return visitor.visitChildren(this);
}
}
public final ArrayValueWithVariableContext arrayValueWithVariable() throws RecognitionException {
ArrayValueWithVariableContext _localctx = new ArrayValueWithVariableContext(_ctx, getState());
enterRule(_localctx, 48, RULE_arrayValueWithVariable);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(257);
match(T__9);
setState(261);
_errHandler.sync(this);
_la = _input.LA(1);
while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__3) | (1L << T__5) | (1L << T__9) | (1L << BooleanValue) | (1L << FRAGMENT) | (1L << QUERY) | (1L << MUTATION) | (1L << SUBSCRIPTION) | (1L << SCHEMA) | (1L << SCALAR) | (1L << TYPE) | (1L << INTERFACE) | (1L << IMPLEMENTS) | (1L << ENUM) | (1L << UNION) | (1L << INPUT) | (1L << EXTEND) | (1L << DIRECTIVE) | (1L << NAME) | (1L << IntValue) | (1L << FloatValue) | (1L << StringValue))) != 0)) {
{
{
setState(258);
valueWithVariable();
}
}
setState(263);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(264);
match(T__10);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
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 extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitObjectValue(this);
else return visitor.visitChildren(this);
}
}
public final ObjectValueContext objectValue() throws RecognitionException {
ObjectValueContext _localctx = new ObjectValueContext(_ctx, getState());
enterRule(_localctx, 50, RULE_objectValue);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(266);
match(T__5);
setState(270);
_errHandler.sync(this);
_la = _input.LA(1);
while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << FRAGMENT) | (1L << QUERY) | (1L << MUTATION) | (1L << SUBSCRIPTION) | (1L << SCHEMA) | (1L << SCALAR) | (1L << TYPE) | (1L << INTERFACE) | (1L << IMPLEMENTS) | (1L << ENUM) | (1L << UNION) | (1L << INPUT) | (1L << EXTEND) | (1L << DIRECTIVE) | (1L << NAME))) != 0)) {
{
{
setState(267);
objectField();
}
}
setState(272);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(273);
match(T__6);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ObjectValueWithVariableContext extends ParserRuleContext {
public List objectFieldWithVariable() {
return getRuleContexts(ObjectFieldWithVariableContext.class);
}
public ObjectFieldWithVariableContext objectFieldWithVariable(int i) {
return getRuleContext(ObjectFieldWithVariableContext.class,i);
}
public ObjectValueWithVariableContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_objectValueWithVariable; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterObjectValueWithVariable(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitObjectValueWithVariable(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitObjectValueWithVariable(this);
else return visitor.visitChildren(this);
}
}
public final ObjectValueWithVariableContext objectValueWithVariable() throws RecognitionException {
ObjectValueWithVariableContext _localctx = new ObjectValueWithVariableContext(_ctx, getState());
enterRule(_localctx, 52, RULE_objectValueWithVariable);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(275);
match(T__5);
setState(279);
_errHandler.sync(this);
_la = _input.LA(1);
while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << FRAGMENT) | (1L << QUERY) | (1L << MUTATION) | (1L << SUBSCRIPTION) | (1L << SCHEMA) | (1L << SCALAR) | (1L << TYPE) | (1L << INTERFACE) | (1L << IMPLEMENTS) | (1L << ENUM) | (1L << UNION) | (1L << INPUT) | (1L << EXTEND) | (1L << DIRECTIVE) | (1L << NAME))) != 0)) {
{
{
setState(276);
objectFieldWithVariable();
}
}
setState(281);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(282);
match(T__6);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
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 extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitObjectField(this);
else return visitor.visitChildren(this);
}
}
public final ObjectFieldContext objectField() throws RecognitionException {
ObjectFieldContext _localctx = new ObjectFieldContext(_ctx, getState());
enterRule(_localctx, 54, RULE_objectField);
try {
enterOuterAlt(_localctx, 1);
{
setState(284);
name();
setState(285);
match(T__2);
setState(286);
value();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ObjectFieldWithVariableContext extends ParserRuleContext {
public NameContext name() {
return getRuleContext(NameContext.class,0);
}
public ValueWithVariableContext valueWithVariable() {
return getRuleContext(ValueWithVariableContext.class,0);
}
public ObjectFieldWithVariableContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_objectFieldWithVariable; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterObjectFieldWithVariable(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitObjectFieldWithVariable(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitObjectFieldWithVariable(this);
else return visitor.visitChildren(this);
}
}
public final ObjectFieldWithVariableContext objectFieldWithVariable() throws RecognitionException {
ObjectFieldWithVariableContext _localctx = new ObjectFieldWithVariableContext(_ctx, getState());
enterRule(_localctx, 56, RULE_objectFieldWithVariable);
try {
enterOuterAlt(_localctx, 1);
{
setState(288);
name();
setState(289);
match(T__2);
setState(290);
valueWithVariable();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
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 extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitDirectives(this);
else return visitor.visitChildren(this);
}
}
public final DirectivesContext directives() throws RecognitionException {
DirectivesContext _localctx = new DirectivesContext(_ctx, getState());
enterRule(_localctx, 58, RULE_directives);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(293);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(292);
directive();
}
}
setState(295);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( _la==T__11 );
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
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 extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitDirective(this);
else return visitor.visitChildren(this);
}
}
public final DirectiveContext directive() throws RecognitionException {
DirectiveContext _localctx = new DirectiveContext(_ctx, getState());
enterRule(_localctx, 60, RULE_directive);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(297);
match(T__11);
setState(298);
name();
setState(300);
_la = _input.LA(1);
if (_la==T__0) {
{
setState(299);
arguments();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
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 extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitType(this);
else return visitor.visitChildren(this);
}
}
public final TypeContext type() throws RecognitionException {
TypeContext _localctx = new TypeContext(_ctx, getState());
enterRule(_localctx, 62, RULE_type);
try {
setState(305);
switch ( getInterpreter().adaptivePredict(_input,27,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(302);
typeName();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(303);
listType();
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(304);
nonNullType();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
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 extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitTypeName(this);
else return visitor.visitChildren(this);
}
}
public final TypeNameContext typeName() throws RecognitionException {
TypeNameContext _localctx = new TypeNameContext(_ctx, getState());
enterRule(_localctx, 64, RULE_typeName);
try {
enterOuterAlt(_localctx, 1);
{
setState(307);
name();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
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 extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitListType(this);
else return visitor.visitChildren(this);
}
}
public final ListTypeContext listType() throws RecognitionException {
ListTypeContext _localctx = new ListTypeContext(_ctx, getState());
enterRule(_localctx, 66, RULE_listType);
try {
enterOuterAlt(_localctx, 1);
{
setState(309);
match(T__9);
setState(310);
type();
setState(311);
match(T__10);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
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 extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitNonNullType(this);
else return visitor.visitChildren(this);
}
}
public final NonNullTypeContext nonNullType() throws RecognitionException {
NonNullTypeContext _localctx = new NonNullTypeContext(_ctx, getState());
enterRule(_localctx, 68, RULE_nonNullType);
try {
setState(319);
switch (_input.LA(1)) {
case FRAGMENT:
case QUERY:
case MUTATION:
case SUBSCRIPTION:
case SCHEMA:
case SCALAR:
case TYPE:
case INTERFACE:
case IMPLEMENTS:
case ENUM:
case UNION:
case INPUT:
case EXTEND:
case DIRECTIVE:
case NAME:
enterOuterAlt(_localctx, 1);
{
setState(313);
typeName();
setState(314);
match(T__12);
}
break;
case T__9:
enterOuterAlt(_localctx, 2);
{
setState(316);
listType();
setState(317);
match(T__12);
}
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 class TypeSystemDefinitionContext extends ParserRuleContext {
public SchemaDefinitionContext schemaDefinition() {
return getRuleContext(SchemaDefinitionContext.class,0);
}
public TypeDefinitionContext typeDefinition() {
return getRuleContext(TypeDefinitionContext.class,0);
}
public TypeExtensionDefinitionContext typeExtensionDefinition() {
return getRuleContext(TypeExtensionDefinitionContext.class,0);
}
public DirectiveDefinitionContext directiveDefinition() {
return getRuleContext(DirectiveDefinitionContext.class,0);
}
public TypeSystemDefinitionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_typeSystemDefinition; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterTypeSystemDefinition(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitTypeSystemDefinition(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitTypeSystemDefinition(this);
else return visitor.visitChildren(this);
}
}
public final TypeSystemDefinitionContext typeSystemDefinition() throws RecognitionException {
TypeSystemDefinitionContext _localctx = new TypeSystemDefinitionContext(_ctx, getState());
enterRule(_localctx, 70, RULE_typeSystemDefinition);
try {
setState(325);
switch (_input.LA(1)) {
case SCHEMA:
enterOuterAlt(_localctx, 1);
{
setState(321);
schemaDefinition();
}
break;
case SCALAR:
case TYPE:
case INTERFACE:
case ENUM:
case UNION:
case INPUT:
enterOuterAlt(_localctx, 2);
{
setState(322);
typeDefinition();
}
break;
case EXTEND:
enterOuterAlt(_localctx, 3);
{
setState(323);
typeExtensionDefinition();
}
break;
case DIRECTIVE:
enterOuterAlt(_localctx, 4);
{
setState(324);
directiveDefinition();
}
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 class SchemaDefinitionContext extends ParserRuleContext {
public TerminalNode SCHEMA() { return getToken(GraphqlParser.SCHEMA, 0); }
public DirectivesContext directives() {
return getRuleContext(DirectivesContext.class,0);
}
public List operationTypeDefinition() {
return getRuleContexts(OperationTypeDefinitionContext.class);
}
public OperationTypeDefinitionContext operationTypeDefinition(int i) {
return getRuleContext(OperationTypeDefinitionContext.class,i);
}
public SchemaDefinitionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_schemaDefinition; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterSchemaDefinition(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitSchemaDefinition(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitSchemaDefinition(this);
else return visitor.visitChildren(this);
}
}
public final SchemaDefinitionContext schemaDefinition() throws RecognitionException {
SchemaDefinitionContext _localctx = new SchemaDefinitionContext(_ctx, getState());
enterRule(_localctx, 72, RULE_schemaDefinition);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(327);
match(SCHEMA);
setState(329);
_la = _input.LA(1);
if (_la==T__11) {
{
setState(328);
directives();
}
}
setState(331);
match(T__5);
setState(333);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(332);
operationTypeDefinition();
}
}
setState(335);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( (((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << QUERY) | (1L << MUTATION) | (1L << SUBSCRIPTION))) != 0) );
setState(337);
match(T__6);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OperationTypeDefinitionContext extends ParserRuleContext {
public OperationTypeContext operationType() {
return getRuleContext(OperationTypeContext.class,0);
}
public TypeNameContext typeName() {
return getRuleContext(TypeNameContext.class,0);
}
public OperationTypeDefinitionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_operationTypeDefinition; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterOperationTypeDefinition(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitOperationTypeDefinition(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitOperationTypeDefinition(this);
else return visitor.visitChildren(this);
}
}
public final OperationTypeDefinitionContext operationTypeDefinition() throws RecognitionException {
OperationTypeDefinitionContext _localctx = new OperationTypeDefinitionContext(_ctx, getState());
enterRule(_localctx, 74, RULE_operationTypeDefinition);
try {
enterOuterAlt(_localctx, 1);
{
setState(339);
operationType();
setState(340);
match(T__2);
setState(341);
typeName();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class TypeDefinitionContext extends ParserRuleContext {
public ScalarTypeDefinitionContext scalarTypeDefinition() {
return getRuleContext(ScalarTypeDefinitionContext.class,0);
}
public ObjectTypeDefinitionContext objectTypeDefinition() {
return getRuleContext(ObjectTypeDefinitionContext.class,0);
}
public InterfaceTypeDefinitionContext interfaceTypeDefinition() {
return getRuleContext(InterfaceTypeDefinitionContext.class,0);
}
public UnionTypeDefinitionContext unionTypeDefinition() {
return getRuleContext(UnionTypeDefinitionContext.class,0);
}
public EnumTypeDefinitionContext enumTypeDefinition() {
return getRuleContext(EnumTypeDefinitionContext.class,0);
}
public InputObjectTypeDefinitionContext inputObjectTypeDefinition() {
return getRuleContext(InputObjectTypeDefinitionContext.class,0);
}
public TypeDefinitionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_typeDefinition; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterTypeDefinition(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitTypeDefinition(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitTypeDefinition(this);
else return visitor.visitChildren(this);
}
}
public final TypeDefinitionContext typeDefinition() throws RecognitionException {
TypeDefinitionContext _localctx = new TypeDefinitionContext(_ctx, getState());
enterRule(_localctx, 76, RULE_typeDefinition);
try {
setState(349);
switch (_input.LA(1)) {
case SCALAR:
enterOuterAlt(_localctx, 1);
{
setState(343);
scalarTypeDefinition();
}
break;
case TYPE:
enterOuterAlt(_localctx, 2);
{
setState(344);
objectTypeDefinition();
}
break;
case INTERFACE:
enterOuterAlt(_localctx, 3);
{
setState(345);
interfaceTypeDefinition();
}
break;
case UNION:
enterOuterAlt(_localctx, 4);
{
setState(346);
unionTypeDefinition();
}
break;
case ENUM:
enterOuterAlt(_localctx, 5);
{
setState(347);
enumTypeDefinition();
}
break;
case INPUT:
enterOuterAlt(_localctx, 6);
{
setState(348);
inputObjectTypeDefinition();
}
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 class ScalarTypeDefinitionContext extends ParserRuleContext {
public TerminalNode SCALAR() { return getToken(GraphqlParser.SCALAR, 0); }
public NameContext name() {
return getRuleContext(NameContext.class,0);
}
public DirectivesContext directives() {
return getRuleContext(DirectivesContext.class,0);
}
public ScalarTypeDefinitionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_scalarTypeDefinition; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterScalarTypeDefinition(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitScalarTypeDefinition(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitScalarTypeDefinition(this);
else return visitor.visitChildren(this);
}
}
public final ScalarTypeDefinitionContext scalarTypeDefinition() throws RecognitionException {
ScalarTypeDefinitionContext _localctx = new ScalarTypeDefinitionContext(_ctx, getState());
enterRule(_localctx, 78, RULE_scalarTypeDefinition);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(351);
match(SCALAR);
setState(352);
name();
setState(354);
_la = _input.LA(1);
if (_la==T__11) {
{
setState(353);
directives();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ObjectTypeDefinitionContext extends ParserRuleContext {
public TerminalNode TYPE() { return getToken(GraphqlParser.TYPE, 0); }
public NameContext name() {
return getRuleContext(NameContext.class,0);
}
public ImplementsInterfacesContext implementsInterfaces() {
return getRuleContext(ImplementsInterfacesContext.class,0);
}
public DirectivesContext directives() {
return getRuleContext(DirectivesContext.class,0);
}
public List fieldDefinition() {
return getRuleContexts(FieldDefinitionContext.class);
}
public FieldDefinitionContext fieldDefinition(int i) {
return getRuleContext(FieldDefinitionContext.class,i);
}
public ObjectTypeDefinitionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_objectTypeDefinition; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterObjectTypeDefinition(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitObjectTypeDefinition(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitObjectTypeDefinition(this);
else return visitor.visitChildren(this);
}
}
public final ObjectTypeDefinitionContext objectTypeDefinition() throws RecognitionException {
ObjectTypeDefinitionContext _localctx = new ObjectTypeDefinitionContext(_ctx, getState());
enterRule(_localctx, 80, RULE_objectTypeDefinition);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(356);
match(TYPE);
setState(357);
name();
setState(359);
_la = _input.LA(1);
if (_la==IMPLEMENTS) {
{
setState(358);
implementsInterfaces();
}
}
setState(362);
_la = _input.LA(1);
if (_la==T__11) {
{
setState(361);
directives();
}
}
setState(364);
match(T__5);
setState(366);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(365);
fieldDefinition();
}
}
setState(368);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( (((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << FRAGMENT) | (1L << QUERY) | (1L << MUTATION) | (1L << SUBSCRIPTION) | (1L << SCHEMA) | (1L << SCALAR) | (1L << TYPE) | (1L << INTERFACE) | (1L << IMPLEMENTS) | (1L << ENUM) | (1L << UNION) | (1L << INPUT) | (1L << EXTEND) | (1L << DIRECTIVE) | (1L << NAME))) != 0) );
setState(370);
match(T__6);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ImplementsInterfacesContext extends ParserRuleContext {
public TerminalNode IMPLEMENTS() { return getToken(GraphqlParser.IMPLEMENTS, 0); }
public List typeName() {
return getRuleContexts(TypeNameContext.class);
}
public TypeNameContext typeName(int i) {
return getRuleContext(TypeNameContext.class,i);
}
public ImplementsInterfacesContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_implementsInterfaces; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterImplementsInterfaces(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitImplementsInterfaces(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitImplementsInterfaces(this);
else return visitor.visitChildren(this);
}
}
public final ImplementsInterfacesContext implementsInterfaces() throws RecognitionException {
ImplementsInterfacesContext _localctx = new ImplementsInterfacesContext(_ctx, getState());
enterRule(_localctx, 82, RULE_implementsInterfaces);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(372);
match(IMPLEMENTS);
setState(374);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(373);
typeName();
}
}
setState(376);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( (((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << FRAGMENT) | (1L << QUERY) | (1L << MUTATION) | (1L << SUBSCRIPTION) | (1L << SCHEMA) | (1L << SCALAR) | (1L << TYPE) | (1L << INTERFACE) | (1L << IMPLEMENTS) | (1L << ENUM) | (1L << UNION) | (1L << INPUT) | (1L << EXTEND) | (1L << DIRECTIVE) | (1L << NAME))) != 0) );
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class FieldDefinitionContext extends ParserRuleContext {
public NameContext name() {
return getRuleContext(NameContext.class,0);
}
public TypeContext type() {
return getRuleContext(TypeContext.class,0);
}
public ArgumentsDefinitionContext argumentsDefinition() {
return getRuleContext(ArgumentsDefinitionContext.class,0);
}
public DirectivesContext directives() {
return getRuleContext(DirectivesContext.class,0);
}
public FieldDefinitionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_fieldDefinition; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterFieldDefinition(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitFieldDefinition(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitFieldDefinition(this);
else return visitor.visitChildren(this);
}
}
public final FieldDefinitionContext fieldDefinition() throws RecognitionException {
FieldDefinitionContext _localctx = new FieldDefinitionContext(_ctx, getState());
enterRule(_localctx, 84, RULE_fieldDefinition);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(378);
name();
setState(380);
_la = _input.LA(1);
if (_la==T__0) {
{
setState(379);
argumentsDefinition();
}
}
setState(382);
match(T__2);
setState(383);
type();
setState(385);
_la = _input.LA(1);
if (_la==T__11) {
{
setState(384);
directives();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ArgumentsDefinitionContext extends ParserRuleContext {
public List inputValueDefinition() {
return getRuleContexts(InputValueDefinitionContext.class);
}
public InputValueDefinitionContext inputValueDefinition(int i) {
return getRuleContext(InputValueDefinitionContext.class,i);
}
public ArgumentsDefinitionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_argumentsDefinition; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterArgumentsDefinition(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitArgumentsDefinition(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitArgumentsDefinition(this);
else return visitor.visitChildren(this);
}
}
public final ArgumentsDefinitionContext argumentsDefinition() throws RecognitionException {
ArgumentsDefinitionContext _localctx = new ArgumentsDefinitionContext(_ctx, getState());
enterRule(_localctx, 86, RULE_argumentsDefinition);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(387);
match(T__0);
setState(389);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(388);
inputValueDefinition();
}
}
setState(391);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( (((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << FRAGMENT) | (1L << QUERY) | (1L << MUTATION) | (1L << SUBSCRIPTION) | (1L << SCHEMA) | (1L << SCALAR) | (1L << TYPE) | (1L << INTERFACE) | (1L << IMPLEMENTS) | (1L << ENUM) | (1L << UNION) | (1L << INPUT) | (1L << EXTEND) | (1L << DIRECTIVE) | (1L << NAME))) != 0) );
setState(393);
match(T__1);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class InputValueDefinitionContext extends ParserRuleContext {
public NameContext name() {
return getRuleContext(NameContext.class,0);
}
public TypeContext type() {
return getRuleContext(TypeContext.class,0);
}
public DefaultValueContext defaultValue() {
return getRuleContext(DefaultValueContext.class,0);
}
public DirectivesContext directives() {
return getRuleContext(DirectivesContext.class,0);
}
public InputValueDefinitionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_inputValueDefinition; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterInputValueDefinition(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitInputValueDefinition(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitInputValueDefinition(this);
else return visitor.visitChildren(this);
}
}
public final InputValueDefinitionContext inputValueDefinition() throws RecognitionException {
InputValueDefinitionContext _localctx = new InputValueDefinitionContext(_ctx, getState());
enterRule(_localctx, 88, RULE_inputValueDefinition);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(395);
name();
setState(396);
match(T__2);
setState(397);
type();
setState(399);
_la = _input.LA(1);
if (_la==T__4) {
{
setState(398);
defaultValue();
}
}
setState(402);
_la = _input.LA(1);
if (_la==T__11) {
{
setState(401);
directives();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class InterfaceTypeDefinitionContext extends ParserRuleContext {
public TerminalNode INTERFACE() { return getToken(GraphqlParser.INTERFACE, 0); }
public NameContext name() {
return getRuleContext(NameContext.class,0);
}
public DirectivesContext directives() {
return getRuleContext(DirectivesContext.class,0);
}
public List fieldDefinition() {
return getRuleContexts(FieldDefinitionContext.class);
}
public FieldDefinitionContext fieldDefinition(int i) {
return getRuleContext(FieldDefinitionContext.class,i);
}
public InterfaceTypeDefinitionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_interfaceTypeDefinition; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterInterfaceTypeDefinition(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitInterfaceTypeDefinition(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitInterfaceTypeDefinition(this);
else return visitor.visitChildren(this);
}
}
public final InterfaceTypeDefinitionContext interfaceTypeDefinition() throws RecognitionException {
InterfaceTypeDefinitionContext _localctx = new InterfaceTypeDefinitionContext(_ctx, getState());
enterRule(_localctx, 90, RULE_interfaceTypeDefinition);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(404);
match(INTERFACE);
setState(405);
name();
setState(407);
_la = _input.LA(1);
if (_la==T__11) {
{
setState(406);
directives();
}
}
setState(409);
match(T__5);
setState(411);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(410);
fieldDefinition();
}
}
setState(413);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( (((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << FRAGMENT) | (1L << QUERY) | (1L << MUTATION) | (1L << SUBSCRIPTION) | (1L << SCHEMA) | (1L << SCALAR) | (1L << TYPE) | (1L << INTERFACE) | (1L << IMPLEMENTS) | (1L << ENUM) | (1L << UNION) | (1L << INPUT) | (1L << EXTEND) | (1L << DIRECTIVE) | (1L << NAME))) != 0) );
setState(415);
match(T__6);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class UnionTypeDefinitionContext extends ParserRuleContext {
public TerminalNode UNION() { return getToken(GraphqlParser.UNION, 0); }
public NameContext name() {
return getRuleContext(NameContext.class,0);
}
public UnionMembersContext unionMembers() {
return getRuleContext(UnionMembersContext.class,0);
}
public DirectivesContext directives() {
return getRuleContext(DirectivesContext.class,0);
}
public UnionTypeDefinitionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_unionTypeDefinition; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterUnionTypeDefinition(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitUnionTypeDefinition(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitUnionTypeDefinition(this);
else return visitor.visitChildren(this);
}
}
public final UnionTypeDefinitionContext unionTypeDefinition() throws RecognitionException {
UnionTypeDefinitionContext _localctx = new UnionTypeDefinitionContext(_ctx, getState());
enterRule(_localctx, 92, RULE_unionTypeDefinition);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(417);
match(UNION);
setState(418);
name();
setState(420);
_la = _input.LA(1);
if (_la==T__11) {
{
setState(419);
directives();
}
}
setState(422);
match(T__4);
setState(423);
unionMembers(0);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class UnionMembersContext extends ParserRuleContext {
public TypeNameContext typeName() {
return getRuleContext(TypeNameContext.class,0);
}
public UnionMembersContext unionMembers() {
return getRuleContext(UnionMembersContext.class,0);
}
public UnionMembersContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_unionMembers; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterUnionMembers(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitUnionMembers(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitUnionMembers(this);
else return visitor.visitChildren(this);
}
}
public final UnionMembersContext unionMembers() throws RecognitionException {
return unionMembers(0);
}
private UnionMembersContext unionMembers(int _p) throws RecognitionException {
ParserRuleContext _parentctx = _ctx;
int _parentState = getState();
UnionMembersContext _localctx = new UnionMembersContext(_ctx, _parentState);
UnionMembersContext _prevctx = _localctx;
int _startState = 94;
enterRecursionRule(_localctx, 94, RULE_unionMembers, _p);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
{
setState(426);
typeName();
}
_ctx.stop = _input.LT(-1);
setState(433);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,46,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
if ( _parseListeners!=null ) triggerExitRuleEvent();
_prevctx = _localctx;
{
{
_localctx = new UnionMembersContext(_parentctx, _parentState);
pushNewRecursionContext(_localctx, _startState, RULE_unionMembers);
setState(428);
if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)");
setState(429);
match(T__13);
setState(430);
typeName();
}
}
}
setState(435);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,46,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
unrollRecursionContexts(_parentctx);
}
return _localctx;
}
public static class EnumTypeDefinitionContext extends ParserRuleContext {
public TerminalNode ENUM() { return getToken(GraphqlParser.ENUM, 0); }
public NameContext name() {
return getRuleContext(NameContext.class,0);
}
public DirectivesContext directives() {
return getRuleContext(DirectivesContext.class,0);
}
public List enumValueDefinition() {
return getRuleContexts(EnumValueDefinitionContext.class);
}
public EnumValueDefinitionContext enumValueDefinition(int i) {
return getRuleContext(EnumValueDefinitionContext.class,i);
}
public EnumTypeDefinitionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_enumTypeDefinition; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterEnumTypeDefinition(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitEnumTypeDefinition(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitEnumTypeDefinition(this);
else return visitor.visitChildren(this);
}
}
public final EnumTypeDefinitionContext enumTypeDefinition() throws RecognitionException {
EnumTypeDefinitionContext _localctx = new EnumTypeDefinitionContext(_ctx, getState());
enterRule(_localctx, 96, RULE_enumTypeDefinition);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(436);
match(ENUM);
setState(437);
name();
setState(439);
_la = _input.LA(1);
if (_la==T__11) {
{
setState(438);
directives();
}
}
setState(441);
match(T__5);
setState(443);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(442);
enumValueDefinition();
}
}
setState(445);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( (((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << FRAGMENT) | (1L << QUERY) | (1L << MUTATION) | (1L << SUBSCRIPTION) | (1L << SCHEMA) | (1L << SCALAR) | (1L << TYPE) | (1L << INTERFACE) | (1L << IMPLEMENTS) | (1L << ENUM) | (1L << UNION) | (1L << INPUT) | (1L << EXTEND) | (1L << DIRECTIVE) | (1L << NAME))) != 0) );
setState(447);
match(T__6);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class EnumValueDefinitionContext extends ParserRuleContext {
public EnumValueContext enumValue() {
return getRuleContext(EnumValueContext.class,0);
}
public DirectivesContext directives() {
return getRuleContext(DirectivesContext.class,0);
}
public EnumValueDefinitionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_enumValueDefinition; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterEnumValueDefinition(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitEnumValueDefinition(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitEnumValueDefinition(this);
else return visitor.visitChildren(this);
}
}
public final EnumValueDefinitionContext enumValueDefinition() throws RecognitionException {
EnumValueDefinitionContext _localctx = new EnumValueDefinitionContext(_ctx, getState());
enterRule(_localctx, 98, RULE_enumValueDefinition);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(449);
enumValue();
setState(451);
_la = _input.LA(1);
if (_la==T__11) {
{
setState(450);
directives();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class InputObjectTypeDefinitionContext extends ParserRuleContext {
public TerminalNode INPUT() { return getToken(GraphqlParser.INPUT, 0); }
public NameContext name() {
return getRuleContext(NameContext.class,0);
}
public DirectivesContext directives() {
return getRuleContext(DirectivesContext.class,0);
}
public List inputValueDefinition() {
return getRuleContexts(InputValueDefinitionContext.class);
}
public InputValueDefinitionContext inputValueDefinition(int i) {
return getRuleContext(InputValueDefinitionContext.class,i);
}
public InputObjectTypeDefinitionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_inputObjectTypeDefinition; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterInputObjectTypeDefinition(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitInputObjectTypeDefinition(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitInputObjectTypeDefinition(this);
else return visitor.visitChildren(this);
}
}
public final InputObjectTypeDefinitionContext inputObjectTypeDefinition() throws RecognitionException {
InputObjectTypeDefinitionContext _localctx = new InputObjectTypeDefinitionContext(_ctx, getState());
enterRule(_localctx, 100, RULE_inputObjectTypeDefinition);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(453);
match(INPUT);
setState(454);
name();
setState(456);
_la = _input.LA(1);
if (_la==T__11) {
{
setState(455);
directives();
}
}
setState(458);
match(T__5);
setState(460);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(459);
inputValueDefinition();
}
}
setState(462);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( (((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << FRAGMENT) | (1L << QUERY) | (1L << MUTATION) | (1L << SUBSCRIPTION) | (1L << SCHEMA) | (1L << SCALAR) | (1L << TYPE) | (1L << INTERFACE) | (1L << IMPLEMENTS) | (1L << ENUM) | (1L << UNION) | (1L << INPUT) | (1L << EXTEND) | (1L << DIRECTIVE) | (1L << NAME))) != 0) );
setState(464);
match(T__6);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class TypeExtensionDefinitionContext extends ParserRuleContext {
public TerminalNode EXTEND() { return getToken(GraphqlParser.EXTEND, 0); }
public ObjectTypeDefinitionContext objectTypeDefinition() {
return getRuleContext(ObjectTypeDefinitionContext.class,0);
}
public TypeExtensionDefinitionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_typeExtensionDefinition; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterTypeExtensionDefinition(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitTypeExtensionDefinition(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitTypeExtensionDefinition(this);
else return visitor.visitChildren(this);
}
}
public final TypeExtensionDefinitionContext typeExtensionDefinition() throws RecognitionException {
TypeExtensionDefinitionContext _localctx = new TypeExtensionDefinitionContext(_ctx, getState());
enterRule(_localctx, 102, RULE_typeExtensionDefinition);
try {
enterOuterAlt(_localctx, 1);
{
setState(466);
match(EXTEND);
setState(467);
objectTypeDefinition();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class DirectiveDefinitionContext extends ParserRuleContext {
public TerminalNode DIRECTIVE() { return getToken(GraphqlParser.DIRECTIVE, 0); }
public NameContext name() {
return getRuleContext(NameContext.class,0);
}
public DirectiveLocationsContext directiveLocations() {
return getRuleContext(DirectiveLocationsContext.class,0);
}
public ArgumentsDefinitionContext argumentsDefinition() {
return getRuleContext(ArgumentsDefinitionContext.class,0);
}
public DirectiveDefinitionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_directiveDefinition; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterDirectiveDefinition(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitDirectiveDefinition(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitDirectiveDefinition(this);
else return visitor.visitChildren(this);
}
}
public final DirectiveDefinitionContext directiveDefinition() throws RecognitionException {
DirectiveDefinitionContext _localctx = new DirectiveDefinitionContext(_ctx, getState());
enterRule(_localctx, 104, RULE_directiveDefinition);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(469);
match(DIRECTIVE);
setState(470);
match(T__11);
setState(471);
name();
setState(473);
_la = _input.LA(1);
if (_la==T__0) {
{
setState(472);
argumentsDefinition();
}
}
setState(475);
match(T__8);
setState(476);
directiveLocations(0);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class DirectiveLocationContext extends ParserRuleContext {
public NameContext name() {
return getRuleContext(NameContext.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 GraphqlListener ) ((GraphqlListener)listener).enterDirectiveLocation(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitDirectiveLocation(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitDirectiveLocation(this);
else return visitor.visitChildren(this);
}
}
public final DirectiveLocationContext directiveLocation() throws RecognitionException {
DirectiveLocationContext _localctx = new DirectiveLocationContext(_ctx, getState());
enterRule(_localctx, 106, RULE_directiveLocation);
try {
enterOuterAlt(_localctx, 1);
{
setState(478);
name();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class DirectiveLocationsContext extends ParserRuleContext {
public DirectiveLocationContext directiveLocation() {
return getRuleContext(DirectiveLocationContext.class,0);
}
public DirectiveLocationsContext directiveLocations() {
return getRuleContext(DirectiveLocationsContext.class,0);
}
public DirectiveLocationsContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_directiveLocations; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).enterDirectiveLocations(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof GraphqlListener ) ((GraphqlListener)listener).exitDirectiveLocations(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof GraphqlVisitor ) return ((GraphqlVisitor extends T>)visitor).visitDirectiveLocations(this);
else return visitor.visitChildren(this);
}
}
public final DirectiveLocationsContext directiveLocations() throws RecognitionException {
return directiveLocations(0);
}
private DirectiveLocationsContext directiveLocations(int _p) throws RecognitionException {
ParserRuleContext _parentctx = _ctx;
int _parentState = getState();
DirectiveLocationsContext _localctx = new DirectiveLocationsContext(_ctx, _parentState);
DirectiveLocationsContext _prevctx = _localctx;
int _startState = 108;
enterRecursionRule(_localctx, 108, RULE_directiveLocations, _p);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
{
setState(481);
directiveLocation();
}
_ctx.stop = _input.LT(-1);
setState(488);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,53,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
if ( _parseListeners!=null ) triggerExitRuleEvent();
_prevctx = _localctx;
{
{
_localctx = new DirectiveLocationsContext(_parentctx, _parentState);
pushNewRecursionContext(_localctx, _startState, RULE_directiveLocations);
setState(483);
if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)");
setState(484);
match(T__13);
setState(485);
directiveLocation();
}
}
}
setState(490);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,53,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
unrollRecursionContexts(_parentctx);
}
return _localctx;
}
public boolean sempred(RuleContext _localctx, int ruleIndex, int predIndex) {
switch (ruleIndex) {
case 47:
return unionMembers_sempred((UnionMembersContext)_localctx, predIndex);
case 54:
return directiveLocations_sempred((DirectiveLocationsContext)_localctx, predIndex);
}
return true;
}
private boolean unionMembers_sempred(UnionMembersContext _localctx, int predIndex) {
switch (predIndex) {
case 0:
return precpred(_ctx, 1);
}
return true;
}
private boolean directiveLocations_sempred(DirectiveLocationsContext _localctx, int predIndex) {
switch (predIndex) {
case 1:
return precpred(_ctx, 1);
}
return true;
}
public static final String _serializedATN =
"\3\u0430\ud6d1\u8206\uad2d\u4417\uaef1\u8d80\uaadd\3*\u01ee\4\2\t\2\4"+
"\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t"+
"\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+
"\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+
"\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+
"\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4"+
",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t"+
"\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\3\2\6\2r\n\2\r\2\16\2s\3\3\3\3"+
"\3\3\5\3y\n\3\3\4\3\4\3\4\5\4~\n\4\3\4\5\4\u0081\n\4\3\4\5\4\u0084\n\4"+
"\3\4\3\4\5\4\u0088\n\4\3\5\3\5\3\6\3\6\6\6\u008e\n\6\r\6\16\6\u008f\3"+
"\6\3\6\3\7\3\7\3\7\3\7\5\7\u0098\n\7\3\b\3\b\3\b\3\t\3\t\3\t\3\n\3\n\6"+
"\n\u00a2\n\n\r\n\16\n\u00a3\3\n\3\n\3\13\3\13\3\13\5\13\u00ab\n\13\3\f"+
"\5\f\u00ae\n\f\3\f\3\f\5\f\u00b2\n\f\3\f\5\f\u00b5\n\f\3\f\5\f\u00b8\n"+
"\f\3\r\3\r\3\r\3\16\3\16\6\16\u00bf\n\16\r\16\16\16\u00c0\3\16\3\16\3"+
"\17\3\17\3\17\3\17\3\20\3\20\3\20\5\20\u00cc\n\20\3\21\3\21\5\21\u00d0"+
"\n\21\3\21\5\21\u00d3\n\21\3\21\3\21\3\22\3\22\3\22\3\22\5\22\u00db\n"+
"\22\3\22\3\22\3\23\3\23\3\24\3\24\3\24\3\25\3\25\3\26\3\26\3\26\3\26\3"+
"\26\3\26\3\26\5\26\u00ed\n\26\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27"+
"\5\27\u00f7\n\27\3\30\3\30\3\31\3\31\7\31\u00fd\n\31\f\31\16\31\u0100"+
"\13\31\3\31\3\31\3\32\3\32\7\32\u0106\n\32\f\32\16\32\u0109\13\32\3\32"+
"\3\32\3\33\3\33\7\33\u010f\n\33\f\33\16\33\u0112\13\33\3\33\3\33\3\34"+
"\3\34\7\34\u0118\n\34\f\34\16\34\u011b\13\34\3\34\3\34\3\35\3\35\3\35"+
"\3\35\3\36\3\36\3\36\3\36\3\37\6\37\u0128\n\37\r\37\16\37\u0129\3 \3 "+
"\3 \5 \u012f\n \3!\3!\3!\5!\u0134\n!\3\"\3\"\3#\3#\3#\3#\3$\3$\3$\3$\3"+
"$\3$\5$\u0142\n$\3%\3%\3%\3%\5%\u0148\n%\3&\3&\5&\u014c\n&\3&\3&\6&\u0150"+
"\n&\r&\16&\u0151\3&\3&\3\'\3\'\3\'\3\'\3(\3(\3(\3(\3(\3(\5(\u0160\n(\3"+
")\3)\3)\5)\u0165\n)\3*\3*\3*\5*\u016a\n*\3*\5*\u016d\n*\3*\3*\6*\u0171"+
"\n*\r*\16*\u0172\3*\3*\3+\3+\6+\u0179\n+\r+\16+\u017a\3,\3,\5,\u017f\n"+
",\3,\3,\3,\5,\u0184\n,\3-\3-\6-\u0188\n-\r-\16-\u0189\3-\3-\3.\3.\3.\3"+
".\5.\u0192\n.\3.\5.\u0195\n.\3/\3/\3/\5/\u019a\n/\3/\3/\6/\u019e\n/\r"+
"/\16/\u019f\3/\3/\3\60\3\60\3\60\5\60\u01a7\n\60\3\60\3\60\3\60\3\61\3"+
"\61\3\61\3\61\3\61\3\61\7\61\u01b2\n\61\f\61\16\61\u01b5\13\61\3\62\3"+
"\62\3\62\5\62\u01ba\n\62\3\62\3\62\6\62\u01be\n\62\r\62\16\62\u01bf\3"+
"\62\3\62\3\63\3\63\5\63\u01c6\n\63\3\64\3\64\3\64\5\64\u01cb\n\64\3\64"+
"\3\64\6\64\u01cf\n\64\r\64\16\64\u01d0\3\64\3\64\3\65\3\65\3\65\3\66\3"+
"\66\3\66\3\66\5\66\u01dc\n\66\3\66\3\66\3\66\3\67\3\67\38\38\38\38\38"+
"\38\78\u01e9\n8\f8\168\u01ec\138\38\2\4`n9\2\4\6\b\n\f\16\20\22\24\26"+
"\30\32\34\36 \"$&(*,.\60\62\64\668:<>@BDFHJLNPRTVXZ\\^`bdfhjln\2\4\3\2"+
"\23\25\3\2\22 \u0200\2q\3\2\2\2\4x\3\2\2\2\6\u0087\3\2\2\2\b\u0089\3\2"+
"\2\2\n\u008b\3\2\2\2\f\u0093\3\2\2\2\16\u0099\3\2\2\2\20\u009c\3\2\2\2"+
"\22\u009f\3\2\2\2\24\u00aa\3\2\2\2\26\u00ad\3\2\2\2\30\u00b9\3\2\2\2\32"+
"\u00bc\3\2\2\2\34\u00c4\3\2\2\2\36\u00c8\3\2\2\2 \u00cd\3\2\2\2\"\u00d6"+
"\3\2\2\2$\u00de\3\2\2\2&\u00e0\3\2\2\2(\u00e3\3\2\2\2*\u00ec\3\2\2\2,"+
"\u00f6\3\2\2\2.\u00f8\3\2\2\2\60\u00fa\3\2\2\2\62\u0103\3\2\2\2\64\u010c"+
"\3\2\2\2\66\u0115\3\2\2\28\u011e\3\2\2\2:\u0122\3\2\2\2<\u0127\3\2\2\2"+
">\u012b\3\2\2\2@\u0133\3\2\2\2B\u0135\3\2\2\2D\u0137\3\2\2\2F\u0141\3"+
"\2\2\2H\u0147\3\2\2\2J\u0149\3\2\2\2L\u0155\3\2\2\2N\u015f\3\2\2\2P\u0161"+
"\3\2\2\2R\u0166\3\2\2\2T\u0176\3\2\2\2V\u017c\3\2\2\2X\u0185\3\2\2\2Z"+
"\u018d\3\2\2\2\\\u0196\3\2\2\2^\u01a3\3\2\2\2`\u01ab\3\2\2\2b\u01b6\3"+
"\2\2\2d\u01c3\3\2\2\2f\u01c7\3\2\2\2h\u01d4\3\2\2\2j\u01d7\3\2\2\2l\u01e0"+
"\3\2\2\2n\u01e2\3\2\2\2pr\5\4\3\2qp\3\2\2\2rs\3\2\2\2sq\3\2\2\2st\3\2"+
"\2\2t\3\3\2\2\2uy\5\6\4\2vy\5\"\22\2wy\5H%\2xu\3\2\2\2xv\3\2\2\2xw\3\2"+
"\2\2y\5\3\2\2\2z\u0088\5\22\n\2{}\5\b\5\2|~\5(\25\2}|\3\2\2\2}~\3\2\2"+
"\2~\u0080\3\2\2\2\177\u0081\5\n\6\2\u0080\177\3\2\2\2\u0080\u0081\3\2"+
"\2\2\u0081\u0083\3\2\2\2\u0082\u0084\5<\37\2\u0083\u0082\3\2\2\2\u0083"+
"\u0084\3\2\2\2\u0084\u0085\3\2\2\2\u0085\u0086\5\22\n\2\u0086\u0088\3"+
"\2\2\2\u0087z\3\2\2\2\u0087{\3\2\2\2\u0088\7\3\2\2\2\u0089\u008a\t\2\2"+
"\2\u008a\t\3\2\2\2\u008b\u008d\7\3\2\2\u008c\u008e\5\f\7\2\u008d\u008c"+
"\3\2\2\2\u008e\u008f\3\2\2\2\u008f\u008d\3\2\2\2\u008f\u0090\3\2\2\2\u0090"+
"\u0091\3\2\2\2\u0091\u0092\7\4\2\2\u0092\13\3\2\2\2\u0093\u0094\5\16\b"+
"\2\u0094\u0095\7\5\2\2\u0095\u0097\5@!\2\u0096\u0098\5\20\t\2\u0097\u0096"+
"\3\2\2\2\u0097\u0098\3\2\2\2\u0098\r\3\2\2\2\u0099\u009a\7\6\2\2\u009a"+
"\u009b\5(\25\2\u009b\17\3\2\2\2\u009c\u009d\7\7\2\2\u009d\u009e\5*\26"+
"\2\u009e\21\3\2\2\2\u009f\u00a1\7\b\2\2\u00a0\u00a2\5\24\13\2\u00a1\u00a0"+
"\3\2\2\2\u00a2\u00a3\3\2\2\2\u00a3\u00a1\3\2\2\2\u00a3\u00a4\3\2\2\2\u00a4"+
"\u00a5\3\2\2\2\u00a5\u00a6\7\t\2\2\u00a6\23\3\2\2\2\u00a7\u00ab\5\26\f"+
"\2\u00a8\u00ab\5\36\20\2\u00a9\u00ab\5 \21\2\u00aa\u00a7\3\2\2\2\u00aa"+
"\u00a8\3\2\2\2\u00aa\u00a9\3\2\2\2\u00ab\25\3\2\2\2\u00ac\u00ae\5\30\r"+
"\2\u00ad\u00ac\3\2\2\2\u00ad\u00ae\3\2\2\2\u00ae\u00af\3\2\2\2\u00af\u00b1"+
"\5(\25\2\u00b0\u00b2\5\32\16\2\u00b1\u00b0\3\2\2\2\u00b1\u00b2\3\2\2\2"+
"\u00b2\u00b4\3\2\2\2\u00b3\u00b5\5<\37\2\u00b4\u00b3\3\2\2\2\u00b4\u00b5"+
"\3\2\2\2\u00b5\u00b7\3\2\2\2\u00b6\u00b8\5\22\n\2\u00b7\u00b6\3\2\2\2"+
"\u00b7\u00b8\3\2\2\2\u00b8\27\3\2\2\2\u00b9\u00ba\5(\25\2\u00ba\u00bb"+
"\7\5\2\2\u00bb\31\3\2\2\2\u00bc\u00be\7\3\2\2\u00bd\u00bf\5\34\17\2\u00be"+
"\u00bd\3\2\2\2\u00bf\u00c0\3\2\2\2\u00c0\u00be\3\2\2\2\u00c0\u00c1\3\2"+
"\2\2\u00c1\u00c2\3\2\2\2\u00c2\u00c3\7\4\2\2\u00c3\33\3\2\2\2\u00c4\u00c5"+
"\5(\25\2\u00c5\u00c6\7\5\2\2\u00c6\u00c7\5,\27\2\u00c7\35\3\2\2\2\u00c8"+
"\u00c9\7\n\2\2\u00c9\u00cb\5$\23\2\u00ca\u00cc\5<\37\2\u00cb\u00ca\3\2"+
"\2\2\u00cb\u00cc\3\2\2\2\u00cc\37\3\2\2\2\u00cd\u00cf\7\n\2\2\u00ce\u00d0"+
"\5&\24\2\u00cf\u00ce\3\2\2\2\u00cf\u00d0\3\2\2\2\u00d0\u00d2\3\2\2\2\u00d1"+
"\u00d3\5<\37\2\u00d2\u00d1\3\2\2\2\u00d2\u00d3\3\2\2\2\u00d3\u00d4\3\2"+
"\2\2\u00d4\u00d5\5\22\n\2\u00d5!\3\2\2\2\u00d6\u00d7\7\22\2\2\u00d7\u00d8"+
"\5$\23\2\u00d8\u00da\5&\24\2\u00d9\u00db\5<\37\2\u00da\u00d9\3\2\2\2\u00da"+
"\u00db\3\2\2\2\u00db\u00dc\3\2\2\2\u00dc\u00dd\5\22\n\2\u00dd#\3\2\2\2"+
"\u00de\u00df\5(\25\2\u00df%\3\2\2\2\u00e0\u00e1\7\13\2\2\u00e1\u00e2\5"+
"B\"\2\u00e2\'\3\2\2\2\u00e3\u00e4\t\3\2\2\u00e4)\3\2\2\2\u00e5\u00ed\7"+
"!\2\2\u00e6\u00ed\7\"\2\2\u00e7\u00ed\7(\2\2\u00e8\u00ed\7\21\2\2\u00e9"+
"\u00ed\5.\30\2\u00ea\u00ed\5\60\31\2\u00eb\u00ed\5\64\33\2\u00ec\u00e5"+
"\3\2\2\2\u00ec\u00e6\3\2\2\2\u00ec\u00e7\3\2\2\2\u00ec\u00e8\3\2\2\2\u00ec"+
"\u00e9\3\2\2\2\u00ec\u00ea\3\2\2\2\u00ec\u00eb\3\2\2\2\u00ed+\3\2\2\2"+
"\u00ee\u00f7\5\16\b\2\u00ef\u00f7\7!\2\2\u00f0\u00f7\7\"\2\2\u00f1\u00f7"+
"\7(\2\2\u00f2\u00f7\7\21\2\2\u00f3\u00f7\5.\30\2\u00f4\u00f7\5\62\32\2"+
"\u00f5\u00f7\5\66\34\2\u00f6\u00ee\3\2\2\2\u00f6\u00ef\3\2\2\2\u00f6\u00f0"+
"\3\2\2\2\u00f6\u00f1\3\2\2\2\u00f6\u00f2\3\2\2\2\u00f6\u00f3\3\2\2\2\u00f6"+
"\u00f4\3\2\2\2\u00f6\u00f5\3\2\2\2\u00f7-\3\2\2\2\u00f8\u00f9\5(\25\2"+
"\u00f9/\3\2\2\2\u00fa\u00fe\7\f\2\2\u00fb\u00fd\5*\26\2\u00fc\u00fb\3"+
"\2\2\2\u00fd\u0100\3\2\2\2\u00fe\u00fc\3\2\2\2\u00fe\u00ff\3\2\2\2\u00ff"+
"\u0101\3\2\2\2\u0100\u00fe\3\2\2\2\u0101\u0102\7\r\2\2\u0102\61\3\2\2"+
"\2\u0103\u0107\7\f\2\2\u0104\u0106\5,\27\2\u0105\u0104\3\2\2\2\u0106\u0109"+
"\3\2\2\2\u0107\u0105\3\2\2\2\u0107\u0108\3\2\2\2\u0108\u010a\3\2\2\2\u0109"+
"\u0107\3\2\2\2\u010a\u010b\7\r\2\2\u010b\63\3\2\2\2\u010c\u0110\7\b\2"+
"\2\u010d\u010f\58\35\2\u010e\u010d\3\2\2\2\u010f\u0112\3\2\2\2\u0110\u010e"+
"\3\2\2\2\u0110\u0111\3\2\2\2\u0111\u0113\3\2\2\2\u0112\u0110\3\2\2\2\u0113"+
"\u0114\7\t\2\2\u0114\65\3\2\2\2\u0115\u0119\7\b\2\2\u0116\u0118\5:\36"+
"\2\u0117\u0116\3\2\2\2\u0118\u011b\3\2\2\2\u0119\u0117\3\2\2\2\u0119\u011a"+
"\3\2\2\2\u011a\u011c\3\2\2\2\u011b\u0119\3\2\2\2\u011c\u011d\7\t\2\2\u011d"+
"\67\3\2\2\2\u011e\u011f\5(\25\2\u011f\u0120\7\5\2\2\u0120\u0121\5*\26"+
"\2\u01219\3\2\2\2\u0122\u0123\5(\25\2\u0123\u0124\7\5\2\2\u0124\u0125"+
"\5,\27\2\u0125;\3\2\2\2\u0126\u0128\5> \2\u0127\u0126\3\2\2\2\u0128\u0129"+
"\3\2\2\2\u0129\u0127\3\2\2\2\u0129\u012a\3\2\2\2\u012a=\3\2\2\2\u012b"+
"\u012c\7\16\2\2\u012c\u012e\5(\25\2\u012d\u012f\5\32\16\2\u012e\u012d"+
"\3\2\2\2\u012e\u012f\3\2\2\2\u012f?\3\2\2\2\u0130\u0134\5B\"\2\u0131\u0134"+
"\5D#\2\u0132\u0134\5F$\2\u0133\u0130\3\2\2\2\u0133\u0131\3\2\2\2\u0133"+
"\u0132\3\2\2\2\u0134A\3\2\2\2\u0135\u0136\5(\25\2\u0136C\3\2\2\2\u0137"+
"\u0138\7\f\2\2\u0138\u0139\5@!\2\u0139\u013a\7\r\2\2\u013aE\3\2\2\2\u013b"+
"\u013c\5B\"\2\u013c\u013d\7\17\2\2\u013d\u0142\3\2\2\2\u013e\u013f\5D"+
"#\2\u013f\u0140\7\17\2\2\u0140\u0142\3\2\2\2\u0141\u013b\3\2\2\2\u0141"+
"\u013e\3\2\2\2\u0142G\3\2\2\2\u0143\u0148\5J&\2\u0144\u0148\5N(\2\u0145"+
"\u0148\5h\65\2\u0146\u0148\5j\66\2\u0147\u0143\3\2\2\2\u0147\u0144\3\2"+
"\2\2\u0147\u0145\3\2\2\2\u0147\u0146\3\2\2\2\u0148I\3\2\2\2\u0149\u014b"+
"\7\26\2\2\u014a\u014c\5<\37\2\u014b\u014a\3\2\2\2\u014b\u014c\3\2\2\2"+
"\u014c\u014d\3\2\2\2\u014d\u014f\7\b\2\2\u014e\u0150\5L\'\2\u014f\u014e"+
"\3\2\2\2\u0150\u0151\3\2\2\2\u0151\u014f\3\2\2\2\u0151\u0152\3\2\2\2\u0152"+
"\u0153\3\2\2\2\u0153\u0154\7\t\2\2\u0154K\3\2\2\2\u0155\u0156\5\b\5\2"+
"\u0156\u0157\7\5\2\2\u0157\u0158\5B\"\2\u0158M\3\2\2\2\u0159\u0160\5P"+
")\2\u015a\u0160\5R*\2\u015b\u0160\5\\/\2\u015c\u0160\5^\60\2\u015d\u0160"+
"\5b\62\2\u015e\u0160\5f\64\2\u015f\u0159\3\2\2\2\u015f\u015a\3\2\2\2\u015f"+
"\u015b\3\2\2\2\u015f\u015c\3\2\2\2\u015f\u015d\3\2\2\2\u015f\u015e\3\2"+
"\2\2\u0160O\3\2\2\2\u0161\u0162\7\27\2\2\u0162\u0164\5(\25\2\u0163\u0165"+
"\5<\37\2\u0164\u0163\3\2\2\2\u0164\u0165\3\2\2\2\u0165Q\3\2\2\2\u0166"+
"\u0167\7\30\2\2\u0167\u0169\5(\25\2\u0168\u016a\5T+\2\u0169\u0168\3\2"+
"\2\2\u0169\u016a\3\2\2\2\u016a\u016c\3\2\2\2\u016b\u016d\5<\37\2\u016c"+
"\u016b\3\2\2\2\u016c\u016d\3\2\2\2\u016d\u016e\3\2\2\2\u016e\u0170\7\b"+
"\2\2\u016f\u0171\5V,\2\u0170\u016f\3\2\2\2\u0171\u0172\3\2\2\2\u0172\u0170"+
"\3\2\2\2\u0172\u0173\3\2\2\2\u0173\u0174\3\2\2\2\u0174\u0175\7\t\2\2\u0175"+
"S\3\2\2\2\u0176\u0178\7\32\2\2\u0177\u0179\5B\"\2\u0178\u0177\3\2\2\2"+
"\u0179\u017a\3\2\2\2\u017a\u0178\3\2\2\2\u017a\u017b\3\2\2\2\u017bU\3"+
"\2\2\2\u017c\u017e\5(\25\2\u017d\u017f\5X-\2\u017e\u017d\3\2\2\2\u017e"+
"\u017f\3\2\2\2\u017f\u0180\3\2\2\2\u0180\u0181\7\5\2\2\u0181\u0183\5@"+
"!\2\u0182\u0184\5<\37\2\u0183\u0182\3\2\2\2\u0183\u0184\3\2\2\2\u0184"+
"W\3\2\2\2\u0185\u0187\7\3\2\2\u0186\u0188\5Z.\2\u0187\u0186\3\2\2\2\u0188"+
"\u0189\3\2\2\2\u0189\u0187\3\2\2\2\u0189\u018a\3\2\2\2\u018a\u018b\3\2"+
"\2\2\u018b\u018c\7\4\2\2\u018cY\3\2\2\2\u018d\u018e\5(\25\2\u018e\u018f"+
"\7\5\2\2\u018f\u0191\5@!\2\u0190\u0192\5\20\t\2\u0191\u0190\3\2\2\2\u0191"+
"\u0192\3\2\2\2\u0192\u0194\3\2\2\2\u0193\u0195\5<\37\2\u0194\u0193\3\2"+
"\2\2\u0194\u0195\3\2\2\2\u0195[\3\2\2\2\u0196\u0197\7\31\2\2\u0197\u0199"+
"\5(\25\2\u0198\u019a\5<\37\2\u0199\u0198\3\2\2\2\u0199\u019a\3\2\2\2\u019a"+
"\u019b\3\2\2\2\u019b\u019d\7\b\2\2\u019c\u019e\5V,\2\u019d\u019c\3\2\2"+
"\2\u019e\u019f\3\2\2\2\u019f\u019d\3\2\2\2\u019f\u01a0\3\2\2\2\u01a0\u01a1"+
"\3\2\2\2\u01a1\u01a2\7\t\2\2\u01a2]\3\2\2\2\u01a3\u01a4\7\34\2\2\u01a4"+
"\u01a6\5(\25\2\u01a5\u01a7\5<\37\2\u01a6\u01a5\3\2\2\2\u01a6\u01a7\3\2"+
"\2\2\u01a7\u01a8\3\2\2\2\u01a8\u01a9\7\7\2\2\u01a9\u01aa\5`\61\2\u01aa"+
"_\3\2\2\2\u01ab\u01ac\b\61\1\2\u01ac\u01ad\5B\"\2\u01ad\u01b3\3\2\2\2"+
"\u01ae\u01af\f\3\2\2\u01af\u01b0\7\20\2\2\u01b0\u01b2\5B\"\2\u01b1\u01ae"+
"\3\2\2\2\u01b2\u01b5\3\2\2\2\u01b3\u01b1\3\2\2\2\u01b3\u01b4\3\2\2\2\u01b4"+
"a\3\2\2\2\u01b5\u01b3\3\2\2\2\u01b6\u01b7\7\33\2\2\u01b7\u01b9\5(\25\2"+
"\u01b8\u01ba\5<\37\2\u01b9\u01b8\3\2\2\2\u01b9\u01ba\3\2\2\2\u01ba\u01bb"+
"\3\2\2\2\u01bb\u01bd\7\b\2\2\u01bc\u01be\5d\63\2\u01bd\u01bc\3\2\2\2\u01be"+
"\u01bf\3\2\2\2\u01bf\u01bd\3\2\2\2\u01bf\u01c0\3\2\2\2\u01c0\u01c1\3\2"+
"\2\2\u01c1\u01c2\7\t\2\2\u01c2c\3\2\2\2\u01c3\u01c5\5.\30\2\u01c4\u01c6"+
"\5<\37\2\u01c5\u01c4\3\2\2\2\u01c5\u01c6\3\2\2\2\u01c6e\3\2\2\2\u01c7"+
"\u01c8\7\35\2\2\u01c8\u01ca\5(\25\2\u01c9\u01cb\5<\37\2\u01ca\u01c9\3"+
"\2\2\2\u01ca\u01cb\3\2\2\2\u01cb\u01cc\3\2\2\2\u01cc\u01ce\7\b\2\2\u01cd"+
"\u01cf\5Z.\2\u01ce\u01cd\3\2\2\2\u01cf\u01d0\3\2\2\2\u01d0\u01ce\3\2\2"+
"\2\u01d0\u01d1\3\2\2\2\u01d1\u01d2\3\2\2\2\u01d2\u01d3\7\t\2\2\u01d3g"+
"\3\2\2\2\u01d4\u01d5\7\36\2\2\u01d5\u01d6\5R*\2\u01d6i\3\2\2\2\u01d7\u01d8"+
"\7\37\2\2\u01d8\u01d9\7\16\2\2\u01d9\u01db\5(\25\2\u01da\u01dc\5X-\2\u01db"+
"\u01da\3\2\2\2\u01db\u01dc\3\2\2\2\u01dc\u01dd\3\2\2\2\u01dd\u01de\7\13"+
"\2\2\u01de\u01df\5n8\2\u01dfk\3\2\2\2\u01e0\u01e1\5(\25\2\u01e1m\3\2\2"+
"\2\u01e2\u01e3\b8\1\2\u01e3\u01e4\5l\67\2\u01e4\u01ea\3\2\2\2\u01e5\u01e6"+
"\f\3\2\2\u01e6\u01e7\7\20\2\2\u01e7\u01e9\5l\67\2\u01e8\u01e5\3\2\2\2"+
"\u01e9\u01ec\3\2\2\2\u01ea\u01e8\3\2\2\2\u01ea\u01eb\3\2\2\2\u01ebo\3"+
"\2\2\2\u01ec\u01ea\3\2\2\28sx}\u0080\u0083\u0087\u008f\u0097\u00a3\u00aa"+
"\u00ad\u00b1\u00b4\u00b7\u00c0\u00cb\u00cf\u00d2\u00da\u00ec\u00f6\u00fe"+
"\u0107\u0110\u0119\u0129\u012e\u0133\u0141\u0147\u014b\u0151\u015f\u0164"+
"\u0169\u016c\u0172\u017a\u017e\u0183\u0189\u0191\u0194\u0199\u019f\u01a6"+
"\u01b3\u01b9\u01bf\u01c5\u01ca\u01d0\u01db\u01ea";
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);
}
}
}