package husacct.analyse.infrastructure.antlr.csharp;
// $ANTLR 3.4 C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g 2013-01-09 17:08:27
import java.util.LinkedList;
import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import org.antlr.runtime.tree.*;
@SuppressWarnings({"all", "warnings", "unchecked"})
public class CSharpParser extends Parser {
public static final String[] tokenNames = new String[]{
"<invalid>", "<EOR>", "<DOWN>", "<UP>", "ABSTRACT", "AMP", "AS", "ASSIGNMENT", "Asterisks", "Available_identifier", "BACK_SLASH", "BANG", "BASE", "BITWISE_OR", "BOOL", "BREAK", "BYTE", "CARET", "CASE", "CATCH", "CHAR", "CHARACTER_LITERAL", "CHECKED", "CLASS", "CLOSE_BRACE", "CLOSE_BRACKET", "CLOSE_PARENS", "COLON", "COMMA", "CONST", "CONTINUE", "Character", "Combining_character", "Conditional_symbol", "Connecting_character", "DECIMAL", "DECIMAL_DIGIT", "DEFAULT", "DELEGATE", "DELIMITED_COMMENT", "DELIMITED_DOC_COMMENT", "DIV", "DO", "DOT", "DOUBLE", "DOUBLE_BACK_SLASH", "DOUBLE_COLON", "DOUBLE_QUOTE", "Decimal_digit_character", "Decimal_digits", "Decimal_integer_literal", "Delimited_comment_section", "ELSE", "ENUM", "EVENT", "EXPLICIT", "EXTERN", "Exponent_part", "FALSE", "FINALLY", "FIXED", "FLOAT", "FOR", "FOREACH", "File_name", "File_name_character", "File_name_characters", "Formatting_character", "GOTO", "GT", "HEX_DIGIT", "Hex_digits", "Hexadecimal_escape_sequence", "Hexadecimal_integer_literal", "IDENTIFIER", "IF", "IMPLICIT", "IN", "INT", "INTEGER_LITERAL", "INTERFACE", "INTERNAL", "INTERR", "IS", "Identifier_or_keyword", "Identifier_part_character", "Identifier_start_character", "Input_character", "Input_characters", "Integer_type_suffix", "LOCK", "LONG", "LT", "Letter_character", "Line_indicator", "LiteralAccess", "MINUS", "NAMESPACE", "NEW", "NEW_LINE", "NEW_LINE_CHARACTER", "NULL", "Not_number_sign", "Not_slash_or_asterisk", "OBJECT", "OPEN_BRACE", "OPEN_BRACKET", "OPEN_PARENS", "OPERATOR", "OP_ADD_ASSIGNMENT", "OP_AND", "OP_AND_ASSIGNMENT", "OP_COALESCING", "OP_DEC", "OP_DIV_ASSIGNMENT", "OP_EQ", "OP_GE", "OP_INC", "OP_LE", "OP_LEFT_SHIFT", "OP_LEFT_SHIFT_ASSIGNMENT", "OP_MOD_ASSIGNMENT", "OP_MULT_ASSIGNMENT", "OP_NE", "OP_OR", "OP_OR_ASSIGNMENT", "OP_PTR", "OP_SUB_ASSIGNMENT", "OP_XOR_ASSIGNMENT", "OUT", "OVERRIDE", "PARAMS", "PERCENT", "PLUS", "PRIVATE", "PROTECTED", "PUBLIC", "Pp_and_expression", "Pp_conditional", "Pp_declaration", "Pp_diagnostic", "Pp_directive", "Pp_elif_section", "Pp_else_section", "Pp_end_region", "Pp_endif", "Pp_equality_expression", "Pp_expression", "Pp_if_section", "Pp_line", "Pp_message", "Pp_new_line", "Pp_or_expression", "Pp_pragma", "Pp_pragma_text", "Pp_primary_expression", "Pp_region", "Pp_start_region", "Pp_unary_expression", "QUOTE", "Quote_escape_sequence", "READONLY", "REAL_LITERAL", "REF", "RETURN", "Real_type_suffix", "Regular_string_literal", "Regular_string_literal_character", "SBYTE", "SEALED", "SEMICOLON", "SHARP", "SHORT", "SINGLE_LINE_COMMENT", "SINGLE_LINE_DOC_COMMENT", "SIZEOF", "STACKALLOC", "STAR", "STATIC", "STRING", "STRING_LITERAL", "STRUCT", "SWITCH", "Sign", "Simple_escape_sequence", "Single_character", "Single_regular_string_literal_character", "Single_verbatim_string_literal_character", "SkiPped_characters", "SkiPped_section_part", "THIS", "THROW", "TILDE", "TRUE", "TRY", "TYPEOF", "UINT", "ULONG", "UNCHECKED", "UNICODE_CLASS_CF", "UNICODE_CLASS_LL", "UNICODE_CLASS_LM", "UNICODE_CLASS_LO", "UNICODE_CLASS_LT", "UNICODE_CLASS_LU", "UNICODE_CLASS_MC", "UNICODE_CLASS_MN", "UNICODE_CLASS_ND", "UNICODE_CLASS_NL", "UNICODE_CLASS_PC", "UNICODE_CLASS_ZS", "UNSAFE", "USHORT", "USING", "Unicode_escape_sequence", "VIRTUAL", "VOID", "VOLATILE", "Verbatim_string_literal", "Verbatim_string_literal_character", "WHILE", "WHITESPACE", "Whitespace_character", "Whitespace_characters", "ARGUMENT", "ARGUMENT_VALUE", "ARRAY_ACCESS", "ASSIGNMENT_OPERATOR", "ATTRIBUTE", "ATTRIBUTES", "ATTRIBUTE_LIST", "ATTRIBUTE_NAME", "ATTRIBUTE_TARGET", "BLOCK", "BOOL_NOT", "CAST_EXPRESSION", "CLASS_MEMBER_DECLARATIONS", "CONDITION", "CONDITIONAL_EXPRESSION", "CONSTANT_DECLARATOR", "CONSTANT_DECLARATORS", "CONSTANT_INITIALIZER", "CONSTRUCTOR_DECL", "ENUM_EXTENDS", "ENUM_MEMBER_DECLARATION", "ENUM_MEMBER_DECLARATIONS", "ENUM_MEMBER_INITIALIZER", "EVENT_INTERFACE_DECL", "EVENT_PROP_DECL", "EVENT_VARS_DECL", "EXPRESSION_STATEMENT", "EXTENDS_OR_IMPLEMENTS", "EXTERN_ALIAS_DIRECTIVES", "FIELD_DECL", "FIRST_OP", "FIXED_PARAMETER", "FORMAL_PARAMETER_LIST", "FOR_INITIALIZER", "FOR_ITERATOR", "IMPLEMENTS", "INDEXER_DECL", "INTERFACE_MEMBER_DECLARATIONS", "LABELED_STATEMENT", "LOCAL_VARIABLE_DECLARATION", "LOCAL_VARIABLE_DECLARATOR", "LOCAL_VARIABLE_INITIALIZER", "LOOP_BODY", "MEMBER_ACCESS", "MEMBER_NAME", "METHOD_DECL", "METHOD_INVOCATION", "MODIFIERS", "NAMESPACE_MEMBER_DECLARATIONS", "NAMESPACE_OR_TYPE_NAME", "NAMESPACE_OR_TYPE_PART", "OBJECT_CREATION_EXPRESSION", "OP_RIGHT_SHIFT", "OP_RIGHT_SHIFT_ASSIGNMENT", "PARAMETER_ARRAY", "PARAMETER_MODIFIER", "POSITIONAL_ARGUMENT_LIST", "POST_DEC", "POST_INC", "PROPERTY_DECL", "QUALIFIED_ALIAS_MEMBER", "QUALIFIED_IDENTIFIER", "RANK_SPECIFIER", "SECOND_OP", "SIMPLE_NAME", "STRUCT_MEMBER_DECLARATIONS", "THEN", "TYPE", "TYPE_ARGUMENT_LIST", "TYPE_PARAM", "TYPE_PARAMETERS", "TYPE_PARAMETER_CONSTRAINTS_CLAUSE", "TYPE_PARAMETER_CONSTRAINTS_CLAUSES", "UNARY_EXPRESSION", "USING_ALIAS_DIRECTIVE", "USING_DIRECTIVES", "USING_NAMESPACE_DIRECTIVE", "VARIABLE_DECLARATOR", "VARIABLE_INITIALIZER", "VARIANCE_ANNOTATION", "VARIANT_TYPE_PARAMETERS"
};
public static final int EOF = -1;
public static final int ABSTRACT = 4;
public static final int AMP = 5;
public static final int AS = 6;
public static final int ASSIGNMENT = 7;
public static final int Asterisks = 8;
public static final int Available_identifier = 9;
public static final int BACK_SLASH = 10;
public static final int BANG = 11;
public static final int BASE = 12;
public static final int BITWISE_OR = 13;
public static final int BOOL = 14;
public static final int BREAK = 15;
public static final int BYTE = 16;
public static final int CARET = 17;
public static final int CASE = 18;
public static final int CATCH = 19;
public static final int CHAR = 20;
public static final int CHARACTER_LITERAL = 21;
public static final int CHECKED = 22;
public static final int CLASS = 23;
public static final int CLOSE_BRACE = 24;
public static final int CLOSE_BRACKET = 25;
public static final int CLOSE_PARENS = 26;
public static final int COLON = 27;
public static final int COMMA = 28;
public static final int CONST = 29;
public static final int CONTINUE = 30;
public static final int Character = 31;
public static final int Combining_character = 32;
public static final int Conditional_symbol = 33;
public static final int Connecting_character = 34;
public static final int DECIMAL = 35;
public static final int DECIMAL_DIGIT = 36;
public static final int DEFAULT = 37;
public static final int DELEGATE = 38;
public static final int DELIMITED_COMMENT = 39;
public static final int DELIMITED_DOC_COMMENT = 40;
public static final int DIV = 41;
public static final int DO = 42;
public static final int DOT = 43;
public static final int DOUBLE = 44;
public static final int DOUBLE_BACK_SLASH = 45;
public static final int DOUBLE_COLON = 46;
public static final int DOUBLE_QUOTE = 47;
public static final int Decimal_digit_character = 48;
public static final int Decimal_digits = 49;
public static final int Decimal_integer_literal = 50;
public static final int Delimited_comment_section = 51;
public static final int ELSE = 52;
public static final int ENUM = 53;
public static final int EVENT = 54;
public static final int EXPLICIT = 55;
public static final int EXTERN = 56;
public static final int Exponent_part = 57;
public static final int FALSE = 58;
public static final int FINALLY = 59;
public static final int FIXED = 60;
public static final int FLOAT = 61;
public static final int FOR = 62;
public static final int FOREACH = 63;
public static final int File_name = 64;
public static final int File_name_character = 65;
public static final int File_name_characters = 66;
public static final int Formatting_character = 67;
public static final int GOTO = 68;
public static final int GT = 69;
public static final int HEX_DIGIT = 70;
public static final int Hex_digits = 71;
public static final int Hexadecimal_escape_sequence = 72;
public static final int Hexadecimal_integer_literal = 73;
public static final int IDENTIFIER = 74;
public static final int IF = 75;
public static final int IMPLICIT = 76;
public static final int IN = 77;
public static final int INT = 78;
public static final int INTEGER_LITERAL = 79;
public static final int INTERFACE = 80;
public static final int INTERNAL = 81;
public static final int INTERR = 82;
public static final int IS = 83;
public static final int Identifier_or_keyword = 84;
public static final int Identifier_part_character = 85;
public static final int Identifier_start_character = 86;
public static final int Input_character = 87;
public static final int Input_characters = 88;
public static final int Integer_type_suffix = 89;
public static final int LOCK = 90;
public static final int LONG = 91;
public static final int LT = 92;
public static final int Letter_character = 93;
public static final int Line_indicator = 94;
public static final int LiteralAccess = 95;
public static final int MINUS = 96;
public static final int NAMESPACE = 97;
public static final int NEW = 98;
public static final int NEW_LINE = 99;
public static final int NEW_LINE_CHARACTER = 100;
public static final int NULL = 101;
public static final int Not_number_sign = 102;
public static final int Not_slash_or_asterisk = 103;
public static final int OBJECT = 104;
public static final int OPEN_BRACE = 105;
public static final int OPEN_BRACKET = 106;
public static final int OPEN_PARENS = 107;
public static final int OPERATOR = 108;
public static final int OP_ADD_ASSIGNMENT = 109;
public static final int OP_AND = 110;
public static final int OP_AND_ASSIGNMENT = 111;
public static final int OP_COALESCING = 112;
public static final int OP_DEC = 113;
public static final int OP_DIV_ASSIGNMENT = 114;
public static final int OP_EQ = 115;
public static final int OP_GE = 116;
public static final int OP_INC = 117;
public static final int OP_LE = 118;
public static final int OP_LEFT_SHIFT = 119;
public static final int OP_LEFT_SHIFT_ASSIGNMENT = 120;
public static final int OP_MOD_ASSIGNMENT = 121;
public static final int OP_MULT_ASSIGNMENT = 122;
public static final int OP_NE = 123;
public static final int OP_OR = 124;
public static final int OP_OR_ASSIGNMENT = 125;
public static final int OP_PTR = 126;
public static final int OP_SUB_ASSIGNMENT = 127;
public static final int OP_XOR_ASSIGNMENT = 128;
public static final int OUT = 129;
public static final int OVERRIDE = 130;
public static final int PARAMS = 131;
public static final int PERCENT = 132;
public static final int PLUS = 133;
public static final int PRIVATE = 134;
public static final int PROTECTED = 135;
public static final int PUBLIC = 136;
public static final int Pp_and_expression = 137;
public static final int Pp_conditional = 138;
public static final int Pp_declaration = 139;
public static final int Pp_diagnostic = 140;
public static final int Pp_directive = 141;
public static final int Pp_elif_section = 142;
public static final int Pp_else_section = 143;
public static final int Pp_end_region = 144;
public static final int Pp_endif = 145;
public static final int Pp_equality_expression = 146;
public static final int Pp_expression = 147;
public static final int Pp_if_section = 148;
public static final int Pp_line = 149;
public static final int Pp_message = 150;
public static final int Pp_new_line = 151;
public static final int Pp_or_expression = 152;
public static final int Pp_pragma = 153;
public static final int Pp_pragma_text = 154;
public static final int Pp_primary_expression = 155;
public static final int Pp_region = 156;
public static final int Pp_start_region = 157;
public static final int Pp_unary_expression = 158;
public static final int QUOTE = 159;
public static final int Quote_escape_sequence = 160;
public static final int READONLY = 161;
public static final int REAL_LITERAL = 162;
public static final int REF = 163;
public static final int RETURN = 164;
public static final int Real_type_suffix = 165;
public static final int Regular_string_literal = 166;
public static final int Regular_string_literal_character = 167;
public static final int SBYTE = 168;
public static final int SEALED = 169;
public static final int SEMICOLON = 170;
public static final int SHARP = 171;
public static final int SHORT = 172;
public static final int SINGLE_LINE_COMMENT = 173;
public static final int SINGLE_LINE_DOC_COMMENT = 174;
public static final int SIZEOF = 175;
public static final int STACKALLOC = 176;
public static final int STAR = 177;
public static final int STATIC = 178;
public static final int STRING = 179;
public static final int STRING_LITERAL = 180;
public static final int STRUCT = 181;
public static final int SWITCH = 182;
public static final int Sign = 183;
public static final int Simple_escape_sequence = 184;
public static final int Single_character = 185;
public static final int Single_regular_string_literal_character = 186;
public static final int Single_verbatim_string_literal_character = 187;
public static final int SkiPped_characters = 188;
public static final int SkiPped_section_part = 189;
public static final int THIS = 190;
public static final int THROW = 191;
public static final int TILDE = 192;
public static final int TRUE = 193;
public static final int TRY = 194;
public static final int TYPEOF = 195;
public static final int UINT = 196;
public static final int ULONG = 197;
public static final int UNCHECKED = 198;
public static final int UNICODE_CLASS_CF = 199;
public static final int UNICODE_CLASS_LL = 200;
public static final int UNICODE_CLASS_LM = 201;
public static final int UNICODE_CLASS_LO = 202;
public static final int UNICODE_CLASS_LT = 203;
public static final int UNICODE_CLASS_LU = 204;
public static final int UNICODE_CLASS_MC = 205;
public static final int UNICODE_CLASS_MN = 206;
public static final int UNICODE_CLASS_ND = 207;
public static final int UNICODE_CLASS_NL = 208;
public static final int UNICODE_CLASS_PC = 209;
public static final int UNICODE_CLASS_ZS = 210;
public static final int UNSAFE = 211;
public static final int USHORT = 212;
public static final int USING = 213;
public static final int Unicode_escape_sequence = 214;
public static final int VIRTUAL = 215;
public static final int VOID = 216;
public static final int VOLATILE = 217;
public static final int Verbatim_string_literal = 218;
public static final int Verbatim_string_literal_character = 219;
public static final int WHILE = 220;
public static final int WHITESPACE = 221;
public static final int Whitespace_character = 222;
public static final int Whitespace_characters = 223;
public static final int ARGUMENT = 224;
public static final int ARGUMENT_VALUE = 225;
public static final int ARRAY_ACCESS = 226;
public static final int ASSIGNMENT_OPERATOR = 227;
public static final int ATTRIBUTE = 228;
public static final int ATTRIBUTES = 229;
public static final int ATTRIBUTE_LIST = 230;
public static final int ATTRIBUTE_NAME = 231;
public static final int ATTRIBUTE_TARGET = 232;
public static final int BLOCK = 233;
public static final int BOOL_NOT = 234;
public static final int CAST_EXPRESSION = 235;
public static final int CLASS_MEMBER_DECLARATIONS = 236;
public static final int CONDITION = 237;
public static final int CONDITIONAL_EXPRESSION = 238;
public static final int CONSTANT_DECLARATOR = 239;
public static final int CONSTANT_DECLARATORS = 240;
public static final int CONSTANT_INITIALIZER = 241;
public static final int CONSTRUCTOR_DECL = 242;
public static final int ENUM_EXTENDS = 243;
public static final int ENUM_MEMBER_DECLARATION = 244;
public static final int ENUM_MEMBER_DECLARATIONS = 245;
public static final int ENUM_MEMBER_INITIALIZER = 246;
public static final int EVENT_INTERFACE_DECL = 247;
public static final int EVENT_PROP_DECL = 248;
public static final int EVENT_VARS_DECL = 249;
public static final int EXPRESSION_STATEMENT = 250;
public static final int EXTENDS_OR_IMPLEMENTS = 251;
public static final int EXTERN_ALIAS_DIRECTIVES = 252;
public static final int FIELD_DECL = 253;
public static final int FIRST_OP = 254;
public static final int FIXED_PARAMETER = 255;
public static final int FORMAL_PARAMETER_LIST = 256;
public static final int FOR_INITIALIZER = 257;
public static final int FOR_ITERATOR = 258;
public static final int IMPLEMENTS = 259;
public static final int INDEXER_DECL = 260;
public static final int INTERFACE_MEMBER_DECLARATIONS = 261;
public static final int LABELED_STATEMENT = 262;
public static final int LOCAL_VARIABLE_DECLARATION = 263;
public static final int LOCAL_VARIABLE_DECLARATOR = 264;
public static final int LOCAL_VARIABLE_INITIALIZER = 265;
public static final int LOOP_BODY = 266;
public static final int MEMBER_ACCESS = 267;
public static final int MEMBER_NAME = 268;
public static final int METHOD_DECL = 269;
public static final int METHOD_INVOCATION = 270;
public static final int MODIFIERS = 271;
public static final int NAMESPACE_MEMBER_DECLARATIONS = 272;
public static final int NAMESPACE_OR_TYPE_NAME = 273;
public static final int NAMESPACE_OR_TYPE_PART = 274;
public static final int OBJECT_CREATION_EXPRESSION = 275;
public static final int OP_RIGHT_SHIFT = 276;
public static final int OP_RIGHT_SHIFT_ASSIGNMENT = 277;
public static final int PARAMETER_ARRAY = 278;
public static final int PARAMETER_MODIFIER = 279;
public static final int POSITIONAL_ARGUMENT_LIST = 280;
public static final int POST_DEC = 281;
public static final int POST_INC = 282;
public static final int PROPERTY_DECL = 283;
public static final int QUALIFIED_ALIAS_MEMBER = 284;
public static final int QUALIFIED_IDENTIFIER = 285;
public static final int RANK_SPECIFIER = 286;
public static final int SECOND_OP = 287;
public static final int SIMPLE_NAME = 288;
public static final int STRUCT_MEMBER_DECLARATIONS = 289;
public static final int THEN = 290;
public static final int TYPE = 291;
public static final int TYPE_ARGUMENT_LIST = 292;
public static final int TYPE_PARAM = 293;
public static final int TYPE_PARAMETERS = 294;
public static final int TYPE_PARAMETER_CONSTRAINTS_CLAUSE = 295;
public static final int TYPE_PARAMETER_CONSTRAINTS_CLAUSES = 296;
public static final int UNARY_EXPRESSION = 297;
public static final int USING_ALIAS_DIRECTIVE = 298;
public static final int USING_DIRECTIVES = 299;
public static final int USING_NAMESPACE_DIRECTIVE = 300;
public static final int VARIABLE_DECLARATOR = 301;
public static final int VARIABLE_INITIALIZER = 302;
public static final int VARIANCE_ANNOTATION = 303;
public static final int VARIANT_TYPE_PARAMETERS = 304;
// delegates
public Parser[] getDelegates() {
return new Parser[]{};
}
// delegators
public CSharpParser(TokenStream input) {
this(input, new RecognizerSharedState());
}
public CSharpParser(TokenStream input, RecognizerSharedState state) {
super(input, state);
}
protected TreeAdaptor adaptor = new CommonTreeAdaptor();
public void setTreeAdaptor(TreeAdaptor adaptor) {
this.adaptor = adaptor;
}
public TreeAdaptor getTreeAdaptor() {
return adaptor;
}
@Override
public String[] getTokenNames() {
return CSharpParser.tokenNames;
}
@Override
public String getGrammarFileName() {
return "C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g";
}
// the following methods are only used for debug purposes
private List<String> errors = new LinkedList<String>();
@Override
public void displayRecognitionError(String[] tokenNames, RecognitionException e) {
super.displayRecognitionError(tokenNames, e);
String hdr = getErrorHeader(e);
String msg = getErrorMessage(e, tokenNames);
errors.add(hdr + " " + msg);
}
public List<String> getErrors() {
return errors;
}
private void next(int n) {
System.err.print("next: ");
for (int i = 1; i <= n; i++) {
System.err.print(" | " + input.LT(i).getType() + "=" + input.LT(i).getText());
}
System.err.println();
}
// scope variables
Object attrs;
Object members;
public static class namespace_name_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "namespace_name"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:150:1: namespace_name : namespace_or_type_name ;
public final CSharpParser.namespace_name_return namespace_name() throws RecognitionException {
CSharpParser.namespace_name_return retval = new CSharpParser.namespace_name_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.namespace_or_type_name_return namespace_or_type_name1 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:151:2: ( namespace_or_type_name )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:151:4: namespace_or_type_name
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_namespace_or_type_name_in_namespace_name578);
namespace_or_type_name1 = namespace_or_type_name();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, namespace_or_type_name1.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "namespace_name"
public static class type_name_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "type_name"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:153:1: type_name : namespace_or_type_name ;
public final CSharpParser.type_name_return type_name() throws RecognitionException {
CSharpParser.type_name_return retval = new CSharpParser.type_name_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.namespace_or_type_name_return namespace_or_type_name2 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:154:2: ( namespace_or_type_name )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:154:4: namespace_or_type_name
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_namespace_or_type_name_in_type_name589);
namespace_or_type_name2 = namespace_or_type_name();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, namespace_or_type_name2.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "type_name"
public static class namespace_or_type_name_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "namespace_or_type_name"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:164:1: namespace_or_type_name : namespace_or_type_name2 -> ^( NAMESPACE_OR_TYPE_NAME namespace_or_type_name2 ) ;
public final CSharpParser.namespace_or_type_name_return namespace_or_type_name() throws RecognitionException {
CSharpParser.namespace_or_type_name_return retval = new CSharpParser.namespace_or_type_name_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.namespace_or_type_name2_return namespace_or_type_name23 = null;
RewriteRuleSubtreeStream stream_namespace_or_type_name2 = new RewriteRuleSubtreeStream(adaptor, "rule namespace_or_type_name2");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:165:3: ( namespace_or_type_name2 -> ^( NAMESPACE_OR_TYPE_NAME namespace_or_type_name2 ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:165:5: namespace_or_type_name2
{
pushFollow(FOLLOW_namespace_or_type_name2_in_namespace_or_type_name603);
namespace_or_type_name23 = namespace_or_type_name2();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_namespace_or_type_name2.add(namespace_or_type_name23.getTree());
}
// AST REWRITE
// elements: namespace_or_type_name2
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 165:29: -> ^( NAMESPACE_OR_TYPE_NAME namespace_or_type_name2 )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:165:32: ^( NAMESPACE_OR_TYPE_NAME namespace_or_type_name2 )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(NAMESPACE_OR_TYPE_NAME, "NAMESPACE_OR_TYPE_NAME"), root_1);
adaptor.addChild(root_1, stream_namespace_or_type_name2.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "namespace_or_type_name"
public static class namespace_or_type_name2_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "namespace_or_type_name2"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:167:1: namespace_or_type_name2 : ( IDENTIFIER type_argument_list_opt | qualified_alias_member ) ( namespace_part )* ;
public final CSharpParser.namespace_or_type_name2_return namespace_or_type_name2() throws RecognitionException {
CSharpParser.namespace_or_type_name2_return retval = new CSharpParser.namespace_or_type_name2_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER4 = null;
CSharpParser.type_argument_list_opt_return type_argument_list_opt5 = null;
CSharpParser.qualified_alias_member_return qualified_alias_member6 = null;
CSharpParser.namespace_part_return namespace_part7 = null;
Object IDENTIFIER4_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:168:3: ( ( IDENTIFIER type_argument_list_opt | qualified_alias_member ) ( namespace_part )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:168:5: ( IDENTIFIER type_argument_list_opt | qualified_alias_member ) ( namespace_part )*
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:168:5: ( IDENTIFIER type_argument_list_opt | qualified_alias_member )
int alt1 = 2;
int LA1_0 = input.LA(1);
if ((LA1_0 == IDENTIFIER)) {
int LA1_1 = input.LA(2);
if ((LA1_1 == DOUBLE_COLON)) {
alt1 = 2;
} else if ((LA1_1 == EOF || (LA1_1 >= AMP && LA1_1 <= AS) || LA1_1 == BITWISE_OR || LA1_1 == CARET || (LA1_1 >= CLOSE_BRACE && LA1_1 <= COMMA) || LA1_1 == DOT || LA1_1 == GT || LA1_1 == IDENTIFIER || (LA1_1 >= INTERR && LA1_1 <= IS) || LA1_1 == LT || (LA1_1 >= OPEN_BRACE && LA1_1 <= OPERATOR) || LA1_1 == OP_AND || LA1_1 == OP_COALESCING || (LA1_1 >= OP_EQ && LA1_1 <= OP_GE) || LA1_1 == OP_LE || (LA1_1 >= OP_NE && LA1_1 <= OP_OR) || LA1_1 == SEMICOLON || LA1_1 == STAR || LA1_1 == THIS)) {
alt1 = 1;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 1, 1, input);
throw nvae;
}
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 1, 0, input);
throw nvae;
}
switch (alt1) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:168:7: IDENTIFIER type_argument_list_opt
{
IDENTIFIER4 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_namespace_or_type_name2626);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER4_tree =
adaptor.create(IDENTIFIER4);
adaptor.addChild(root_0, IDENTIFIER4_tree);
}
pushFollow(FOLLOW_type_argument_list_opt_in_namespace_or_type_name2628);
type_argument_list_opt5 = type_argument_list_opt();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type_argument_list_opt5.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:169:7: qualified_alias_member
{
pushFollow(FOLLOW_qualified_alias_member_in_namespace_or_type_name2636);
qualified_alias_member6 = qualified_alias_member();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, qualified_alias_member6.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:170:7: ( namespace_part )*
loop2:
do {
int alt2 = 2;
int LA2_0 = input.LA(1);
if ((LA2_0 == DOT)) {
int LA2_2 = input.LA(2);
if ((LA2_2 == IDENTIFIER)) {
alt2 = 1;
}
}
switch (alt2) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:170:7: namespace_part
{
pushFollow(FOLLOW_namespace_part_in_namespace_or_type_name2644);
namespace_part7 = namespace_part();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, namespace_part7.getTree());
}
}
break;
default:
break loop2;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "namespace_or_type_name2"
public static class namespace_part_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "namespace_part"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:174:1: namespace_part : DOT id2= IDENTIFIER type_argument_list_opt -> ^( NAMESPACE_OR_TYPE_PART $id2 ( type_argument_list_opt )? ) ;
public final CSharpParser.namespace_part_return namespace_part() throws RecognitionException {
CSharpParser.namespace_part_return retval = new CSharpParser.namespace_part_return();
retval.start = input.LT(1);
Object root_0 = null;
Token id2 = null;
Token DOT8 = null;
CSharpParser.type_argument_list_opt_return type_argument_list_opt9 = null;
Object id2_tree = null;
Object DOT8_tree = null;
RewriteRuleTokenStream stream_DOT = new RewriteRuleTokenStream(adaptor, "token DOT");
RewriteRuleTokenStream stream_IDENTIFIER = new RewriteRuleTokenStream(adaptor, "token IDENTIFIER");
RewriteRuleSubtreeStream stream_type_argument_list_opt = new RewriteRuleSubtreeStream(adaptor, "rule type_argument_list_opt");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:175:3: ( DOT id2= IDENTIFIER type_argument_list_opt -> ^( NAMESPACE_OR_TYPE_PART $id2 ( type_argument_list_opt )? ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:175:5: DOT id2= IDENTIFIER type_argument_list_opt
{
DOT8 = (Token) match(input, DOT, FOLLOW_DOT_in_namespace_part659);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_DOT.add(DOT8);
}
id2 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_namespace_part663);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_IDENTIFIER.add(id2);
}
pushFollow(FOLLOW_type_argument_list_opt_in_namespace_part665);
type_argument_list_opt9 = type_argument_list_opt();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_type_argument_list_opt.add(type_argument_list_opt9.getTree());
}
// AST REWRITE
// elements: type_argument_list_opt, id2
// token labels: id2
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleTokenStream stream_id2 = new RewriteRuleTokenStream(adaptor, "token id2", id2);
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 176:5: -> ^( NAMESPACE_OR_TYPE_PART $id2 ( type_argument_list_opt )? )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:176:8: ^( NAMESPACE_OR_TYPE_PART $id2 ( type_argument_list_opt )? )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(NAMESPACE_OR_TYPE_PART, "NAMESPACE_OR_TYPE_PART"), root_1);
adaptor.addChild(root_1, stream_id2.nextNode());
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:176:38: ( type_argument_list_opt )?
if (stream_type_argument_list_opt.hasNext()) {
adaptor.addChild(root_1, stream_type_argument_list_opt.nextTree());
}
stream_type_argument_list_opt.reset();
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "namespace_part"
public static class type_argument_list_opt_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "type_argument_list_opt"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:180:1: type_argument_list_opt : ( ( type_argument_list )=> type_argument_list |);
public final CSharpParser.type_argument_list_opt_return type_argument_list_opt() throws RecognitionException {
CSharpParser.type_argument_list_opt_return retval = new CSharpParser.type_argument_list_opt_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.type_argument_list_return type_argument_list10 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:181:3: ( ( type_argument_list )=> type_argument_list |)
int alt3 = 2;
int LA3_0 = input.LA(1);
if ((LA3_0 == LT)) {
int LA3_1 = input.LA(2);
if ((synpred1_CSharpParser())) {
alt3 = 1;
} else if ((true)) {
alt3 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 3, 1, input);
throw nvae;
}
} else if ((LA3_0 == EOF || (LA3_0 >= AMP && LA3_0 <= ASSIGNMENT) || LA3_0 == BITWISE_OR || LA3_0 == CARET || (LA3_0 >= CLOSE_BRACE && LA3_0 <= COMMA) || LA3_0 == DIV || LA3_0 == DOT || LA3_0 == GT || LA3_0 == IDENTIFIER || (LA3_0 >= INTERR && LA3_0 <= IS) || LA3_0 == MINUS || (LA3_0 >= OPEN_BRACE && LA3_0 <= OP_XOR_ASSIGNMENT) || (LA3_0 >= PERCENT && LA3_0 <= PLUS) || LA3_0 == SEMICOLON || LA3_0 == STAR || LA3_0 == THIS)) {
alt3 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 3, 0, input);
throw nvae;
}
switch (alt3) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:181:5: ( type_argument_list )=> type_argument_list
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_type_argument_list_in_type_argument_list_opt702);
type_argument_list10 = type_argument_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type_argument_list10.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:183:3:
{
root_0 = adaptor.nil();
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "type_argument_list_opt"
public static class type_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "type"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:193:1: type : type2 -> ^( TYPE type2 ) ;
public final CSharpParser.type_return type() throws RecognitionException {
CSharpParser.type_return retval = new CSharpParser.type_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.type2_return type211 = null;
RewriteRuleSubtreeStream stream_type2 = new RewriteRuleSubtreeStream(adaptor, "rule type2");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:194:3: ( type2 -> ^( TYPE type2 ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:194:5: type2
{
pushFollow(FOLLOW_type2_in_type726);
type211 = type2();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_type2.add(type211.getTree());
}
// AST REWRITE
// elements: type2
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 195:5: -> ^( TYPE type2 )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:195:8: ^( TYPE type2 )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(TYPE, "TYPE"), root_1);
adaptor.addChild(root_1, stream_type2.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "type"
public static class type2_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "type2"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:198:1: type2 : base_type ( ( INTERR )=> INTERR | ( rank_specifier )=> rank_specifier | STAR )* ;
public final CSharpParser.type2_return type2() throws RecognitionException {
CSharpParser.type2_return retval = new CSharpParser.type2_return();
retval.start = input.LT(1);
Object root_0 = null;
Token INTERR13 = null;
Token STAR15 = null;
CSharpParser.base_type_return base_type12 = null;
CSharpParser.rank_specifier_return rank_specifier14 = null;
Object INTERR13_tree = null;
Object STAR15_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:199:3: ( base_type ( ( INTERR )=> INTERR | ( rank_specifier )=> rank_specifier | STAR )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:199:5: base_type ( ( INTERR )=> INTERR | ( rank_specifier )=> rank_specifier | STAR )*
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_base_type_in_type2751);
base_type12 = base_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, base_type12.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:200:5: ( ( INTERR )=> INTERR | ( rank_specifier )=> rank_specifier | STAR )*
loop4:
do {
int alt4 = 4;
switch (input.LA(1)) {
case OPEN_BRACKET: {
int LA4_5 = input.LA(2);
if ((synpred3_CSharpParser())) {
alt4 = 2;
}
}
break;
case INTERR: {
int LA4_15 = input.LA(2);
if ((synpred2_CSharpParser())) {
alt4 = 1;
}
}
break;
case STAR: {
alt4 = 3;
}
break;
}
switch (alt4) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:200:7: ( INTERR )=> INTERR
{
INTERR13 = (Token) match(input, INTERR, FOLLOW_INTERR_in_type2765);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
INTERR13_tree =
adaptor.create(INTERR13);
adaptor.addChild(root_0, INTERR13_tree);
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:201:7: ( rank_specifier )=> rank_specifier
{
pushFollow(FOLLOW_rank_specifier_in_type2799);
rank_specifier14 = rank_specifier();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, rank_specifier14.getTree());
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:202:7: STAR
{
STAR15 = (Token) match(input, STAR, FOLLOW_STAR_in_type2810);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
STAR15_tree =
adaptor.create(STAR15);
adaptor.addChild(root_0, STAR15_tree);
}
}
break;
default:
break loop4;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "type2"
public static class base_type_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "base_type"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:206:1: base_type : ( simple_type | class_type | VOID STAR );
public final CSharpParser.base_type_return base_type() throws RecognitionException {
CSharpParser.base_type_return retval = new CSharpParser.base_type_return();
retval.start = input.LT(1);
Object root_0 = null;
Token VOID18 = null;
Token STAR19 = null;
CSharpParser.simple_type_return simple_type16 = null;
CSharpParser.class_type_return class_type17 = null;
Object VOID18_tree = null;
Object STAR19_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:207:3: ( simple_type | class_type | VOID STAR )
int alt5 = 3;
switch (input.LA(1)) {
case BOOL:
case BYTE:
case CHAR:
case DECIMAL:
case DOUBLE:
case FLOAT:
case INT:
case LONG:
case SBYTE:
case SHORT:
case UINT:
case ULONG:
case USHORT: {
alt5 = 1;
}
break;
case IDENTIFIER:
case OBJECT:
case STRING: {
alt5 = 2;
}
break;
case VOID: {
alt5 = 3;
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 5, 0, input);
throw nvae;
}
switch (alt5) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:207:5: simple_type
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_simple_type_in_base_type864);
simple_type16 = simple_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, simple_type16.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:208:5: class_type
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_class_type_in_base_type870);
class_type17 = class_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, class_type17.getTree());
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:209:5: VOID STAR
{
root_0 = adaptor.nil();
VOID18 = (Token) match(input, VOID, FOLLOW_VOID_in_base_type878);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
VOID18_tree =
adaptor.create(VOID18);
adaptor.addChild(root_0, VOID18_tree);
}
STAR19 = (Token) match(input, STAR, FOLLOW_STAR_in_base_type880);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
STAR19_tree =
adaptor.create(STAR19);
adaptor.addChild(root_0, STAR19_tree);
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "base_type"
public static class simple_type_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "simple_type"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:223:1: simple_type : ( numeric_type | BOOL );
public final CSharpParser.simple_type_return simple_type() throws RecognitionException {
CSharpParser.simple_type_return retval = new CSharpParser.simple_type_return();
retval.start = input.LT(1);
Object root_0 = null;
Token BOOL21 = null;
CSharpParser.numeric_type_return numeric_type20 = null;
Object BOOL21_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:224:2: ( numeric_type | BOOL )
int alt6 = 2;
int LA6_0 = input.LA(1);
if ((LA6_0 == BYTE || LA6_0 == CHAR || LA6_0 == DECIMAL || LA6_0 == DOUBLE || LA6_0 == FLOAT || LA6_0 == INT || LA6_0 == LONG || LA6_0 == SBYTE || LA6_0 == SHORT || (LA6_0 >= UINT && LA6_0 <= ULONG) || LA6_0 == USHORT)) {
alt6 = 1;
} else if ((LA6_0 == BOOL)) {
alt6 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 6, 0, input);
throw nvae;
}
switch (alt6) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:224:4: numeric_type
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_numeric_type_in_simple_type896);
numeric_type20 = numeric_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, numeric_type20.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:225:4: BOOL
{
root_0 = adaptor.nil();
BOOL21 = (Token) match(input, BOOL, FOLLOW_BOOL_in_simple_type901);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
BOOL21_tree =
adaptor.create(BOOL21);
adaptor.addChild(root_0, BOOL21_tree);
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "simple_type"
public static class numeric_type_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "numeric_type"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:227:1: numeric_type : ( integral_type | floating_point_type | DECIMAL );
public final CSharpParser.numeric_type_return numeric_type() throws RecognitionException {
CSharpParser.numeric_type_return retval = new CSharpParser.numeric_type_return();
retval.start = input.LT(1);
Object root_0 = null;
Token DECIMAL24 = null;
CSharpParser.integral_type_return integral_type22 = null;
CSharpParser.floating_point_type_return floating_point_type23 = null;
Object DECIMAL24_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:228:2: ( integral_type | floating_point_type | DECIMAL )
int alt7 = 3;
switch (input.LA(1)) {
case BYTE:
case CHAR:
case INT:
case LONG:
case SBYTE:
case SHORT:
case UINT:
case ULONG:
case USHORT: {
alt7 = 1;
}
break;
case DOUBLE:
case FLOAT: {
alt7 = 2;
}
break;
case DECIMAL: {
alt7 = 3;
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 7, 0, input);
throw nvae;
}
switch (alt7) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:228:4: integral_type
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_integral_type_in_numeric_type912);
integral_type22 = integral_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, integral_type22.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:229:4: floating_point_type
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_floating_point_type_in_numeric_type917);
floating_point_type23 = floating_point_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, floating_point_type23.getTree());
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:230:4: DECIMAL
{
root_0 = adaptor.nil();
DECIMAL24 = (Token) match(input, DECIMAL, FOLLOW_DECIMAL_in_numeric_type922);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
DECIMAL24_tree =
adaptor.create(DECIMAL24);
adaptor.addChild(root_0, DECIMAL24_tree);
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "numeric_type"
public static class integral_type_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "integral_type"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:232:1: integral_type : ( SBYTE | BYTE | SHORT | USHORT | INT | UINT | LONG | ULONG | CHAR );
public final CSharpParser.integral_type_return integral_type() throws RecognitionException {
CSharpParser.integral_type_return retval = new CSharpParser.integral_type_return();
retval.start = input.LT(1);
Object root_0 = null;
Token set25 = null;
Object set25_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:233:2: ( SBYTE | BYTE | SHORT | USHORT | INT | UINT | LONG | ULONG | CHAR )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:
{
root_0 = adaptor.nil();
set25 = input.LT(1);
if (input.LA(1) == BYTE || input.LA(1) == CHAR || input.LA(1) == INT || input.LA(1) == LONG || input.LA(1) == SBYTE || input.LA(1) == SHORT || (input.LA(1) >= UINT && input.LA(1) <= ULONG) || input.LA(1) == USHORT) {
input.consume();
if (state.backtracking == 0) {
adaptor.addChild(root_0,
adaptor.create(set25));
}
state.errorRecovery = false;
state.failed = false;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
MismatchedSetException mse = new MismatchedSetException(null, input);
throw mse;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "integral_type"
public static class floating_point_type_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "floating_point_type"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:243:1: floating_point_type : ( FLOAT | DOUBLE );
public final CSharpParser.floating_point_type_return floating_point_type() throws RecognitionException {
CSharpParser.floating_point_type_return retval = new CSharpParser.floating_point_type_return();
retval.start = input.LT(1);
Object root_0 = null;
Token set26 = null;
Object set26_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:244:2: ( FLOAT | DOUBLE )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:
{
root_0 = adaptor.nil();
set26 = input.LT(1);
if (input.LA(1) == DOUBLE || input.LA(1) == FLOAT) {
input.consume();
if (state.backtracking == 0) {
adaptor.addChild(root_0,
adaptor.create(set26));
}
state.errorRecovery = false;
state.failed = false;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
MismatchedSetException mse = new MismatchedSetException(null, input);
throw mse;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "floating_point_type"
public static class nullable_type_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "nullable_type"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:247:1: nullable_type : non_nullable_value_type INTERR ;
public final CSharpParser.nullable_type_return nullable_type() throws RecognitionException {
CSharpParser.nullable_type_return retval = new CSharpParser.nullable_type_return();
retval.start = input.LT(1);
Object root_0 = null;
Token INTERR28 = null;
CSharpParser.non_nullable_value_type_return non_nullable_value_type27 = null;
Object INTERR28_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:248:2: ( non_nullable_value_type INTERR )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:248:4: non_nullable_value_type INTERR
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_non_nullable_value_type_in_nullable_type1000);
non_nullable_value_type27 = non_nullable_value_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, non_nullable_value_type27.getTree());
}
INTERR28 = (Token) match(input, INTERR, FOLLOW_INTERR_in_nullable_type1002);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
INTERR28_tree =
adaptor.create(INTERR28);
adaptor.addChild(root_0, INTERR28_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "nullable_type"
public static class non_nullable_value_type_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "non_nullable_value_type"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:256:1: non_nullable_value_type : base_type ( ( rank_specifier )=> rank_specifier | STAR )* ;
public final CSharpParser.non_nullable_value_type_return non_nullable_value_type() throws RecognitionException {
CSharpParser.non_nullable_value_type_return retval = new CSharpParser.non_nullable_value_type_return();
retval.start = input.LT(1);
Object root_0 = null;
Token STAR31 = null;
CSharpParser.base_type_return base_type29 = null;
CSharpParser.rank_specifier_return rank_specifier30 = null;
Object STAR31_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:257:2: ( base_type ( ( rank_specifier )=> rank_specifier | STAR )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:257:4: base_type ( ( rank_specifier )=> rank_specifier | STAR )*
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_base_type_in_non_nullable_value_type1016);
base_type29 = base_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, base_type29.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:258:5: ( ( rank_specifier )=> rank_specifier | STAR )*
loop8:
do {
int alt8 = 3;
int LA8_0 = input.LA(1);
if ((LA8_0 == OPEN_BRACKET) && (synpred4_CSharpParser())) {
alt8 = 1;
} else if ((LA8_0 == STAR)) {
alt8 = 2;
}
switch (alt8) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:258:7: ( rank_specifier )=> rank_specifier
{
pushFollow(FOLLOW_rank_specifier_in_non_nullable_value_type1030);
rank_specifier30 = rank_specifier();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, rank_specifier30.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:259:7: STAR
{
STAR31 = (Token) match(input, STAR, FOLLOW_STAR_in_non_nullable_value_type1038);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
STAR31_tree =
adaptor.create(STAR31);
adaptor.addChild(root_0, STAR31_tree);
}
}
break;
default:
break loop8;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "non_nullable_value_type"
public static class reference_type_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "reference_type"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:275:1: reference_type : ( simple_type | class_type | VOID STAR ) ( ( STAR | INTERR )* rank_specifier )* ({...}? ( STAR | INTERR )* rank_specifier ) ;
public final CSharpParser.reference_type_return reference_type() throws RecognitionException {
CSharpParser.reference_type_return retval = new CSharpParser.reference_type_return();
retval.start = input.LT(1);
Object root_0 = null;
Token VOID34 = null;
Token STAR35 = null;
Token set36 = null;
Token set38 = null;
CSharpParser.simple_type_return simple_type32 = null;
CSharpParser.class_type_return class_type33 = null;
CSharpParser.rank_specifier_return rank_specifier37 = null;
CSharpParser.rank_specifier_return rank_specifier39 = null;
Object VOID34_tree = null;
Object STAR35_tree = null;
Object set36_tree = null;
Object set38_tree = null;
boolean oneOrMore = false;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:277:3: ( ( simple_type | class_type | VOID STAR ) ( ( STAR | INTERR )* rank_specifier )* ({...}? ( STAR | INTERR )* rank_specifier ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:277:5: ( simple_type | class_type | VOID STAR ) ( ( STAR | INTERR )* rank_specifier )* ({...}? ( STAR | INTERR )* rank_specifier )
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:277:5: ( simple_type | class_type | VOID STAR )
int alt9 = 3;
switch (input.LA(1)) {
case BOOL:
case BYTE:
case CHAR:
case DECIMAL:
case DOUBLE:
case FLOAT:
case INT:
case LONG:
case SBYTE:
case SHORT:
case UINT:
case ULONG:
case USHORT: {
alt9 = 1;
}
break;
case IDENTIFIER:
case OBJECT:
case STRING: {
alt9 = 2;
}
break;
case VOID: {
alt9 = 3;
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 9, 0, input);
throw nvae;
}
switch (alt9) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:277:7: simple_type
{
pushFollow(FOLLOW_simple_type_in_reference_type1068);
simple_type32 = simple_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, simple_type32.getTree());
}
if (state.backtracking == 0) {
oneOrMore = true;
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:278:7: class_type
{
pushFollow(FOLLOW_class_type_in_reference_type1078);
class_type33 = class_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, class_type33.getTree());
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:279:7: VOID STAR
{
VOID34 = (Token) match(input, VOID, FOLLOW_VOID_in_reference_type1086);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
VOID34_tree =
adaptor.create(VOID34);
adaptor.addChild(root_0, VOID34_tree);
}
STAR35 = (Token) match(input, STAR, FOLLOW_STAR_in_reference_type1088);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
STAR35_tree =
adaptor.create(STAR35);
adaptor.addChild(root_0, STAR35_tree);
}
if (state.backtracking == 0) {
oneOrMore = true;
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:280:5: ( ( STAR | INTERR )* rank_specifier )*
loop11:
do {
int alt11 = 2;
alt11 = dfa11.predict(input);
switch (alt11) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:280:6: ( STAR | INTERR )* rank_specifier
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:280:6: ( STAR | INTERR )*
loop10:
do {
int alt10 = 2;
int LA10_0 = input.LA(1);
if ((LA10_0 == INTERR || LA10_0 == STAR)) {
alt10 = 1;
}
switch (alt10) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:
{
set36 = input.LT(1);
if (input.LA(1) == INTERR || input.LA(1) == STAR) {
input.consume();
if (state.backtracking == 0) {
adaptor.addChild(root_0,
adaptor.create(set36));
}
state.errorRecovery = false;
state.failed = false;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
MismatchedSetException mse = new MismatchedSetException(null, input);
throw mse;
}
}
break;
default:
break loop10;
}
} while (true);
pushFollow(FOLLOW_rank_specifier_in_reference_type1106);
rank_specifier37 = rank_specifier();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, rank_specifier37.getTree());
}
}
break;
default:
break loop11;
}
} while (true);
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:281:5: ({...}? ( STAR | INTERR )* rank_specifier )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:281:6: {...}? ( STAR | INTERR )* rank_specifier
{
if (!((oneOrMore))) {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
throw new FailedPredicateException(input, "reference_type", "oneOrMore");
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:281:19: ( STAR | INTERR )*
loop12:
do {
int alt12 = 2;
int LA12_0 = input.LA(1);
if ((LA12_0 == INTERR || LA12_0 == STAR)) {
alt12 = 1;
}
switch (alt12) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:
{
set38 = input.LT(1);
if (input.LA(1) == INTERR || input.LA(1) == STAR) {
input.consume();
if (state.backtracking == 0) {
adaptor.addChild(root_0,
adaptor.create(set38));
}
state.errorRecovery = false;
state.failed = false;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
MismatchedSetException mse = new MismatchedSetException(null, input);
throw mse;
}
}
break;
default:
break loop12;
}
} while (true);
pushFollow(FOLLOW_rank_specifier_in_reference_type1126);
rank_specifier39 = rank_specifier();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, rank_specifier39.getTree());
}
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "reference_type"
public static class class_type_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "class_type"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:284:1: class_type : ( type_name | OBJECT | dynamic_contextual_keyword | STRING );
public final CSharpParser.class_type_return class_type() throws RecognitionException {
CSharpParser.class_type_return retval = new CSharpParser.class_type_return();
retval.start = input.LT(1);
Object root_0 = null;
Token OBJECT41 = null;
Token STRING43 = null;
CSharpParser.type_name_return type_name40 = null;
CSharpParser.dynamic_contextual_keyword_return dynamic_contextual_keyword42 = null;
Object OBJECT41_tree = null;
Object STRING43_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:285:2: ( type_name | OBJECT | dynamic_contextual_keyword | STRING )
int alt13 = 4;
switch (input.LA(1)) {
case IDENTIFIER: {
int LA13_1 = input.LA(2);
if ((!(((input.LT(1).getText().equals("dynamic")))))) {
alt13 = 1;
} else if (((input.LT(1).getText().equals("dynamic")))) {
alt13 = 3;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 13, 1, input);
throw nvae;
}
}
break;
case OBJECT: {
alt13 = 2;
}
break;
case STRING: {
alt13 = 4;
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 13, 0, input);
throw nvae;
}
switch (alt13) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:285:4: type_name
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_type_name_in_class_type1141);
type_name40 = type_name();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type_name40.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:286:4: OBJECT
{
root_0 = adaptor.nil();
OBJECT41 = (Token) match(input, OBJECT, FOLLOW_OBJECT_in_class_type1146);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OBJECT41_tree =
adaptor.create(OBJECT41);
adaptor.addChild(root_0, OBJECT41_tree);
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:287:4: dynamic_contextual_keyword
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_dynamic_contextual_keyword_in_class_type1151);
dynamic_contextual_keyword42 = dynamic_contextual_keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, dynamic_contextual_keyword42.getTree());
}
}
break;
case 4: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:288:4: STRING
{
root_0 = adaptor.nil();
STRING43 = (Token) match(input, STRING, FOLLOW_STRING_in_class_type1156);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
STRING43_tree =
adaptor.create(STRING43);
adaptor.addChild(root_0, STRING43_tree);
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "class_type"
public static class interface_type_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "interface_type"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:291:1: interface_type : type_name ;
public final CSharpParser.interface_type_return interface_type() throws RecognitionException {
CSharpParser.interface_type_return retval = new CSharpParser.interface_type_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.type_name_return type_name44 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:292:2: ( type_name )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:292:4: type_name
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_type_name_in_interface_type1169);
type_name44 = type_name();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type_name44.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "interface_type"
public static class delegate_type_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "delegate_type"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:295:1: delegate_type : type_name ;
public final CSharpParser.delegate_type_return delegate_type() throws RecognitionException {
CSharpParser.delegate_type_return retval = new CSharpParser.delegate_type_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.type_name_return type_name45 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:296:2: ( type_name )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:296:4: type_name
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_type_name_in_delegate_type1182);
type_name45 = type_name();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type_name45.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "delegate_type"
public static class type_argument_list_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "type_argument_list"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:298:1: type_argument_list : LT type_arguments GT -> ^( TYPE_ARGUMENT_LIST type_arguments ) ;
public final CSharpParser.type_argument_list_return type_argument_list() throws RecognitionException {
CSharpParser.type_argument_list_return retval = new CSharpParser.type_argument_list_return();
retval.start = input.LT(1);
Object root_0 = null;
Token LT46 = null;
Token GT48 = null;
CSharpParser.type_arguments_return type_arguments47 = null;
Object LT46_tree = null;
Object GT48_tree = null;
RewriteRuleTokenStream stream_GT = new RewriteRuleTokenStream(adaptor, "token GT");
RewriteRuleTokenStream stream_LT = new RewriteRuleTokenStream(adaptor, "token LT");
RewriteRuleSubtreeStream stream_type_arguments = new RewriteRuleSubtreeStream(adaptor, "rule type_arguments");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:299:2: ( LT type_arguments GT -> ^( TYPE_ARGUMENT_LIST type_arguments ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:299:4: LT type_arguments GT
{
LT46 = (Token) match(input, LT, FOLLOW_LT_in_type_argument_list1193);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_LT.add(LT46);
}
pushFollow(FOLLOW_type_arguments_in_type_argument_list1195);
type_arguments47 = type_arguments();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_type_arguments.add(type_arguments47.getTree());
}
GT48 = (Token) match(input, GT, FOLLOW_GT_in_type_argument_list1197);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_GT.add(GT48);
}
// AST REWRITE
// elements: type_arguments
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 300:4: -> ^( TYPE_ARGUMENT_LIST type_arguments )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:300:7: ^( TYPE_ARGUMENT_LIST type_arguments )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(TYPE_ARGUMENT_LIST, "TYPE_ARGUMENT_LIST"), root_1);
adaptor.addChild(root_1, stream_type_arguments.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "type_argument_list"
public static class type_arguments_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "type_arguments"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:302:1: type_arguments : type_argument ( COMMA ! type_argument )* ;
public final CSharpParser.type_arguments_return type_arguments() throws RecognitionException {
CSharpParser.type_arguments_return retval = new CSharpParser.type_arguments_return();
retval.start = input.LT(1);
Object root_0 = null;
Token COMMA50 = null;
CSharpParser.type_argument_return type_argument49 = null;
CSharpParser.type_argument_return type_argument51 = null;
Object COMMA50_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:303:2: ( type_argument ( COMMA ! type_argument )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:303:4: type_argument ( COMMA ! type_argument )*
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_type_argument_in_type_arguments1219);
type_argument49 = type_argument();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type_argument49.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:303:18: ( COMMA ! type_argument )*
loop14:
do {
int alt14 = 2;
int LA14_0 = input.LA(1);
if ((LA14_0 == COMMA)) {
alt14 = 1;
}
switch (alt14) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:303:20: COMMA ! type_argument
{
COMMA50 = (Token) match(input, COMMA, FOLLOW_COMMA_in_type_arguments1223);
if (state.failed) {
return retval;
}
pushFollow(FOLLOW_type_argument_in_type_arguments1226);
type_argument51 = type_argument();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type_argument51.getTree());
}
}
break;
default:
break loop14;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "type_arguments"
public static class type_argument_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "type_argument"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:305:1: type_argument : type ;
public final CSharpParser.type_argument_return type_argument() throws RecognitionException {
CSharpParser.type_argument_return retval = new CSharpParser.type_argument_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.type_return type52 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:306:2: ( type )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:306:4: type
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_type_in_type_argument1239);
type52 = type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type52.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "type_argument"
public static class type_void_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "type_void"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:309:1: type_void : VOID -> ^( TYPE VOID ) ;
public final CSharpParser.type_void_return type_void() throws RecognitionException {
CSharpParser.type_void_return retval = new CSharpParser.type_void_return();
retval.start = input.LT(1);
Object root_0 = null;
Token VOID53 = null;
Object VOID53_tree = null;
RewriteRuleTokenStream stream_VOID = new RewriteRuleTokenStream(adaptor, "token VOID");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:310:3: ( VOID -> ^( TYPE VOID ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:310:5: VOID
{
VOID53 = (Token) match(input, VOID, FOLLOW_VOID_in_type_void1251);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_VOID.add(VOID53);
}
// AST REWRITE
// elements: VOID
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 310:10: -> ^( TYPE VOID )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:310:13: ^( TYPE VOID )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(TYPE, "TYPE"), root_1);
adaptor.addChild(root_1,
stream_VOID.nextNode());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "type_void"
public static class variable_reference_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "variable_reference"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:315:1: variable_reference : expression ;
public final CSharpParser.variable_reference_return variable_reference() throws RecognitionException {
CSharpParser.variable_reference_return retval = new CSharpParser.variable_reference_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.expression_return expression54 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:316:2: ( expression )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:316:4: expression
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_expression_in_variable_reference1275);
expression54 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression54.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "variable_reference"
public static class argument_list_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "argument_list"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:320:1: argument_list : argument ( COMMA ! argument )* ;
public final CSharpParser.argument_list_return argument_list() throws RecognitionException {
CSharpParser.argument_list_return retval = new CSharpParser.argument_list_return();
retval.start = input.LT(1);
Object root_0 = null;
Token COMMA56 = null;
CSharpParser.argument_return argument55 = null;
CSharpParser.argument_return argument57 = null;
Object COMMA56_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:321:2: ( argument ( COMMA ! argument )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:321:4: argument ( COMMA ! argument )*
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_argument_in_argument_list1288);
argument55 = argument();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, argument55.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:321:13: ( COMMA ! argument )*
loop15:
do {
int alt15 = 2;
int LA15_0 = input.LA(1);
if ((LA15_0 == COMMA)) {
alt15 = 1;
}
switch (alt15) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:321:15: COMMA ! argument
{
COMMA56 = (Token) match(input, COMMA, FOLLOW_COMMA_in_argument_list1292);
if (state.failed) {
return retval;
}
pushFollow(FOLLOW_argument_in_argument_list1295);
argument57 = argument();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, argument57.getTree());
}
}
break;
default:
break loop15;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "argument_list"
public static class argument_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "argument"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:323:1: argument : ( argument_name )? argument_value -> ^( ARGUMENT ( argument_name )? argument_value ) ;
public final CSharpParser.argument_return argument() throws RecognitionException {
CSharpParser.argument_return retval = new CSharpParser.argument_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.argument_name_return argument_name58 = null;
CSharpParser.argument_value_return argument_value59 = null;
RewriteRuleSubtreeStream stream_argument_name = new RewriteRuleSubtreeStream(adaptor, "rule argument_name");
RewriteRuleSubtreeStream stream_argument_value = new RewriteRuleSubtreeStream(adaptor, "rule argument_value");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:324:2: ( ( argument_name )? argument_value -> ^( ARGUMENT ( argument_name )? argument_value ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:324:4: ( argument_name )? argument_value
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:324:4: ( argument_name )?
int alt16 = 2;
int LA16_0 = input.LA(1);
if ((LA16_0 == IDENTIFIER)) {
int LA16_1 = input.LA(2);
if ((LA16_1 == COLON)) {
alt16 = 1;
}
}
switch (alt16) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:324:4: argument_name
{
pushFollow(FOLLOW_argument_name_in_argument1307);
argument_name58 = argument_name();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_argument_name.add(argument_name58.getTree());
}
}
break;
}
pushFollow(FOLLOW_argument_value_in_argument1310);
argument_value59 = argument_value();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_argument_value.add(argument_value59.getTree());
}
// AST REWRITE
// elements: argument_name, argument_value
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 325:4: -> ^( ARGUMENT ( argument_name )? argument_value )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:325:7: ^( ARGUMENT ( argument_name )? argument_value )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(ARGUMENT, "ARGUMENT"), root_1);
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:325:18: ( argument_name )?
if (stream_argument_name.hasNext()) {
adaptor.addChild(root_1, stream_argument_name.nextTree());
}
stream_argument_name.reset();
adaptor.addChild(root_1, stream_argument_value.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "argument"
public static class argument_name_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "argument_name"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:327:1: argument_name : IDENTIFIER COLON !;
public final CSharpParser.argument_name_return argument_name() throws RecognitionException {
CSharpParser.argument_name_return retval = new CSharpParser.argument_name_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER60 = null;
Token COLON61 = null;
Object IDENTIFIER60_tree = null;
Object COLON61_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:328:2: ( IDENTIFIER COLON !)
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:328:4: IDENTIFIER COLON !
{
root_0 = adaptor.nil();
IDENTIFIER60 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_argument_name1334);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER60_tree =
adaptor.create(IDENTIFIER60);
adaptor.addChild(root_0, IDENTIFIER60_tree);
}
COLON61 = (Token) match(input, COLON, FOLLOW_COLON_in_argument_name1336);
if (state.failed) {
return retval;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "argument_name"
public static class argument_value_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "argument_value"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:330:1: argument_value : argument_value2 -> ^( ARGUMENT_VALUE argument_value2 ) ;
public final CSharpParser.argument_value_return argument_value() throws RecognitionException {
CSharpParser.argument_value_return retval = new CSharpParser.argument_value_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.argument_value2_return argument_value262 = null;
RewriteRuleSubtreeStream stream_argument_value2 = new RewriteRuleSubtreeStream(adaptor, "rule argument_value2");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:331:3: ( argument_value2 -> ^( ARGUMENT_VALUE argument_value2 ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:331:5: argument_value2
{
pushFollow(FOLLOW_argument_value2_in_argument_value1349);
argument_value262 = argument_value2();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_argument_value2.add(argument_value262.getTree());
}
// AST REWRITE
// elements: argument_value2
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 331:21: -> ^( ARGUMENT_VALUE argument_value2 )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:331:24: ^( ARGUMENT_VALUE argument_value2 )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(ARGUMENT_VALUE, "ARGUMENT_VALUE"), root_1);
adaptor.addChild(root_1, stream_argument_value2.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "argument_value"
public static class argument_value2_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "argument_value2"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:333:1: argument_value2 : ( expression | REF variable_reference | OUT variable_reference );
public final CSharpParser.argument_value2_return argument_value2() throws RecognitionException {
CSharpParser.argument_value2_return retval = new CSharpParser.argument_value2_return();
retval.start = input.LT(1);
Object root_0 = null;
Token REF64 = null;
Token OUT66 = null;
CSharpParser.expression_return expression63 = null;
CSharpParser.variable_reference_return variable_reference65 = null;
CSharpParser.variable_reference_return variable_reference67 = null;
Object REF64_tree = null;
Object OUT66_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:334:2: ( expression | REF variable_reference | OUT variable_reference )
int alt17 = 3;
switch (input.LA(1)) {
case AMP:
case BANG:
case BASE:
case BOOL:
case BYTE:
case CHAR:
case CHARACTER_LITERAL:
case CHECKED:
case DECIMAL:
case DEFAULT:
case DELEGATE:
case DOUBLE:
case FALSE:
case FLOAT:
case IDENTIFIER:
case INT:
case INTEGER_LITERAL:
case LONG:
case MINUS:
case NEW:
case NULL:
case OBJECT:
case OPEN_PARENS:
case OP_DEC:
case OP_INC:
case PLUS:
case REAL_LITERAL:
case SBYTE:
case SHORT:
case SIZEOF:
case STAR:
case STRING:
case STRING_LITERAL:
case THIS:
case TILDE:
case TRUE:
case TYPEOF:
case UINT:
case ULONG:
case UNCHECKED:
case USHORT: {
alt17 = 1;
}
break;
case REF: {
alt17 = 2;
}
break;
case OUT: {
alt17 = 3;
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 17, 0, input);
throw nvae;
}
switch (alt17) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:334:4: expression
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_expression_in_argument_value21368);
expression63 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression63.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:335:4: REF variable_reference
{
root_0 = adaptor.nil();
REF64 = (Token) match(input, REF, FOLLOW_REF_in_argument_value21373);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
REF64_tree =
adaptor.create(REF64);
adaptor.addChild(root_0, REF64_tree);
}
pushFollow(FOLLOW_variable_reference_in_argument_value21375);
variable_reference65 = variable_reference();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, variable_reference65.getTree());
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:336:4: OUT variable_reference
{
root_0 = adaptor.nil();
OUT66 = (Token) match(input, OUT, FOLLOW_OUT_in_argument_value21380);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OUT66_tree =
adaptor.create(OUT66);
adaptor.addChild(root_0, OUT66_tree);
}
pushFollow(FOLLOW_variable_reference_in_argument_value21382);
variable_reference67 = variable_reference();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, variable_reference67.getTree());
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "argument_value2"
public static class primary_expression_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "primary_expression"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:344:1: primary_expression : (e= primary_expression_start -> $e) ( bracket_expression -> ^( bracket_expression $primary_expression) )* ( ( member_access2 -> ^( MEMBER_ACCESS $primary_expression member_access2 ) | method_invocation2 -> ^( METHOD_INVOCATION $primary_expression ( method_invocation2 )? ) | OP_INC -> ^( POST_INC $primary_expression) | OP_DEC -> ^( POST_DEC $primary_expression) | OP_PTR IDENTIFIER -> $primary_expression ^( OP_PTR IDENTIFIER ) ) ( bracket_expression -> ^( bracket_expression $primary_expression) )* )* ;
public final CSharpParser.primary_expression_return primary_expression() throws RecognitionException {
CSharpParser.primary_expression_return retval = new CSharpParser.primary_expression_return();
retval.start = input.LT(1);
Object root_0 = null;
Token OP_INC71 = null;
Token OP_DEC72 = null;
Token OP_PTR73 = null;
Token IDENTIFIER74 = null;
CSharpParser.primary_expression_start_return e = null;
CSharpParser.bracket_expression_return bracket_expression68 = null;
CSharpParser.member_access2_return member_access269 = null;
CSharpParser.method_invocation2_return method_invocation270 = null;
CSharpParser.bracket_expression_return bracket_expression75 = null;
Object OP_INC71_tree = null;
Object OP_DEC72_tree = null;
Object OP_PTR73_tree = null;
Object IDENTIFIER74_tree = null;
RewriteRuleTokenStream stream_OP_PTR = new RewriteRuleTokenStream(adaptor, "token OP_PTR");
RewriteRuleTokenStream stream_OP_DEC = new RewriteRuleTokenStream(adaptor, "token OP_DEC");
RewriteRuleTokenStream stream_OP_INC = new RewriteRuleTokenStream(adaptor, "token OP_INC");
RewriteRuleTokenStream stream_IDENTIFIER = new RewriteRuleTokenStream(adaptor, "token IDENTIFIER");
RewriteRuleSubtreeStream stream_method_invocation2 = new RewriteRuleSubtreeStream(adaptor, "rule method_invocation2");
RewriteRuleSubtreeStream stream_bracket_expression = new RewriteRuleSubtreeStream(adaptor, "rule bracket_expression");
RewriteRuleSubtreeStream stream_member_access2 = new RewriteRuleSubtreeStream(adaptor, "rule member_access2");
RewriteRuleSubtreeStream stream_primary_expression_start = new RewriteRuleSubtreeStream(adaptor, "rule primary_expression_start");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:345:3: ( (e= primary_expression_start -> $e) ( bracket_expression -> ^( bracket_expression $primary_expression) )* ( ( member_access2 -> ^( MEMBER_ACCESS $primary_expression member_access2 ) | method_invocation2 -> ^( METHOD_INVOCATION $primary_expression ( method_invocation2 )? ) | OP_INC -> ^( POST_INC $primary_expression) | OP_DEC -> ^( POST_DEC $primary_expression) | OP_PTR IDENTIFIER -> $primary_expression ^( OP_PTR IDENTIFIER ) ) ( bracket_expression -> ^( bracket_expression $primary_expression) )* )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:345:5: (e= primary_expression_start -> $e) ( bracket_expression -> ^( bracket_expression $primary_expression) )* ( ( member_access2 -> ^( MEMBER_ACCESS $primary_expression member_access2 ) | method_invocation2 -> ^( METHOD_INVOCATION $primary_expression ( method_invocation2 )? ) | OP_INC -> ^( POST_INC $primary_expression) | OP_DEC -> ^( POST_DEC $primary_expression) | OP_PTR IDENTIFIER -> $primary_expression ^( OP_PTR IDENTIFIER ) ) ( bracket_expression -> ^( bracket_expression $primary_expression) )* )*
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:345:5: (e= primary_expression_start -> $e)
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:345:6: e= primary_expression_start
{
pushFollow(FOLLOW_primary_expression_start_in_primary_expression1399);
e = primary_expression_start();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_primary_expression_start.add(e.getTree());
}
// AST REWRITE
// elements: e
// token labels:
// rule labels: retval, e
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
RewriteRuleSubtreeStream stream_e = new RewriteRuleSubtreeStream(adaptor, "rule e", e != null ? e.tree : null);
root_0 = adaptor.nil();
// 345:33: -> $e
{
adaptor.addChild(root_0, stream_e.nextTree());
}
retval.tree = root_0;
}
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:346:5: ( bracket_expression -> ^( bracket_expression $primary_expression) )*
loop18:
do {
int alt18 = 2;
int LA18_0 = input.LA(1);
if ((LA18_0 == OPEN_BRACKET)) {
alt18 = 1;
}
switch (alt18) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:346:6: bracket_expression
{
pushFollow(FOLLOW_bracket_expression_in_primary_expression1412);
bracket_expression68 = bracket_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_bracket_expression.add(bracket_expression68.getTree());
}
// AST REWRITE
// elements: bracket_expression, primary_expression
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 346:25: -> ^( bracket_expression $primary_expression)
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:346:28: ^( bracket_expression $primary_expression)
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(stream_bracket_expression.nextNode(), root_1);
adaptor.addChild(root_1, stream_retval.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
break;
default:
break loop18;
}
} while (true);
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:347:5: ( ( member_access2 -> ^( MEMBER_ACCESS $primary_expression member_access2 ) | method_invocation2 -> ^( METHOD_INVOCATION $primary_expression ( method_invocation2 )? ) | OP_INC -> ^( POST_INC $primary_expression) | OP_DEC -> ^( POST_DEC $primary_expression) | OP_PTR IDENTIFIER -> $primary_expression ^( OP_PTR IDENTIFIER ) ) ( bracket_expression -> ^( bracket_expression $primary_expression) )* )*
loop21:
do {
int alt21 = 2;
int LA21_0 = input.LA(1);
if ((LA21_0 == DOT || LA21_0 == OPEN_PARENS || LA21_0 == OP_DEC || LA21_0 == OP_INC || LA21_0 == OP_PTR)) {
alt21 = 1;
}
switch (alt21) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:347:7: ( member_access2 -> ^( MEMBER_ACCESS $primary_expression member_access2 ) | method_invocation2 -> ^( METHOD_INVOCATION $primary_expression ( method_invocation2 )? ) | OP_INC -> ^( POST_INC $primary_expression) | OP_DEC -> ^( POST_DEC $primary_expression) | OP_PTR IDENTIFIER -> $primary_expression ^( OP_PTR IDENTIFIER ) ) ( bracket_expression -> ^( bracket_expression $primary_expression) )*
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:347:7: ( member_access2 -> ^( MEMBER_ACCESS $primary_expression member_access2 ) | method_invocation2 -> ^( METHOD_INVOCATION $primary_expression ( method_invocation2 )? ) | OP_INC -> ^( POST_INC $primary_expression) | OP_DEC -> ^( POST_DEC $primary_expression) | OP_PTR IDENTIFIER -> $primary_expression ^( OP_PTR IDENTIFIER ) )
int alt19 = 5;
switch (input.LA(1)) {
case DOT: {
alt19 = 1;
}
break;
case OPEN_PARENS: {
alt19 = 2;
}
break;
case OP_INC: {
alt19 = 3;
}
break;
case OP_DEC: {
alt19 = 4;
}
break;
case OP_PTR: {
alt19 = 5;
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 19, 0, input);
throw nvae;
}
switch (alt19) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:347:9: member_access2
{
pushFollow(FOLLOW_member_access2_in_primary_expression1434);
member_access269 = member_access2();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_member_access2.add(member_access269.getTree());
}
// AST REWRITE
// elements: member_access2, primary_expression
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 347:24: -> ^( MEMBER_ACCESS $primary_expression member_access2 )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:347:27: ^( MEMBER_ACCESS $primary_expression member_access2 )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(MEMBER_ACCESS, "MEMBER_ACCESS"), root_1);
adaptor.addChild(root_1, stream_retval.nextTree());
adaptor.addChild(root_1, stream_member_access2.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:348:8: method_invocation2
{
pushFollow(FOLLOW_method_invocation2_in_primary_expression1454);
method_invocation270 = method_invocation2();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_method_invocation2.add(method_invocation270.getTree());
}
// AST REWRITE
// elements: method_invocation2, primary_expression
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 348:27: -> ^( METHOD_INVOCATION $primary_expression ( method_invocation2 )? )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:348:30: ^( METHOD_INVOCATION $primary_expression ( method_invocation2 )? )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(METHOD_INVOCATION, "METHOD_INVOCATION"), root_1);
adaptor.addChild(root_1, stream_retval.nextTree());
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:348:70: ( method_invocation2 )?
if (stream_method_invocation2.hasNext()) {
adaptor.addChild(root_1, stream_method_invocation2.nextTree());
}
stream_method_invocation2.reset();
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:349:8: OP_INC
{
OP_INC71 = (Token) match(input, OP_INC, FOLLOW_OP_INC_in_primary_expression1475);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_OP_INC.add(OP_INC71);
}
// AST REWRITE
// elements: primary_expression
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 349:15: -> ^( POST_INC $primary_expression)
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:349:18: ^( POST_INC $primary_expression)
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(POST_INC, "POST_INC"), root_1);
adaptor.addChild(root_1, stream_retval.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
break;
case 4: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:350:8: OP_DEC
{
OP_DEC72 = (Token) match(input, OP_DEC, FOLLOW_OP_DEC_in_primary_expression1493);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_OP_DEC.add(OP_DEC72);
}
// AST REWRITE
// elements: primary_expression
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 350:15: -> ^( POST_DEC $primary_expression)
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:350:18: ^( POST_DEC $primary_expression)
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(POST_DEC, "POST_DEC"), root_1);
adaptor.addChild(root_1, stream_retval.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
break;
case 5: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:351:8: OP_PTR IDENTIFIER
{
OP_PTR73 = (Token) match(input, OP_PTR, FOLLOW_OP_PTR_in_primary_expression1511);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_OP_PTR.add(OP_PTR73);
}
IDENTIFIER74 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_primary_expression1513);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_IDENTIFIER.add(IDENTIFIER74);
}
// AST REWRITE
// elements: IDENTIFIER, primary_expression, OP_PTR
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 351:26: -> $primary_expression ^( OP_PTR IDENTIFIER )
{
adaptor.addChild(root_0, stream_retval.nextTree());
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:351:49: ^( OP_PTR IDENTIFIER )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
stream_OP_PTR.nextNode(), root_1);
adaptor.addChild(root_1,
stream_IDENTIFIER.nextNode());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:353:6: ( bracket_expression -> ^( bracket_expression $primary_expression) )*
loop20:
do {
int alt20 = 2;
int LA20_0 = input.LA(1);
if ((LA20_0 == OPEN_BRACKET)) {
alt20 = 1;
}
switch (alt20) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:353:7: bracket_expression
{
pushFollow(FOLLOW_bracket_expression_in_primary_expression1541);
bracket_expression75 = bracket_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_bracket_expression.add(bracket_expression75.getTree());
}
// AST REWRITE
// elements: primary_expression, bracket_expression
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 353:26: -> ^( bracket_expression $primary_expression)
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:353:29: ^( bracket_expression $primary_expression)
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(stream_bracket_expression.nextNode(), root_1);
adaptor.addChild(root_1, stream_retval.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
break;
default:
break loop20;
}
} while (true);
}
break;
default:
break loop21;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "primary_expression"
public static class primary_expression_start_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "primary_expression_start"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:356:1: primary_expression_start : ( literal | simple_name | parenthesized_expression | predefined_type | qualified_alias_member | this_access | base_access | NEW ( type ( object_creation_expression2 ^| object_or_collection_initializer | OPEN_BRACKET expression_list CLOSE_BRACKET ( rank_specifiers )? ( array_initializer )? | rank_specifiers array_initializer ) | anonymous_object_initializer | rank_specifier array_initializer ) | typeof_expression | checked_expression | unchecked_expression | default_value_expression | anonymous_method_expression | sizeof_expression );
public final CSharpParser.primary_expression_start_return primary_expression_start() throws RecognitionException {
CSharpParser.primary_expression_start_return retval = new CSharpParser.primary_expression_start_return();
retval.start = input.LT(1);
Object root_0 = null;
Token NEW83 = null;
Token OPEN_BRACKET87 = null;
Token CLOSE_BRACKET89 = null;
CSharpParser.literal_return literal76 = null;
CSharpParser.simple_name_return simple_name77 = null;
CSharpParser.parenthesized_expression_return parenthesized_expression78 = null;
CSharpParser.predefined_type_return predefined_type79 = null;
CSharpParser.qualified_alias_member_return qualified_alias_member80 = null;
CSharpParser.this_access_return this_access81 = null;
CSharpParser.base_access_return base_access82 = null;
CSharpParser.type_return type84 = null;
CSharpParser.object_creation_expression2_return object_creation_expression285 = null;
CSharpParser.object_or_collection_initializer_return object_or_collection_initializer86 = null;
CSharpParser.expression_list_return expression_list88 = null;
CSharpParser.rank_specifiers_return rank_specifiers90 = null;
CSharpParser.array_initializer_return array_initializer91 = null;
CSharpParser.rank_specifiers_return rank_specifiers92 = null;
CSharpParser.array_initializer_return array_initializer93 = null;
CSharpParser.anonymous_object_initializer_return anonymous_object_initializer94 = null;
CSharpParser.rank_specifier_return rank_specifier95 = null;
CSharpParser.array_initializer_return array_initializer96 = null;
CSharpParser.typeof_expression_return typeof_expression97 = null;
CSharpParser.checked_expression_return checked_expression98 = null;
CSharpParser.unchecked_expression_return unchecked_expression99 = null;
CSharpParser.default_value_expression_return default_value_expression100 = null;
CSharpParser.anonymous_method_expression_return anonymous_method_expression101 = null;
CSharpParser.sizeof_expression_return sizeof_expression102 = null;
Object NEW83_tree = null;
Object OPEN_BRACKET87_tree = null;
Object CLOSE_BRACKET89_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:357:3: ( literal | simple_name | parenthesized_expression | predefined_type | qualified_alias_member | this_access | base_access | NEW ( type ( object_creation_expression2 ^| object_or_collection_initializer | OPEN_BRACKET expression_list CLOSE_BRACKET ( rank_specifiers )? ( array_initializer )? | rank_specifiers array_initializer ) | anonymous_object_initializer | rank_specifier array_initializer ) | typeof_expression | checked_expression | unchecked_expression | default_value_expression | anonymous_method_expression | sizeof_expression )
int alt26 = 14;
switch (input.LA(1)) {
case CHARACTER_LITERAL:
case FALSE:
case INTEGER_LITERAL:
case NULL:
case REAL_LITERAL:
case STRING_LITERAL:
case TRUE: {
alt26 = 1;
}
break;
case IDENTIFIER: {
int LA26_2 = input.LA(2);
if ((LA26_2 == DOUBLE_COLON)) {
alt26 = 5;
} else if ((LA26_2 == EOF || (LA26_2 >= AMP && LA26_2 <= ASSIGNMENT) || LA26_2 == BITWISE_OR || LA26_2 == CARET || (LA26_2 >= CLOSE_BRACE && LA26_2 <= COMMA) || LA26_2 == DIV || LA26_2 == DOT || LA26_2 == GT || LA26_2 == IDENTIFIER || (LA26_2 >= INTERR && LA26_2 <= IS) || LA26_2 == LT || LA26_2 == MINUS || (LA26_2 >= OPEN_BRACKET && LA26_2 <= OPEN_PARENS) || (LA26_2 >= OP_ADD_ASSIGNMENT && LA26_2 <= OP_XOR_ASSIGNMENT) || (LA26_2 >= PERCENT && LA26_2 <= PLUS) || LA26_2 == SEMICOLON || LA26_2 == STAR)) {
alt26 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 26, 2, input);
throw nvae;
}
}
break;
case OPEN_PARENS: {
alt26 = 3;
}
break;
case BOOL:
case BYTE:
case CHAR:
case DECIMAL:
case DOUBLE:
case FLOAT:
case INT:
case LONG:
case OBJECT:
case SBYTE:
case SHORT:
case STRING:
case UINT:
case ULONG:
case USHORT: {
alt26 = 4;
}
break;
case THIS: {
alt26 = 6;
}
break;
case BASE: {
alt26 = 7;
}
break;
case NEW: {
alt26 = 8;
}
break;
case TYPEOF: {
alt26 = 9;
}
break;
case CHECKED: {
alt26 = 10;
}
break;
case UNCHECKED: {
alt26 = 11;
}
break;
case DEFAULT: {
alt26 = 12;
}
break;
case DELEGATE: {
alt26 = 13;
}
break;
case SIZEOF: {
alt26 = 14;
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 26, 0, input);
throw nvae;
}
switch (alt26) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:357:5: literal
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_literal_in_primary_expression_start1571);
literal76 = literal();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, literal76.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:358:5: simple_name
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_simple_name_in_primary_expression_start1577);
simple_name77 = simple_name();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, simple_name77.getTree());
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:359:5: parenthesized_expression
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_parenthesized_expression_in_primary_expression_start1583);
parenthesized_expression78 = parenthesized_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, parenthesized_expression78.getTree());
}
}
break;
case 4: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:360:5: predefined_type
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_predefined_type_in_primary_expression_start1589);
predefined_type79 = predefined_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, predefined_type79.getTree());
}
}
break;
case 5: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:361:5: qualified_alias_member
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_qualified_alias_member_in_primary_expression_start1596);
qualified_alias_member80 = qualified_alias_member();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, qualified_alias_member80.getTree());
}
}
break;
case 6: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:362:5: this_access
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_this_access_in_primary_expression_start1604);
this_access81 = this_access();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, this_access81.getTree());
}
}
break;
case 7: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:363:5: base_access
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_base_access_in_primary_expression_start1610);
base_access82 = base_access();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, base_access82.getTree());
}
}
break;
case 8: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:364:5: NEW ( type ( object_creation_expression2 ^| object_or_collection_initializer | OPEN_BRACKET expression_list CLOSE_BRACKET ( rank_specifiers )? ( array_initializer )? | rank_specifiers array_initializer ) | anonymous_object_initializer | rank_specifier array_initializer )
{
root_0 = adaptor.nil();
NEW83 = (Token) match(input, NEW, FOLLOW_NEW_in_primary_expression_start1616);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
NEW83_tree =
adaptor.create(NEW83);
adaptor.addChild(root_0, NEW83_tree);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:364:9: ( type ( object_creation_expression2 ^| object_or_collection_initializer | OPEN_BRACKET expression_list CLOSE_BRACKET ( rank_specifiers )? ( array_initializer )? | rank_specifiers array_initializer ) | anonymous_object_initializer | rank_specifier array_initializer )
int alt25 = 3;
switch (input.LA(1)) {
case BOOL:
case BYTE:
case CHAR:
case DECIMAL:
case DOUBLE:
case FLOAT:
case IDENTIFIER:
case INT:
case LONG:
case OBJECT:
case SBYTE:
case SHORT:
case STRING:
case UINT:
case ULONG:
case USHORT:
case VOID: {
alt25 = 1;
}
break;
case OPEN_BRACE: {
alt25 = 2;
}
break;
case OPEN_BRACKET: {
alt25 = 3;
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 25, 0, input);
throw nvae;
}
switch (alt25) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:364:11: type ( object_creation_expression2 ^| object_or_collection_initializer | OPEN_BRACKET expression_list CLOSE_BRACKET ( rank_specifiers )? ( array_initializer )? | rank_specifiers array_initializer )
{
pushFollow(FOLLOW_type_in_primary_expression_start1620);
type84 = type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type84.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:364:16: ( object_creation_expression2 ^| object_or_collection_initializer | OPEN_BRACKET expression_list CLOSE_BRACKET ( rank_specifiers )? ( array_initializer )? | rank_specifiers array_initializer )
int alt24 = 4;
switch (input.LA(1)) {
case OPEN_PARENS: {
alt24 = 1;
}
break;
case OPEN_BRACE: {
alt24 = 2;
}
break;
case OPEN_BRACKET: {
int LA24_3 = input.LA(2);
if ((LA24_3 == AMP || (LA24_3 >= BANG && LA24_3 <= BASE) || LA24_3 == BOOL || LA24_3 == BYTE || (LA24_3 >= CHAR && LA24_3 <= CHECKED) || LA24_3 == DECIMAL || (LA24_3 >= DEFAULT && LA24_3 <= DELEGATE) || LA24_3 == DOUBLE || LA24_3 == FALSE || LA24_3 == FLOAT || LA24_3 == IDENTIFIER || (LA24_3 >= INT && LA24_3 <= INTEGER_LITERAL) || LA24_3 == LONG || LA24_3 == MINUS || LA24_3 == NEW || LA24_3 == NULL || LA24_3 == OBJECT || LA24_3 == OPEN_PARENS || LA24_3 == OP_DEC || LA24_3 == OP_INC || LA24_3 == PLUS || LA24_3 == REAL_LITERAL || LA24_3 == SBYTE || LA24_3 == SHORT || LA24_3 == SIZEOF || LA24_3 == STAR || (LA24_3 >= STRING && LA24_3 <= STRING_LITERAL) || LA24_3 == THIS || (LA24_3 >= TILDE && LA24_3 <= TRUE) || (LA24_3 >= TYPEOF && LA24_3 <= UNCHECKED) || LA24_3 == USHORT)) {
alt24 = 3;
} else if ((LA24_3 == CLOSE_BRACKET || LA24_3 == COMMA)) {
alt24 = 4;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 24, 3, input);
throw nvae;
}
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 24, 0, input);
throw nvae;
}
switch (alt24) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:364:18: object_creation_expression2 ^
{
pushFollow(FOLLOW_object_creation_expression2_in_primary_expression_start1624);
object_creation_expression285 = object_creation_expression2();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
root_0 = adaptor.becomeRoot(object_creation_expression285.getTree(), root_0);
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:365:18: object_or_collection_initializer
{
pushFollow(FOLLOW_object_or_collection_initializer_in_primary_expression_start1644);
object_or_collection_initializer86 = object_or_collection_initializer();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, object_or_collection_initializer86.getTree());
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:366:18: OPEN_BRACKET expression_list CLOSE_BRACKET ( rank_specifiers )? ( array_initializer )?
{
OPEN_BRACKET87 = (Token) match(input, OPEN_BRACKET, FOLLOW_OPEN_BRACKET_in_primary_expression_start1663);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_BRACKET87_tree =
adaptor.create(OPEN_BRACKET87);
adaptor.addChild(root_0, OPEN_BRACKET87_tree);
}
pushFollow(FOLLOW_expression_list_in_primary_expression_start1665);
expression_list88 = expression_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression_list88.getTree());
}
CLOSE_BRACKET89 = (Token) match(input, CLOSE_BRACKET, FOLLOW_CLOSE_BRACKET_in_primary_expression_start1667);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_BRACKET89_tree =
adaptor.create(CLOSE_BRACKET89);
adaptor.addChild(root_0, CLOSE_BRACKET89_tree);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:366:61: ( rank_specifiers )?
int alt22 = 2;
int LA22_0 = input.LA(1);
if ((LA22_0 == OPEN_BRACKET)) {
int LA22_1 = input.LA(2);
if ((LA22_1 == CLOSE_BRACKET || LA22_1 == COMMA)) {
alt22 = 1;
}
}
switch (alt22) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:366:61: rank_specifiers
{
pushFollow(FOLLOW_rank_specifiers_in_primary_expression_start1669);
rank_specifiers90 = rank_specifiers();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, rank_specifiers90.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:366:78: ( array_initializer )?
int alt23 = 2;
int LA23_0 = input.LA(1);
if ((LA23_0 == OPEN_BRACE)) {
alt23 = 1;
}
switch (alt23) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:366:78: array_initializer
{
pushFollow(FOLLOW_array_initializer_in_primary_expression_start1672);
array_initializer91 = array_initializer();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, array_initializer91.getTree());
}
}
break;
}
}
break;
case 4: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:367:18: rank_specifiers array_initializer
{
pushFollow(FOLLOW_rank_specifiers_in_primary_expression_start1692);
rank_specifiers92 = rank_specifiers();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, rank_specifiers92.getTree());
}
pushFollow(FOLLOW_array_initializer_in_primary_expression_start1694);
array_initializer93 = array_initializer();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, array_initializer93.getTree());
}
}
break;
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:369:11: anonymous_object_initializer
{
pushFollow(FOLLOW_anonymous_object_initializer_in_primary_expression_start1723);
anonymous_object_initializer94 = anonymous_object_initializer();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, anonymous_object_initializer94.getTree());
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:370:11: rank_specifier array_initializer
{
pushFollow(FOLLOW_rank_specifier_in_primary_expression_start1735);
rank_specifier95 = rank_specifier();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, rank_specifier95.getTree());
}
pushFollow(FOLLOW_array_initializer_in_primary_expression_start1737);
array_initializer96 = array_initializer();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, array_initializer96.getTree());
}
}
break;
}
}
break;
case 9: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:372:5: typeof_expression
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_typeof_expression_in_primary_expression_start1753);
typeof_expression97 = typeof_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, typeof_expression97.getTree());
}
}
break;
case 10: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:373:5: checked_expression
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_checked_expression_in_primary_expression_start1759);
checked_expression98 = checked_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, checked_expression98.getTree());
}
}
break;
case 11: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:374:5: unchecked_expression
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_unchecked_expression_in_primary_expression_start1765);
unchecked_expression99 = unchecked_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, unchecked_expression99.getTree());
}
}
break;
case 12: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:375:5: default_value_expression
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_default_value_expression_in_primary_expression_start1771);
default_value_expression100 = default_value_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, default_value_expression100.getTree());
}
}
break;
case 13: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:376:5: anonymous_method_expression
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_anonymous_method_expression_in_primary_expression_start1777);
anonymous_method_expression101 = anonymous_method_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, anonymous_method_expression101.getTree());
}
}
break;
case 14: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:377:5: sizeof_expression
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_sizeof_expression_in_primary_expression_start1783);
sizeof_expression102 = sizeof_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, sizeof_expression102.getTree());
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "primary_expression_start"
public static class bracket_expression_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "bracket_expression"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:385:1: bracket_expression : OPEN_BRACKET expression_list CLOSE_BRACKET -> ^( ARRAY_ACCESS expression_list ) ;
public final CSharpParser.bracket_expression_return bracket_expression() throws RecognitionException {
CSharpParser.bracket_expression_return retval = new CSharpParser.bracket_expression_return();
retval.start = input.LT(1);
Object root_0 = null;
Token OPEN_BRACKET103 = null;
Token CLOSE_BRACKET105 = null;
CSharpParser.expression_list_return expression_list104 = null;
Object OPEN_BRACKET103_tree = null;
Object CLOSE_BRACKET105_tree = null;
RewriteRuleTokenStream stream_OPEN_BRACKET = new RewriteRuleTokenStream(adaptor, "token OPEN_BRACKET");
RewriteRuleTokenStream stream_CLOSE_BRACKET = new RewriteRuleTokenStream(adaptor, "token CLOSE_BRACKET");
RewriteRuleSubtreeStream stream_expression_list = new RewriteRuleSubtreeStream(adaptor, "rule expression_list");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:386:3: ( OPEN_BRACKET expression_list CLOSE_BRACKET -> ^( ARRAY_ACCESS expression_list ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:386:5: OPEN_BRACKET expression_list CLOSE_BRACKET
{
OPEN_BRACKET103 = (Token) match(input, OPEN_BRACKET, FOLLOW_OPEN_BRACKET_in_bracket_expression1797);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_OPEN_BRACKET.add(OPEN_BRACKET103);
}
pushFollow(FOLLOW_expression_list_in_bracket_expression1799);
expression_list104 = expression_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_expression_list.add(expression_list104.getTree());
}
CLOSE_BRACKET105 = (Token) match(input, CLOSE_BRACKET, FOLLOW_CLOSE_BRACKET_in_bracket_expression1801);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_CLOSE_BRACKET.add(CLOSE_BRACKET105);
}
// AST REWRITE
// elements: expression_list
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 387:5: -> ^( ARRAY_ACCESS expression_list )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:387:8: ^( ARRAY_ACCESS expression_list )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(ARRAY_ACCESS, "ARRAY_ACCESS"), root_1);
adaptor.addChild(root_1, stream_expression_list.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "bracket_expression"
public static class simple_name_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "simple_name"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:464:1: simple_name : IDENTIFIER type_argument_list_opt -> ^( SIMPLE_NAME IDENTIFIER ( type_argument_list_opt )? ) ;
public final CSharpParser.simple_name_return simple_name() throws RecognitionException {
CSharpParser.simple_name_return retval = new CSharpParser.simple_name_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER106 = null;
CSharpParser.type_argument_list_opt_return type_argument_list_opt107 = null;
Object IDENTIFIER106_tree = null;
RewriteRuleTokenStream stream_IDENTIFIER = new RewriteRuleTokenStream(adaptor, "token IDENTIFIER");
RewriteRuleSubtreeStream stream_type_argument_list_opt = new RewriteRuleSubtreeStream(adaptor, "rule type_argument_list_opt");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:465:2: ( IDENTIFIER type_argument_list_opt -> ^( SIMPLE_NAME IDENTIFIER ( type_argument_list_opt )? ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:465:4: IDENTIFIER type_argument_list_opt
{
IDENTIFIER106 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_simple_name1831);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_IDENTIFIER.add(IDENTIFIER106);
}
pushFollow(FOLLOW_type_argument_list_opt_in_simple_name1833);
type_argument_list_opt107 = type_argument_list_opt();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_type_argument_list_opt.add(type_argument_list_opt107.getTree());
}
// AST REWRITE
// elements: type_argument_list_opt, IDENTIFIER
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 466:4: -> ^( SIMPLE_NAME IDENTIFIER ( type_argument_list_opt )? )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:466:7: ^( SIMPLE_NAME IDENTIFIER ( type_argument_list_opt )? )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(SIMPLE_NAME, "SIMPLE_NAME"), root_1);
adaptor.addChild(root_1,
stream_IDENTIFIER.nextNode());
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:466:32: ( type_argument_list_opt )?
if (stream_type_argument_list_opt.hasNext()) {
adaptor.addChild(root_1, stream_type_argument_list_opt.nextTree());
}
stream_type_argument_list_opt.reset();
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "simple_name"
public static class parenthesized_expression_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "parenthesized_expression"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:469:1: parenthesized_expression : OPEN_PARENS ! expression CLOSE_PARENS !;
public final CSharpParser.parenthesized_expression_return parenthesized_expression() throws RecognitionException {
CSharpParser.parenthesized_expression_return retval = new CSharpParser.parenthesized_expression_return();
retval.start = input.LT(1);
Object root_0 = null;
Token OPEN_PARENS108 = null;
Token CLOSE_PARENS110 = null;
CSharpParser.expression_return expression109 = null;
Object OPEN_PARENS108_tree = null;
Object CLOSE_PARENS110_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:470:2: ( OPEN_PARENS ! expression CLOSE_PARENS !)
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:470:4: OPEN_PARENS ! expression CLOSE_PARENS !
{
root_0 = adaptor.nil();
OPEN_PARENS108 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_parenthesized_expression1860);
if (state.failed) {
return retval;
}
pushFollow(FOLLOW_expression_in_parenthesized_expression1863);
expression109 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression109.getTree());
}
CLOSE_PARENS110 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_parenthesized_expression1865);
if (state.failed) {
return retval;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "parenthesized_expression"
public static class member_access_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "member_access"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:480:1: member_access : primary_expression ;
public final CSharpParser.member_access_return member_access() throws RecognitionException {
CSharpParser.member_access_return retval = new CSharpParser.member_access_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.primary_expression_return primary_expression111 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:481:3: ( primary_expression )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:481:5: primary_expression
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_primary_expression_in_member_access1882);
primary_expression111 = primary_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, primary_expression111.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "member_access"
public static class predefined_type_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "predefined_type"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:483:1: predefined_type : ( BOOL | BYTE | CHAR | DECIMAL | DOUBLE | FLOAT | INT | LONG | OBJECT | SBYTE | SHORT | STRING | UINT | ULONG | USHORT );
public final CSharpParser.predefined_type_return predefined_type() throws RecognitionException {
CSharpParser.predefined_type_return retval = new CSharpParser.predefined_type_return();
retval.start = input.LT(1);
Object root_0 = null;
Token set112 = null;
Object set112_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:484:2: ( BOOL | BYTE | CHAR | DECIMAL | DOUBLE | FLOAT | INT | LONG | OBJECT | SBYTE | SHORT | STRING | UINT | ULONG | USHORT )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:
{
root_0 = adaptor.nil();
set112 = input.LT(1);
if (input.LA(1) == BOOL || input.LA(1) == BYTE || input.LA(1) == CHAR || input.LA(1) == DECIMAL || input.LA(1) == DOUBLE || input.LA(1) == FLOAT || input.LA(1) == INT || input.LA(1) == LONG || input.LA(1) == OBJECT || input.LA(1) == SBYTE || input.LA(1) == SHORT || input.LA(1) == STRING || (input.LA(1) >= UINT && input.LA(1) <= ULONG) || input.LA(1) == USHORT) {
input.consume();
if (state.backtracking == 0) {
adaptor.addChild(root_0,
adaptor.create(set112));
}
state.errorRecovery = false;
state.failed = false;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
MismatchedSetException mse = new MismatchedSetException(null, input);
throw mse;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "predefined_type"
public static class expression_list_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "expression_list"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:511:1: expression_list : expression ( COMMA expression )* ;
public final CSharpParser.expression_list_return expression_list() throws RecognitionException {
CSharpParser.expression_list_return retval = new CSharpParser.expression_list_return();
retval.start = input.LT(1);
Object root_0 = null;
Token COMMA114 = null;
CSharpParser.expression_return expression113 = null;
CSharpParser.expression_return expression115 = null;
Object COMMA114_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:512:2: ( expression ( COMMA expression )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:512:4: expression ( COMMA expression )*
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_expression_in_expression_list1981);
expression113 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression113.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:512:15: ( COMMA expression )*
loop27:
do {
int alt27 = 2;
int LA27_0 = input.LA(1);
if ((LA27_0 == COMMA)) {
alt27 = 1;
}
switch (alt27) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:512:17: COMMA expression
{
COMMA114 = (Token) match(input, COMMA, FOLLOW_COMMA_in_expression_list1985);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
COMMA114_tree =
adaptor.create(COMMA114);
adaptor.addChild(root_0, COMMA114_tree);
}
pushFollow(FOLLOW_expression_in_expression_list1987);
expression115 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression115.getTree());
}
}
break;
default:
break loop27;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "expression_list"
public static class this_access_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "this_access"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:514:1: this_access : THIS ;
public final CSharpParser.this_access_return this_access() throws RecognitionException {
CSharpParser.this_access_return retval = new CSharpParser.this_access_return();
retval.start = input.LT(1);
Object root_0 = null;
Token THIS116 = null;
Object THIS116_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:515:2: ( THIS )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:515:4: THIS
{
root_0 = adaptor.nil();
THIS116 = (Token) match(input, THIS, FOLLOW_THIS_in_this_access2000);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
THIS116_tree =
adaptor.create(THIS116);
adaptor.addChild(root_0, THIS116_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "this_access"
public static class base_access_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "base_access"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:518:1: base_access : ( BASE DOT ! IDENTIFIER type_argument_list_opt | BASE OPEN_BRACKET expression_list CLOSE_BRACKET );
public final CSharpParser.base_access_return base_access() throws RecognitionException {
CSharpParser.base_access_return retval = new CSharpParser.base_access_return();
retval.start = input.LT(1);
Object root_0 = null;
Token BASE117 = null;
Token DOT118 = null;
Token IDENTIFIER119 = null;
Token BASE121 = null;
Token OPEN_BRACKET122 = null;
Token CLOSE_BRACKET124 = null;
CSharpParser.type_argument_list_opt_return type_argument_list_opt120 = null;
CSharpParser.expression_list_return expression_list123 = null;
Object BASE117_tree = null;
Object DOT118_tree = null;
Object IDENTIFIER119_tree = null;
Object BASE121_tree = null;
Object OPEN_BRACKET122_tree = null;
Object CLOSE_BRACKET124_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:519:2: ( BASE DOT ! IDENTIFIER type_argument_list_opt | BASE OPEN_BRACKET expression_list CLOSE_BRACKET )
int alt28 = 2;
int LA28_0 = input.LA(1);
if ((LA28_0 == BASE)) {
int LA28_1 = input.LA(2);
if ((LA28_1 == DOT)) {
alt28 = 1;
} else if ((LA28_1 == OPEN_BRACKET)) {
alt28 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 28, 1, input);
throw nvae;
}
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 28, 0, input);
throw nvae;
}
switch (alt28) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:519:4: BASE DOT ! IDENTIFIER type_argument_list_opt
{
root_0 = adaptor.nil();
BASE117 = (Token) match(input, BASE, FOLLOW_BASE_in_base_access2012);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
BASE117_tree =
adaptor.create(BASE117);
adaptor.addChild(root_0, BASE117_tree);
}
DOT118 = (Token) match(input, DOT, FOLLOW_DOT_in_base_access2014);
if (state.failed) {
return retval;
}
IDENTIFIER119 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_base_access2017);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER119_tree =
adaptor.create(IDENTIFIER119);
adaptor.addChild(root_0, IDENTIFIER119_tree);
}
pushFollow(FOLLOW_type_argument_list_opt_in_base_access2019);
type_argument_list_opt120 = type_argument_list_opt();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type_argument_list_opt120.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:520:4: BASE OPEN_BRACKET expression_list CLOSE_BRACKET
{
root_0 = adaptor.nil();
BASE121 = (Token) match(input, BASE, FOLLOW_BASE_in_base_access2024);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
BASE121_tree =
adaptor.create(BASE121);
adaptor.addChild(root_0, BASE121_tree);
}
OPEN_BRACKET122 = (Token) match(input, OPEN_BRACKET, FOLLOW_OPEN_BRACKET_in_base_access2026);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_BRACKET122_tree =
adaptor.create(OPEN_BRACKET122);
adaptor.addChild(root_0, OPEN_BRACKET122_tree);
}
pushFollow(FOLLOW_expression_list_in_base_access2028);
expression_list123 = expression_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression_list123.getTree());
}
CLOSE_BRACKET124 = (Token) match(input, CLOSE_BRACKET, FOLLOW_CLOSE_BRACKET_in_base_access2030);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_BRACKET124_tree =
adaptor.create(CLOSE_BRACKET124);
adaptor.addChild(root_0, CLOSE_BRACKET124_tree);
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "base_access"
public static class object_creation_expression_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "object_creation_expression"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:537:1: object_creation_expression : NEW type ( OPEN_PARENS ( argument_list )? CLOSE_PARENS ( object_or_collection_initializer )? | object_or_collection_initializer ) ;
public final CSharpParser.object_creation_expression_return object_creation_expression() throws RecognitionException {
CSharpParser.object_creation_expression_return retval = new CSharpParser.object_creation_expression_return();
retval.start = input.LT(1);
Object root_0 = null;
Token NEW125 = null;
Token OPEN_PARENS127 = null;
Token CLOSE_PARENS129 = null;
CSharpParser.type_return type126 = null;
CSharpParser.argument_list_return argument_list128 = null;
CSharpParser.object_or_collection_initializer_return object_or_collection_initializer130 = null;
CSharpParser.object_or_collection_initializer_return object_or_collection_initializer131 = null;
Object NEW125_tree = null;
Object OPEN_PARENS127_tree = null;
Object CLOSE_PARENS129_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:538:3: ( NEW type ( OPEN_PARENS ( argument_list )? CLOSE_PARENS ( object_or_collection_initializer )? | object_or_collection_initializer ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:538:5: NEW type ( OPEN_PARENS ( argument_list )? CLOSE_PARENS ( object_or_collection_initializer )? | object_or_collection_initializer )
{
root_0 = adaptor.nil();
NEW125 = (Token) match(input, NEW, FOLLOW_NEW_in_object_creation_expression2048);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
NEW125_tree =
adaptor.create(NEW125);
adaptor.addChild(root_0, NEW125_tree);
}
pushFollow(FOLLOW_type_in_object_creation_expression2050);
type126 = type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type126.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:538:14: ( OPEN_PARENS ( argument_list )? CLOSE_PARENS ( object_or_collection_initializer )? | object_or_collection_initializer )
int alt31 = 2;
int LA31_0 = input.LA(1);
if ((LA31_0 == OPEN_PARENS)) {
alt31 = 1;
} else if ((LA31_0 == OPEN_BRACE)) {
alt31 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 31, 0, input);
throw nvae;
}
switch (alt31) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:538:16: OPEN_PARENS ( argument_list )? CLOSE_PARENS ( object_or_collection_initializer )?
{
OPEN_PARENS127 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_object_creation_expression2054);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_PARENS127_tree =
adaptor.create(OPEN_PARENS127);
adaptor.addChild(root_0, OPEN_PARENS127_tree);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:538:28: ( argument_list )?
int alt29 = 2;
int LA29_0 = input.LA(1);
if ((LA29_0 == AMP || (LA29_0 >= BANG && LA29_0 <= BASE) || LA29_0 == BOOL || LA29_0 == BYTE || (LA29_0 >= CHAR && LA29_0 <= CHECKED) || LA29_0 == DECIMAL || (LA29_0 >= DEFAULT && LA29_0 <= DELEGATE) || LA29_0 == DOUBLE || LA29_0 == FALSE || LA29_0 == FLOAT || LA29_0 == IDENTIFIER || (LA29_0 >= INT && LA29_0 <= INTEGER_LITERAL) || LA29_0 == LONG || LA29_0 == MINUS || LA29_0 == NEW || LA29_0 == NULL || LA29_0 == OBJECT || LA29_0 == OPEN_PARENS || LA29_0 == OP_DEC || LA29_0 == OP_INC || LA29_0 == OUT || LA29_0 == PLUS || (LA29_0 >= REAL_LITERAL && LA29_0 <= REF) || LA29_0 == SBYTE || LA29_0 == SHORT || LA29_0 == SIZEOF || LA29_0 == STAR || (LA29_0 >= STRING && LA29_0 <= STRING_LITERAL) || LA29_0 == THIS || (LA29_0 >= TILDE && LA29_0 <= TRUE) || (LA29_0 >= TYPEOF && LA29_0 <= UNCHECKED) || LA29_0 == USHORT)) {
alt29 = 1;
}
switch (alt29) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:538:28: argument_list
{
pushFollow(FOLLOW_argument_list_in_object_creation_expression2056);
argument_list128 = argument_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, argument_list128.getTree());
}
}
break;
}
CLOSE_PARENS129 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_object_creation_expression2059);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_PARENS129_tree =
adaptor.create(CLOSE_PARENS129);
adaptor.addChild(root_0, CLOSE_PARENS129_tree);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:538:56: ( object_or_collection_initializer )?
int alt30 = 2;
int LA30_0 = input.LA(1);
if ((LA30_0 == OPEN_BRACE)) {
alt30 = 1;
}
switch (alt30) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:538:56: object_or_collection_initializer
{
pushFollow(FOLLOW_object_or_collection_initializer_in_object_creation_expression2061);
object_or_collection_initializer130 = object_or_collection_initializer();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, object_or_collection_initializer130.getTree());
}
}
break;
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:539:16: object_or_collection_initializer
{
pushFollow(FOLLOW_object_or_collection_initializer_in_object_creation_expression2079);
object_or_collection_initializer131 = object_or_collection_initializer();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, object_or_collection_initializer131.getTree());
}
}
break;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "object_creation_expression"
public static class object_or_collection_initializer_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "object_or_collection_initializer"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:543:1: object_or_collection_initializer : ( object_initializer | collection_initializer );
public final CSharpParser.object_or_collection_initializer_return object_or_collection_initializer() throws RecognitionException {
CSharpParser.object_or_collection_initializer_return retval = new CSharpParser.object_or_collection_initializer_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.object_initializer_return object_initializer132 = null;
CSharpParser.collection_initializer_return collection_initializer133 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:544:2: ( object_initializer | collection_initializer )
int alt32 = 2;
int LA32_0 = input.LA(1);
if ((LA32_0 == OPEN_BRACE)) {
switch (input.LA(2)) {
case CLOSE_BRACE: {
alt32 = 1;
}
break;
case IDENTIFIER: {
int LA32_3 = input.LA(3);
if ((LA32_3 == ASSIGNMENT)) {
int LA32_5 = input.LA(4);
if ((LA32_5 == GT)) {
alt32 = 2;
} else if ((LA32_5 == AMP || (LA32_5 >= BANG && LA32_5 <= BASE) || LA32_5 == BOOL || LA32_5 == BYTE || (LA32_5 >= CHAR && LA32_5 <= CHECKED) || LA32_5 == DECIMAL || (LA32_5 >= DEFAULT && LA32_5 <= DELEGATE) || LA32_5 == DOUBLE || LA32_5 == FALSE || LA32_5 == FLOAT || LA32_5 == IDENTIFIER || (LA32_5 >= INT && LA32_5 <= INTEGER_LITERAL) || LA32_5 == LONG || LA32_5 == MINUS || LA32_5 == NEW || LA32_5 == NULL || (LA32_5 >= OBJECT && LA32_5 <= OPEN_BRACE) || LA32_5 == OPEN_PARENS || LA32_5 == OP_DEC || LA32_5 == OP_INC || LA32_5 == PLUS || LA32_5 == REAL_LITERAL || LA32_5 == SBYTE || LA32_5 == SHORT || LA32_5 == SIZEOF || LA32_5 == STAR || (LA32_5 >= STRING && LA32_5 <= STRING_LITERAL) || LA32_5 == THIS || (LA32_5 >= TILDE && LA32_5 <= TRUE) || (LA32_5 >= TYPEOF && LA32_5 <= UNCHECKED) || LA32_5 == USHORT)) {
alt32 = 1;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 32, 5, input);
throw nvae;
}
} else if (((LA32_3 >= AMP && LA32_3 <= AS) || (LA32_3 >= BITWISE_OR && LA32_3 <= BOOL) || (LA32_3 >= BYTE && LA32_3 <= CARET) || LA32_3 == CHAR || LA32_3 == CLOSE_BRACE || LA32_3 == COMMA || LA32_3 == DECIMAL || LA32_3 == DIV || (LA32_3 >= DOT && LA32_3 <= DOUBLE) || LA32_3 == DOUBLE_COLON || LA32_3 == FLOAT || LA32_3 == GT || LA32_3 == IDENTIFIER || LA32_3 == INT || (LA32_3 >= INTERR && LA32_3 <= IS) || (LA32_3 >= LONG && LA32_3 <= LT) || LA32_3 == MINUS || LA32_3 == OBJECT || (LA32_3 >= OPEN_BRACKET && LA32_3 <= OPEN_PARENS) || LA32_3 == OP_AND || (LA32_3 >= OP_COALESCING && LA32_3 <= OP_DEC) || (LA32_3 >= OP_EQ && LA32_3 <= OP_LEFT_SHIFT) || (LA32_3 >= OP_NE && LA32_3 <= OP_OR) || LA32_3 == OP_PTR || (LA32_3 >= PERCENT && LA32_3 <= PLUS) || LA32_3 == SBYTE || LA32_3 == SHORT || LA32_3 == STAR || LA32_3 == STRING || (LA32_3 >= UINT && LA32_3 <= ULONG) || LA32_3 == USHORT || LA32_3 == VOID)) {
alt32 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 32, 3, input);
throw nvae;
}
}
break;
case AMP:
case BANG:
case BASE:
case BOOL:
case BYTE:
case CHAR:
case CHARACTER_LITERAL:
case CHECKED:
case DECIMAL:
case DEFAULT:
case DELEGATE:
case DOUBLE:
case FALSE:
case FLOAT:
case INT:
case INTEGER_LITERAL:
case LONG:
case MINUS:
case NEW:
case NULL:
case OBJECT:
case OPEN_BRACE:
case OPEN_PARENS:
case OP_DEC:
case OP_INC:
case PLUS:
case REAL_LITERAL:
case SBYTE:
case SHORT:
case SIZEOF:
case STAR:
case STRING:
case STRING_LITERAL:
case THIS:
case TILDE:
case TRUE:
case TYPEOF:
case UINT:
case ULONG:
case UNCHECKED:
case USHORT: {
alt32 = 2;
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 32, 1, input);
throw nvae;
}
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 32, 0, input);
throw nvae;
}
switch (alt32) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:544:4: object_initializer
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_object_initializer_in_object_or_collection_initializer2108);
object_initializer132 = object_initializer();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, object_initializer132.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:545:4: collection_initializer
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_collection_initializer_in_object_or_collection_initializer2113);
collection_initializer133 = collection_initializer();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, collection_initializer133.getTree());
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "object_or_collection_initializer"
public static class object_initializer_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "object_initializer"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:554:1: object_initializer : ( OPEN_BRACE CLOSE_BRACE | OPEN_BRACE member_initializer_list ( COMMA )? CLOSE_BRACE );
public final CSharpParser.object_initializer_return object_initializer() throws RecognitionException {
CSharpParser.object_initializer_return retval = new CSharpParser.object_initializer_return();
retval.start = input.LT(1);
Object root_0 = null;
Token OPEN_BRACE134 = null;
Token CLOSE_BRACE135 = null;
Token OPEN_BRACE136 = null;
Token COMMA138 = null;
Token CLOSE_BRACE139 = null;
CSharpParser.member_initializer_list_return member_initializer_list137 = null;
Object OPEN_BRACE134_tree = null;
Object CLOSE_BRACE135_tree = null;
Object OPEN_BRACE136_tree = null;
Object COMMA138_tree = null;
Object CLOSE_BRACE139_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:555:3: ( OPEN_BRACE CLOSE_BRACE | OPEN_BRACE member_initializer_list ( COMMA )? CLOSE_BRACE )
int alt34 = 2;
int LA34_0 = input.LA(1);
if ((LA34_0 == OPEN_BRACE)) {
int LA34_1 = input.LA(2);
if ((LA34_1 == CLOSE_BRACE)) {
alt34 = 1;
} else if ((LA34_1 == IDENTIFIER)) {
alt34 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 34, 1, input);
throw nvae;
}
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 34, 0, input);
throw nvae;
}
switch (alt34) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:555:5: OPEN_BRACE CLOSE_BRACE
{
root_0 = adaptor.nil();
OPEN_BRACE134 = (Token) match(input, OPEN_BRACE, FOLLOW_OPEN_BRACE_in_object_initializer2129);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_BRACE134_tree =
adaptor.create(OPEN_BRACE134);
adaptor.addChild(root_0, OPEN_BRACE134_tree);
}
CLOSE_BRACE135 = (Token) match(input, CLOSE_BRACE, FOLLOW_CLOSE_BRACE_in_object_initializer2131);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_BRACE135_tree =
adaptor.create(CLOSE_BRACE135);
adaptor.addChild(root_0, CLOSE_BRACE135_tree);
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:556:5: OPEN_BRACE member_initializer_list ( COMMA )? CLOSE_BRACE
{
root_0 = adaptor.nil();
OPEN_BRACE136 = (Token) match(input, OPEN_BRACE, FOLLOW_OPEN_BRACE_in_object_initializer2137);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_BRACE136_tree =
adaptor.create(OPEN_BRACE136);
adaptor.addChild(root_0, OPEN_BRACE136_tree);
}
pushFollow(FOLLOW_member_initializer_list_in_object_initializer2139);
member_initializer_list137 = member_initializer_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, member_initializer_list137.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:556:40: ( COMMA )?
int alt33 = 2;
int LA33_0 = input.LA(1);
if ((LA33_0 == COMMA)) {
alt33 = 1;
}
switch (alt33) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:556:40: COMMA
{
COMMA138 = (Token) match(input, COMMA, FOLLOW_COMMA_in_object_initializer2141);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
COMMA138_tree =
adaptor.create(COMMA138);
adaptor.addChild(root_0, COMMA138_tree);
}
}
break;
}
CLOSE_BRACE139 = (Token) match(input, CLOSE_BRACE, FOLLOW_CLOSE_BRACE_in_object_initializer2144);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_BRACE139_tree =
adaptor.create(CLOSE_BRACE139);
adaptor.addChild(root_0, CLOSE_BRACE139_tree);
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "object_initializer"
public static class member_initializer_list_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "member_initializer_list"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:558:1: member_initializer_list : member_initializer ( COMMA member_initializer )* ;
public final CSharpParser.member_initializer_list_return member_initializer_list() throws RecognitionException {
CSharpParser.member_initializer_list_return retval = new CSharpParser.member_initializer_list_return();
retval.start = input.LT(1);
Object root_0 = null;
Token COMMA141 = null;
CSharpParser.member_initializer_return member_initializer140 = null;
CSharpParser.member_initializer_return member_initializer142 = null;
Object COMMA141_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:559:2: ( member_initializer ( COMMA member_initializer )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:559:4: member_initializer ( COMMA member_initializer )*
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_member_initializer_in_member_initializer_list2156);
member_initializer140 = member_initializer();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, member_initializer140.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:559:23: ( COMMA member_initializer )*
loop35:
do {
int alt35 = 2;
int LA35_0 = input.LA(1);
if ((LA35_0 == COMMA)) {
int LA35_1 = input.LA(2);
if ((LA35_1 == IDENTIFIER)) {
alt35 = 1;
}
}
switch (alt35) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:559:25: COMMA member_initializer
{
COMMA141 = (Token) match(input, COMMA, FOLLOW_COMMA_in_member_initializer_list2160);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
COMMA141_tree =
adaptor.create(COMMA141);
adaptor.addChild(root_0, COMMA141_tree);
}
pushFollow(FOLLOW_member_initializer_in_member_initializer_list2162);
member_initializer142 = member_initializer();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, member_initializer142.getTree());
}
}
break;
default:
break loop35;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "member_initializer_list"
public static class member_initializer_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "member_initializer"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:561:1: member_initializer : IDENTIFIER ASSIGNMENT initializer_value ;
public final CSharpParser.member_initializer_return member_initializer() throws RecognitionException {
CSharpParser.member_initializer_return retval = new CSharpParser.member_initializer_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER143 = null;
Token ASSIGNMENT144 = null;
CSharpParser.initializer_value_return initializer_value145 = null;
Object IDENTIFIER143_tree = null;
Object ASSIGNMENT144_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:562:2: ( IDENTIFIER ASSIGNMENT initializer_value )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:562:4: IDENTIFIER ASSIGNMENT initializer_value
{
root_0 = adaptor.nil();
IDENTIFIER143 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_member_initializer2175);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER143_tree =
adaptor.create(IDENTIFIER143);
adaptor.addChild(root_0, IDENTIFIER143_tree);
}
ASSIGNMENT144 = (Token) match(input, ASSIGNMENT, FOLLOW_ASSIGNMENT_in_member_initializer2177);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
ASSIGNMENT144_tree =
adaptor.create(ASSIGNMENT144);
adaptor.addChild(root_0, ASSIGNMENT144_tree);
}
pushFollow(FOLLOW_initializer_value_in_member_initializer2179);
initializer_value145 = initializer_value();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, initializer_value145.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "member_initializer"
public static class initializer_value_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "initializer_value"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:564:1: initializer_value : ( expression | object_or_collection_initializer );
public final CSharpParser.initializer_value_return initializer_value() throws RecognitionException {
CSharpParser.initializer_value_return retval = new CSharpParser.initializer_value_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.expression_return expression146 = null;
CSharpParser.object_or_collection_initializer_return object_or_collection_initializer147 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:565:2: ( expression | object_or_collection_initializer )
int alt36 = 2;
int LA36_0 = input.LA(1);
if ((LA36_0 == AMP || (LA36_0 >= BANG && LA36_0 <= BASE) || LA36_0 == BOOL || LA36_0 == BYTE || (LA36_0 >= CHAR && LA36_0 <= CHECKED) || LA36_0 == DECIMAL || (LA36_0 >= DEFAULT && LA36_0 <= DELEGATE) || LA36_0 == DOUBLE || LA36_0 == FALSE || LA36_0 == FLOAT || LA36_0 == IDENTIFIER || (LA36_0 >= INT && LA36_0 <= INTEGER_LITERAL) || LA36_0 == LONG || LA36_0 == MINUS || LA36_0 == NEW || LA36_0 == NULL || LA36_0 == OBJECT || LA36_0 == OPEN_PARENS || LA36_0 == OP_DEC || LA36_0 == OP_INC || LA36_0 == PLUS || LA36_0 == REAL_LITERAL || LA36_0 == SBYTE || LA36_0 == SHORT || LA36_0 == SIZEOF || LA36_0 == STAR || (LA36_0 >= STRING && LA36_0 <= STRING_LITERAL) || LA36_0 == THIS || (LA36_0 >= TILDE && LA36_0 <= TRUE) || (LA36_0 >= TYPEOF && LA36_0 <= UNCHECKED) || LA36_0 == USHORT)) {
alt36 = 1;
} else if ((LA36_0 == OPEN_BRACE)) {
alt36 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 36, 0, input);
throw nvae;
}
switch (alt36) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:565:4: expression
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_expression_in_initializer_value2190);
expression146 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression146.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:566:4: object_or_collection_initializer
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_object_or_collection_initializer_in_initializer_value2195);
object_or_collection_initializer147 = object_or_collection_initializer();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, object_or_collection_initializer147.getTree());
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "initializer_value"
public static class collection_initializer_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "collection_initializer"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:575:1: collection_initializer : OPEN_BRACE element_initializer_list ( COMMA )? CLOSE_BRACE ;
public final CSharpParser.collection_initializer_return collection_initializer() throws RecognitionException {
CSharpParser.collection_initializer_return retval = new CSharpParser.collection_initializer_return();
retval.start = input.LT(1);
Object root_0 = null;
Token OPEN_BRACE148 = null;
Token COMMA150 = null;
Token CLOSE_BRACE151 = null;
CSharpParser.element_initializer_list_return element_initializer_list149 = null;
Object OPEN_BRACE148_tree = null;
Object COMMA150_tree = null;
Object CLOSE_BRACE151_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:576:3: ( OPEN_BRACE element_initializer_list ( COMMA )? CLOSE_BRACE )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:576:5: OPEN_BRACE element_initializer_list ( COMMA )? CLOSE_BRACE
{
root_0 = adaptor.nil();
OPEN_BRACE148 = (Token) match(input, OPEN_BRACE, FOLLOW_OPEN_BRACE_in_collection_initializer2211);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_BRACE148_tree =
adaptor.create(OPEN_BRACE148);
adaptor.addChild(root_0, OPEN_BRACE148_tree);
}
pushFollow(FOLLOW_element_initializer_list_in_collection_initializer2213);
element_initializer_list149 = element_initializer_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, element_initializer_list149.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:576:41: ( COMMA )?
int alt37 = 2;
int LA37_0 = input.LA(1);
if ((LA37_0 == COMMA)) {
alt37 = 1;
}
switch (alt37) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:576:41: COMMA
{
COMMA150 = (Token) match(input, COMMA, FOLLOW_COMMA_in_collection_initializer2215);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
COMMA150_tree =
adaptor.create(COMMA150);
adaptor.addChild(root_0, COMMA150_tree);
}
}
break;
}
CLOSE_BRACE151 = (Token) match(input, CLOSE_BRACE, FOLLOW_CLOSE_BRACE_in_collection_initializer2218);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_BRACE151_tree =
adaptor.create(CLOSE_BRACE151);
adaptor.addChild(root_0, CLOSE_BRACE151_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "collection_initializer"
public static class element_initializer_list_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "element_initializer_list"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:578:1: element_initializer_list : element_initializer ( COMMA element_initializer )* ;
public final CSharpParser.element_initializer_list_return element_initializer_list() throws RecognitionException {
CSharpParser.element_initializer_list_return retval = new CSharpParser.element_initializer_list_return();
retval.start = input.LT(1);
Object root_0 = null;
Token COMMA153 = null;
CSharpParser.element_initializer_return element_initializer152 = null;
CSharpParser.element_initializer_return element_initializer154 = null;
Object COMMA153_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:579:2: ( element_initializer ( COMMA element_initializer )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:579:4: element_initializer ( COMMA element_initializer )*
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_element_initializer_in_element_initializer_list2230);
element_initializer152 = element_initializer();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, element_initializer152.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:579:24: ( COMMA element_initializer )*
loop38:
do {
int alt38 = 2;
int LA38_0 = input.LA(1);
if ((LA38_0 == COMMA)) {
int LA38_1 = input.LA(2);
if ((LA38_1 == AMP || (LA38_1 >= BANG && LA38_1 <= BASE) || LA38_1 == BOOL || LA38_1 == BYTE || (LA38_1 >= CHAR && LA38_1 <= CHECKED) || LA38_1 == DECIMAL || (LA38_1 >= DEFAULT && LA38_1 <= DELEGATE) || LA38_1 == DOUBLE || LA38_1 == FALSE || LA38_1 == FLOAT || LA38_1 == IDENTIFIER || (LA38_1 >= INT && LA38_1 <= INTEGER_LITERAL) || LA38_1 == LONG || LA38_1 == MINUS || LA38_1 == NEW || LA38_1 == NULL || (LA38_1 >= OBJECT && LA38_1 <= OPEN_BRACE) || LA38_1 == OPEN_PARENS || LA38_1 == OP_DEC || LA38_1 == OP_INC || LA38_1 == PLUS || LA38_1 == REAL_LITERAL || LA38_1 == SBYTE || LA38_1 == SHORT || LA38_1 == SIZEOF || LA38_1 == STAR || (LA38_1 >= STRING && LA38_1 <= STRING_LITERAL) || LA38_1 == THIS || (LA38_1 >= TILDE && LA38_1 <= TRUE) || (LA38_1 >= TYPEOF && LA38_1 <= UNCHECKED) || LA38_1 == USHORT)) {
alt38 = 1;
}
}
switch (alt38) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:579:26: COMMA element_initializer
{
COMMA153 = (Token) match(input, COMMA, FOLLOW_COMMA_in_element_initializer_list2234);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
COMMA153_tree =
adaptor.create(COMMA153);
adaptor.addChild(root_0, COMMA153_tree);
}
pushFollow(FOLLOW_element_initializer_in_element_initializer_list2236);
element_initializer154 = element_initializer();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, element_initializer154.getTree());
}
}
break;
default:
break loop38;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "element_initializer_list"
public static class element_initializer_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "element_initializer"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:581:1: element_initializer : ( non_assignment_expression | OPEN_BRACE expression_list CLOSE_BRACE );
public final CSharpParser.element_initializer_return element_initializer() throws RecognitionException {
CSharpParser.element_initializer_return retval = new CSharpParser.element_initializer_return();
retval.start = input.LT(1);
Object root_0 = null;
Token OPEN_BRACE156 = null;
Token CLOSE_BRACE158 = null;
CSharpParser.non_assignment_expression_return non_assignment_expression155 = null;
CSharpParser.expression_list_return expression_list157 = null;
Object OPEN_BRACE156_tree = null;
Object CLOSE_BRACE158_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:582:2: ( non_assignment_expression | OPEN_BRACE expression_list CLOSE_BRACE )
int alt39 = 2;
int LA39_0 = input.LA(1);
if ((LA39_0 == AMP || (LA39_0 >= BANG && LA39_0 <= BASE) || LA39_0 == BOOL || LA39_0 == BYTE || (LA39_0 >= CHAR && LA39_0 <= CHECKED) || LA39_0 == DECIMAL || (LA39_0 >= DEFAULT && LA39_0 <= DELEGATE) || LA39_0 == DOUBLE || LA39_0 == FALSE || LA39_0 == FLOAT || LA39_0 == IDENTIFIER || (LA39_0 >= INT && LA39_0 <= INTEGER_LITERAL) || LA39_0 == LONG || LA39_0 == MINUS || LA39_0 == NEW || LA39_0 == NULL || LA39_0 == OBJECT || LA39_0 == OPEN_PARENS || LA39_0 == OP_DEC || LA39_0 == OP_INC || LA39_0 == PLUS || LA39_0 == REAL_LITERAL || LA39_0 == SBYTE || LA39_0 == SHORT || LA39_0 == SIZEOF || LA39_0 == STAR || (LA39_0 >= STRING && LA39_0 <= STRING_LITERAL) || LA39_0 == THIS || (LA39_0 >= TILDE && LA39_0 <= TRUE) || (LA39_0 >= TYPEOF && LA39_0 <= UNCHECKED) || LA39_0 == USHORT)) {
alt39 = 1;
} else if ((LA39_0 == OPEN_BRACE)) {
alt39 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 39, 0, input);
throw nvae;
}
switch (alt39) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:582:4: non_assignment_expression
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_non_assignment_expression_in_element_initializer2249);
non_assignment_expression155 = non_assignment_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, non_assignment_expression155.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:583:4: OPEN_BRACE expression_list CLOSE_BRACE
{
root_0 = adaptor.nil();
OPEN_BRACE156 = (Token) match(input, OPEN_BRACE, FOLLOW_OPEN_BRACE_in_element_initializer2254);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_BRACE156_tree =
adaptor.create(OPEN_BRACE156);
adaptor.addChild(root_0, OPEN_BRACE156_tree);
}
pushFollow(FOLLOW_expression_list_in_element_initializer2256);
expression_list157 = expression_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression_list157.getTree());
}
CLOSE_BRACE158 = (Token) match(input, CLOSE_BRACE, FOLLOW_CLOSE_BRACE_in_element_initializer2258);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_BRACE158_tree =
adaptor.create(CLOSE_BRACE158);
adaptor.addChild(root_0, CLOSE_BRACE158_tree);
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "element_initializer"
public static class array_creation_expression_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "array_creation_expression"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:592:1: array_creation_expression : NEW ( ( array_type OPEN_BRACKET )=> array_type array_initializer | non_array_type OPEN_BRACKET expression_list CLOSE_BRACKET ( rank_specifiers )? ( array_initializer )? | rank_specifier array_initializer ) ;
public final CSharpParser.array_creation_expression_return array_creation_expression() throws RecognitionException {
CSharpParser.array_creation_expression_return retval = new CSharpParser.array_creation_expression_return();
retval.start = input.LT(1);
Object root_0 = null;
Token NEW159 = null;
Token OPEN_BRACKET163 = null;
Token CLOSE_BRACKET165 = null;
CSharpParser.array_type_return array_type160 = null;
CSharpParser.array_initializer_return array_initializer161 = null;
CSharpParser.non_array_type_return non_array_type162 = null;
CSharpParser.expression_list_return expression_list164 = null;
CSharpParser.rank_specifiers_return rank_specifiers166 = null;
CSharpParser.array_initializer_return array_initializer167 = null;
CSharpParser.rank_specifier_return rank_specifier168 = null;
CSharpParser.array_initializer_return array_initializer169 = null;
Object NEW159_tree = null;
Object OPEN_BRACKET163_tree = null;
Object CLOSE_BRACKET165_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:593:3: ( NEW ( ( array_type OPEN_BRACKET )=> array_type array_initializer | non_array_type OPEN_BRACKET expression_list CLOSE_BRACKET ( rank_specifiers )? ( array_initializer )? | rank_specifier array_initializer ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:593:5: NEW ( ( array_type OPEN_BRACKET )=> array_type array_initializer | non_array_type OPEN_BRACKET expression_list CLOSE_BRACKET ( rank_specifiers )? ( array_initializer )? | rank_specifier array_initializer )
{
root_0 = adaptor.nil();
NEW159 = (Token) match(input, NEW, FOLLOW_NEW_in_array_creation_expression2272);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
NEW159_tree =
adaptor.create(NEW159);
adaptor.addChild(root_0, NEW159_tree);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:593:9: ( ( array_type OPEN_BRACKET )=> array_type array_initializer | non_array_type OPEN_BRACKET expression_list CLOSE_BRACKET ( rank_specifiers )? ( array_initializer )? | rank_specifier array_initializer )
int alt42 = 3;
switch (input.LA(1)) {
case BYTE:
case CHAR:
case INT:
case LONG:
case SBYTE:
case SHORT:
case UINT:
case ULONG:
case USHORT: {
int LA42_1 = input.LA(2);
if ((synpred5_CSharpParser())) {
alt42 = 1;
} else if ((true)) {
alt42 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 42, 1, input);
throw nvae;
}
}
break;
case DOUBLE:
case FLOAT: {
int LA42_2 = input.LA(2);
if ((synpred5_CSharpParser())) {
alt42 = 1;
} else if ((true)) {
alt42 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 42, 2, input);
throw nvae;
}
}
break;
case DECIMAL: {
int LA42_3 = input.LA(2);
if ((synpred5_CSharpParser())) {
alt42 = 1;
} else if ((true)) {
alt42 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 42, 3, input);
throw nvae;
}
}
break;
case BOOL: {
int LA42_4 = input.LA(2);
if ((synpred5_CSharpParser())) {
alt42 = 1;
} else if ((true)) {
alt42 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 42, 4, input);
throw nvae;
}
}
break;
case IDENTIFIER: {
int LA42_5 = input.LA(2);
if ((synpred5_CSharpParser())) {
alt42 = 1;
} else if ((true)) {
alt42 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 42, 5, input);
throw nvae;
}
}
break;
case OBJECT: {
int LA42_6 = input.LA(2);
if ((synpred5_CSharpParser())) {
alt42 = 1;
} else if ((true)) {
alt42 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 42, 6, input);
throw nvae;
}
}
break;
case STRING: {
int LA42_7 = input.LA(2);
if ((synpred5_CSharpParser())) {
alt42 = 1;
} else if ((true)) {
alt42 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 42, 7, input);
throw nvae;
}
}
break;
case VOID: {
int LA42_8 = input.LA(2);
if ((synpred5_CSharpParser())) {
alt42 = 1;
} else if ((true)) {
alt42 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 42, 8, input);
throw nvae;
}
}
break;
case OPEN_BRACKET: {
alt42 = 3;
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 42, 0, input);
throw nvae;
}
switch (alt42) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:593:11: ( array_type OPEN_BRACKET )=> array_type array_initializer
{
pushFollow(FOLLOW_array_type_in_array_creation_expression2284);
array_type160 = array_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, array_type160.getTree());
}
pushFollow(FOLLOW_array_initializer_in_array_creation_expression2286);
array_initializer161 = array_initializer();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, array_initializer161.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:594:11: non_array_type OPEN_BRACKET expression_list CLOSE_BRACKET ( rank_specifiers )? ( array_initializer )?
{
pushFollow(FOLLOW_non_array_type_in_array_creation_expression2298);
non_array_type162 = non_array_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, non_array_type162.getTree());
}
OPEN_BRACKET163 = (Token) match(input, OPEN_BRACKET, FOLLOW_OPEN_BRACKET_in_array_creation_expression2300);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_BRACKET163_tree =
adaptor.create(OPEN_BRACKET163);
adaptor.addChild(root_0, OPEN_BRACKET163_tree);
}
pushFollow(FOLLOW_expression_list_in_array_creation_expression2302);
expression_list164 = expression_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression_list164.getTree());
}
CLOSE_BRACKET165 = (Token) match(input, CLOSE_BRACKET, FOLLOW_CLOSE_BRACKET_in_array_creation_expression2304);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_BRACKET165_tree =
adaptor.create(CLOSE_BRACKET165);
adaptor.addChild(root_0, CLOSE_BRACKET165_tree);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:594:69: ( rank_specifiers )?
int alt40 = 2;
int LA40_0 = input.LA(1);
if ((LA40_0 == OPEN_BRACKET)) {
alt40 = 1;
}
switch (alt40) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:594:69: rank_specifiers
{
pushFollow(FOLLOW_rank_specifiers_in_array_creation_expression2306);
rank_specifiers166 = rank_specifiers();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, rank_specifiers166.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:594:86: ( array_initializer )?
int alt41 = 2;
int LA41_0 = input.LA(1);
if ((LA41_0 == OPEN_BRACE)) {
alt41 = 1;
}
switch (alt41) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:594:86: array_initializer
{
pushFollow(FOLLOW_array_initializer_in_array_creation_expression2309);
array_initializer167 = array_initializer();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, array_initializer167.getTree());
}
}
break;
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:595:11: rank_specifier array_initializer
{
pushFollow(FOLLOW_rank_specifier_in_array_creation_expression2322);
rank_specifier168 = rank_specifier();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, rank_specifier168.getTree());
}
pushFollow(FOLLOW_array_initializer_in_array_creation_expression2324);
array_initializer169 = array_initializer();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, array_initializer169.getTree());
}
}
break;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "array_creation_expression"
public static class delegate_creation_expression_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "delegate_creation_expression"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:599:1: delegate_creation_expression : NEW delegate_type OPEN_PARENS expression CLOSE_PARENS ;
public final CSharpParser.delegate_creation_expression_return delegate_creation_expression() throws RecognitionException {
CSharpParser.delegate_creation_expression_return retval = new CSharpParser.delegate_creation_expression_return();
retval.start = input.LT(1);
Object root_0 = null;
Token NEW170 = null;
Token OPEN_PARENS172 = null;
Token CLOSE_PARENS174 = null;
CSharpParser.delegate_type_return delegate_type171 = null;
CSharpParser.expression_return expression173 = null;
Object NEW170_tree = null;
Object OPEN_PARENS172_tree = null;
Object CLOSE_PARENS174_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:600:2: ( NEW delegate_type OPEN_PARENS expression CLOSE_PARENS )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:600:4: NEW delegate_type OPEN_PARENS expression CLOSE_PARENS
{
root_0 = adaptor.nil();
NEW170 = (Token) match(input, NEW, FOLLOW_NEW_in_delegate_creation_expression2348);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
NEW170_tree =
adaptor.create(NEW170);
adaptor.addChild(root_0, NEW170_tree);
}
pushFollow(FOLLOW_delegate_type_in_delegate_creation_expression2350);
delegate_type171 = delegate_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, delegate_type171.getTree());
}
OPEN_PARENS172 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_delegate_creation_expression2352);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_PARENS172_tree =
adaptor.create(OPEN_PARENS172);
adaptor.addChild(root_0, OPEN_PARENS172_tree);
}
pushFollow(FOLLOW_expression_in_delegate_creation_expression2354);
expression173 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression173.getTree());
}
CLOSE_PARENS174 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_delegate_creation_expression2356);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_PARENS174_tree =
adaptor.create(CLOSE_PARENS174);
adaptor.addChild(root_0, CLOSE_PARENS174_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "delegate_creation_expression"
public static class anonymous_object_creation_expression_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "anonymous_object_creation_expression"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:603:1: anonymous_object_creation_expression : NEW anonymous_object_initializer ;
public final CSharpParser.anonymous_object_creation_expression_return anonymous_object_creation_expression() throws RecognitionException {
CSharpParser.anonymous_object_creation_expression_return retval = new CSharpParser.anonymous_object_creation_expression_return();
retval.start = input.LT(1);
Object root_0 = null;
Token NEW175 = null;
CSharpParser.anonymous_object_initializer_return anonymous_object_initializer176 = null;
Object NEW175_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:604:2: ( NEW anonymous_object_initializer )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:604:4: NEW anonymous_object_initializer
{
root_0 = adaptor.nil();
NEW175 = (Token) match(input, NEW, FOLLOW_NEW_in_anonymous_object_creation_expression2369);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
NEW175_tree =
adaptor.create(NEW175);
adaptor.addChild(root_0, NEW175_tree);
}
pushFollow(FOLLOW_anonymous_object_initializer_in_anonymous_object_creation_expression2371);
anonymous_object_initializer176 = anonymous_object_initializer();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, anonymous_object_initializer176.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "anonymous_object_creation_expression"
public static class anonymous_object_initializer_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "anonymous_object_initializer"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:613:1: anonymous_object_initializer : ( OPEN_BRACE CLOSE_BRACE | OPEN_BRACE member_declarator_list ( COMMA )? CLOSE_BRACE );
public final CSharpParser.anonymous_object_initializer_return anonymous_object_initializer() throws RecognitionException {
CSharpParser.anonymous_object_initializer_return retval = new CSharpParser.anonymous_object_initializer_return();
retval.start = input.LT(1);
Object root_0 = null;
Token OPEN_BRACE177 = null;
Token CLOSE_BRACE178 = null;
Token OPEN_BRACE179 = null;
Token COMMA181 = null;
Token CLOSE_BRACE182 = null;
CSharpParser.member_declarator_list_return member_declarator_list180 = null;
Object OPEN_BRACE177_tree = null;
Object CLOSE_BRACE178_tree = null;
Object OPEN_BRACE179_tree = null;
Object COMMA181_tree = null;
Object CLOSE_BRACE182_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:614:3: ( OPEN_BRACE CLOSE_BRACE | OPEN_BRACE member_declarator_list ( COMMA )? CLOSE_BRACE )
int alt44 = 2;
int LA44_0 = input.LA(1);
if ((LA44_0 == OPEN_BRACE)) {
int LA44_1 = input.LA(2);
if ((LA44_1 == CLOSE_BRACE)) {
alt44 = 1;
} else if ((LA44_1 == BASE || LA44_1 == BOOL || LA44_1 == BYTE || (LA44_1 >= CHAR && LA44_1 <= CHECKED) || LA44_1 == DECIMAL || (LA44_1 >= DEFAULT && LA44_1 <= DELEGATE) || LA44_1 == DOUBLE || LA44_1 == FALSE || LA44_1 == FLOAT || LA44_1 == IDENTIFIER || (LA44_1 >= INT && LA44_1 <= INTEGER_LITERAL) || LA44_1 == LONG || LA44_1 == NEW || LA44_1 == NULL || LA44_1 == OBJECT || LA44_1 == OPEN_PARENS || LA44_1 == REAL_LITERAL || LA44_1 == SBYTE || LA44_1 == SHORT || LA44_1 == SIZEOF || (LA44_1 >= STRING && LA44_1 <= STRING_LITERAL) || LA44_1 == THIS || LA44_1 == TRUE || (LA44_1 >= TYPEOF && LA44_1 <= UNCHECKED) || LA44_1 == USHORT)) {
alt44 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 44, 1, input);
throw nvae;
}
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 44, 0, input);
throw nvae;
}
switch (alt44) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:614:5: OPEN_BRACE CLOSE_BRACE
{
root_0 = adaptor.nil();
OPEN_BRACE177 = (Token) match(input, OPEN_BRACE, FOLLOW_OPEN_BRACE_in_anonymous_object_initializer2387);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_BRACE177_tree =
adaptor.create(OPEN_BRACE177);
adaptor.addChild(root_0, OPEN_BRACE177_tree);
}
CLOSE_BRACE178 = (Token) match(input, CLOSE_BRACE, FOLLOW_CLOSE_BRACE_in_anonymous_object_initializer2389);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_BRACE178_tree =
adaptor.create(CLOSE_BRACE178);
adaptor.addChild(root_0, CLOSE_BRACE178_tree);
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:615:5: OPEN_BRACE member_declarator_list ( COMMA )? CLOSE_BRACE
{
root_0 = adaptor.nil();
OPEN_BRACE179 = (Token) match(input, OPEN_BRACE, FOLLOW_OPEN_BRACE_in_anonymous_object_initializer2395);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_BRACE179_tree =
adaptor.create(OPEN_BRACE179);
adaptor.addChild(root_0, OPEN_BRACE179_tree);
}
pushFollow(FOLLOW_member_declarator_list_in_anonymous_object_initializer2397);
member_declarator_list180 = member_declarator_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, member_declarator_list180.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:615:39: ( COMMA )?
int alt43 = 2;
int LA43_0 = input.LA(1);
if ((LA43_0 == COMMA)) {
alt43 = 1;
}
switch (alt43) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:615:39: COMMA
{
COMMA181 = (Token) match(input, COMMA, FOLLOW_COMMA_in_anonymous_object_initializer2399);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
COMMA181_tree =
adaptor.create(COMMA181);
adaptor.addChild(root_0, COMMA181_tree);
}
}
break;
}
CLOSE_BRACE182 = (Token) match(input, CLOSE_BRACE, FOLLOW_CLOSE_BRACE_in_anonymous_object_initializer2402);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_BRACE182_tree =
adaptor.create(CLOSE_BRACE182);
adaptor.addChild(root_0, CLOSE_BRACE182_tree);
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "anonymous_object_initializer"
public static class member_declarator_list_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "member_declarator_list"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:617:1: member_declarator_list : member_declarator ( COMMA member_declarator )* ;
public final CSharpParser.member_declarator_list_return member_declarator_list() throws RecognitionException {
CSharpParser.member_declarator_list_return retval = new CSharpParser.member_declarator_list_return();
retval.start = input.LT(1);
Object root_0 = null;
Token COMMA184 = null;
CSharpParser.member_declarator_return member_declarator183 = null;
CSharpParser.member_declarator_return member_declarator185 = null;
Object COMMA184_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:618:2: ( member_declarator ( COMMA member_declarator )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:618:4: member_declarator ( COMMA member_declarator )*
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_member_declarator_in_member_declarator_list2414);
member_declarator183 = member_declarator();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, member_declarator183.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:618:22: ( COMMA member_declarator )*
loop45:
do {
int alt45 = 2;
int LA45_0 = input.LA(1);
if ((LA45_0 == COMMA)) {
int LA45_1 = input.LA(2);
if ((LA45_1 == BASE || LA45_1 == BOOL || LA45_1 == BYTE || (LA45_1 >= CHAR && LA45_1 <= CHECKED) || LA45_1 == DECIMAL || (LA45_1 >= DEFAULT && LA45_1 <= DELEGATE) || LA45_1 == DOUBLE || LA45_1 == FALSE || LA45_1 == FLOAT || LA45_1 == IDENTIFIER || (LA45_1 >= INT && LA45_1 <= INTEGER_LITERAL) || LA45_1 == LONG || LA45_1 == NEW || LA45_1 == NULL || LA45_1 == OBJECT || LA45_1 == OPEN_PARENS || LA45_1 == REAL_LITERAL || LA45_1 == SBYTE || LA45_1 == SHORT || LA45_1 == SIZEOF || (LA45_1 >= STRING && LA45_1 <= STRING_LITERAL) || LA45_1 == THIS || LA45_1 == TRUE || (LA45_1 >= TYPEOF && LA45_1 <= UNCHECKED) || LA45_1 == USHORT)) {
alt45 = 1;
}
}
switch (alt45) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:618:24: COMMA member_declarator
{
COMMA184 = (Token) match(input, COMMA, FOLLOW_COMMA_in_member_declarator_list2418);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
COMMA184_tree =
adaptor.create(COMMA184);
adaptor.addChild(root_0, COMMA184_tree);
}
pushFollow(FOLLOW_member_declarator_in_member_declarator_list2420);
member_declarator185 = member_declarator();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, member_declarator185.getTree());
}
}
break;
default:
break loop45;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "member_declarator_list"
public static class member_declarator_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "member_declarator"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:628:1: member_declarator : ( primary_expression | IDENTIFIER ASSIGNMENT expression );
public final CSharpParser.member_declarator_return member_declarator() throws RecognitionException {
CSharpParser.member_declarator_return retval = new CSharpParser.member_declarator_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER187 = null;
Token ASSIGNMENT188 = null;
CSharpParser.primary_expression_return primary_expression186 = null;
CSharpParser.expression_return expression189 = null;
Object IDENTIFIER187_tree = null;
Object ASSIGNMENT188_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:629:3: ( primary_expression | IDENTIFIER ASSIGNMENT expression )
int alt46 = 2;
int LA46_0 = input.LA(1);
if ((LA46_0 == BASE || LA46_0 == BOOL || LA46_0 == BYTE || (LA46_0 >= CHAR && LA46_0 <= CHECKED) || LA46_0 == DECIMAL || (LA46_0 >= DEFAULT && LA46_0 <= DELEGATE) || LA46_0 == DOUBLE || LA46_0 == FALSE || LA46_0 == FLOAT || (LA46_0 >= INT && LA46_0 <= INTEGER_LITERAL) || LA46_0 == LONG || LA46_0 == NEW || LA46_0 == NULL || LA46_0 == OBJECT || LA46_0 == OPEN_PARENS || LA46_0 == REAL_LITERAL || LA46_0 == SBYTE || LA46_0 == SHORT || LA46_0 == SIZEOF || (LA46_0 >= STRING && LA46_0 <= STRING_LITERAL) || LA46_0 == THIS || LA46_0 == TRUE || (LA46_0 >= TYPEOF && LA46_0 <= UNCHECKED) || LA46_0 == USHORT)) {
alt46 = 1;
} else if ((LA46_0 == IDENTIFIER)) {
int LA46_2 = input.LA(2);
if ((LA46_2 == CLOSE_BRACE || LA46_2 == COMMA || LA46_2 == DOT || LA46_2 == DOUBLE_COLON || LA46_2 == LT || (LA46_2 >= OPEN_BRACKET && LA46_2 <= OPEN_PARENS) || LA46_2 == OP_DEC || LA46_2 == OP_INC || LA46_2 == OP_PTR)) {
alt46 = 1;
} else if ((LA46_2 == ASSIGNMENT)) {
alt46 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 46, 2, input);
throw nvae;
}
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 46, 0, input);
throw nvae;
}
switch (alt46) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:629:5: primary_expression
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_primary_expression_in_member_declarator2436);
primary_expression186 = primary_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, primary_expression186.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:630:5: IDENTIFIER ASSIGNMENT expression
{
root_0 = adaptor.nil();
IDENTIFIER187 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_member_declarator2442);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER187_tree =
adaptor.create(IDENTIFIER187);
adaptor.addChild(root_0, IDENTIFIER187_tree);
}
ASSIGNMENT188 = (Token) match(input, ASSIGNMENT, FOLLOW_ASSIGNMENT_in_member_declarator2444);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
ASSIGNMENT188_tree =
adaptor.create(ASSIGNMENT188);
adaptor.addChild(root_0, ASSIGNMENT188_tree);
}
pushFollow(FOLLOW_expression_in_member_declarator2446);
expression189 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression189.getTree());
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "member_declarator"
public static class typeof_expression_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "typeof_expression"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:632:1: typeof_expression : TYPEOF OPEN_PARENS ( ( unbound_type_name )=> unbound_type_name CLOSE_PARENS | type CLOSE_PARENS | VOID CLOSE_PARENS ) ;
public final CSharpParser.typeof_expression_return typeof_expression() throws RecognitionException {
CSharpParser.typeof_expression_return retval = new CSharpParser.typeof_expression_return();
retval.start = input.LT(1);
Object root_0 = null;
Token TYPEOF190 = null;
Token OPEN_PARENS191 = null;
Token CLOSE_PARENS193 = null;
Token CLOSE_PARENS195 = null;
Token VOID196 = null;
Token CLOSE_PARENS197 = null;
CSharpParser.unbound_type_name_return unbound_type_name192 = null;
CSharpParser.type_return type194 = null;
Object TYPEOF190_tree = null;
Object OPEN_PARENS191_tree = null;
Object CLOSE_PARENS193_tree = null;
Object CLOSE_PARENS195_tree = null;
Object VOID196_tree = null;
Object CLOSE_PARENS197_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:633:2: ( TYPEOF OPEN_PARENS ( ( unbound_type_name )=> unbound_type_name CLOSE_PARENS | type CLOSE_PARENS | VOID CLOSE_PARENS ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:633:4: TYPEOF OPEN_PARENS ( ( unbound_type_name )=> unbound_type_name CLOSE_PARENS | type CLOSE_PARENS | VOID CLOSE_PARENS )
{
root_0 = adaptor.nil();
TYPEOF190 = (Token) match(input, TYPEOF, FOLLOW_TYPEOF_in_typeof_expression2458);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
TYPEOF190_tree =
adaptor.create(TYPEOF190);
adaptor.addChild(root_0, TYPEOF190_tree);
}
OPEN_PARENS191 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_typeof_expression2460);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_PARENS191_tree =
adaptor.create(OPEN_PARENS191);
adaptor.addChild(root_0, OPEN_PARENS191_tree);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:634:4: ( ( unbound_type_name )=> unbound_type_name CLOSE_PARENS | type CLOSE_PARENS | VOID CLOSE_PARENS )
int alt47 = 3;
alt47 = dfa47.predict(input);
switch (alt47) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:634:6: ( unbound_type_name )=> unbound_type_name CLOSE_PARENS
{
pushFollow(FOLLOW_unbound_type_name_in_typeof_expression2473);
unbound_type_name192 = unbound_type_name();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, unbound_type_name192.getTree());
}
CLOSE_PARENS193 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_typeof_expression2475);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_PARENS193_tree =
adaptor.create(CLOSE_PARENS193);
adaptor.addChild(root_0, CLOSE_PARENS193_tree);
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:635:6: type CLOSE_PARENS
{
pushFollow(FOLLOW_type_in_typeof_expression2482);
type194 = type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type194.getTree());
}
CLOSE_PARENS195 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_typeof_expression2484);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_PARENS195_tree =
adaptor.create(CLOSE_PARENS195);
adaptor.addChild(root_0, CLOSE_PARENS195_tree);
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:636:6: VOID CLOSE_PARENS
{
VOID196 = (Token) match(input, VOID, FOLLOW_VOID_in_typeof_expression2491);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
VOID196_tree =
adaptor.create(VOID196);
adaptor.addChild(root_0, VOID196_tree);
}
CLOSE_PARENS197 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_typeof_expression2493);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_PARENS197_tree =
adaptor.create(CLOSE_PARENS197);
adaptor.addChild(root_0, CLOSE_PARENS197_tree);
}
}
break;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "typeof_expression"
public static class unbound_type_name_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "unbound_type_name"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:646:1: unbound_type_name : IDENTIFIER ( ( generic_dimension_specifier )? | DOUBLE_COLON IDENTIFIER ( generic_dimension_specifier )? ) ( DOT IDENTIFIER ( generic_dimension_specifier )? )* ;
public final CSharpParser.unbound_type_name_return unbound_type_name() throws RecognitionException {
CSharpParser.unbound_type_name_return retval = new CSharpParser.unbound_type_name_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER198 = null;
Token DOUBLE_COLON200 = null;
Token IDENTIFIER201 = null;
Token DOT203 = null;
Token IDENTIFIER204 = null;
CSharpParser.generic_dimension_specifier_return generic_dimension_specifier199 = null;
CSharpParser.generic_dimension_specifier_return generic_dimension_specifier202 = null;
CSharpParser.generic_dimension_specifier_return generic_dimension_specifier205 = null;
Object IDENTIFIER198_tree = null;
Object DOUBLE_COLON200_tree = null;
Object IDENTIFIER201_tree = null;
Object DOT203_tree = null;
Object IDENTIFIER204_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:647:3: ( IDENTIFIER ( ( generic_dimension_specifier )? | DOUBLE_COLON IDENTIFIER ( generic_dimension_specifier )? ) ( DOT IDENTIFIER ( generic_dimension_specifier )? )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:647:5: IDENTIFIER ( ( generic_dimension_specifier )? | DOUBLE_COLON IDENTIFIER ( generic_dimension_specifier )? ) ( DOT IDENTIFIER ( generic_dimension_specifier )? )*
{
root_0 = adaptor.nil();
IDENTIFIER198 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_unbound_type_name2512);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER198_tree =
adaptor.create(IDENTIFIER198);
adaptor.addChild(root_0, IDENTIFIER198_tree);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:647:16: ( ( generic_dimension_specifier )? | DOUBLE_COLON IDENTIFIER ( generic_dimension_specifier )? )
int alt50 = 2;
int LA50_0 = input.LA(1);
if ((LA50_0 == EOF || LA50_0 == CLOSE_PARENS || LA50_0 == DOT || LA50_0 == LT)) {
alt50 = 1;
} else if ((LA50_0 == DOUBLE_COLON)) {
alt50 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 50, 0, input);
throw nvae;
}
switch (alt50) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:647:18: ( generic_dimension_specifier )?
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:647:18: ( generic_dimension_specifier )?
int alt48 = 2;
int LA48_0 = input.LA(1);
if ((LA48_0 == LT)) {
alt48 = 1;
}
switch (alt48) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:647:18: generic_dimension_specifier
{
pushFollow(FOLLOW_generic_dimension_specifier_in_unbound_type_name2516);
generic_dimension_specifier199 = generic_dimension_specifier();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, generic_dimension_specifier199.getTree());
}
}
break;
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:648:18: DOUBLE_COLON IDENTIFIER ( generic_dimension_specifier )?
{
DOUBLE_COLON200 = (Token) match(input, DOUBLE_COLON, FOLLOW_DOUBLE_COLON_in_unbound_type_name2536);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
DOUBLE_COLON200_tree =
adaptor.create(DOUBLE_COLON200);
adaptor.addChild(root_0, DOUBLE_COLON200_tree);
}
IDENTIFIER201 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_unbound_type_name2538);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER201_tree =
adaptor.create(IDENTIFIER201);
adaptor.addChild(root_0, IDENTIFIER201_tree);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:648:42: ( generic_dimension_specifier )?
int alt49 = 2;
int LA49_0 = input.LA(1);
if ((LA49_0 == LT)) {
alt49 = 1;
}
switch (alt49) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:648:42: generic_dimension_specifier
{
pushFollow(FOLLOW_generic_dimension_specifier_in_unbound_type_name2540);
generic_dimension_specifier202 = generic_dimension_specifier();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, generic_dimension_specifier202.getTree());
}
}
break;
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:650:5: ( DOT IDENTIFIER ( generic_dimension_specifier )? )*
loop52:
do {
int alt52 = 2;
int LA52_0 = input.LA(1);
if ((LA52_0 == DOT)) {
alt52 = 1;
}
switch (alt52) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:650:6: DOT IDENTIFIER ( generic_dimension_specifier )?
{
DOT203 = (Token) match(input, DOT, FOLLOW_DOT_in_unbound_type_name2565);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
DOT203_tree =
adaptor.create(DOT203);
adaptor.addChild(root_0, DOT203_tree);
}
IDENTIFIER204 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_unbound_type_name2567);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER204_tree =
adaptor.create(IDENTIFIER204);
adaptor.addChild(root_0, IDENTIFIER204_tree);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:650:21: ( generic_dimension_specifier )?
int alt51 = 2;
int LA51_0 = input.LA(1);
if ((LA51_0 == LT)) {
alt51 = 1;
}
switch (alt51) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:650:21: generic_dimension_specifier
{
pushFollow(FOLLOW_generic_dimension_specifier_in_unbound_type_name2569);
generic_dimension_specifier205 = generic_dimension_specifier();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, generic_dimension_specifier205.getTree());
}
}
break;
}
}
break;
default:
break loop52;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "unbound_type_name"
public static class generic_dimension_specifier_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "generic_dimension_specifier"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:652:1: generic_dimension_specifier : LT ( commas )? GT ;
public final CSharpParser.generic_dimension_specifier_return generic_dimension_specifier() throws RecognitionException {
CSharpParser.generic_dimension_specifier_return retval = new CSharpParser.generic_dimension_specifier_return();
retval.start = input.LT(1);
Object root_0 = null;
Token LT206 = null;
Token GT208 = null;
CSharpParser.commas_return commas207 = null;
Object LT206_tree = null;
Object GT208_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:653:2: ( LT ( commas )? GT )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:653:4: LT ( commas )? GT
{
root_0 = adaptor.nil();
LT206 = (Token) match(input, LT, FOLLOW_LT_in_generic_dimension_specifier2584);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
LT206_tree =
adaptor.create(LT206);
adaptor.addChild(root_0, LT206_tree);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:653:7: ( commas )?
int alt53 = 2;
int LA53_0 = input.LA(1);
if ((LA53_0 == COMMA)) {
alt53 = 1;
}
switch (alt53) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:653:7: commas
{
pushFollow(FOLLOW_commas_in_generic_dimension_specifier2586);
commas207 = commas();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, commas207.getTree());
}
}
break;
}
GT208 = (Token) match(input, GT, FOLLOW_GT_in_generic_dimension_specifier2589);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
GT208_tree =
adaptor.create(GT208);
adaptor.addChild(root_0, GT208_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "generic_dimension_specifier"
public static class commas_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "commas"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:655:1: commas : COMMA ( COMMA )* ;
public final CSharpParser.commas_return commas() throws RecognitionException {
CSharpParser.commas_return retval = new CSharpParser.commas_return();
retval.start = input.LT(1);
Object root_0 = null;
Token COMMA209 = null;
Token COMMA210 = null;
Object COMMA209_tree = null;
Object COMMA210_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:656:2: ( COMMA ( COMMA )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:656:4: COMMA ( COMMA )*
{
root_0 = adaptor.nil();
COMMA209 = (Token) match(input, COMMA, FOLLOW_COMMA_in_commas2600);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
COMMA209_tree =
adaptor.create(COMMA209);
adaptor.addChild(root_0, COMMA209_tree);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:656:10: ( COMMA )*
loop54:
do {
int alt54 = 2;
int LA54_0 = input.LA(1);
if ((LA54_0 == COMMA)) {
alt54 = 1;
}
switch (alt54) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:656:12: COMMA
{
COMMA210 = (Token) match(input, COMMA, FOLLOW_COMMA_in_commas2604);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
COMMA210_tree =
adaptor.create(COMMA210);
adaptor.addChild(root_0, COMMA210_tree);
}
}
break;
default:
break loop54;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "commas"
public static class checked_expression_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "checked_expression"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:658:1: checked_expression : CHECKED ^ OPEN_PARENS ! expression CLOSE_PARENS !;
public final CSharpParser.checked_expression_return checked_expression() throws RecognitionException {
CSharpParser.checked_expression_return retval = new CSharpParser.checked_expression_return();
retval.start = input.LT(1);
Object root_0 = null;
Token CHECKED211 = null;
Token OPEN_PARENS212 = null;
Token CLOSE_PARENS214 = null;
CSharpParser.expression_return expression213 = null;
Object CHECKED211_tree = null;
Object OPEN_PARENS212_tree = null;
Object CLOSE_PARENS214_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:659:2: ( CHECKED ^ OPEN_PARENS ! expression CLOSE_PARENS !)
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:659:4: CHECKED ^ OPEN_PARENS ! expression CLOSE_PARENS !
{
root_0 = adaptor.nil();
CHECKED211 = (Token) match(input, CHECKED, FOLLOW_CHECKED_in_checked_expression2618);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CHECKED211_tree =
adaptor.create(CHECKED211);
root_0 = adaptor.becomeRoot(CHECKED211_tree, root_0);
}
OPEN_PARENS212 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_checked_expression2621);
if (state.failed) {
return retval;
}
pushFollow(FOLLOW_expression_in_checked_expression2624);
expression213 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression213.getTree());
}
CLOSE_PARENS214 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_checked_expression2626);
if (state.failed) {
return retval;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "checked_expression"
public static class unchecked_expression_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "unchecked_expression"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:661:1: unchecked_expression : UNCHECKED ^ OPEN_PARENS ! expression CLOSE_PARENS !;
public final CSharpParser.unchecked_expression_return unchecked_expression() throws RecognitionException {
CSharpParser.unchecked_expression_return retval = new CSharpParser.unchecked_expression_return();
retval.start = input.LT(1);
Object root_0 = null;
Token UNCHECKED215 = null;
Token OPEN_PARENS216 = null;
Token CLOSE_PARENS218 = null;
CSharpParser.expression_return expression217 = null;
Object UNCHECKED215_tree = null;
Object OPEN_PARENS216_tree = null;
Object CLOSE_PARENS218_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:662:2: ( UNCHECKED ^ OPEN_PARENS ! expression CLOSE_PARENS !)
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:662:4: UNCHECKED ^ OPEN_PARENS ! expression CLOSE_PARENS !
{
root_0 = adaptor.nil();
UNCHECKED215 = (Token) match(input, UNCHECKED, FOLLOW_UNCHECKED_in_unchecked_expression2638);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
UNCHECKED215_tree =
adaptor.create(UNCHECKED215);
root_0 = adaptor.becomeRoot(UNCHECKED215_tree, root_0);
}
OPEN_PARENS216 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_unchecked_expression2641);
if (state.failed) {
return retval;
}
pushFollow(FOLLOW_expression_in_unchecked_expression2644);
expression217 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression217.getTree());
}
CLOSE_PARENS218 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_unchecked_expression2646);
if (state.failed) {
return retval;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "unchecked_expression"
public static class default_value_expression_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "default_value_expression"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:664:1: default_value_expression : DEFAULT ^ OPEN_PARENS ! type CLOSE_PARENS !;
public final CSharpParser.default_value_expression_return default_value_expression() throws RecognitionException {
CSharpParser.default_value_expression_return retval = new CSharpParser.default_value_expression_return();
retval.start = input.LT(1);
Object root_0 = null;
Token DEFAULT219 = null;
Token OPEN_PARENS220 = null;
Token CLOSE_PARENS222 = null;
CSharpParser.type_return type221 = null;
Object DEFAULT219_tree = null;
Object OPEN_PARENS220_tree = null;
Object CLOSE_PARENS222_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:665:2: ( DEFAULT ^ OPEN_PARENS ! type CLOSE_PARENS !)
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:665:4: DEFAULT ^ OPEN_PARENS ! type CLOSE_PARENS !
{
root_0 = adaptor.nil();
DEFAULT219 = (Token) match(input, DEFAULT, FOLLOW_DEFAULT_in_default_value_expression2658);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
DEFAULT219_tree =
adaptor.create(DEFAULT219);
root_0 = adaptor.becomeRoot(DEFAULT219_tree, root_0);
}
OPEN_PARENS220 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_default_value_expression2661);
if (state.failed) {
return retval;
}
pushFollow(FOLLOW_type_in_default_value_expression2664);
type221 = type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type221.getTree());
}
CLOSE_PARENS222 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_default_value_expression2666);
if (state.failed) {
return retval;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "default_value_expression"
public static class unary_expression_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "unary_expression"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:680:1: unary_expression : unary_expression2 -> ^( UNARY_EXPRESSION unary_expression2 ) ;
public final CSharpParser.unary_expression_return unary_expression() throws RecognitionException {
CSharpParser.unary_expression_return retval = new CSharpParser.unary_expression_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.unary_expression2_return unary_expression2223 = null;
RewriteRuleSubtreeStream stream_unary_expression2 = new RewriteRuleSubtreeStream(adaptor, "rule unary_expression2");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:681:3: ( unary_expression2 -> ^( UNARY_EXPRESSION unary_expression2 ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:681:5: unary_expression2
{
pushFollow(FOLLOW_unary_expression2_in_unary_expression2681);
unary_expression2223 = unary_expression2();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_unary_expression2.add(unary_expression2223.getTree());
}
// AST REWRITE
// elements: unary_expression2
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 681:23: -> ^( UNARY_EXPRESSION unary_expression2 )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:681:26: ^( UNARY_EXPRESSION unary_expression2 )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(UNARY_EXPRESSION, "UNARY_EXPRESSION"), root_1);
adaptor.addChild(root_1, stream_unary_expression2.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "unary_expression"
public static class unary_expression2_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "unary_expression2"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:683:1: unary_expression2 : ( ( scan_for_cast_generic_precedence | OPEN_PARENS predefined_type )=> cast_expression | primary_expression | PLUS unary_expression | MINUS unary_expression | BANG unary_expression -> ^( BOOL_NOT unary_expression ) | TILDE unary_expression | pre_increment_expression | pre_decrement_expression | unary_expression_unsafe );
public final CSharpParser.unary_expression2_return unary_expression2() throws RecognitionException {
CSharpParser.unary_expression2_return retval = new CSharpParser.unary_expression2_return();
retval.start = input.LT(1);
Object root_0 = null;
Token PLUS226 = null;
Token MINUS228 = null;
Token BANG230 = null;
Token TILDE232 = null;
CSharpParser.cast_expression_return cast_expression224 = null;
CSharpParser.primary_expression_return primary_expression225 = null;
CSharpParser.unary_expression_return unary_expression227 = null;
CSharpParser.unary_expression_return unary_expression229 = null;
CSharpParser.unary_expression_return unary_expression231 = null;
CSharpParser.unary_expression_return unary_expression233 = null;
CSharpParser.pre_increment_expression_return pre_increment_expression234 = null;
CSharpParser.pre_decrement_expression_return pre_decrement_expression235 = null;
CSharpParser.unary_expression_unsafe_return unary_expression_unsafe236 = null;
Object PLUS226_tree = null;
Object MINUS228_tree = null;
Object BANG230_tree = null;
Object TILDE232_tree = null;
RewriteRuleTokenStream stream_BANG = new RewriteRuleTokenStream(adaptor, "token BANG");
RewriteRuleSubtreeStream stream_unary_expression = new RewriteRuleSubtreeStream(adaptor, "rule unary_expression");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:684:2: ( ( scan_for_cast_generic_precedence | OPEN_PARENS predefined_type )=> cast_expression | primary_expression | PLUS unary_expression | MINUS unary_expression | BANG unary_expression -> ^( BOOL_NOT unary_expression ) | TILDE unary_expression | pre_increment_expression | pre_decrement_expression | unary_expression_unsafe )
int alt55 = 9;
switch (input.LA(1)) {
case OPEN_PARENS: {
int LA55_1 = input.LA(2);
if ((synpred7_CSharpParser())) {
alt55 = 1;
} else if ((true)) {
alt55 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 55, 1, input);
throw nvae;
}
}
break;
case BASE:
case BOOL:
case BYTE:
case CHAR:
case CHARACTER_LITERAL:
case CHECKED:
case DECIMAL:
case DEFAULT:
case DELEGATE:
case DOUBLE:
case FALSE:
case FLOAT:
case IDENTIFIER:
case INT:
case INTEGER_LITERAL:
case LONG:
case NEW:
case NULL:
case OBJECT:
case REAL_LITERAL:
case SBYTE:
case SHORT:
case SIZEOF:
case STRING:
case STRING_LITERAL:
case THIS:
case TRUE:
case TYPEOF:
case UINT:
case ULONG:
case UNCHECKED:
case USHORT: {
alt55 = 2;
}
break;
case PLUS: {
alt55 = 3;
}
break;
case MINUS: {
alt55 = 4;
}
break;
case BANG: {
alt55 = 5;
}
break;
case TILDE: {
alt55 = 6;
}
break;
case OP_INC: {
alt55 = 7;
}
break;
case OP_DEC: {
alt55 = 8;
}
break;
case AMP:
case STAR: {
alt55 = 9;
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 55, 0, input);
throw nvae;
}
switch (alt55) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:684:4: ( scan_for_cast_generic_precedence | OPEN_PARENS predefined_type )=> cast_expression
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_cast_expression_in_unary_expression22712);
cast_expression224 = cast_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, cast_expression224.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:685:4: primary_expression
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_primary_expression_in_unary_expression22717);
primary_expression225 = primary_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, primary_expression225.getTree());
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:686:4: PLUS unary_expression
{
root_0 = adaptor.nil();
PLUS226 = (Token) match(input, PLUS, FOLLOW_PLUS_in_unary_expression22722);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PLUS226_tree =
adaptor.create(PLUS226);
adaptor.addChild(root_0, PLUS226_tree);
}
pushFollow(FOLLOW_unary_expression_in_unary_expression22724);
unary_expression227 = unary_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, unary_expression227.getTree());
}
}
break;
case 4: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:687:4: MINUS unary_expression
{
root_0 = adaptor.nil();
MINUS228 = (Token) match(input, MINUS, FOLLOW_MINUS_in_unary_expression22729);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
MINUS228_tree =
adaptor.create(MINUS228);
adaptor.addChild(root_0, MINUS228_tree);
}
pushFollow(FOLLOW_unary_expression_in_unary_expression22731);
unary_expression229 = unary_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, unary_expression229.getTree());
}
}
break;
case 5: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:688:4: BANG unary_expression
{
BANG230 = (Token) match(input, BANG, FOLLOW_BANG_in_unary_expression22736);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_BANG.add(BANG230);
}
pushFollow(FOLLOW_unary_expression_in_unary_expression22738);
unary_expression231 = unary_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_unary_expression.add(unary_expression231.getTree());
}
// AST REWRITE
// elements: unary_expression
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 688:27: -> ^( BOOL_NOT unary_expression )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:688:30: ^( BOOL_NOT unary_expression )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(BOOL_NOT, "BOOL_NOT"), root_1);
adaptor.addChild(root_1, stream_unary_expression.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
break;
case 6: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:689:4: TILDE unary_expression
{
root_0 = adaptor.nil();
TILDE232 = (Token) match(input, TILDE, FOLLOW_TILDE_in_unary_expression22752);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
TILDE232_tree =
adaptor.create(TILDE232);
adaptor.addChild(root_0, TILDE232_tree);
}
pushFollow(FOLLOW_unary_expression_in_unary_expression22754);
unary_expression233 = unary_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, unary_expression233.getTree());
}
}
break;
case 7: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:690:4: pre_increment_expression
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_pre_increment_expression_in_unary_expression22759);
pre_increment_expression234 = pre_increment_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, pre_increment_expression234.getTree());
}
}
break;
case 8: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:691:4: pre_decrement_expression
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_pre_decrement_expression_in_unary_expression22764);
pre_decrement_expression235 = pre_decrement_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, pre_decrement_expression235.getTree());
}
}
break;
case 9: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:692:4: unary_expression_unsafe
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_unary_expression_unsafe_in_unary_expression22769);
unary_expression_unsafe236 = unary_expression_unsafe();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, unary_expression_unsafe236.getTree());
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "unary_expression2"
public static class scan_for_cast_generic_precedence_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "scan_for_cast_generic_precedence"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:697:1: scan_for_cast_generic_precedence : OPEN_PARENS type CLOSE_PARENS cast_disambiguation_token ;
public final CSharpParser.scan_for_cast_generic_precedence_return scan_for_cast_generic_precedence() throws RecognitionException {
CSharpParser.scan_for_cast_generic_precedence_return retval = new CSharpParser.scan_for_cast_generic_precedence_return();
retval.start = input.LT(1);
Object root_0 = null;
Token OPEN_PARENS237 = null;
Token CLOSE_PARENS239 = null;
CSharpParser.type_return type238 = null;
CSharpParser.cast_disambiguation_token_return cast_disambiguation_token240 = null;
Object OPEN_PARENS237_tree = null;
Object CLOSE_PARENS239_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:698:3: ( OPEN_PARENS type CLOSE_PARENS cast_disambiguation_token )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:698:5: OPEN_PARENS type CLOSE_PARENS cast_disambiguation_token
{
root_0 = adaptor.nil();
OPEN_PARENS237 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_scan_for_cast_generic_precedence2783);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_PARENS237_tree =
adaptor.create(OPEN_PARENS237);
adaptor.addChild(root_0, OPEN_PARENS237_tree);
}
pushFollow(FOLLOW_type_in_scan_for_cast_generic_precedence2785);
type238 = type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type238.getTree());
}
CLOSE_PARENS239 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_scan_for_cast_generic_precedence2787);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_PARENS239_tree =
adaptor.create(CLOSE_PARENS239);
adaptor.addChild(root_0, CLOSE_PARENS239_tree);
}
pushFollow(FOLLOW_cast_disambiguation_token_in_scan_for_cast_generic_precedence2789);
cast_disambiguation_token240 = cast_disambiguation_token();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, cast_disambiguation_token240.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "scan_for_cast_generic_precedence"
public static class cast_disambiguation_token_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "cast_disambiguation_token"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:703:1: cast_disambiguation_token : ( TILDE | BANG | OPEN_PARENS | IDENTIFIER | literal | ABSTRACT | BASE | BOOL | BREAK | BYTE | CASE | CATCH | CHAR | CHECKED | CLASS | CONST | CONTINUE | DECIMAL | DEFAULT | DELEGATE | DO | DOUBLE | ELSE | ENUM | EVENT | EXPLICIT | EXTERN | FINALLY | FIXED | FLOAT | FOR | FOREACH | GOTO | IF | IMPLICIT | IN | INT | INTERFACE | INTERNAL | LOCK | LONG | NAMESPACE | NEW | OBJECT | OPERATOR | OUT | OVERRIDE | PARAMS | PRIVATE | PROTECTED | PUBLIC | READONLY | REF | RETURN | SBYTE | SEALED | SHORT | SIZEOF | STACKALLOC | STATIC | STRING | STRUCT | SWITCH | THIS | THROW | TRY | TYPEOF | UINT | ULONG | UNCHECKED | UNSAFE | USHORT | USING | VIRTUAL | VOID | VOLATILE | WHILE ) ;
public final CSharpParser.cast_disambiguation_token_return cast_disambiguation_token() throws RecognitionException {
CSharpParser.cast_disambiguation_token_return retval = new CSharpParser.cast_disambiguation_token_return();
retval.start = input.LT(1);
Object root_0 = null;
Token TILDE241 = null;
Token BANG242 = null;
Token OPEN_PARENS243 = null;
Token IDENTIFIER244 = null;
Token ABSTRACT246 = null;
Token BASE247 = null;
Token BOOL248 = null;
Token BREAK249 = null;
Token BYTE250 = null;
Token CASE251 = null;
Token CATCH252 = null;
Token CHAR253 = null;
Token CHECKED254 = null;
Token CLASS255 = null;
Token CONST256 = null;
Token CONTINUE257 = null;
Token DECIMAL258 = null;
Token DEFAULT259 = null;
Token DELEGATE260 = null;
Token DO261 = null;
Token DOUBLE262 = null;
Token ELSE263 = null;
Token ENUM264 = null;
Token EVENT265 = null;
Token EXPLICIT266 = null;
Token EXTERN267 = null;
Token FINALLY268 = null;
Token FIXED269 = null;
Token FLOAT270 = null;
Token FOR271 = null;
Token FOREACH272 = null;
Token GOTO273 = null;
Token IF274 = null;
Token IMPLICIT275 = null;
Token IN276 = null;
Token INT277 = null;
Token INTERFACE278 = null;
Token INTERNAL279 = null;
Token LOCK280 = null;
Token LONG281 = null;
Token NAMESPACE282 = null;
Token NEW283 = null;
Token OBJECT284 = null;
Token OPERATOR285 = null;
Token OUT286 = null;
Token OVERRIDE287 = null;
Token PARAMS288 = null;
Token PRIVATE289 = null;
Token PROTECTED290 = null;
Token PUBLIC291 = null;
Token READONLY292 = null;
Token REF293 = null;
Token RETURN294 = null;
Token SBYTE295 = null;
Token SEALED296 = null;
Token SHORT297 = null;
Token SIZEOF298 = null;
Token STACKALLOC299 = null;
Token STATIC300 = null;
Token STRING301 = null;
Token STRUCT302 = null;
Token SWITCH303 = null;
Token THIS304 = null;
Token THROW305 = null;
Token TRY306 = null;
Token TYPEOF307 = null;
Token UINT308 = null;
Token ULONG309 = null;
Token UNCHECKED310 = null;
Token UNSAFE311 = null;
Token USHORT312 = null;
Token USING313 = null;
Token VIRTUAL314 = null;
Token VOID315 = null;
Token VOLATILE316 = null;
Token WHILE317 = null;
CSharpParser.literal_return literal245 = null;
Object TILDE241_tree = null;
Object BANG242_tree = null;
Object OPEN_PARENS243_tree = null;
Object IDENTIFIER244_tree = null;
Object ABSTRACT246_tree = null;
Object BASE247_tree = null;
Object BOOL248_tree = null;
Object BREAK249_tree = null;
Object BYTE250_tree = null;
Object CASE251_tree = null;
Object CATCH252_tree = null;
Object CHAR253_tree = null;
Object CHECKED254_tree = null;
Object CLASS255_tree = null;
Object CONST256_tree = null;
Object CONTINUE257_tree = null;
Object DECIMAL258_tree = null;
Object DEFAULT259_tree = null;
Object DELEGATE260_tree = null;
Object DO261_tree = null;
Object DOUBLE262_tree = null;
Object ELSE263_tree = null;
Object ENUM264_tree = null;
Object EVENT265_tree = null;
Object EXPLICIT266_tree = null;
Object EXTERN267_tree = null;
Object FINALLY268_tree = null;
Object FIXED269_tree = null;
Object FLOAT270_tree = null;
Object FOR271_tree = null;
Object FOREACH272_tree = null;
Object GOTO273_tree = null;
Object IF274_tree = null;
Object IMPLICIT275_tree = null;
Object IN276_tree = null;
Object INT277_tree = null;
Object INTERFACE278_tree = null;
Object INTERNAL279_tree = null;
Object LOCK280_tree = null;
Object LONG281_tree = null;
Object NAMESPACE282_tree = null;
Object NEW283_tree = null;
Object OBJECT284_tree = null;
Object OPERATOR285_tree = null;
Object OUT286_tree = null;
Object OVERRIDE287_tree = null;
Object PARAMS288_tree = null;
Object PRIVATE289_tree = null;
Object PROTECTED290_tree = null;
Object PUBLIC291_tree = null;
Object READONLY292_tree = null;
Object REF293_tree = null;
Object RETURN294_tree = null;
Object SBYTE295_tree = null;
Object SEALED296_tree = null;
Object SHORT297_tree = null;
Object SIZEOF298_tree = null;
Object STACKALLOC299_tree = null;
Object STATIC300_tree = null;
Object STRING301_tree = null;
Object STRUCT302_tree = null;
Object SWITCH303_tree = null;
Object THIS304_tree = null;
Object THROW305_tree = null;
Object TRY306_tree = null;
Object TYPEOF307_tree = null;
Object UINT308_tree = null;
Object ULONG309_tree = null;
Object UNCHECKED310_tree = null;
Object UNSAFE311_tree = null;
Object USHORT312_tree = null;
Object USING313_tree = null;
Object VIRTUAL314_tree = null;
Object VOID315_tree = null;
Object VOLATILE316_tree = null;
Object WHILE317_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:704:3: ( ( TILDE | BANG | OPEN_PARENS | IDENTIFIER | literal | ABSTRACT | BASE | BOOL | BREAK | BYTE | CASE | CATCH | CHAR | CHECKED | CLASS | CONST | CONTINUE | DECIMAL | DEFAULT | DELEGATE | DO | DOUBLE | ELSE | ENUM | EVENT | EXPLICIT | EXTERN | FINALLY | FIXED | FLOAT | FOR | FOREACH | GOTO | IF | IMPLICIT | IN | INT | INTERFACE | INTERNAL | LOCK | LONG | NAMESPACE | NEW | OBJECT | OPERATOR | OUT | OVERRIDE | PARAMS | PRIVATE | PROTECTED | PUBLIC | READONLY | REF | RETURN | SBYTE | SEALED | SHORT | SIZEOF | STACKALLOC | STATIC | STRING | STRUCT | SWITCH | THIS | THROW | TRY | TYPEOF | UINT | ULONG | UNCHECKED | UNSAFE | USHORT | USING | VIRTUAL | VOID | VOLATILE | WHILE ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:704:5: ( TILDE | BANG | OPEN_PARENS | IDENTIFIER | literal | ABSTRACT | BASE | BOOL | BREAK | BYTE | CASE | CATCH | CHAR | CHECKED | CLASS | CONST | CONTINUE | DECIMAL | DEFAULT | DELEGATE | DO | DOUBLE | ELSE | ENUM | EVENT | EXPLICIT | EXTERN | FINALLY | FIXED | FLOAT | FOR | FOREACH | GOTO | IF | IMPLICIT | IN | INT | INTERFACE | INTERNAL | LOCK | LONG | NAMESPACE | NEW | OBJECT | OPERATOR | OUT | OVERRIDE | PARAMS | PRIVATE | PROTECTED | PUBLIC | READONLY | REF | RETURN | SBYTE | SEALED | SHORT | SIZEOF | STACKALLOC | STATIC | STRING | STRUCT | SWITCH | THIS | THROW | TRY | TYPEOF | UINT | ULONG | UNCHECKED | UNSAFE | USHORT | USING | VIRTUAL | VOID | VOLATILE | WHILE )
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:704:5: ( TILDE | BANG | OPEN_PARENS | IDENTIFIER | literal | ABSTRACT | BASE | BOOL | BREAK | BYTE | CASE | CATCH | CHAR | CHECKED | CLASS | CONST | CONTINUE | DECIMAL | DEFAULT | DELEGATE | DO | DOUBLE | ELSE | ENUM | EVENT | EXPLICIT | EXTERN | FINALLY | FIXED | FLOAT | FOR | FOREACH | GOTO | IF | IMPLICIT | IN | INT | INTERFACE | INTERNAL | LOCK | LONG | NAMESPACE | NEW | OBJECT | OPERATOR | OUT | OVERRIDE | PARAMS | PRIVATE | PROTECTED | PUBLIC | READONLY | REF | RETURN | SBYTE | SEALED | SHORT | SIZEOF | STACKALLOC | STATIC | STRING | STRUCT | SWITCH | THIS | THROW | TRY | TYPEOF | UINT | ULONG | UNCHECKED | UNSAFE | USHORT | USING | VIRTUAL | VOID | VOLATILE | WHILE )
int alt56 = 77;
switch (input.LA(1)) {
case TILDE: {
alt56 = 1;
}
break;
case BANG: {
alt56 = 2;
}
break;
case OPEN_PARENS: {
alt56 = 3;
}
break;
case IDENTIFIER: {
alt56 = 4;
}
break;
case CHARACTER_LITERAL:
case FALSE:
case INTEGER_LITERAL:
case NULL:
case REAL_LITERAL:
case STRING_LITERAL:
case TRUE: {
alt56 = 5;
}
break;
case ABSTRACT: {
alt56 = 6;
}
break;
case BASE: {
alt56 = 7;
}
break;
case BOOL: {
alt56 = 8;
}
break;
case BREAK: {
alt56 = 9;
}
break;
case BYTE: {
alt56 = 10;
}
break;
case CASE: {
alt56 = 11;
}
break;
case CATCH: {
alt56 = 12;
}
break;
case CHAR: {
alt56 = 13;
}
break;
case CHECKED: {
alt56 = 14;
}
break;
case CLASS: {
alt56 = 15;
}
break;
case CONST: {
alt56 = 16;
}
break;
case CONTINUE: {
alt56 = 17;
}
break;
case DECIMAL: {
alt56 = 18;
}
break;
case DEFAULT: {
alt56 = 19;
}
break;
case DELEGATE: {
alt56 = 20;
}
break;
case DO: {
alt56 = 21;
}
break;
case DOUBLE: {
alt56 = 22;
}
break;
case ELSE: {
alt56 = 23;
}
break;
case ENUM: {
alt56 = 24;
}
break;
case EVENT: {
alt56 = 25;
}
break;
case EXPLICIT: {
alt56 = 26;
}
break;
case EXTERN: {
alt56 = 27;
}
break;
case FINALLY: {
alt56 = 28;
}
break;
case FIXED: {
alt56 = 29;
}
break;
case FLOAT: {
alt56 = 30;
}
break;
case FOR: {
alt56 = 31;
}
break;
case FOREACH: {
alt56 = 32;
}
break;
case GOTO: {
alt56 = 33;
}
break;
case IF: {
alt56 = 34;
}
break;
case IMPLICIT: {
alt56 = 35;
}
break;
case IN: {
alt56 = 36;
}
break;
case INT: {
alt56 = 37;
}
break;
case INTERFACE: {
alt56 = 38;
}
break;
case INTERNAL: {
alt56 = 39;
}
break;
case LOCK: {
alt56 = 40;
}
break;
case LONG: {
alt56 = 41;
}
break;
case NAMESPACE: {
alt56 = 42;
}
break;
case NEW: {
alt56 = 43;
}
break;
case OBJECT: {
alt56 = 44;
}
break;
case OPERATOR: {
alt56 = 45;
}
break;
case OUT: {
alt56 = 46;
}
break;
case OVERRIDE: {
alt56 = 47;
}
break;
case PARAMS: {
alt56 = 48;
}
break;
case PRIVATE: {
alt56 = 49;
}
break;
case PROTECTED: {
alt56 = 50;
}
break;
case PUBLIC: {
alt56 = 51;
}
break;
case READONLY: {
alt56 = 52;
}
break;
case REF: {
alt56 = 53;
}
break;
case RETURN: {
alt56 = 54;
}
break;
case SBYTE: {
alt56 = 55;
}
break;
case SEALED: {
alt56 = 56;
}
break;
case SHORT: {
alt56 = 57;
}
break;
case SIZEOF: {
alt56 = 58;
}
break;
case STACKALLOC: {
alt56 = 59;
}
break;
case STATIC: {
alt56 = 60;
}
break;
case STRING: {
alt56 = 61;
}
break;
case STRUCT: {
alt56 = 62;
}
break;
case SWITCH: {
alt56 = 63;
}
break;
case THIS: {
alt56 = 64;
}
break;
case THROW: {
alt56 = 65;
}
break;
case TRY: {
alt56 = 66;
}
break;
case TYPEOF: {
alt56 = 67;
}
break;
case UINT: {
alt56 = 68;
}
break;
case ULONG: {
alt56 = 69;
}
break;
case UNCHECKED: {
alt56 = 70;
}
break;
case UNSAFE: {
alt56 = 71;
}
break;
case USHORT: {
alt56 = 72;
}
break;
case USING: {
alt56 = 73;
}
break;
case VIRTUAL: {
alt56 = 74;
}
break;
case VOID: {
alt56 = 75;
}
break;
case VOLATILE: {
alt56 = 76;
}
break;
case WHILE: {
alt56 = 77;
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 56, 0, input);
throw nvae;
}
switch (alt56) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:704:6: TILDE
{
TILDE241 = (Token) match(input, TILDE, FOLLOW_TILDE_in_cast_disambiguation_token2805);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
TILDE241_tree =
adaptor.create(TILDE241);
adaptor.addChild(root_0, TILDE241_tree);
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:704:14: BANG
{
BANG242 = (Token) match(input, BANG, FOLLOW_BANG_in_cast_disambiguation_token2809);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
BANG242_tree =
adaptor.create(BANG242);
adaptor.addChild(root_0, BANG242_tree);
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:704:21: OPEN_PARENS
{
OPEN_PARENS243 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_cast_disambiguation_token2813);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_PARENS243_tree =
adaptor.create(OPEN_PARENS243);
adaptor.addChild(root_0, OPEN_PARENS243_tree);
}
}
break;
case 4: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:704:35: IDENTIFIER
{
IDENTIFIER244 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_cast_disambiguation_token2817);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER244_tree =
adaptor.create(IDENTIFIER244);
adaptor.addChild(root_0, IDENTIFIER244_tree);
}
}
break;
case 5: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:704:48: literal
{
pushFollow(FOLLOW_literal_in_cast_disambiguation_token2821);
literal245 = literal();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, literal245.getTree());
}
}
break;
case 6: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:704:58: ABSTRACT
{
ABSTRACT246 = (Token) match(input, ABSTRACT, FOLLOW_ABSTRACT_in_cast_disambiguation_token2825);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
ABSTRACT246_tree =
adaptor.create(ABSTRACT246);
adaptor.addChild(root_0, ABSTRACT246_tree);
}
}
break;
case 7: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:704:69: BASE
{
BASE247 = (Token) match(input, BASE, FOLLOW_BASE_in_cast_disambiguation_token2829);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
BASE247_tree =
adaptor.create(BASE247);
adaptor.addChild(root_0, BASE247_tree);
}
}
break;
case 8: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:704:76: BOOL
{
BOOL248 = (Token) match(input, BOOL, FOLLOW_BOOL_in_cast_disambiguation_token2833);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
BOOL248_tree =
adaptor.create(BOOL248);
adaptor.addChild(root_0, BOOL248_tree);
}
}
break;
case 9: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:704:83: BREAK
{
BREAK249 = (Token) match(input, BREAK, FOLLOW_BREAK_in_cast_disambiguation_token2837);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
BREAK249_tree =
adaptor.create(BREAK249);
adaptor.addChild(root_0, BREAK249_tree);
}
}
break;
case 10: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:704:91: BYTE
{
BYTE250 = (Token) match(input, BYTE, FOLLOW_BYTE_in_cast_disambiguation_token2841);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
BYTE250_tree =
adaptor.create(BYTE250);
adaptor.addChild(root_0, BYTE250_tree);
}
}
break;
case 11: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:704:98: CASE
{
CASE251 = (Token) match(input, CASE, FOLLOW_CASE_in_cast_disambiguation_token2845);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CASE251_tree =
adaptor.create(CASE251);
adaptor.addChild(root_0, CASE251_tree);
}
}
break;
case 12: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:704:105: CATCH
{
CATCH252 = (Token) match(input, CATCH, FOLLOW_CATCH_in_cast_disambiguation_token2849);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CATCH252_tree =
adaptor.create(CATCH252);
adaptor.addChild(root_0, CATCH252_tree);
}
}
break;
case 13: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:705:7: CHAR
{
CHAR253 = (Token) match(input, CHAR, FOLLOW_CHAR_in_cast_disambiguation_token2857);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CHAR253_tree =
adaptor.create(CHAR253);
adaptor.addChild(root_0, CHAR253_tree);
}
}
break;
case 14: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:705:14: CHECKED
{
CHECKED254 = (Token) match(input, CHECKED, FOLLOW_CHECKED_in_cast_disambiguation_token2861);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CHECKED254_tree =
adaptor.create(CHECKED254);
adaptor.addChild(root_0, CHECKED254_tree);
}
}
break;
case 15: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:705:24: CLASS
{
CLASS255 = (Token) match(input, CLASS, FOLLOW_CLASS_in_cast_disambiguation_token2865);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLASS255_tree =
adaptor.create(CLASS255);
adaptor.addChild(root_0, CLASS255_tree);
}
}
break;
case 16: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:705:32: CONST
{
CONST256 = (Token) match(input, CONST, FOLLOW_CONST_in_cast_disambiguation_token2869);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CONST256_tree =
adaptor.create(CONST256);
adaptor.addChild(root_0, CONST256_tree);
}
}
break;
case 17: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:705:40: CONTINUE
{
CONTINUE257 = (Token) match(input, CONTINUE, FOLLOW_CONTINUE_in_cast_disambiguation_token2873);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CONTINUE257_tree =
adaptor.create(CONTINUE257);
adaptor.addChild(root_0, CONTINUE257_tree);
}
}
break;
case 18: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:705:51: DECIMAL
{
DECIMAL258 = (Token) match(input, DECIMAL, FOLLOW_DECIMAL_in_cast_disambiguation_token2877);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
DECIMAL258_tree =
adaptor.create(DECIMAL258);
adaptor.addChild(root_0, DECIMAL258_tree);
}
}
break;
case 19: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:705:61: DEFAULT
{
DEFAULT259 = (Token) match(input, DEFAULT, FOLLOW_DEFAULT_in_cast_disambiguation_token2881);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
DEFAULT259_tree =
adaptor.create(DEFAULT259);
adaptor.addChild(root_0, DEFAULT259_tree);
}
}
break;
case 20: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:705:71: DELEGATE
{
DELEGATE260 = (Token) match(input, DELEGATE, FOLLOW_DELEGATE_in_cast_disambiguation_token2885);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
DELEGATE260_tree =
adaptor.create(DELEGATE260);
adaptor.addChild(root_0, DELEGATE260_tree);
}
}
break;
case 21: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:705:82: DO
{
DO261 = (Token) match(input, DO, FOLLOW_DO_in_cast_disambiguation_token2889);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
DO261_tree =
adaptor.create(DO261);
adaptor.addChild(root_0, DO261_tree);
}
}
break;
case 22: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:705:87: DOUBLE
{
DOUBLE262 = (Token) match(input, DOUBLE, FOLLOW_DOUBLE_in_cast_disambiguation_token2893);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
DOUBLE262_tree =
adaptor.create(DOUBLE262);
adaptor.addChild(root_0, DOUBLE262_tree);
}
}
break;
case 23: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:705:96: ELSE
{
ELSE263 = (Token) match(input, ELSE, FOLLOW_ELSE_in_cast_disambiguation_token2897);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
ELSE263_tree =
adaptor.create(ELSE263);
adaptor.addChild(root_0, ELSE263_tree);
}
}
break;
case 24: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:705:103: ENUM
{
ENUM264 = (Token) match(input, ENUM, FOLLOW_ENUM_in_cast_disambiguation_token2901);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
ENUM264_tree =
adaptor.create(ENUM264);
adaptor.addChild(root_0, ENUM264_tree);
}
}
break;
case 25: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:706:7: EVENT
{
EVENT265 = (Token) match(input, EVENT, FOLLOW_EVENT_in_cast_disambiguation_token2909);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
EVENT265_tree =
adaptor.create(EVENT265);
adaptor.addChild(root_0, EVENT265_tree);
}
}
break;
case 26: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:706:15: EXPLICIT
{
EXPLICIT266 = (Token) match(input, EXPLICIT, FOLLOW_EXPLICIT_in_cast_disambiguation_token2913);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
EXPLICIT266_tree =
adaptor.create(EXPLICIT266);
adaptor.addChild(root_0, EXPLICIT266_tree);
}
}
break;
case 27: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:706:26: EXTERN
{
EXTERN267 = (Token) match(input, EXTERN, FOLLOW_EXTERN_in_cast_disambiguation_token2917);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
EXTERN267_tree =
adaptor.create(EXTERN267);
adaptor.addChild(root_0, EXTERN267_tree);
}
}
break;
case 28: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:706:35: FINALLY
{
FINALLY268 = (Token) match(input, FINALLY, FOLLOW_FINALLY_in_cast_disambiguation_token2921);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
FINALLY268_tree =
adaptor.create(FINALLY268);
adaptor.addChild(root_0, FINALLY268_tree);
}
}
break;
case 29: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:706:45: FIXED
{
FIXED269 = (Token) match(input, FIXED, FOLLOW_FIXED_in_cast_disambiguation_token2925);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
FIXED269_tree =
adaptor.create(FIXED269);
adaptor.addChild(root_0, FIXED269_tree);
}
}
break;
case 30: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:706:53: FLOAT
{
FLOAT270 = (Token) match(input, FLOAT, FOLLOW_FLOAT_in_cast_disambiguation_token2929);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
FLOAT270_tree =
adaptor.create(FLOAT270);
adaptor.addChild(root_0, FLOAT270_tree);
}
}
break;
case 31: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:706:61: FOR
{
FOR271 = (Token) match(input, FOR, FOLLOW_FOR_in_cast_disambiguation_token2933);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
FOR271_tree =
adaptor.create(FOR271);
adaptor.addChild(root_0, FOR271_tree);
}
}
break;
case 32: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:706:67: FOREACH
{
FOREACH272 = (Token) match(input, FOREACH, FOLLOW_FOREACH_in_cast_disambiguation_token2937);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
FOREACH272_tree =
adaptor.create(FOREACH272);
adaptor.addChild(root_0, FOREACH272_tree);
}
}
break;
case 33: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:706:77: GOTO
{
GOTO273 = (Token) match(input, GOTO, FOLLOW_GOTO_in_cast_disambiguation_token2941);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
GOTO273_tree =
adaptor.create(GOTO273);
adaptor.addChild(root_0, GOTO273_tree);
}
}
break;
case 34: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:706:84: IF
{
IF274 = (Token) match(input, IF, FOLLOW_IF_in_cast_disambiguation_token2945);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IF274_tree =
adaptor.create(IF274);
adaptor.addChild(root_0, IF274_tree);
}
}
break;
case 35: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:706:89: IMPLICIT
{
IMPLICIT275 = (Token) match(input, IMPLICIT, FOLLOW_IMPLICIT_in_cast_disambiguation_token2949);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IMPLICIT275_tree =
adaptor.create(IMPLICIT275);
adaptor.addChild(root_0, IMPLICIT275_tree);
}
}
break;
case 36: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:706:100: IN
{
IN276 = (Token) match(input, IN, FOLLOW_IN_in_cast_disambiguation_token2953);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IN276_tree =
adaptor.create(IN276);
adaptor.addChild(root_0, IN276_tree);
}
}
break;
case 37: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:706:105: INT
{
INT277 = (Token) match(input, INT, FOLLOW_INT_in_cast_disambiguation_token2957);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
INT277_tree =
adaptor.create(INT277);
adaptor.addChild(root_0, INT277_tree);
}
}
break;
case 38: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:707:7: INTERFACE
{
INTERFACE278 = (Token) match(input, INTERFACE, FOLLOW_INTERFACE_in_cast_disambiguation_token2965);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
INTERFACE278_tree =
adaptor.create(INTERFACE278);
adaptor.addChild(root_0, INTERFACE278_tree);
}
}
break;
case 39: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:707:19: INTERNAL
{
INTERNAL279 = (Token) match(input, INTERNAL, FOLLOW_INTERNAL_in_cast_disambiguation_token2969);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
INTERNAL279_tree =
adaptor.create(INTERNAL279);
adaptor.addChild(root_0, INTERNAL279_tree);
}
}
break;
case 40: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:707:30: LOCK
{
LOCK280 = (Token) match(input, LOCK, FOLLOW_LOCK_in_cast_disambiguation_token2973);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
LOCK280_tree =
adaptor.create(LOCK280);
adaptor.addChild(root_0, LOCK280_tree);
}
}
break;
case 41: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:707:37: LONG
{
LONG281 = (Token) match(input, LONG, FOLLOW_LONG_in_cast_disambiguation_token2977);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
LONG281_tree =
adaptor.create(LONG281);
adaptor.addChild(root_0, LONG281_tree);
}
}
break;
case 42: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:707:44: NAMESPACE
{
NAMESPACE282 = (Token) match(input, NAMESPACE, FOLLOW_NAMESPACE_in_cast_disambiguation_token2981);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
NAMESPACE282_tree =
adaptor.create(NAMESPACE282);
adaptor.addChild(root_0, NAMESPACE282_tree);
}
}
break;
case 43: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:707:56: NEW
{
NEW283 = (Token) match(input, NEW, FOLLOW_NEW_in_cast_disambiguation_token2985);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
NEW283_tree =
adaptor.create(NEW283);
adaptor.addChild(root_0, NEW283_tree);
}
}
break;
case 44: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:707:62: OBJECT
{
OBJECT284 = (Token) match(input, OBJECT, FOLLOW_OBJECT_in_cast_disambiguation_token2989);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OBJECT284_tree =
adaptor.create(OBJECT284);
adaptor.addChild(root_0, OBJECT284_tree);
}
}
break;
case 45: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:707:71: OPERATOR
{
OPERATOR285 = (Token) match(input, OPERATOR, FOLLOW_OPERATOR_in_cast_disambiguation_token2993);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPERATOR285_tree =
adaptor.create(OPERATOR285);
adaptor.addChild(root_0, OPERATOR285_tree);
}
}
break;
case 46: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:707:82: OUT
{
OUT286 = (Token) match(input, OUT, FOLLOW_OUT_in_cast_disambiguation_token2997);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OUT286_tree =
adaptor.create(OUT286);
adaptor.addChild(root_0, OUT286_tree);
}
}
break;
case 47: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:707:88: OVERRIDE
{
OVERRIDE287 = (Token) match(input, OVERRIDE, FOLLOW_OVERRIDE_in_cast_disambiguation_token3001);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OVERRIDE287_tree =
adaptor.create(OVERRIDE287);
adaptor.addChild(root_0, OVERRIDE287_tree);
}
}
break;
case 48: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:707:99: PARAMS
{
PARAMS288 = (Token) match(input, PARAMS, FOLLOW_PARAMS_in_cast_disambiguation_token3005);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PARAMS288_tree =
adaptor.create(PARAMS288);
adaptor.addChild(root_0, PARAMS288_tree);
}
}
break;
case 49: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:708:7: PRIVATE
{
PRIVATE289 = (Token) match(input, PRIVATE, FOLLOW_PRIVATE_in_cast_disambiguation_token3013);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PRIVATE289_tree =
adaptor.create(PRIVATE289);
adaptor.addChild(root_0, PRIVATE289_tree);
}
}
break;
case 50: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:708:17: PROTECTED
{
PROTECTED290 = (Token) match(input, PROTECTED, FOLLOW_PROTECTED_in_cast_disambiguation_token3017);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PROTECTED290_tree =
adaptor.create(PROTECTED290);
adaptor.addChild(root_0, PROTECTED290_tree);
}
}
break;
case 51: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:708:29: PUBLIC
{
PUBLIC291 = (Token) match(input, PUBLIC, FOLLOW_PUBLIC_in_cast_disambiguation_token3021);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PUBLIC291_tree =
adaptor.create(PUBLIC291);
adaptor.addChild(root_0, PUBLIC291_tree);
}
}
break;
case 52: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:708:38: READONLY
{
READONLY292 = (Token) match(input, READONLY, FOLLOW_READONLY_in_cast_disambiguation_token3025);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
READONLY292_tree =
adaptor.create(READONLY292);
adaptor.addChild(root_0, READONLY292_tree);
}
}
break;
case 53: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:708:49: REF
{
REF293 = (Token) match(input, REF, FOLLOW_REF_in_cast_disambiguation_token3029);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
REF293_tree =
adaptor.create(REF293);
adaptor.addChild(root_0, REF293_tree);
}
}
break;
case 54: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:708:55: RETURN
{
RETURN294 = (Token) match(input, RETURN, FOLLOW_RETURN_in_cast_disambiguation_token3033);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
RETURN294_tree =
adaptor.create(RETURN294);
adaptor.addChild(root_0, RETURN294_tree);
}
}
break;
case 55: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:708:64: SBYTE
{
SBYTE295 = (Token) match(input, SBYTE, FOLLOW_SBYTE_in_cast_disambiguation_token3037);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
SBYTE295_tree =
adaptor.create(SBYTE295);
adaptor.addChild(root_0, SBYTE295_tree);
}
}
break;
case 56: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:708:72: SEALED
{
SEALED296 = (Token) match(input, SEALED, FOLLOW_SEALED_in_cast_disambiguation_token3041);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
SEALED296_tree =
adaptor.create(SEALED296);
adaptor.addChild(root_0, SEALED296_tree);
}
}
break;
case 57: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:708:81: SHORT
{
SHORT297 = (Token) match(input, SHORT, FOLLOW_SHORT_in_cast_disambiguation_token3045);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
SHORT297_tree =
adaptor.create(SHORT297);
adaptor.addChild(root_0, SHORT297_tree);
}
}
break;
case 58: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:708:89: SIZEOF
{
SIZEOF298 = (Token) match(input, SIZEOF, FOLLOW_SIZEOF_in_cast_disambiguation_token3049);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
SIZEOF298_tree =
adaptor.create(SIZEOF298);
adaptor.addChild(root_0, SIZEOF298_tree);
}
}
break;
case 59: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:708:98: STACKALLOC
{
STACKALLOC299 = (Token) match(input, STACKALLOC, FOLLOW_STACKALLOC_in_cast_disambiguation_token3053);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
STACKALLOC299_tree =
adaptor.create(STACKALLOC299);
adaptor.addChild(root_0, STACKALLOC299_tree);
}
}
break;
case 60: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:709:7: STATIC
{
STATIC300 = (Token) match(input, STATIC, FOLLOW_STATIC_in_cast_disambiguation_token3061);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
STATIC300_tree =
adaptor.create(STATIC300);
adaptor.addChild(root_0, STATIC300_tree);
}
}
break;
case 61: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:709:16: STRING
{
STRING301 = (Token) match(input, STRING, FOLLOW_STRING_in_cast_disambiguation_token3065);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
STRING301_tree =
adaptor.create(STRING301);
adaptor.addChild(root_0, STRING301_tree);
}
}
break;
case 62: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:709:25: STRUCT
{
STRUCT302 = (Token) match(input, STRUCT, FOLLOW_STRUCT_in_cast_disambiguation_token3069);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
STRUCT302_tree =
adaptor.create(STRUCT302);
adaptor.addChild(root_0, STRUCT302_tree);
}
}
break;
case 63: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:709:34: SWITCH
{
SWITCH303 = (Token) match(input, SWITCH, FOLLOW_SWITCH_in_cast_disambiguation_token3073);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
SWITCH303_tree =
adaptor.create(SWITCH303);
adaptor.addChild(root_0, SWITCH303_tree);
}
}
break;
case 64: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:709:43: THIS
{
THIS304 = (Token) match(input, THIS, FOLLOW_THIS_in_cast_disambiguation_token3077);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
THIS304_tree =
adaptor.create(THIS304);
adaptor.addChild(root_0, THIS304_tree);
}
}
break;
case 65: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:709:50: THROW
{
THROW305 = (Token) match(input, THROW, FOLLOW_THROW_in_cast_disambiguation_token3081);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
THROW305_tree =
adaptor.create(THROW305);
adaptor.addChild(root_0, THROW305_tree);
}
}
break;
case 66: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:709:58: TRY
{
TRY306 = (Token) match(input, TRY, FOLLOW_TRY_in_cast_disambiguation_token3085);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
TRY306_tree =
adaptor.create(TRY306);
adaptor.addChild(root_0, TRY306_tree);
}
}
break;
case 67: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:709:64: TYPEOF
{
TYPEOF307 = (Token) match(input, TYPEOF, FOLLOW_TYPEOF_in_cast_disambiguation_token3089);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
TYPEOF307_tree =
adaptor.create(TYPEOF307);
adaptor.addChild(root_0, TYPEOF307_tree);
}
}
break;
case 68: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:709:73: UINT
{
UINT308 = (Token) match(input, UINT, FOLLOW_UINT_in_cast_disambiguation_token3093);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
UINT308_tree =
adaptor.create(UINT308);
adaptor.addChild(root_0, UINT308_tree);
}
}
break;
case 69: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:709:80: ULONG
{
ULONG309 = (Token) match(input, ULONG, FOLLOW_ULONG_in_cast_disambiguation_token3097);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
ULONG309_tree =
adaptor.create(ULONG309);
adaptor.addChild(root_0, ULONG309_tree);
}
}
break;
case 70: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:709:88: UNCHECKED
{
UNCHECKED310 = (Token) match(input, UNCHECKED, FOLLOW_UNCHECKED_in_cast_disambiguation_token3101);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
UNCHECKED310_tree =
adaptor.create(UNCHECKED310);
adaptor.addChild(root_0, UNCHECKED310_tree);
}
}
break;
case 71: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:709:100: UNSAFE
{
UNSAFE311 = (Token) match(input, UNSAFE, FOLLOW_UNSAFE_in_cast_disambiguation_token3105);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
UNSAFE311_tree =
adaptor.create(UNSAFE311);
adaptor.addChild(root_0, UNSAFE311_tree);
}
}
break;
case 72: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:710:7: USHORT
{
USHORT312 = (Token) match(input, USHORT, FOLLOW_USHORT_in_cast_disambiguation_token3113);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
USHORT312_tree =
adaptor.create(USHORT312);
adaptor.addChild(root_0, USHORT312_tree);
}
}
break;
case 73: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:710:16: USING
{
USING313 = (Token) match(input, USING, FOLLOW_USING_in_cast_disambiguation_token3117);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
USING313_tree =
adaptor.create(USING313);
adaptor.addChild(root_0, USING313_tree);
}
}
break;
case 74: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:710:24: VIRTUAL
{
VIRTUAL314 = (Token) match(input, VIRTUAL, FOLLOW_VIRTUAL_in_cast_disambiguation_token3121);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
VIRTUAL314_tree =
adaptor.create(VIRTUAL314);
adaptor.addChild(root_0, VIRTUAL314_tree);
}
}
break;
case 75: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:710:34: VOID
{
VOID315 = (Token) match(input, VOID, FOLLOW_VOID_in_cast_disambiguation_token3125);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
VOID315_tree =
adaptor.create(VOID315);
adaptor.addChild(root_0, VOID315_tree);
}
}
break;
case 76: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:710:41: VOLATILE
{
VOLATILE316 = (Token) match(input, VOLATILE, FOLLOW_VOLATILE_in_cast_disambiguation_token3129);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
VOLATILE316_tree =
adaptor.create(VOLATILE316);
adaptor.addChild(root_0, VOLATILE316_tree);
}
}
break;
case 77: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:710:52: WHILE
{
WHILE317 = (Token) match(input, WHILE, FOLLOW_WHILE_in_cast_disambiguation_token3133);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
WHILE317_tree =
adaptor.create(WHILE317);
adaptor.addChild(root_0, WHILE317_tree);
}
}
break;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "cast_disambiguation_token"
public static class pre_increment_expression_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "pre_increment_expression"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:713:1: pre_increment_expression : OP_INC unary_expression ;
public final CSharpParser.pre_increment_expression_return pre_increment_expression() throws RecognitionException {
CSharpParser.pre_increment_expression_return retval = new CSharpParser.pre_increment_expression_return();
retval.start = input.LT(1);
Object root_0 = null;
Token OP_INC318 = null;
CSharpParser.unary_expression_return unary_expression319 = null;
Object OP_INC318_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:714:2: ( OP_INC unary_expression )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:714:4: OP_INC unary_expression
{
root_0 = adaptor.nil();
OP_INC318 = (Token) match(input, OP_INC, FOLLOW_OP_INC_in_pre_increment_expression3151);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OP_INC318_tree =
adaptor.create(OP_INC318);
adaptor.addChild(root_0, OP_INC318_tree);
}
pushFollow(FOLLOW_unary_expression_in_pre_increment_expression3153);
unary_expression319 = unary_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, unary_expression319.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "pre_increment_expression"
public static class pre_decrement_expression_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "pre_decrement_expression"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:716:1: pre_decrement_expression : OP_DEC unary_expression ;
public final CSharpParser.pre_decrement_expression_return pre_decrement_expression() throws RecognitionException {
CSharpParser.pre_decrement_expression_return retval = new CSharpParser.pre_decrement_expression_return();
retval.start = input.LT(1);
Object root_0 = null;
Token OP_DEC320 = null;
CSharpParser.unary_expression_return unary_expression321 = null;
Object OP_DEC320_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:717:2: ( OP_DEC unary_expression )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:717:4: OP_DEC unary_expression
{
root_0 = adaptor.nil();
OP_DEC320 = (Token) match(input, OP_DEC, FOLLOW_OP_DEC_in_pre_decrement_expression3164);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OP_DEC320_tree =
adaptor.create(OP_DEC320);
adaptor.addChild(root_0, OP_DEC320_tree);
}
pushFollow(FOLLOW_unary_expression_in_pre_decrement_expression3166);
unary_expression321 = unary_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, unary_expression321.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "pre_decrement_expression"
public static class cast_expression_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "cast_expression"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:719:1: cast_expression : OPEN_PARENS type CLOSE_PARENS unary_expression -> ^( CAST_EXPRESSION type unary_expression ) ;
public final CSharpParser.cast_expression_return cast_expression() throws RecognitionException {
CSharpParser.cast_expression_return retval = new CSharpParser.cast_expression_return();
retval.start = input.LT(1);
Object root_0 = null;
Token OPEN_PARENS322 = null;
Token CLOSE_PARENS324 = null;
CSharpParser.type_return type323 = null;
CSharpParser.unary_expression_return unary_expression325 = null;
Object OPEN_PARENS322_tree = null;
Object CLOSE_PARENS324_tree = null;
RewriteRuleTokenStream stream_OPEN_PARENS = new RewriteRuleTokenStream(adaptor, "token OPEN_PARENS");
RewriteRuleTokenStream stream_CLOSE_PARENS = new RewriteRuleTokenStream(adaptor, "token CLOSE_PARENS");
RewriteRuleSubtreeStream stream_unary_expression = new RewriteRuleSubtreeStream(adaptor, "rule unary_expression");
RewriteRuleSubtreeStream stream_type = new RewriteRuleSubtreeStream(adaptor, "rule type");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:720:2: ( OPEN_PARENS type CLOSE_PARENS unary_expression -> ^( CAST_EXPRESSION type unary_expression ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:720:4: OPEN_PARENS type CLOSE_PARENS unary_expression
{
OPEN_PARENS322 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_cast_expression3177);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_OPEN_PARENS.add(OPEN_PARENS322);
}
pushFollow(FOLLOW_type_in_cast_expression3179);
type323 = type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_type.add(type323.getTree());
}
CLOSE_PARENS324 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_cast_expression3181);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_CLOSE_PARENS.add(CLOSE_PARENS324);
}
pushFollow(FOLLOW_unary_expression_in_cast_expression3183);
unary_expression325 = unary_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_unary_expression.add(unary_expression325.getTree());
}
// AST REWRITE
// elements: unary_expression, type
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 721:4: -> ^( CAST_EXPRESSION type unary_expression )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:721:7: ^( CAST_EXPRESSION type unary_expression )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(CAST_EXPRESSION, "CAST_EXPRESSION"), root_1);
adaptor.addChild(root_1, stream_type.nextTree());
adaptor.addChild(root_1, stream_unary_expression.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "cast_expression"
public static class multiplicative_expression_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "multiplicative_expression"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:724:1: multiplicative_expression : (e1= unary_expression -> $e1) ( STAR e2= unary_expression -> ^( STAR $multiplicative_expression $e2) | DIV e2= unary_expression -> ^( DIV $multiplicative_expression $e2) | PERCENT e2= unary_expression -> ^( PERCENT $multiplicative_expression $e2) )* ;
public final CSharpParser.multiplicative_expression_return multiplicative_expression() throws RecognitionException {
CSharpParser.multiplicative_expression_return retval = new CSharpParser.multiplicative_expression_return();
retval.start = input.LT(1);
Object root_0 = null;
Token STAR326 = null;
Token DIV327 = null;
Token PERCENT328 = null;
CSharpParser.unary_expression_return e1 = null;
CSharpParser.unary_expression_return e2 = null;
Object STAR326_tree = null;
Object DIV327_tree = null;
Object PERCENT328_tree = null;
RewriteRuleTokenStream stream_STAR = new RewriteRuleTokenStream(adaptor, "token STAR");
RewriteRuleTokenStream stream_PERCENT = new RewriteRuleTokenStream(adaptor, "token PERCENT");
RewriteRuleTokenStream stream_DIV = new RewriteRuleTokenStream(adaptor, "token DIV");
RewriteRuleSubtreeStream stream_unary_expression = new RewriteRuleSubtreeStream(adaptor, "rule unary_expression");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:725:2: ( (e1= unary_expression -> $e1) ( STAR e2= unary_expression -> ^( STAR $multiplicative_expression $e2) | DIV e2= unary_expression -> ^( DIV $multiplicative_expression $e2) | PERCENT e2= unary_expression -> ^( PERCENT $multiplicative_expression $e2) )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:725:4: (e1= unary_expression -> $e1) ( STAR e2= unary_expression -> ^( STAR $multiplicative_expression $e2) | DIV e2= unary_expression -> ^( DIV $multiplicative_expression $e2) | PERCENT e2= unary_expression -> ^( PERCENT $multiplicative_expression $e2) )*
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:725:4: (e1= unary_expression -> $e1)
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:725:5: e1= unary_expression
{
pushFollow(FOLLOW_unary_expression_in_multiplicative_expression3211);
e1 = unary_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_unary_expression.add(e1.getTree());
}
// AST REWRITE
// elements: e1
// token labels:
// rule labels: retval, e1
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
RewriteRuleSubtreeStream stream_e1 = new RewriteRuleSubtreeStream(adaptor, "rule e1", e1 != null ? e1.tree : null);
root_0 = adaptor.nil();
// 725:25: -> $e1
{
adaptor.addChild(root_0, stream_e1.nextTree());
}
retval.tree = root_0;
}
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:726:6: ( STAR e2= unary_expression -> ^( STAR $multiplicative_expression $e2) | DIV e2= unary_expression -> ^( DIV $multiplicative_expression $e2) | PERCENT e2= unary_expression -> ^( PERCENT $multiplicative_expression $e2) )*
loop57:
do {
int alt57 = 4;
switch (input.LA(1)) {
case STAR: {
alt57 = 1;
}
break;
case DIV: {
alt57 = 2;
}
break;
case PERCENT: {
alt57 = 3;
}
break;
}
switch (alt57) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:726:8: STAR e2= unary_expression
{
STAR326 = (Token) match(input, STAR, FOLLOW_STAR_in_multiplicative_expression3227);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_STAR.add(STAR326);
}
pushFollow(FOLLOW_unary_expression_in_multiplicative_expression3232);
e2 = unary_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_unary_expression.add(e2.getTree());
}
// AST REWRITE
// elements: STAR, multiplicative_expression, e2
// token labels:
// rule labels: retval, e2
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
RewriteRuleSubtreeStream stream_e2 = new RewriteRuleSubtreeStream(adaptor, "rule e2", e2 != null ? e2.tree : null);
root_0 = adaptor.nil();
// 726:34: -> ^( STAR $multiplicative_expression $e2)
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:726:37: ^( STAR $multiplicative_expression $e2)
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
stream_STAR.nextNode(), root_1);
adaptor.addChild(root_1, stream_retval.nextTree());
adaptor.addChild(root_1, stream_e2.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:727:8: DIV e2= unary_expression
{
DIV327 = (Token) match(input, DIV, FOLLOW_DIV_in_multiplicative_expression3253);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_DIV.add(DIV327);
}
pushFollow(FOLLOW_unary_expression_in_multiplicative_expression3258);
e2 = unary_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_unary_expression.add(e2.getTree());
}
// AST REWRITE
// elements: multiplicative_expression, DIV, e2
// token labels:
// rule labels: retval, e2
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
RewriteRuleSubtreeStream stream_e2 = new RewriteRuleSubtreeStream(adaptor, "rule e2", e2 != null ? e2.tree : null);
root_0 = adaptor.nil();
// 727:33: -> ^( DIV $multiplicative_expression $e2)
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:727:36: ^( DIV $multiplicative_expression $e2)
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
stream_DIV.nextNode(), root_1);
adaptor.addChild(root_1, stream_retval.nextTree());
adaptor.addChild(root_1, stream_e2.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:728:8: PERCENT e2= unary_expression
{
PERCENT328 = (Token) match(input, PERCENT, FOLLOW_PERCENT_in_multiplicative_expression3279);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_PERCENT.add(PERCENT328);
}
pushFollow(FOLLOW_unary_expression_in_multiplicative_expression3284);
e2 = unary_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_unary_expression.add(e2.getTree());
}
// AST REWRITE
// elements: multiplicative_expression, e2, PERCENT
// token labels:
// rule labels: retval, e2
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
RewriteRuleSubtreeStream stream_e2 = new RewriteRuleSubtreeStream(adaptor, "rule e2", e2 != null ? e2.tree : null);
root_0 = adaptor.nil();
// 728:37: -> ^( PERCENT $multiplicative_expression $e2)
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:728:40: ^( PERCENT $multiplicative_expression $e2)
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
stream_PERCENT.nextNode(), root_1);
adaptor.addChild(root_1, stream_retval.nextTree());
adaptor.addChild(root_1, stream_e2.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
break;
default:
break loop57;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "multiplicative_expression"
public static class additive_expression_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "additive_expression"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:731:1: additive_expression : (e1= multiplicative_expression -> $e1) ( PLUS e2= multiplicative_expression -> ^( PLUS $additive_expression $e2) | MINUS e2= multiplicative_expression -> ^( MINUS $additive_expression $e2) )* ;
public final CSharpParser.additive_expression_return additive_expression() throws RecognitionException {
CSharpParser.additive_expression_return retval = new CSharpParser.additive_expression_return();
retval.start = input.LT(1);
Object root_0 = null;
Token PLUS329 = null;
Token MINUS330 = null;
CSharpParser.multiplicative_expression_return e1 = null;
CSharpParser.multiplicative_expression_return e2 = null;
Object PLUS329_tree = null;
Object MINUS330_tree = null;
RewriteRuleTokenStream stream_PLUS = new RewriteRuleTokenStream(adaptor, "token PLUS");
RewriteRuleTokenStream stream_MINUS = new RewriteRuleTokenStream(adaptor, "token MINUS");
RewriteRuleSubtreeStream stream_multiplicative_expression = new RewriteRuleSubtreeStream(adaptor, "rule multiplicative_expression");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:732:2: ( (e1= multiplicative_expression -> $e1) ( PLUS e2= multiplicative_expression -> ^( PLUS $additive_expression $e2) | MINUS e2= multiplicative_expression -> ^( MINUS $additive_expression $e2) )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:732:4: (e1= multiplicative_expression -> $e1) ( PLUS e2= multiplicative_expression -> ^( PLUS $additive_expression $e2) | MINUS e2= multiplicative_expression -> ^( MINUS $additive_expression $e2) )*
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:732:4: (e1= multiplicative_expression -> $e1)
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:732:5: e1= multiplicative_expression
{
pushFollow(FOLLOW_multiplicative_expression_in_additive_expression3318);
e1 = multiplicative_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_multiplicative_expression.add(e1.getTree());
}
// AST REWRITE
// elements: e1
// token labels:
// rule labels: retval, e1
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
RewriteRuleSubtreeStream stream_e1 = new RewriteRuleSubtreeStream(adaptor, "rule e1", e1 != null ? e1.tree : null);
root_0 = adaptor.nil();
// 732:34: -> $e1
{
adaptor.addChild(root_0, stream_e1.nextTree());
}
retval.tree = root_0;
}
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:733:6: ( PLUS e2= multiplicative_expression -> ^( PLUS $additive_expression $e2) | MINUS e2= multiplicative_expression -> ^( MINUS $additive_expression $e2) )*
loop58:
do {
int alt58 = 3;
int LA58_0 = input.LA(1);
if ((LA58_0 == PLUS)) {
alt58 = 1;
} else if ((LA58_0 == MINUS)) {
alt58 = 2;
}
switch (alt58) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:733:8: PLUS e2= multiplicative_expression
{
PLUS329 = (Token) match(input, PLUS, FOLLOW_PLUS_in_additive_expression3333);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_PLUS.add(PLUS329);
}
pushFollow(FOLLOW_multiplicative_expression_in_additive_expression3338);
e2 = multiplicative_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_multiplicative_expression.add(e2.getTree());
}
// AST REWRITE
// elements: PLUS, additive_expression, e2
// token labels:
// rule labels: retval, e2
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
RewriteRuleSubtreeStream stream_e2 = new RewriteRuleSubtreeStream(adaptor, "rule e2", e2 != null ? e2.tree : null);
root_0 = adaptor.nil();
// 733:43: -> ^( PLUS $additive_expression $e2)
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:733:46: ^( PLUS $additive_expression $e2)
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
stream_PLUS.nextNode(), root_1);
adaptor.addChild(root_1, stream_retval.nextTree());
adaptor.addChild(root_1, stream_e2.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:734:8: MINUS e2= multiplicative_expression
{
MINUS330 = (Token) match(input, MINUS, FOLLOW_MINUS_in_additive_expression3359);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_MINUS.add(MINUS330);
}
pushFollow(FOLLOW_multiplicative_expression_in_additive_expression3364);
e2 = multiplicative_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_multiplicative_expression.add(e2.getTree());
}
// AST REWRITE
// elements: additive_expression, MINUS, e2
// token labels:
// rule labels: retval, e2
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
RewriteRuleSubtreeStream stream_e2 = new RewriteRuleSubtreeStream(adaptor, "rule e2", e2 != null ? e2.tree : null);
root_0 = adaptor.nil();
// 734:44: -> ^( MINUS $additive_expression $e2)
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:734:47: ^( MINUS $additive_expression $e2)
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
stream_MINUS.nextNode(), root_1);
adaptor.addChild(root_1, stream_retval.nextTree());
adaptor.addChild(root_1, stream_e2.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
break;
default:
break loop58;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "additive_expression"
public static class shift_expression_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "shift_expression"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:737:1: shift_expression : (e1= additive_expression -> $e1) ( OP_LEFT_SHIFT e2= additive_expression -> ^( OP_LEFT_SHIFT $shift_expression $e2) | right_shift e2= additive_expression -> ^( right_shift $shift_expression $e2) )* ;
public final CSharpParser.shift_expression_return shift_expression() throws RecognitionException {
CSharpParser.shift_expression_return retval = new CSharpParser.shift_expression_return();
retval.start = input.LT(1);
Object root_0 = null;
Token OP_LEFT_SHIFT331 = null;
CSharpParser.additive_expression_return e1 = null;
CSharpParser.additive_expression_return e2 = null;
CSharpParser.right_shift_return right_shift332 = null;
Object OP_LEFT_SHIFT331_tree = null;
RewriteRuleTokenStream stream_OP_LEFT_SHIFT = new RewriteRuleTokenStream(adaptor, "token OP_LEFT_SHIFT");
RewriteRuleSubtreeStream stream_additive_expression = new RewriteRuleSubtreeStream(adaptor, "rule additive_expression");
RewriteRuleSubtreeStream stream_right_shift = new RewriteRuleSubtreeStream(adaptor, "rule right_shift");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:738:2: ( (e1= additive_expression -> $e1) ( OP_LEFT_SHIFT e2= additive_expression -> ^( OP_LEFT_SHIFT $shift_expression $e2) | right_shift e2= additive_expression -> ^( right_shift $shift_expression $e2) )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:738:4: (e1= additive_expression -> $e1) ( OP_LEFT_SHIFT e2= additive_expression -> ^( OP_LEFT_SHIFT $shift_expression $e2) | right_shift e2= additive_expression -> ^( right_shift $shift_expression $e2) )*
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:738:4: (e1= additive_expression -> $e1)
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:738:5: e1= additive_expression
{
pushFollow(FOLLOW_additive_expression_in_shift_expression3398);
e1 = additive_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_additive_expression.add(e1.getTree());
}
// AST REWRITE
// elements: e1
// token labels:
// rule labels: retval, e1
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
RewriteRuleSubtreeStream stream_e1 = new RewriteRuleSubtreeStream(adaptor, "rule e1", e1 != null ? e1.tree : null);
root_0 = adaptor.nil();
// 738:28: -> $e1
{
adaptor.addChild(root_0, stream_e1.nextTree());
}
retval.tree = root_0;
}
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:739:6: ( OP_LEFT_SHIFT e2= additive_expression -> ^( OP_LEFT_SHIFT $shift_expression $e2) | right_shift e2= additive_expression -> ^( right_shift $shift_expression $e2) )*
loop59:
do {
int alt59 = 3;
int LA59_0 = input.LA(1);
if ((LA59_0 == GT)) {
int LA59_2 = input.LA(2);
if ((LA59_2 == GT)) {
alt59 = 2;
}
} else if ((LA59_0 == OP_LEFT_SHIFT)) {
alt59 = 1;
}
switch (alt59) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:739:8: OP_LEFT_SHIFT e2= additive_expression
{
OP_LEFT_SHIFT331 = (Token) match(input, OP_LEFT_SHIFT, FOLLOW_OP_LEFT_SHIFT_in_shift_expression3413);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_OP_LEFT_SHIFT.add(OP_LEFT_SHIFT331);
}
pushFollow(FOLLOW_additive_expression_in_shift_expression3418);
e2 = additive_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_additive_expression.add(e2.getTree());
}
// AST REWRITE
// elements: OP_LEFT_SHIFT, shift_expression, e2
// token labels:
// rule labels: retval, e2
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
RewriteRuleSubtreeStream stream_e2 = new RewriteRuleSubtreeStream(adaptor, "rule e2", e2 != null ? e2.tree : null);
root_0 = adaptor.nil();
// 739:46: -> ^( OP_LEFT_SHIFT $shift_expression $e2)
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:739:49: ^( OP_LEFT_SHIFT $shift_expression $e2)
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
stream_OP_LEFT_SHIFT.nextNode(), root_1);
adaptor.addChild(root_1, stream_retval.nextTree());
adaptor.addChild(root_1, stream_e2.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:740:8: right_shift e2= additive_expression
{
pushFollow(FOLLOW_right_shift_in_shift_expression3439);
right_shift332 = right_shift();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_right_shift.add(right_shift332.getTree());
}
pushFollow(FOLLOW_additive_expression_in_shift_expression3444);
e2 = additive_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_additive_expression.add(e2.getTree());
}
// AST REWRITE
// elements: e2, shift_expression, right_shift
// token labels:
// rule labels: retval, e2
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
RewriteRuleSubtreeStream stream_e2 = new RewriteRuleSubtreeStream(adaptor, "rule e2", e2 != null ? e2.tree : null);
root_0 = adaptor.nil();
// 740:44: -> ^( right_shift $shift_expression $e2)
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:740:47: ^( right_shift $shift_expression $e2)
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(stream_right_shift.nextNode(), root_1);
adaptor.addChild(root_1, stream_retval.nextTree());
adaptor.addChild(root_1, stream_e2.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
break;
default:
break loop59;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "shift_expression"
public static class relational_expression_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "relational_expression"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:743:1: relational_expression : (e1= shift_expression -> $e1) ( LT e2= shift_expression -> ^( LT $relational_expression $e2) | GT e2= shift_expression -> ^( GT $relational_expression $e2) | OP_LE e2= shift_expression -> ^( OP_LE $relational_expression $e2) | OP_GE e2= shift_expression -> ^( OP_GE $relational_expression $e2) | IS e3= isType -> ^( IS $relational_expression $e3) | AS e4= type -> ^( AS $relational_expression $e4) )* ;
public final CSharpParser.relational_expression_return relational_expression() throws RecognitionException {
CSharpParser.relational_expression_return retval = new CSharpParser.relational_expression_return();
retval.start = input.LT(1);
Object root_0 = null;
Token LT333 = null;
Token GT334 = null;
Token OP_LE335 = null;
Token OP_GE336 = null;
Token IS337 = null;
Token AS338 = null;
CSharpParser.shift_expression_return e1 = null;
CSharpParser.shift_expression_return e2 = null;
CSharpParser.isType_return e3 = null;
CSharpParser.type_return e4 = null;
Object LT333_tree = null;
Object GT334_tree = null;
Object OP_LE335_tree = null;
Object OP_GE336_tree = null;
Object IS337_tree = null;
Object AS338_tree = null;
RewriteRuleTokenStream stream_AS = new RewriteRuleTokenStream(adaptor, "token AS");
RewriteRuleTokenStream stream_GT = new RewriteRuleTokenStream(adaptor, "token GT");
RewriteRuleTokenStream stream_LT = new RewriteRuleTokenStream(adaptor, "token LT");
RewriteRuleTokenStream stream_OP_LE = new RewriteRuleTokenStream(adaptor, "token OP_LE");
RewriteRuleTokenStream stream_OP_GE = new RewriteRuleTokenStream(adaptor, "token OP_GE");
RewriteRuleTokenStream stream_IS = new RewriteRuleTokenStream(adaptor, "token IS");
RewriteRuleSubtreeStream stream_isType = new RewriteRuleSubtreeStream(adaptor, "rule isType");
RewriteRuleSubtreeStream stream_shift_expression = new RewriteRuleSubtreeStream(adaptor, "rule shift_expression");
RewriteRuleSubtreeStream stream_type = new RewriteRuleSubtreeStream(adaptor, "rule type");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:744:2: ( (e1= shift_expression -> $e1) ( LT e2= shift_expression -> ^( LT $relational_expression $e2) | GT e2= shift_expression -> ^( GT $relational_expression $e2) | OP_LE e2= shift_expression -> ^( OP_LE $relational_expression $e2) | OP_GE e2= shift_expression -> ^( OP_GE $relational_expression $e2) | IS e3= isType -> ^( IS $relational_expression $e3) | AS e4= type -> ^( AS $relational_expression $e4) )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:744:4: (e1= shift_expression -> $e1) ( LT e2= shift_expression -> ^( LT $relational_expression $e2) | GT e2= shift_expression -> ^( GT $relational_expression $e2) | OP_LE e2= shift_expression -> ^( OP_LE $relational_expression $e2) | OP_GE e2= shift_expression -> ^( OP_GE $relational_expression $e2) | IS e3= isType -> ^( IS $relational_expression $e3) | AS e4= type -> ^( AS $relational_expression $e4) )*
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:744:4: (e1= shift_expression -> $e1)
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:744:5: e1= shift_expression
{
pushFollow(FOLLOW_shift_expression_in_relational_expression3478);
e1 = shift_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_shift_expression.add(e1.getTree());
}
// AST REWRITE
// elements: e1
// token labels:
// rule labels: retval, e1
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
RewriteRuleSubtreeStream stream_e1 = new RewriteRuleSubtreeStream(adaptor, "rule e1", e1 != null ? e1.tree : null);
root_0 = adaptor.nil();
// 744:25: -> $e1
{
adaptor.addChild(root_0, stream_e1.nextTree());
}
retval.tree = root_0;
}
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:745:6: ( LT e2= shift_expression -> ^( LT $relational_expression $e2) | GT e2= shift_expression -> ^( GT $relational_expression $e2) | OP_LE e2= shift_expression -> ^( OP_LE $relational_expression $e2) | OP_GE e2= shift_expression -> ^( OP_GE $relational_expression $e2) | IS e3= isType -> ^( IS $relational_expression $e3) | AS e4= type -> ^( AS $relational_expression $e4) )*
loop60:
do {
int alt60 = 7;
switch (input.LA(1)) {
case LT: {
alt60 = 1;
}
break;
case GT: {
alt60 = 2;
}
break;
case OP_LE: {
alt60 = 3;
}
break;
case OP_GE: {
alt60 = 4;
}
break;
case IS: {
alt60 = 5;
}
break;
case AS: {
alt60 = 6;
}
break;
}
switch (alt60) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:745:8: LT e2= shift_expression
{
LT333 = (Token) match(input, LT, FOLLOW_LT_in_relational_expression3493);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_LT.add(LT333);
}
pushFollow(FOLLOW_shift_expression_in_relational_expression3497);
e2 = shift_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_shift_expression.add(e2.getTree());
}
// AST REWRITE
// elements: e2, relational_expression, LT
// token labels:
// rule labels: retval, e2
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
RewriteRuleSubtreeStream stream_e2 = new RewriteRuleSubtreeStream(adaptor, "rule e2", e2 != null ? e2.tree : null);
root_0 = adaptor.nil();
// 745:31: -> ^( LT $relational_expression $e2)
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:745:34: ^( LT $relational_expression $e2)
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
stream_LT.nextNode(), root_1);
adaptor.addChild(root_1, stream_retval.nextTree());
adaptor.addChild(root_1, stream_e2.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:746:9: GT e2= shift_expression
{
GT334 = (Token) match(input, GT, FOLLOW_GT_in_relational_expression3519);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_GT.add(GT334);
}
pushFollow(FOLLOW_shift_expression_in_relational_expression3523);
e2 = shift_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_shift_expression.add(e2.getTree());
}
// AST REWRITE
// elements: e2, relational_expression, GT
// token labels:
// rule labels: retval, e2
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
RewriteRuleSubtreeStream stream_e2 = new RewriteRuleSubtreeStream(adaptor, "rule e2", e2 != null ? e2.tree : null);
root_0 = adaptor.nil();
// 746:32: -> ^( GT $relational_expression $e2)
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:746:35: ^( GT $relational_expression $e2)
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
stream_GT.nextNode(), root_1);
adaptor.addChild(root_1, stream_retval.nextTree());
adaptor.addChild(root_1, stream_e2.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:747:9: OP_LE e2= shift_expression
{
OP_LE335 = (Token) match(input, OP_LE, FOLLOW_OP_LE_in_relational_expression3545);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_OP_LE.add(OP_LE335);
}
pushFollow(FOLLOW_shift_expression_in_relational_expression3549);
e2 = shift_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_shift_expression.add(e2.getTree());
}
// AST REWRITE
// elements: relational_expression, OP_LE, e2
// token labels:
// rule labels: retval, e2
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
RewriteRuleSubtreeStream stream_e2 = new RewriteRuleSubtreeStream(adaptor, "rule e2", e2 != null ? e2.tree : null);
root_0 = adaptor.nil();
// 747:35: -> ^( OP_LE $relational_expression $e2)
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:747:38: ^( OP_LE $relational_expression $e2)
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
stream_OP_LE.nextNode(), root_1);
adaptor.addChild(root_1, stream_retval.nextTree());
adaptor.addChild(root_1, stream_e2.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
break;
case 4: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:748:9: OP_GE e2= shift_expression
{
OP_GE336 = (Token) match(input, OP_GE, FOLLOW_OP_GE_in_relational_expression3571);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_OP_GE.add(OP_GE336);
}
pushFollow(FOLLOW_shift_expression_in_relational_expression3575);
e2 = shift_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_shift_expression.add(e2.getTree());
}
// AST REWRITE
// elements: relational_expression, e2, OP_GE
// token labels:
// rule labels: retval, e2
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
RewriteRuleSubtreeStream stream_e2 = new RewriteRuleSubtreeStream(adaptor, "rule e2", e2 != null ? e2.tree : null);
root_0 = adaptor.nil();
// 748:35: -> ^( OP_GE $relational_expression $e2)
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:748:38: ^( OP_GE $relational_expression $e2)
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
stream_OP_GE.nextNode(), root_1);
adaptor.addChild(root_1, stream_retval.nextTree());
adaptor.addChild(root_1, stream_e2.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
break;
case 5: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:749:9: IS e3= isType
{
IS337 = (Token) match(input, IS, FOLLOW_IS_in_relational_expression3597);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_IS.add(IS337);
}
pushFollow(FOLLOW_isType_in_relational_expression3601);
e3 = isType();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_isType.add(e3.getTree());
}
// AST REWRITE
// elements: IS, e3, relational_expression
// token labels:
// rule labels: e3, retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_e3 = new RewriteRuleSubtreeStream(adaptor, "rule e3", e3 != null ? e3.tree : null);
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 749:22: -> ^( IS $relational_expression $e3)
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:749:25: ^( IS $relational_expression $e3)
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
stream_IS.nextNode(), root_1);
adaptor.addChild(root_1, stream_retval.nextTree());
adaptor.addChild(root_1, stream_e3.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
break;
case 6: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:750:9: AS e4= type
{
AS338 = (Token) match(input, AS, FOLLOW_AS_in_relational_expression3623);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_AS.add(AS338);
}
pushFollow(FOLLOW_type_in_relational_expression3627);
e4 = type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_type.add(e4.getTree());
}
// AST REWRITE
// elements: relational_expression, e4, AS
// token labels:
// rule labels: e4, retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_e4 = new RewriteRuleSubtreeStream(adaptor, "rule e4", e4 != null ? e4.tree : null);
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 750:20: -> ^( AS $relational_expression $e4)
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:750:23: ^( AS $relational_expression $e4)
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
stream_AS.nextNode(), root_1);
adaptor.addChild(root_1, stream_retval.nextTree());
adaptor.addChild(root_1, stream_e4.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
break;
default:
break loop60;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "relational_expression"
public static class isType_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "isType"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:754:1: isType : non_nullable_value_type ( ( INTERR is_disambiguation_token )=> INTERR )? ;
public final CSharpParser.isType_return isType() throws RecognitionException {
CSharpParser.isType_return retval = new CSharpParser.isType_return();
retval.start = input.LT(1);
Object root_0 = null;
Token INTERR340 = null;
CSharpParser.non_nullable_value_type_return non_nullable_value_type339 = null;
Object INTERR340_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:755:3: ( non_nullable_value_type ( ( INTERR is_disambiguation_token )=> INTERR )? )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:755:5: non_nullable_value_type ( ( INTERR is_disambiguation_token )=> INTERR )?
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_non_nullable_value_type_in_isType3660);
non_nullable_value_type339 = non_nullable_value_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, non_nullable_value_type339.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:755:29: ( ( INTERR is_disambiguation_token )=> INTERR )?
int alt61 = 2;
int LA61_0 = input.LA(1);
if ((LA61_0 == INTERR)) {
int LA61_1 = input.LA(2);
if ((synpred8_CSharpParser())) {
alt61 = 1;
}
}
switch (alt61) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:755:31: ( INTERR is_disambiguation_token )=> INTERR
{
INTERR340 = (Token) match(input, INTERR, FOLLOW_INTERR_in_isType3672);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
INTERR340_tree =
adaptor.create(INTERR340);
adaptor.addChild(root_0, INTERR340_tree);
}
}
break;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "isType"
public static class is_disambiguation_token_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "is_disambiguation_token"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:757:1: is_disambiguation_token : ( CLOSE_PARENS | OP_AND | OP_OR | INTERR );
public final CSharpParser.is_disambiguation_token_return is_disambiguation_token() throws RecognitionException {
CSharpParser.is_disambiguation_token_return retval = new CSharpParser.is_disambiguation_token_return();
retval.start = input.LT(1);
Object root_0 = null;
Token set341 = null;
Object set341_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:758:3: ( CLOSE_PARENS | OP_AND | OP_OR | INTERR )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:
{
root_0 = adaptor.nil();
set341 = input.LT(1);
if (input.LA(1) == CLOSE_PARENS || input.LA(1) == INTERR || input.LA(1) == OP_AND || input.LA(1) == OP_OR) {
input.consume();
if (state.backtracking == 0) {
adaptor.addChild(root_0,
adaptor.create(set341));
}
state.errorRecovery = false;
state.failed = false;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
MismatchedSetException mse = new MismatchedSetException(null, input);
throw mse;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "is_disambiguation_token"
public static class equality_expression_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "equality_expression"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:760:1: equality_expression : (e1= relational_expression -> $e1) ( OP_EQ e2= relational_expression -> ^( OP_EQ $equality_expression $e2) | OP_NE e3= relational_expression -> ^( OP_NE $equality_expression $e3) )* ;
public final CSharpParser.equality_expression_return equality_expression() throws RecognitionException {
CSharpParser.equality_expression_return retval = new CSharpParser.equality_expression_return();
retval.start = input.LT(1);
Object root_0 = null;
Token OP_EQ342 = null;
Token OP_NE343 = null;
CSharpParser.relational_expression_return e1 = null;
CSharpParser.relational_expression_return e2 = null;
CSharpParser.relational_expression_return e3 = null;
Object OP_EQ342_tree = null;
Object OP_NE343_tree = null;
RewriteRuleTokenStream stream_OP_EQ = new RewriteRuleTokenStream(adaptor, "token OP_EQ");
RewriteRuleTokenStream stream_OP_NE = new RewriteRuleTokenStream(adaptor, "token OP_NE");
RewriteRuleSubtreeStream stream_relational_expression = new RewriteRuleSubtreeStream(adaptor, "rule relational_expression");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:761:3: ( (e1= relational_expression -> $e1) ( OP_EQ e2= relational_expression -> ^( OP_EQ $equality_expression $e2) | OP_NE e3= relational_expression -> ^( OP_NE $equality_expression $e3) )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:761:5: (e1= relational_expression -> $e1) ( OP_EQ e2= relational_expression -> ^( OP_EQ $equality_expression $e2) | OP_NE e3= relational_expression -> ^( OP_NE $equality_expression $e3) )*
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:761:5: (e1= relational_expression -> $e1)
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:761:6: e1= relational_expression
{
pushFollow(FOLLOW_relational_expression_in_equality_expression3713);
e1 = relational_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_relational_expression.add(e1.getTree());
}
// AST REWRITE
// elements: e1
// token labels:
// rule labels: retval, e1
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
RewriteRuleSubtreeStream stream_e1 = new RewriteRuleSubtreeStream(adaptor, "rule e1", e1 != null ? e1.tree : null);
root_0 = adaptor.nil();
// 761:31: -> $e1
{
adaptor.addChild(root_0, stream_e1.nextTree());
}
retval.tree = root_0;
}
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:762:7: ( OP_EQ e2= relational_expression -> ^( OP_EQ $equality_expression $e2) | OP_NE e3= relational_expression -> ^( OP_NE $equality_expression $e3) )*
loop62:
do {
int alt62 = 3;
int LA62_0 = input.LA(1);
if ((LA62_0 == OP_EQ)) {
alt62 = 1;
} else if ((LA62_0 == OP_NE)) {
alt62 = 2;
}
switch (alt62) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:762:9: OP_EQ e2= relational_expression
{
OP_EQ342 = (Token) match(input, OP_EQ, FOLLOW_OP_EQ_in_equality_expression3729);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_OP_EQ.add(OP_EQ342);
}
pushFollow(FOLLOW_relational_expression_in_equality_expression3734);
e2 = relational_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_relational_expression.add(e2.getTree());
}
// AST REWRITE
// elements: e2, equality_expression, OP_EQ
// token labels:
// rule labels: retval, e2
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
RewriteRuleSubtreeStream stream_e2 = new RewriteRuleSubtreeStream(adaptor, "rule e2", e2 != null ? e2.tree : null);
root_0 = adaptor.nil();
// 762:41: -> ^( OP_EQ $equality_expression $e2)
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:762:44: ^( OP_EQ $equality_expression $e2)
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
stream_OP_EQ.nextNode(), root_1);
adaptor.addChild(root_1, stream_retval.nextTree());
adaptor.addChild(root_1, stream_e2.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:763:9: OP_NE e3= relational_expression
{
OP_NE343 = (Token) match(input, OP_NE, FOLLOW_OP_NE_in_equality_expression3756);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_OP_NE.add(OP_NE343);
}
pushFollow(FOLLOW_relational_expression_in_equality_expression3761);
e3 = relational_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_relational_expression.add(e3.getTree());
}
// AST REWRITE
// elements: OP_NE, e3, equality_expression
// token labels:
// rule labels: e3, retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_e3 = new RewriteRuleSubtreeStream(adaptor, "rule e3", e3 != null ? e3.tree : null);
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 763:41: -> ^( OP_NE $equality_expression $e3)
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:763:44: ^( OP_NE $equality_expression $e3)
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
stream_OP_NE.nextNode(), root_1);
adaptor.addChild(root_1, stream_retval.nextTree());
adaptor.addChild(root_1, stream_e3.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
break;
default:
break loop62;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "equality_expression"
public static class and_expression_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "and_expression"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:766:1: and_expression : (e1= equality_expression -> $e1) ( AMP e2= equality_expression -> ^( AMP $and_expression $e2) )* ;
public final CSharpParser.and_expression_return and_expression() throws RecognitionException {
CSharpParser.and_expression_return retval = new CSharpParser.and_expression_return();
retval.start = input.LT(1);
Object root_0 = null;
Token AMP344 = null;
CSharpParser.equality_expression_return e1 = null;
CSharpParser.equality_expression_return e2 = null;
Object AMP344_tree = null;
RewriteRuleTokenStream stream_AMP = new RewriteRuleTokenStream(adaptor, "token AMP");
RewriteRuleSubtreeStream stream_equality_expression = new RewriteRuleSubtreeStream(adaptor, "rule equality_expression");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:767:2: ( (e1= equality_expression -> $e1) ( AMP e2= equality_expression -> ^( AMP $and_expression $e2) )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:767:4: (e1= equality_expression -> $e1) ( AMP e2= equality_expression -> ^( AMP $and_expression $e2) )*
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:767:4: (e1= equality_expression -> $e1)
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:767:5: e1= equality_expression
{
pushFollow(FOLLOW_equality_expression_in_and_expression3797);
e1 = equality_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_equality_expression.add(e1.getTree());
}
// AST REWRITE
// elements: e1
// token labels:
// rule labels: retval, e1
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
RewriteRuleSubtreeStream stream_e1 = new RewriteRuleSubtreeStream(adaptor, "rule e1", e1 != null ? e1.tree : null);
root_0 = adaptor.nil();
// 767:28: -> $e1
{
adaptor.addChild(root_0, stream_e1.nextTree());
}
retval.tree = root_0;
}
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:768:6: ( AMP e2= equality_expression -> ^( AMP $and_expression $e2) )*
loop63:
do {
int alt63 = 2;
int LA63_0 = input.LA(1);
if ((LA63_0 == AMP)) {
alt63 = 1;
}
switch (alt63) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:768:8: AMP e2= equality_expression
{
AMP344 = (Token) match(input, AMP, FOLLOW_AMP_in_and_expression3812);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_AMP.add(AMP344);
}
pushFollow(FOLLOW_equality_expression_in_and_expression3816);
e2 = equality_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_equality_expression.add(e2.getTree());
}
// AST REWRITE
// elements: AMP, e2, and_expression
// token labels:
// rule labels: retval, e2
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
RewriteRuleSubtreeStream stream_e2 = new RewriteRuleSubtreeStream(adaptor, "rule e2", e2 != null ? e2.tree : null);
root_0 = adaptor.nil();
// 768:35: -> ^( AMP $and_expression $e2)
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:768:38: ^( AMP $and_expression $e2)
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
stream_AMP.nextNode(), root_1);
adaptor.addChild(root_1, stream_retval.nextTree());
adaptor.addChild(root_1, stream_e2.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
break;
default:
break loop63;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "and_expression"
public static class exclusive_or_expression_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "exclusive_or_expression"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:771:1: exclusive_or_expression : (e1= and_expression -> $e1) ( CARET e2= and_expression -> ^( CARET $exclusive_or_expression $e2) )* ;
public final CSharpParser.exclusive_or_expression_return exclusive_or_expression() throws RecognitionException {
CSharpParser.exclusive_or_expression_return retval = new CSharpParser.exclusive_or_expression_return();
retval.start = input.LT(1);
Object root_0 = null;
Token CARET345 = null;
CSharpParser.and_expression_return e1 = null;
CSharpParser.and_expression_return e2 = null;
Object CARET345_tree = null;
RewriteRuleTokenStream stream_CARET = new RewriteRuleTokenStream(adaptor, "token CARET");
RewriteRuleSubtreeStream stream_and_expression = new RewriteRuleSubtreeStream(adaptor, "rule and_expression");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:772:2: ( (e1= and_expression -> $e1) ( CARET e2= and_expression -> ^( CARET $exclusive_or_expression $e2) )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:772:4: (e1= and_expression -> $e1) ( CARET e2= and_expression -> ^( CARET $exclusive_or_expression $e2) )*
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:772:4: (e1= and_expression -> $e1)
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:772:5: e1= and_expression
{
pushFollow(FOLLOW_and_expression_in_exclusive_or_expression3850);
e1 = and_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_and_expression.add(e1.getTree());
}
// AST REWRITE
// elements: e1
// token labels:
// rule labels: retval, e1
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
RewriteRuleSubtreeStream stream_e1 = new RewriteRuleSubtreeStream(adaptor, "rule e1", e1 != null ? e1.tree : null);
root_0 = adaptor.nil();
// 772:23: -> $e1
{
adaptor.addChild(root_0, stream_e1.nextTree());
}
retval.tree = root_0;
}
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:773:6: ( CARET e2= and_expression -> ^( CARET $exclusive_or_expression $e2) )*
loop64:
do {
int alt64 = 2;
int LA64_0 = input.LA(1);
if ((LA64_0 == CARET)) {
alt64 = 1;
}
switch (alt64) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:773:8: CARET e2= and_expression
{
CARET345 = (Token) match(input, CARET, FOLLOW_CARET_in_exclusive_or_expression3865);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_CARET.add(CARET345);
}
pushFollow(FOLLOW_and_expression_in_exclusive_or_expression3869);
e2 = and_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_and_expression.add(e2.getTree());
}
// AST REWRITE
// elements: CARET, e2, exclusive_or_expression
// token labels:
// rule labels: retval, e2
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
RewriteRuleSubtreeStream stream_e2 = new RewriteRuleSubtreeStream(adaptor, "rule e2", e2 != null ? e2.tree : null);
root_0 = adaptor.nil();
// 773:32: -> ^( CARET $exclusive_or_expression $e2)
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:773:35: ^( CARET $exclusive_or_expression $e2)
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
stream_CARET.nextNode(), root_1);
adaptor.addChild(root_1, stream_retval.nextTree());
adaptor.addChild(root_1, stream_e2.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
break;
default:
break loop64;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "exclusive_or_expression"
public static class inclusive_or_expression_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "inclusive_or_expression"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:776:1: inclusive_or_expression : (e1= exclusive_or_expression -> $e1) ( BITWISE_OR e2= exclusive_or_expression -> ^( BITWISE_OR $inclusive_or_expression $e2) )* ;
public final CSharpParser.inclusive_or_expression_return inclusive_or_expression() throws RecognitionException {
CSharpParser.inclusive_or_expression_return retval = new CSharpParser.inclusive_or_expression_return();
retval.start = input.LT(1);
Object root_0 = null;
Token BITWISE_OR346 = null;
CSharpParser.exclusive_or_expression_return e1 = null;
CSharpParser.exclusive_or_expression_return e2 = null;
Object BITWISE_OR346_tree = null;
RewriteRuleTokenStream stream_BITWISE_OR = new RewriteRuleTokenStream(adaptor, "token BITWISE_OR");
RewriteRuleSubtreeStream stream_exclusive_or_expression = new RewriteRuleSubtreeStream(adaptor, "rule exclusive_or_expression");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:777:2: ( (e1= exclusive_or_expression -> $e1) ( BITWISE_OR e2= exclusive_or_expression -> ^( BITWISE_OR $inclusive_or_expression $e2) )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:777:4: (e1= exclusive_or_expression -> $e1) ( BITWISE_OR e2= exclusive_or_expression -> ^( BITWISE_OR $inclusive_or_expression $e2) )*
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:777:4: (e1= exclusive_or_expression -> $e1)
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:777:5: e1= exclusive_or_expression
{
pushFollow(FOLLOW_exclusive_or_expression_in_inclusive_or_expression3903);
e1 = exclusive_or_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_exclusive_or_expression.add(e1.getTree());
}
// AST REWRITE
// elements: e1
// token labels:
// rule labels: retval, e1
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
RewriteRuleSubtreeStream stream_e1 = new RewriteRuleSubtreeStream(adaptor, "rule e1", e1 != null ? e1.tree : null);
root_0 = adaptor.nil();
// 777:32: -> $e1
{
adaptor.addChild(root_0, stream_e1.nextTree());
}
retval.tree = root_0;
}
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:778:6: ( BITWISE_OR e2= exclusive_or_expression -> ^( BITWISE_OR $inclusive_or_expression $e2) )*
loop65:
do {
int alt65 = 2;
int LA65_0 = input.LA(1);
if ((LA65_0 == BITWISE_OR)) {
alt65 = 1;
}
switch (alt65) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:778:8: BITWISE_OR e2= exclusive_or_expression
{
BITWISE_OR346 = (Token) match(input, BITWISE_OR, FOLLOW_BITWISE_OR_in_inclusive_or_expression3918);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_BITWISE_OR.add(BITWISE_OR346);
}
pushFollow(FOLLOW_exclusive_or_expression_in_inclusive_or_expression3922);
e2 = exclusive_or_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_exclusive_or_expression.add(e2.getTree());
}
// AST REWRITE
// elements: BITWISE_OR, inclusive_or_expression, e2
// token labels:
// rule labels: retval, e2
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
RewriteRuleSubtreeStream stream_e2 = new RewriteRuleSubtreeStream(adaptor, "rule e2", e2 != null ? e2.tree : null);
root_0 = adaptor.nil();
// 778:46: -> ^( BITWISE_OR $inclusive_or_expression $e2)
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:778:49: ^( BITWISE_OR $inclusive_or_expression $e2)
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
stream_BITWISE_OR.nextNode(), root_1);
adaptor.addChild(root_1, stream_retval.nextTree());
adaptor.addChild(root_1, stream_e2.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
break;
default:
break loop65;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "inclusive_or_expression"
public static class conditional_and_expression_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "conditional_and_expression"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:781:1: conditional_and_expression : (e1= inclusive_or_expression -> $e1) ( OP_AND e2= inclusive_or_expression -> ^( OP_AND $conditional_and_expression $e2) )* ;
public final CSharpParser.conditional_and_expression_return conditional_and_expression() throws RecognitionException {
CSharpParser.conditional_and_expression_return retval = new CSharpParser.conditional_and_expression_return();
retval.start = input.LT(1);
Object root_0 = null;
Token OP_AND347 = null;
CSharpParser.inclusive_or_expression_return e1 = null;
CSharpParser.inclusive_or_expression_return e2 = null;
Object OP_AND347_tree = null;
RewriteRuleTokenStream stream_OP_AND = new RewriteRuleTokenStream(adaptor, "token OP_AND");
RewriteRuleSubtreeStream stream_inclusive_or_expression = new RewriteRuleSubtreeStream(adaptor, "rule inclusive_or_expression");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:782:2: ( (e1= inclusive_or_expression -> $e1) ( OP_AND e2= inclusive_or_expression -> ^( OP_AND $conditional_and_expression $e2) )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:782:4: (e1= inclusive_or_expression -> $e1) ( OP_AND e2= inclusive_or_expression -> ^( OP_AND $conditional_and_expression $e2) )*
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:782:4: (e1= inclusive_or_expression -> $e1)
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:782:5: e1= inclusive_or_expression
{
pushFollow(FOLLOW_inclusive_or_expression_in_conditional_and_expression3956);
e1 = inclusive_or_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_inclusive_or_expression.add(e1.getTree());
}
// AST REWRITE
// elements: e1
// token labels:
// rule labels: retval, e1
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
RewriteRuleSubtreeStream stream_e1 = new RewriteRuleSubtreeStream(adaptor, "rule e1", e1 != null ? e1.tree : null);
root_0 = adaptor.nil();
// 782:32: -> $e1
{
adaptor.addChild(root_0, stream_e1.nextTree());
}
retval.tree = root_0;
}
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:783:6: ( OP_AND e2= inclusive_or_expression -> ^( OP_AND $conditional_and_expression $e2) )*
loop66:
do {
int alt66 = 2;
int LA66_0 = input.LA(1);
if ((LA66_0 == OP_AND)) {
alt66 = 1;
}
switch (alt66) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:783:8: OP_AND e2= inclusive_or_expression
{
OP_AND347 = (Token) match(input, OP_AND, FOLLOW_OP_AND_in_conditional_and_expression3971);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_OP_AND.add(OP_AND347);
}
pushFollow(FOLLOW_inclusive_or_expression_in_conditional_and_expression3975);
e2 = inclusive_or_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_inclusive_or_expression.add(e2.getTree());
}
// AST REWRITE
// elements: conditional_and_expression, e2, OP_AND
// token labels:
// rule labels: retval, e2
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
RewriteRuleSubtreeStream stream_e2 = new RewriteRuleSubtreeStream(adaptor, "rule e2", e2 != null ? e2.tree : null);
root_0 = adaptor.nil();
// 783:42: -> ^( OP_AND $conditional_and_expression $e2)
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:783:45: ^( OP_AND $conditional_and_expression $e2)
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
stream_OP_AND.nextNode(), root_1);
adaptor.addChild(root_1, stream_retval.nextTree());
adaptor.addChild(root_1, stream_e2.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
break;
default:
break loop66;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "conditional_and_expression"
public static class conditional_or_expression_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "conditional_or_expression"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:786:1: conditional_or_expression : (e1= conditional_and_expression -> $e1) ( OP_OR e2= conditional_and_expression -> ^( OP_OR $conditional_or_expression $e2) )* ;
public final CSharpParser.conditional_or_expression_return conditional_or_expression() throws RecognitionException {
CSharpParser.conditional_or_expression_return retval = new CSharpParser.conditional_or_expression_return();
retval.start = input.LT(1);
Object root_0 = null;
Token OP_OR348 = null;
CSharpParser.conditional_and_expression_return e1 = null;
CSharpParser.conditional_and_expression_return e2 = null;
Object OP_OR348_tree = null;
RewriteRuleTokenStream stream_OP_OR = new RewriteRuleTokenStream(adaptor, "token OP_OR");
RewriteRuleSubtreeStream stream_conditional_and_expression = new RewriteRuleSubtreeStream(adaptor, "rule conditional_and_expression");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:787:2: ( (e1= conditional_and_expression -> $e1) ( OP_OR e2= conditional_and_expression -> ^( OP_OR $conditional_or_expression $e2) )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:787:4: (e1= conditional_and_expression -> $e1) ( OP_OR e2= conditional_and_expression -> ^( OP_OR $conditional_or_expression $e2) )*
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:787:4: (e1= conditional_and_expression -> $e1)
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:787:5: e1= conditional_and_expression
{
pushFollow(FOLLOW_conditional_and_expression_in_conditional_or_expression4009);
e1 = conditional_and_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_conditional_and_expression.add(e1.getTree());
}
// AST REWRITE
// elements: e1
// token labels:
// rule labels: retval, e1
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
RewriteRuleSubtreeStream stream_e1 = new RewriteRuleSubtreeStream(adaptor, "rule e1", e1 != null ? e1.tree : null);
root_0 = adaptor.nil();
// 787:35: -> $e1
{
adaptor.addChild(root_0, stream_e1.nextTree());
}
retval.tree = root_0;
}
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:788:6: ( OP_OR e2= conditional_and_expression -> ^( OP_OR $conditional_or_expression $e2) )*
loop67:
do {
int alt67 = 2;
int LA67_0 = input.LA(1);
if ((LA67_0 == OP_OR)) {
alt67 = 1;
}
switch (alt67) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:788:8: OP_OR e2= conditional_and_expression
{
OP_OR348 = (Token) match(input, OP_OR, FOLLOW_OP_OR_in_conditional_or_expression4024);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_OP_OR.add(OP_OR348);
}
pushFollow(FOLLOW_conditional_and_expression_in_conditional_or_expression4028);
e2 = conditional_and_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_conditional_and_expression.add(e2.getTree());
}
// AST REWRITE
// elements: OP_OR, e2, conditional_or_expression
// token labels:
// rule labels: retval, e2
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
RewriteRuleSubtreeStream stream_e2 = new RewriteRuleSubtreeStream(adaptor, "rule e2", e2 != null ? e2.tree : null);
root_0 = adaptor.nil();
// 788:44: -> ^( OP_OR $conditional_or_expression $e2)
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:788:47: ^( OP_OR $conditional_or_expression $e2)
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
stream_OP_OR.nextNode(), root_1);
adaptor.addChild(root_1, stream_retval.nextTree());
adaptor.addChild(root_1, stream_e2.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
break;
default:
break loop67;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "conditional_or_expression"
public static class null_coalescing_expression_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "null_coalescing_expression"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:797:1: null_coalescing_expression : conditional_or_expression ( OP_COALESCING ^ null_coalescing_expression )? ;
public final CSharpParser.null_coalescing_expression_return null_coalescing_expression() throws RecognitionException {
CSharpParser.null_coalescing_expression_return retval = new CSharpParser.null_coalescing_expression_return();
retval.start = input.LT(1);
Object root_0 = null;
Token OP_COALESCING350 = null;
CSharpParser.conditional_or_expression_return conditional_or_expression349 = null;
CSharpParser.null_coalescing_expression_return null_coalescing_expression351 = null;
Object OP_COALESCING350_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:798:3: ( conditional_or_expression ( OP_COALESCING ^ null_coalescing_expression )? )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:798:5: conditional_or_expression ( OP_COALESCING ^ null_coalescing_expression )?
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_conditional_or_expression_in_null_coalescing_expression4062);
conditional_or_expression349 = conditional_or_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, conditional_or_expression349.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:798:31: ( OP_COALESCING ^ null_coalescing_expression )?
int alt68 = 2;
int LA68_0 = input.LA(1);
if ((LA68_0 == OP_COALESCING)) {
alt68 = 1;
}
switch (alt68) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:798:32: OP_COALESCING ^ null_coalescing_expression
{
OP_COALESCING350 = (Token) match(input, OP_COALESCING, FOLLOW_OP_COALESCING_in_null_coalescing_expression4065);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OP_COALESCING350_tree =
adaptor.create(OP_COALESCING350);
root_0 = adaptor.becomeRoot(OP_COALESCING350_tree, root_0);
}
pushFollow(FOLLOW_null_coalescing_expression_in_null_coalescing_expression4068);
null_coalescing_expression351 = null_coalescing_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, null_coalescing_expression351.getTree());
}
}
break;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "null_coalescing_expression"
public static class conditional_expression_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "conditional_expression"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:807:1: conditional_expression : (e1= null_coalescing_expression -> $e1) ( INTERR expression COLON expression -> ^( CONDITIONAL_EXPRESSION ^( THEN expression ) ^( ELSE expression ) ) )? ;
public final CSharpParser.conditional_expression_return conditional_expression() throws RecognitionException {
CSharpParser.conditional_expression_return retval = new CSharpParser.conditional_expression_return();
retval.start = input.LT(1);
Object root_0 = null;
Token INTERR352 = null;
Token COLON354 = null;
CSharpParser.null_coalescing_expression_return e1 = null;
CSharpParser.expression_return expression353 = null;
CSharpParser.expression_return expression355 = null;
Object INTERR352_tree = null;
Object COLON354_tree = null;
RewriteRuleTokenStream stream_COLON = new RewriteRuleTokenStream(adaptor, "token COLON");
RewriteRuleTokenStream stream_INTERR = new RewriteRuleTokenStream(adaptor, "token INTERR");
RewriteRuleSubtreeStream stream_expression = new RewriteRuleSubtreeStream(adaptor, "rule expression");
RewriteRuleSubtreeStream stream_null_coalescing_expression = new RewriteRuleSubtreeStream(adaptor, "rule null_coalescing_expression");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:808:3: ( (e1= null_coalescing_expression -> $e1) ( INTERR expression COLON expression -> ^( CONDITIONAL_EXPRESSION ^( THEN expression ) ^( ELSE expression ) ) )? )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:808:5: (e1= null_coalescing_expression -> $e1) ( INTERR expression COLON expression -> ^( CONDITIONAL_EXPRESSION ^( THEN expression ) ^( ELSE expression ) ) )?
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:808:5: (e1= null_coalescing_expression -> $e1)
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:808:6: e1= null_coalescing_expression
{
pushFollow(FOLLOW_null_coalescing_expression_in_conditional_expression4089);
e1 = null_coalescing_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_null_coalescing_expression.add(e1.getTree());
}
// AST REWRITE
// elements: e1
// token labels:
// rule labels: retval, e1
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
RewriteRuleSubtreeStream stream_e1 = new RewriteRuleSubtreeStream(adaptor, "rule e1", e1 != null ? e1.tree : null);
root_0 = adaptor.nil();
// 808:36: -> $e1
{
adaptor.addChild(root_0, stream_e1.nextTree());
}
retval.tree = root_0;
}
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:809:5: ( INTERR expression COLON expression -> ^( CONDITIONAL_EXPRESSION ^( THEN expression ) ^( ELSE expression ) ) )?
int alt69 = 2;
int LA69_0 = input.LA(1);
if ((LA69_0 == INTERR)) {
alt69 = 1;
}
switch (alt69) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:809:6: INTERR expression COLON expression
{
INTERR352 = (Token) match(input, INTERR, FOLLOW_INTERR_in_conditional_expression4102);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_INTERR.add(INTERR352);
}
pushFollow(FOLLOW_expression_in_conditional_expression4104);
expression353 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_expression.add(expression353.getTree());
}
COLON354 = (Token) match(input, COLON, FOLLOW_COLON_in_conditional_expression4106);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_COLON.add(COLON354);
}
pushFollow(FOLLOW_expression_in_conditional_expression4108);
expression355 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_expression.add(expression355.getTree());
}
// AST REWRITE
// elements: expression, expression
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 809:41: -> ^( CONDITIONAL_EXPRESSION ^( THEN expression ) ^( ELSE expression ) )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:809:44: ^( CONDITIONAL_EXPRESSION ^( THEN expression ) ^( ELSE expression ) )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(CONDITIONAL_EXPRESSION, "CONDITIONAL_EXPRESSION"), root_1);
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:809:69: ^( THEN expression )
{
Object root_2 = adaptor.nil();
root_2 = adaptor.becomeRoot(
adaptor.create(THEN, "THEN"), root_2);
adaptor.addChild(root_2, stream_expression.nextTree());
adaptor.addChild(root_1, root_2);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:809:88: ^( ELSE expression )
{
Object root_2 = adaptor.nil();
root_2 = adaptor.becomeRoot(
adaptor.create(ELSE, "ELSE"), root_2);
adaptor.addChild(root_2, stream_expression.nextTree());
adaptor.addChild(root_1, root_2);
}
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
break;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "conditional_expression"
public static class lambda_expression_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "lambda_expression"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:813:1: lambda_expression : anonymous_function_signature right_arrow anonymous_function_body ;
public final CSharpParser.lambda_expression_return lambda_expression() throws RecognitionException {
CSharpParser.lambda_expression_return retval = new CSharpParser.lambda_expression_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.anonymous_function_signature_return anonymous_function_signature356 = null;
CSharpParser.right_arrow_return right_arrow357 = null;
CSharpParser.anonymous_function_body_return anonymous_function_body358 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:814:2: ( anonymous_function_signature right_arrow anonymous_function_body )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:814:4: anonymous_function_signature right_arrow anonymous_function_body
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_anonymous_function_signature_in_lambda_expression4144);
anonymous_function_signature356 = anonymous_function_signature();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, anonymous_function_signature356.getTree());
}
pushFollow(FOLLOW_right_arrow_in_lambda_expression4146);
right_arrow357 = right_arrow();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, right_arrow357.getTree());
}
pushFollow(FOLLOW_anonymous_function_body_in_lambda_expression4148);
anonymous_function_body358 = anonymous_function_body();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, anonymous_function_body358.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "lambda_expression"
public static class anonymous_method_expression_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "anonymous_method_expression"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:817:1: anonymous_method_expression : DELEGATE ^ ( explicit_anonymous_function_signature )? block ;
public final CSharpParser.anonymous_method_expression_return anonymous_method_expression() throws RecognitionException {
CSharpParser.anonymous_method_expression_return retval = new CSharpParser.anonymous_method_expression_return();
retval.start = input.LT(1);
Object root_0 = null;
Token DELEGATE359 = null;
CSharpParser.explicit_anonymous_function_signature_return explicit_anonymous_function_signature360 = null;
CSharpParser.block_return block361 = null;
Object DELEGATE359_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:818:2: ( DELEGATE ^ ( explicit_anonymous_function_signature )? block )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:818:4: DELEGATE ^ ( explicit_anonymous_function_signature )? block
{
root_0 = adaptor.nil();
DELEGATE359 = (Token) match(input, DELEGATE, FOLLOW_DELEGATE_in_anonymous_method_expression4161);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
DELEGATE359_tree =
adaptor.create(DELEGATE359);
root_0 = adaptor.becomeRoot(DELEGATE359_tree, root_0);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:818:14: ( explicit_anonymous_function_signature )?
int alt70 = 2;
int LA70_0 = input.LA(1);
if ((LA70_0 == OPEN_PARENS)) {
alt70 = 1;
}
switch (alt70) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:818:14: explicit_anonymous_function_signature
{
pushFollow(FOLLOW_explicit_anonymous_function_signature_in_anonymous_method_expression4164);
explicit_anonymous_function_signature360 = explicit_anonymous_function_signature();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, explicit_anonymous_function_signature360.getTree());
}
}
break;
}
pushFollow(FOLLOW_block_in_anonymous_method_expression4167);
block361 = block();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, block361.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "anonymous_method_expression"
public static class anonymous_function_signature_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "anonymous_function_signature"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:827:1: anonymous_function_signature : ( OPEN_PARENS CLOSE_PARENS | OPEN_PARENS explicit_anonymous_function_parameter_list CLOSE_PARENS | OPEN_PARENS implicit_anonymous_function_parameter_list CLOSE_PARENS | implicit_anonymous_function_parameter );
public final CSharpParser.anonymous_function_signature_return anonymous_function_signature() throws RecognitionException {
CSharpParser.anonymous_function_signature_return retval = new CSharpParser.anonymous_function_signature_return();
retval.start = input.LT(1);
Object root_0 = null;
Token OPEN_PARENS362 = null;
Token CLOSE_PARENS363 = null;
Token OPEN_PARENS364 = null;
Token CLOSE_PARENS366 = null;
Token OPEN_PARENS367 = null;
Token CLOSE_PARENS369 = null;
CSharpParser.explicit_anonymous_function_parameter_list_return explicit_anonymous_function_parameter_list365 = null;
CSharpParser.implicit_anonymous_function_parameter_list_return implicit_anonymous_function_parameter_list368 = null;
CSharpParser.implicit_anonymous_function_parameter_return implicit_anonymous_function_parameter370 = null;
Object OPEN_PARENS362_tree = null;
Object CLOSE_PARENS363_tree = null;
Object OPEN_PARENS364_tree = null;
Object CLOSE_PARENS366_tree = null;
Object OPEN_PARENS367_tree = null;
Object CLOSE_PARENS369_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:828:3: ( OPEN_PARENS CLOSE_PARENS | OPEN_PARENS explicit_anonymous_function_parameter_list CLOSE_PARENS | OPEN_PARENS implicit_anonymous_function_parameter_list CLOSE_PARENS | implicit_anonymous_function_parameter )
int alt71 = 4;
int LA71_0 = input.LA(1);
if ((LA71_0 == OPEN_PARENS)) {
switch (input.LA(2)) {
case CLOSE_PARENS: {
alt71 = 1;
}
break;
case BOOL:
case BYTE:
case CHAR:
case DECIMAL:
case DOUBLE:
case FLOAT:
case INT:
case LONG:
case OBJECT:
case OUT:
case REF:
case SBYTE:
case SHORT:
case STRING:
case UINT:
case ULONG:
case USHORT:
case VOID: {
alt71 = 2;
}
break;
case IDENTIFIER: {
int LA71_5 = input.LA(3);
if ((LA71_5 == DOT || LA71_5 == DOUBLE_COLON || LA71_5 == IDENTIFIER || LA71_5 == INTERR || LA71_5 == LT || LA71_5 == OPEN_BRACKET || LA71_5 == STAR)) {
alt71 = 2;
} else if ((LA71_5 == CLOSE_PARENS || LA71_5 == COMMA)) {
alt71 = 3;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 71, 5, input);
throw nvae;
}
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 71, 1, input);
throw nvae;
}
} else if ((LA71_0 == IDENTIFIER)) {
alt71 = 4;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 71, 0, input);
throw nvae;
}
switch (alt71) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:828:5: OPEN_PARENS CLOSE_PARENS
{
root_0 = adaptor.nil();
OPEN_PARENS362 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_anonymous_function_signature4183);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_PARENS362_tree =
adaptor.create(OPEN_PARENS362);
adaptor.addChild(root_0, OPEN_PARENS362_tree);
}
CLOSE_PARENS363 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_anonymous_function_signature4185);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_PARENS363_tree =
adaptor.create(CLOSE_PARENS363);
adaptor.addChild(root_0, CLOSE_PARENS363_tree);
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:829:5: OPEN_PARENS explicit_anonymous_function_parameter_list CLOSE_PARENS
{
root_0 = adaptor.nil();
OPEN_PARENS364 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_anonymous_function_signature4191);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_PARENS364_tree =
adaptor.create(OPEN_PARENS364);
adaptor.addChild(root_0, OPEN_PARENS364_tree);
}
pushFollow(FOLLOW_explicit_anonymous_function_parameter_list_in_anonymous_function_signature4193);
explicit_anonymous_function_parameter_list365 = explicit_anonymous_function_parameter_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, explicit_anonymous_function_parameter_list365.getTree());
}
CLOSE_PARENS366 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_anonymous_function_signature4195);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_PARENS366_tree =
adaptor.create(CLOSE_PARENS366);
adaptor.addChild(root_0, CLOSE_PARENS366_tree);
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:830:5: OPEN_PARENS implicit_anonymous_function_parameter_list CLOSE_PARENS
{
root_0 = adaptor.nil();
OPEN_PARENS367 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_anonymous_function_signature4201);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_PARENS367_tree =
adaptor.create(OPEN_PARENS367);
adaptor.addChild(root_0, OPEN_PARENS367_tree);
}
pushFollow(FOLLOW_implicit_anonymous_function_parameter_list_in_anonymous_function_signature4203);
implicit_anonymous_function_parameter_list368 = implicit_anonymous_function_parameter_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, implicit_anonymous_function_parameter_list368.getTree());
}
CLOSE_PARENS369 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_anonymous_function_signature4205);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_PARENS369_tree =
adaptor.create(CLOSE_PARENS369);
adaptor.addChild(root_0, CLOSE_PARENS369_tree);
}
}
break;
case 4: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:831:5: implicit_anonymous_function_parameter
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_implicit_anonymous_function_parameter_in_anonymous_function_signature4211);
implicit_anonymous_function_parameter370 = implicit_anonymous_function_parameter();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, implicit_anonymous_function_parameter370.getTree());
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "anonymous_function_signature"
public static class explicit_anonymous_function_signature_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "explicit_anonymous_function_signature"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:833:1: explicit_anonymous_function_signature : OPEN_PARENS ( explicit_anonymous_function_parameter_list )? CLOSE_PARENS ;
public final CSharpParser.explicit_anonymous_function_signature_return explicit_anonymous_function_signature() throws RecognitionException {
CSharpParser.explicit_anonymous_function_signature_return retval = new CSharpParser.explicit_anonymous_function_signature_return();
retval.start = input.LT(1);
Object root_0 = null;
Token OPEN_PARENS371 = null;
Token CLOSE_PARENS373 = null;
CSharpParser.explicit_anonymous_function_parameter_list_return explicit_anonymous_function_parameter_list372 = null;
Object OPEN_PARENS371_tree = null;
Object CLOSE_PARENS373_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:834:2: ( OPEN_PARENS ( explicit_anonymous_function_parameter_list )? CLOSE_PARENS )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:834:4: OPEN_PARENS ( explicit_anonymous_function_parameter_list )? CLOSE_PARENS
{
root_0 = adaptor.nil();
OPEN_PARENS371 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_explicit_anonymous_function_signature4223);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_PARENS371_tree =
adaptor.create(OPEN_PARENS371);
adaptor.addChild(root_0, OPEN_PARENS371_tree);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:834:16: ( explicit_anonymous_function_parameter_list )?
int alt72 = 2;
int LA72_0 = input.LA(1);
if ((LA72_0 == BOOL || LA72_0 == BYTE || LA72_0 == CHAR || LA72_0 == DECIMAL || LA72_0 == DOUBLE || LA72_0 == FLOAT || LA72_0 == IDENTIFIER || LA72_0 == INT || LA72_0 == LONG || LA72_0 == OBJECT || LA72_0 == OUT || LA72_0 == REF || LA72_0 == SBYTE || LA72_0 == SHORT || LA72_0 == STRING || (LA72_0 >= UINT && LA72_0 <= ULONG) || LA72_0 == USHORT || LA72_0 == VOID)) {
alt72 = 1;
}
switch (alt72) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:834:16: explicit_anonymous_function_parameter_list
{
pushFollow(FOLLOW_explicit_anonymous_function_parameter_list_in_explicit_anonymous_function_signature4225);
explicit_anonymous_function_parameter_list372 = explicit_anonymous_function_parameter_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, explicit_anonymous_function_parameter_list372.getTree());
}
}
break;
}
CLOSE_PARENS373 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_explicit_anonymous_function_signature4228);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_PARENS373_tree =
adaptor.create(CLOSE_PARENS373);
adaptor.addChild(root_0, CLOSE_PARENS373_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "explicit_anonymous_function_signature"
public static class explicit_anonymous_function_parameter_list_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "explicit_anonymous_function_parameter_list"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:836:1: explicit_anonymous_function_parameter_list : explicit_anonymous_function_parameter ( COMMA explicit_anonymous_function_parameter )* ;
public final CSharpParser.explicit_anonymous_function_parameter_list_return explicit_anonymous_function_parameter_list() throws RecognitionException {
CSharpParser.explicit_anonymous_function_parameter_list_return retval = new CSharpParser.explicit_anonymous_function_parameter_list_return();
retval.start = input.LT(1);
Object root_0 = null;
Token COMMA375 = null;
CSharpParser.explicit_anonymous_function_parameter_return explicit_anonymous_function_parameter374 = null;
CSharpParser.explicit_anonymous_function_parameter_return explicit_anonymous_function_parameter376 = null;
Object COMMA375_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:837:2: ( explicit_anonymous_function_parameter ( COMMA explicit_anonymous_function_parameter )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:837:4: explicit_anonymous_function_parameter ( COMMA explicit_anonymous_function_parameter )*
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_explicit_anonymous_function_parameter_in_explicit_anonymous_function_parameter_list4239);
explicit_anonymous_function_parameter374 = explicit_anonymous_function_parameter();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, explicit_anonymous_function_parameter374.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:837:42: ( COMMA explicit_anonymous_function_parameter )*
loop73:
do {
int alt73 = 2;
int LA73_0 = input.LA(1);
if ((LA73_0 == COMMA)) {
alt73 = 1;
}
switch (alt73) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:837:44: COMMA explicit_anonymous_function_parameter
{
COMMA375 = (Token) match(input, COMMA, FOLLOW_COMMA_in_explicit_anonymous_function_parameter_list4243);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
COMMA375_tree =
adaptor.create(COMMA375);
adaptor.addChild(root_0, COMMA375_tree);
}
pushFollow(FOLLOW_explicit_anonymous_function_parameter_in_explicit_anonymous_function_parameter_list4245);
explicit_anonymous_function_parameter376 = explicit_anonymous_function_parameter();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, explicit_anonymous_function_parameter376.getTree());
}
}
break;
default:
break loop73;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "explicit_anonymous_function_parameter_list"
public static class explicit_anonymous_function_parameter_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "explicit_anonymous_function_parameter"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:839:1: explicit_anonymous_function_parameter : ( anonymous_function_parameter_modifier )? type IDENTIFIER ;
public final CSharpParser.explicit_anonymous_function_parameter_return explicit_anonymous_function_parameter() throws RecognitionException {
CSharpParser.explicit_anonymous_function_parameter_return retval = new CSharpParser.explicit_anonymous_function_parameter_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER379 = null;
CSharpParser.anonymous_function_parameter_modifier_return anonymous_function_parameter_modifier377 = null;
CSharpParser.type_return type378 = null;
Object IDENTIFIER379_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:840:2: ( ( anonymous_function_parameter_modifier )? type IDENTIFIER )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:840:4: ( anonymous_function_parameter_modifier )? type IDENTIFIER
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:840:4: ( anonymous_function_parameter_modifier )?
int alt74 = 2;
int LA74_0 = input.LA(1);
if ((LA74_0 == OUT || LA74_0 == REF)) {
alt74 = 1;
}
switch (alt74) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:840:4: anonymous_function_parameter_modifier
{
pushFollow(FOLLOW_anonymous_function_parameter_modifier_in_explicit_anonymous_function_parameter4258);
anonymous_function_parameter_modifier377 = anonymous_function_parameter_modifier();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, anonymous_function_parameter_modifier377.getTree());
}
}
break;
}
pushFollow(FOLLOW_type_in_explicit_anonymous_function_parameter4261);
type378 = type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type378.getTree());
}
IDENTIFIER379 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_explicit_anonymous_function_parameter4263);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER379_tree =
adaptor.create(IDENTIFIER379);
adaptor.addChild(root_0, IDENTIFIER379_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "explicit_anonymous_function_parameter"
public static class anonymous_function_parameter_modifier_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "anonymous_function_parameter_modifier"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:842:1: anonymous_function_parameter_modifier : ( REF | OUT );
public final CSharpParser.anonymous_function_parameter_modifier_return anonymous_function_parameter_modifier() throws RecognitionException {
CSharpParser.anonymous_function_parameter_modifier_return retval = new CSharpParser.anonymous_function_parameter_modifier_return();
retval.start = input.LT(1);
Object root_0 = null;
Token set380 = null;
Object set380_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:843:2: ( REF | OUT )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:
{
root_0 = adaptor.nil();
set380 = input.LT(1);
if (input.LA(1) == OUT || input.LA(1) == REF) {
input.consume();
if (state.backtracking == 0) {
adaptor.addChild(root_0,
adaptor.create(set380));
}
state.errorRecovery = false;
state.failed = false;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
MismatchedSetException mse = new MismatchedSetException(null, input);
throw mse;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "anonymous_function_parameter_modifier"
public static class implicit_anonymous_function_signature_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "implicit_anonymous_function_signature"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:846:1: implicit_anonymous_function_signature : ( OPEN_PARENS ( implicit_anonymous_function_parameter_list )? CLOSE_PARENS | implicit_anonymous_function_parameter );
public final CSharpParser.implicit_anonymous_function_signature_return implicit_anonymous_function_signature() throws RecognitionException {
CSharpParser.implicit_anonymous_function_signature_return retval = new CSharpParser.implicit_anonymous_function_signature_return();
retval.start = input.LT(1);
Object root_0 = null;
Token OPEN_PARENS381 = null;
Token CLOSE_PARENS383 = null;
CSharpParser.implicit_anonymous_function_parameter_list_return implicit_anonymous_function_parameter_list382 = null;
CSharpParser.implicit_anonymous_function_parameter_return implicit_anonymous_function_parameter384 = null;
Object OPEN_PARENS381_tree = null;
Object CLOSE_PARENS383_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:847:2: ( OPEN_PARENS ( implicit_anonymous_function_parameter_list )? CLOSE_PARENS | implicit_anonymous_function_parameter )
int alt76 = 2;
int LA76_0 = input.LA(1);
if ((LA76_0 == OPEN_PARENS)) {
alt76 = 1;
} else if ((LA76_0 == IDENTIFIER)) {
alt76 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 76, 0, input);
throw nvae;
}
switch (alt76) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:847:4: OPEN_PARENS ( implicit_anonymous_function_parameter_list )? CLOSE_PARENS
{
root_0 = adaptor.nil();
OPEN_PARENS381 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_implicit_anonymous_function_signature4290);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_PARENS381_tree =
adaptor.create(OPEN_PARENS381);
adaptor.addChild(root_0, OPEN_PARENS381_tree);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:847:16: ( implicit_anonymous_function_parameter_list )?
int alt75 = 2;
int LA75_0 = input.LA(1);
if ((LA75_0 == IDENTIFIER)) {
alt75 = 1;
}
switch (alt75) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:847:16: implicit_anonymous_function_parameter_list
{
pushFollow(FOLLOW_implicit_anonymous_function_parameter_list_in_implicit_anonymous_function_signature4292);
implicit_anonymous_function_parameter_list382 = implicit_anonymous_function_parameter_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, implicit_anonymous_function_parameter_list382.getTree());
}
}
break;
}
CLOSE_PARENS383 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_implicit_anonymous_function_signature4295);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_PARENS383_tree =
adaptor.create(CLOSE_PARENS383);
adaptor.addChild(root_0, CLOSE_PARENS383_tree);
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:848:4: implicit_anonymous_function_parameter
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_implicit_anonymous_function_parameter_in_implicit_anonymous_function_signature4300);
implicit_anonymous_function_parameter384 = implicit_anonymous_function_parameter();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, implicit_anonymous_function_parameter384.getTree());
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "implicit_anonymous_function_signature"
public static class implicit_anonymous_function_parameter_list_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "implicit_anonymous_function_parameter_list"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:850:1: implicit_anonymous_function_parameter_list : implicit_anonymous_function_parameter ( COMMA implicit_anonymous_function_parameter )* ;
public final CSharpParser.implicit_anonymous_function_parameter_list_return implicit_anonymous_function_parameter_list() throws RecognitionException {
CSharpParser.implicit_anonymous_function_parameter_list_return retval = new CSharpParser.implicit_anonymous_function_parameter_list_return();
retval.start = input.LT(1);
Object root_0 = null;
Token COMMA386 = null;
CSharpParser.implicit_anonymous_function_parameter_return implicit_anonymous_function_parameter385 = null;
CSharpParser.implicit_anonymous_function_parameter_return implicit_anonymous_function_parameter387 = null;
Object COMMA386_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:851:2: ( implicit_anonymous_function_parameter ( COMMA implicit_anonymous_function_parameter )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:851:4: implicit_anonymous_function_parameter ( COMMA implicit_anonymous_function_parameter )*
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_implicit_anonymous_function_parameter_in_implicit_anonymous_function_parameter_list4311);
implicit_anonymous_function_parameter385 = implicit_anonymous_function_parameter();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, implicit_anonymous_function_parameter385.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:851:42: ( COMMA implicit_anonymous_function_parameter )*
loop77:
do {
int alt77 = 2;
int LA77_0 = input.LA(1);
if ((LA77_0 == COMMA)) {
alt77 = 1;
}
switch (alt77) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:851:44: COMMA implicit_anonymous_function_parameter
{
COMMA386 = (Token) match(input, COMMA, FOLLOW_COMMA_in_implicit_anonymous_function_parameter_list4315);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
COMMA386_tree =
adaptor.create(COMMA386);
adaptor.addChild(root_0, COMMA386_tree);
}
pushFollow(FOLLOW_implicit_anonymous_function_parameter_in_implicit_anonymous_function_parameter_list4317);
implicit_anonymous_function_parameter387 = implicit_anonymous_function_parameter();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, implicit_anonymous_function_parameter387.getTree());
}
}
break;
default:
break loop77;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "implicit_anonymous_function_parameter_list"
public static class implicit_anonymous_function_parameter_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "implicit_anonymous_function_parameter"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:854:1: implicit_anonymous_function_parameter : IDENTIFIER ;
public final CSharpParser.implicit_anonymous_function_parameter_return implicit_anonymous_function_parameter() throws RecognitionException {
CSharpParser.implicit_anonymous_function_parameter_return retval = new CSharpParser.implicit_anonymous_function_parameter_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER388 = null;
Object IDENTIFIER388_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:855:2: ( IDENTIFIER )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:855:4: IDENTIFIER
{
root_0 = adaptor.nil();
IDENTIFIER388 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_implicit_anonymous_function_parameter4332);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER388_tree =
adaptor.create(IDENTIFIER388);
adaptor.addChild(root_0, IDENTIFIER388_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "implicit_anonymous_function_parameter"
public static class anonymous_function_body_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "anonymous_function_body"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:857:1: anonymous_function_body : ( expression | block );
public final CSharpParser.anonymous_function_body_return anonymous_function_body() throws RecognitionException {
CSharpParser.anonymous_function_body_return retval = new CSharpParser.anonymous_function_body_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.expression_return expression389 = null;
CSharpParser.block_return block390 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:858:2: ( expression | block )
int alt78 = 2;
int LA78_0 = input.LA(1);
if ((LA78_0 == AMP || (LA78_0 >= BANG && LA78_0 <= BASE) || LA78_0 == BOOL || LA78_0 == BYTE || (LA78_0 >= CHAR && LA78_0 <= CHECKED) || LA78_0 == DECIMAL || (LA78_0 >= DEFAULT && LA78_0 <= DELEGATE) || LA78_0 == DOUBLE || LA78_0 == FALSE || LA78_0 == FLOAT || LA78_0 == IDENTIFIER || (LA78_0 >= INT && LA78_0 <= INTEGER_LITERAL) || LA78_0 == LONG || LA78_0 == MINUS || LA78_0 == NEW || LA78_0 == NULL || LA78_0 == OBJECT || LA78_0 == OPEN_PARENS || LA78_0 == OP_DEC || LA78_0 == OP_INC || LA78_0 == PLUS || LA78_0 == REAL_LITERAL || LA78_0 == SBYTE || LA78_0 == SHORT || LA78_0 == SIZEOF || LA78_0 == STAR || (LA78_0 >= STRING && LA78_0 <= STRING_LITERAL) || LA78_0 == THIS || (LA78_0 >= TILDE && LA78_0 <= TRUE) || (LA78_0 >= TYPEOF && LA78_0 <= UNCHECKED) || LA78_0 == USHORT)) {
alt78 = 1;
} else if ((LA78_0 == OPEN_BRACE)) {
alt78 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 78, 0, input);
throw nvae;
}
switch (alt78) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:858:4: expression
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_expression_in_anonymous_function_body4343);
expression389 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression389.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:859:4: block
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_block_in_anonymous_function_body4348);
block390 = block();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, block390.getTree());
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "anonymous_function_body"
public static class query_expression_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "query_expression"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:862:1: query_expression : from_clause query_body ;
public final CSharpParser.query_expression_return query_expression() throws RecognitionException {
CSharpParser.query_expression_return retval = new CSharpParser.query_expression_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.from_clause_return from_clause391 = null;
CSharpParser.query_body_return query_body392 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:863:2: ( from_clause query_body )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:863:4: from_clause query_body
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_from_clause_in_query_expression4361);
from_clause391 = from_clause();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, from_clause391.getTree());
}
pushFollow(FOLLOW_query_body_in_query_expression4363);
query_body392 = query_body();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, query_body392.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "query_expression"
public static class from_clause_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "from_clause"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:865:1: from_clause : from_contextual_keyword ( ( type IDENTIFIER IN )=> type )? IDENTIFIER IN expression ;
public final CSharpParser.from_clause_return from_clause() throws RecognitionException {
CSharpParser.from_clause_return retval = new CSharpParser.from_clause_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER395 = null;
Token IN396 = null;
CSharpParser.from_contextual_keyword_return from_contextual_keyword393 = null;
CSharpParser.type_return type394 = null;
CSharpParser.expression_return expression397 = null;
Object IDENTIFIER395_tree = null;
Object IN396_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:866:2: ( from_contextual_keyword ( ( type IDENTIFIER IN )=> type )? IDENTIFIER IN expression )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:866:4: from_contextual_keyword ( ( type IDENTIFIER IN )=> type )? IDENTIFIER IN expression
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_from_contextual_keyword_in_from_clause4374);
from_contextual_keyword393 = from_contextual_keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, from_contextual_keyword393.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:866:28: ( ( type IDENTIFIER IN )=> type )?
int alt79 = 2;
int LA79_0 = input.LA(1);
if ((LA79_0 == BYTE || LA79_0 == CHAR || LA79_0 == INT || LA79_0 == LONG || LA79_0 == SBYTE || LA79_0 == SHORT || (LA79_0 >= UINT && LA79_0 <= ULONG) || LA79_0 == USHORT) && (synpred9_CSharpParser())) {
alt79 = 1;
} else if ((LA79_0 == DOUBLE || LA79_0 == FLOAT) && (synpred9_CSharpParser())) {
alt79 = 1;
} else if ((LA79_0 == DECIMAL) && (synpred9_CSharpParser())) {
alt79 = 1;
} else if ((LA79_0 == BOOL) && (synpred9_CSharpParser())) {
alt79 = 1;
} else if ((LA79_0 == IDENTIFIER)) {
int LA79_5 = input.LA(2);
if ((LA79_5 == DOUBLE_COLON) && (synpred9_CSharpParser())) {
alt79 = 1;
} else if ((LA79_5 == LT) && (synpred9_CSharpParser())) {
alt79 = 1;
} else if ((LA79_5 == DOT) && (synpred9_CSharpParser())) {
alt79 = 1;
} else if ((LA79_5 == INTERR) && (synpred9_CSharpParser())) {
alt79 = 1;
} else if ((LA79_5 == OPEN_BRACKET) && (synpred9_CSharpParser())) {
alt79 = 1;
} else if ((LA79_5 == STAR) && (synpred9_CSharpParser())) {
alt79 = 1;
} else if ((LA79_5 == IDENTIFIER) && (synpred9_CSharpParser())) {
alt79 = 1;
}
} else if ((LA79_0 == OBJECT) && (synpred9_CSharpParser())) {
alt79 = 1;
} else if ((LA79_0 == STRING) && (synpred9_CSharpParser())) {
alt79 = 1;
} else if ((LA79_0 == VOID) && (synpred9_CSharpParser())) {
alt79 = 1;
}
switch (alt79) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:866:29: ( type IDENTIFIER IN )=> type
{
pushFollow(FOLLOW_type_in_from_clause4387);
type394 = type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type394.getTree());
}
}
break;
}
IDENTIFIER395 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_from_clause4391);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER395_tree =
adaptor.create(IDENTIFIER395);
adaptor.addChild(root_0, IDENTIFIER395_tree);
}
IN396 = (Token) match(input, IN, FOLLOW_IN_in_from_clause4393);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IN396_tree =
adaptor.create(IN396);
adaptor.addChild(root_0, IN396_tree);
}
pushFollow(FOLLOW_expression_in_from_clause4395);
expression397 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression397.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "from_clause"
public static class query_body_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "query_body"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:873:1: query_body : ( query_body_clauses )? select_or_group_clause ( ( into_contextual_keyword )=> query_continuation )? ;
public final CSharpParser.query_body_return query_body() throws RecognitionException {
CSharpParser.query_body_return retval = new CSharpParser.query_body_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.query_body_clauses_return query_body_clauses398 = null;
CSharpParser.select_or_group_clause_return select_or_group_clause399 = null;
CSharpParser.query_continuation_return query_continuation400 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:874:3: ( ( query_body_clauses )? select_or_group_clause ( ( into_contextual_keyword )=> query_continuation )? )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:874:5: ( query_body_clauses )? select_or_group_clause ( ( into_contextual_keyword )=> query_continuation )?
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:874:5: ( query_body_clauses )?
int alt80 = 2;
int LA80_0 = input.LA(1);
if ((LA80_0 == IDENTIFIER)) {
int LA80_1 = input.LA(2);
if ((((input.LT(1).getText().equals("where")) || (input.LT(1).getText().equals("orderby")) || (input.LT(1).getText().equals("let")) || (input.LT(1).getText().equals("join")) || (input.LT(1).getText().equals("from"))))) {
alt80 = 1;
}
}
switch (alt80) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:874:5: query_body_clauses
{
pushFollow(FOLLOW_query_body_clauses_in_query_body4409);
query_body_clauses398 = query_body_clauses();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, query_body_clauses398.getTree());
}
}
break;
}
pushFollow(FOLLOW_select_or_group_clause_in_query_body4412);
select_or_group_clause399 = select_or_group_clause();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, select_or_group_clause399.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:874:48: ( ( into_contextual_keyword )=> query_continuation )?
int alt81 = 2;
int LA81_0 = input.LA(1);
if ((LA81_0 == IDENTIFIER)) {
int LA81_1 = input.LA(2);
if ((((synpred10_CSharpParser() && synpred10_CSharpParser()) && (input.LT(1).getText().equals("into"))))) {
alt81 = 1;
}
}
switch (alt81) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:874:49: ( into_contextual_keyword )=> query_continuation
{
pushFollow(FOLLOW_query_continuation_in_query_body4421);
query_continuation400 = query_continuation();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, query_continuation400.getTree());
}
}
break;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "query_body"
public static class query_body_clauses_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "query_body_clauses"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:876:1: query_body_clauses : query_body_clause ( query_body_clause )* ;
public final CSharpParser.query_body_clauses_return query_body_clauses() throws RecognitionException {
CSharpParser.query_body_clauses_return retval = new CSharpParser.query_body_clauses_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.query_body_clause_return query_body_clause401 = null;
CSharpParser.query_body_clause_return query_body_clause402 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:877:2: ( query_body_clause ( query_body_clause )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:877:4: query_body_clause ( query_body_clause )*
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_query_body_clause_in_query_body_clauses4435);
query_body_clause401 = query_body_clause();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, query_body_clause401.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:877:22: ( query_body_clause )*
loop82:
do {
int alt82 = 2;
int LA82_0 = input.LA(1);
if ((LA82_0 == IDENTIFIER)) {
int LA82_1 = input.LA(2);
if ((((input.LT(1).getText().equals("where")) || (input.LT(1).getText().equals("orderby")) || (input.LT(1).getText().equals("let")) || (input.LT(1).getText().equals("join")) || (input.LT(1).getText().equals("from"))))) {
alt82 = 1;
}
}
switch (alt82) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:877:24: query_body_clause
{
pushFollow(FOLLOW_query_body_clause_in_query_body_clauses4439);
query_body_clause402 = query_body_clause();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, query_body_clause402.getTree());
}
}
break;
default:
break loop82;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "query_body_clauses"
public static class query_body_clause_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "query_body_clause"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:889:1: query_body_clause : ( from_clause | let_clause | where_clause | combined_join_clause | orderby_clause );
public final CSharpParser.query_body_clause_return query_body_clause() throws RecognitionException {
CSharpParser.query_body_clause_return retval = new CSharpParser.query_body_clause_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.from_clause_return from_clause403 = null;
CSharpParser.let_clause_return let_clause404 = null;
CSharpParser.where_clause_return where_clause405 = null;
CSharpParser.combined_join_clause_return combined_join_clause406 = null;
CSharpParser.orderby_clause_return orderby_clause407 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:890:3: ( from_clause | let_clause | where_clause | combined_join_clause | orderby_clause )
int alt83 = 5;
int LA83_0 = input.LA(1);
if ((LA83_0 == IDENTIFIER)) {
int LA83_1 = input.LA(2);
if (((input.LT(1).getText().equals("from")))) {
alt83 = 1;
} else if (((input.LT(1).getText().equals("let")))) {
alt83 = 2;
} else if (((input.LT(1).getText().equals("where")))) {
alt83 = 3;
} else if (((input.LT(1).getText().equals("join")))) {
alt83 = 4;
} else if (((input.LT(1).getText().equals("orderby")))) {
alt83 = 5;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 83, 1, input);
throw nvae;
}
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 83, 0, input);
throw nvae;
}
switch (alt83) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:890:5: from_clause
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_from_clause_in_query_body_clause4456);
from_clause403 = from_clause();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, from_clause403.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:891:5: let_clause
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_let_clause_in_query_body_clause4462);
let_clause404 = let_clause();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, let_clause404.getTree());
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:892:5: where_clause
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_where_clause_in_query_body_clause4468);
where_clause405 = where_clause();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, where_clause405.getTree());
}
}
break;
case 4: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:893:5: combined_join_clause
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_combined_join_clause_in_query_body_clause4474);
combined_join_clause406 = combined_join_clause();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, combined_join_clause406.getTree());
}
}
break;
case 5: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:894:5: orderby_clause
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_orderby_clause_in_query_body_clause4480);
orderby_clause407 = orderby_clause();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, orderby_clause407.getTree());
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "query_body_clause"
public static class let_clause_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "let_clause"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:896:1: let_clause : let_contextual_keyword IDENTIFIER ASSIGNMENT expression ;
public final CSharpParser.let_clause_return let_clause() throws RecognitionException {
CSharpParser.let_clause_return retval = new CSharpParser.let_clause_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER409 = null;
Token ASSIGNMENT410 = null;
CSharpParser.let_contextual_keyword_return let_contextual_keyword408 = null;
CSharpParser.expression_return expression411 = null;
Object IDENTIFIER409_tree = null;
Object ASSIGNMENT410_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:897:2: ( let_contextual_keyword IDENTIFIER ASSIGNMENT expression )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:897:4: let_contextual_keyword IDENTIFIER ASSIGNMENT expression
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_let_contextual_keyword_in_let_clause4492);
let_contextual_keyword408 = let_contextual_keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, let_contextual_keyword408.getTree());
}
IDENTIFIER409 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_let_clause4494);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER409_tree =
adaptor.create(IDENTIFIER409);
adaptor.addChild(root_0, IDENTIFIER409_tree);
}
ASSIGNMENT410 = (Token) match(input, ASSIGNMENT, FOLLOW_ASSIGNMENT_in_let_clause4496);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
ASSIGNMENT410_tree =
adaptor.create(ASSIGNMENT410);
adaptor.addChild(root_0, ASSIGNMENT410_tree);
}
pushFollow(FOLLOW_expression_in_let_clause4498);
expression411 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression411.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "let_clause"
public static class where_clause_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "where_clause"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:899:1: where_clause : where_contextual_keyword boolean_expression ;
public final CSharpParser.where_clause_return where_clause() throws RecognitionException {
CSharpParser.where_clause_return retval = new CSharpParser.where_clause_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.where_contextual_keyword_return where_contextual_keyword412 = null;
CSharpParser.boolean_expression_return boolean_expression413 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:900:2: ( where_contextual_keyword boolean_expression )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:900:4: where_contextual_keyword boolean_expression
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_where_contextual_keyword_in_where_clause4509);
where_contextual_keyword412 = where_contextual_keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, where_contextual_keyword412.getTree());
}
pushFollow(FOLLOW_boolean_expression_in_where_clause4511);
boolean_expression413 = boolean_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, boolean_expression413.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "where_clause"
public static class join_clause_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "join_clause"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:902:1: join_clause : join_contextual_keyword ( type )? IDENTIFIER IN expression on_contextual_keyword expression equals_contextual_keyword expression ;
public final CSharpParser.join_clause_return join_clause() throws RecognitionException {
CSharpParser.join_clause_return retval = new CSharpParser.join_clause_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER416 = null;
Token IN417 = null;
CSharpParser.join_contextual_keyword_return join_contextual_keyword414 = null;
CSharpParser.type_return type415 = null;
CSharpParser.expression_return expression418 = null;
CSharpParser.on_contextual_keyword_return on_contextual_keyword419 = null;
CSharpParser.expression_return expression420 = null;
CSharpParser.equals_contextual_keyword_return equals_contextual_keyword421 = null;
CSharpParser.expression_return expression422 = null;
Object IDENTIFIER416_tree = null;
Object IN417_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:903:2: ( join_contextual_keyword ( type )? IDENTIFIER IN expression on_contextual_keyword expression equals_contextual_keyword expression )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:903:4: join_contextual_keyword ( type )? IDENTIFIER IN expression on_contextual_keyword expression equals_contextual_keyword expression
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_join_contextual_keyword_in_join_clause4522);
join_contextual_keyword414 = join_contextual_keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, join_contextual_keyword414.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:903:28: ( type )?
int alt84 = 2;
int LA84_0 = input.LA(1);
if ((LA84_0 == BOOL || LA84_0 == BYTE || LA84_0 == CHAR || LA84_0 == DECIMAL || LA84_0 == DOUBLE || LA84_0 == FLOAT || LA84_0 == INT || LA84_0 == LONG || LA84_0 == OBJECT || LA84_0 == SBYTE || LA84_0 == SHORT || LA84_0 == STRING || (LA84_0 >= UINT && LA84_0 <= ULONG) || LA84_0 == USHORT || LA84_0 == VOID)) {
alt84 = 1;
} else if ((LA84_0 == IDENTIFIER)) {
int LA84_2 = input.LA(2);
if ((LA84_2 == DOT || LA84_2 == DOUBLE_COLON || LA84_2 == IDENTIFIER || LA84_2 == INTERR || LA84_2 == LT || LA84_2 == OPEN_BRACKET || LA84_2 == STAR)) {
alt84 = 1;
}
}
switch (alt84) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:903:28: type
{
pushFollow(FOLLOW_type_in_join_clause4524);
type415 = type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type415.getTree());
}
}
break;
}
IDENTIFIER416 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_join_clause4527);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER416_tree =
adaptor.create(IDENTIFIER416);
adaptor.addChild(root_0, IDENTIFIER416_tree);
}
IN417 = (Token) match(input, IN, FOLLOW_IN_in_join_clause4529);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IN417_tree =
adaptor.create(IN417);
adaptor.addChild(root_0, IN417_tree);
}
pushFollow(FOLLOW_expression_in_join_clause4531);
expression418 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression418.getTree());
}
pushFollow(FOLLOW_on_contextual_keyword_in_join_clause4533);
on_contextual_keyword419 = on_contextual_keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, on_contextual_keyword419.getTree());
}
pushFollow(FOLLOW_expression_in_join_clause4535);
expression420 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression420.getTree());
}
pushFollow(FOLLOW_equals_contextual_keyword_in_join_clause4537);
equals_contextual_keyword421 = equals_contextual_keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, equals_contextual_keyword421.getTree());
}
pushFollow(FOLLOW_expression_in_join_clause4539);
expression422 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression422.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "join_clause"
public static class join_into_clause_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "join_into_clause"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:905:1: join_into_clause : join_contextual_keyword ( type )? IDENTIFIER IN expression on_contextual_keyword expression equals_contextual_keyword expression into_contextual_keyword IDENTIFIER ;
public final CSharpParser.join_into_clause_return join_into_clause() throws RecognitionException {
CSharpParser.join_into_clause_return retval = new CSharpParser.join_into_clause_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER425 = null;
Token IN426 = null;
Token IDENTIFIER433 = null;
CSharpParser.join_contextual_keyword_return join_contextual_keyword423 = null;
CSharpParser.type_return type424 = null;
CSharpParser.expression_return expression427 = null;
CSharpParser.on_contextual_keyword_return on_contextual_keyword428 = null;
CSharpParser.expression_return expression429 = null;
CSharpParser.equals_contextual_keyword_return equals_contextual_keyword430 = null;
CSharpParser.expression_return expression431 = null;
CSharpParser.into_contextual_keyword_return into_contextual_keyword432 = null;
Object IDENTIFIER425_tree = null;
Object IN426_tree = null;
Object IDENTIFIER433_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:906:2: ( join_contextual_keyword ( type )? IDENTIFIER IN expression on_contextual_keyword expression equals_contextual_keyword expression into_contextual_keyword IDENTIFIER )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:906:4: join_contextual_keyword ( type )? IDENTIFIER IN expression on_contextual_keyword expression equals_contextual_keyword expression into_contextual_keyword IDENTIFIER
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_join_contextual_keyword_in_join_into_clause4550);
join_contextual_keyword423 = join_contextual_keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, join_contextual_keyword423.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:906:28: ( type )?
int alt85 = 2;
int LA85_0 = input.LA(1);
if ((LA85_0 == BOOL || LA85_0 == BYTE || LA85_0 == CHAR || LA85_0 == DECIMAL || LA85_0 == DOUBLE || LA85_0 == FLOAT || LA85_0 == INT || LA85_0 == LONG || LA85_0 == OBJECT || LA85_0 == SBYTE || LA85_0 == SHORT || LA85_0 == STRING || (LA85_0 >= UINT && LA85_0 <= ULONG) || LA85_0 == USHORT || LA85_0 == VOID)) {
alt85 = 1;
} else if ((LA85_0 == IDENTIFIER)) {
int LA85_2 = input.LA(2);
if ((LA85_2 == DOT || LA85_2 == DOUBLE_COLON || LA85_2 == IDENTIFIER || LA85_2 == INTERR || LA85_2 == LT || LA85_2 == OPEN_BRACKET || LA85_2 == STAR)) {
alt85 = 1;
}
}
switch (alt85) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:906:28: type
{
pushFollow(FOLLOW_type_in_join_into_clause4552);
type424 = type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type424.getTree());
}
}
break;
}
IDENTIFIER425 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_join_into_clause4555);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER425_tree =
adaptor.create(IDENTIFIER425);
adaptor.addChild(root_0, IDENTIFIER425_tree);
}
IN426 = (Token) match(input, IN, FOLLOW_IN_in_join_into_clause4557);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IN426_tree =
adaptor.create(IN426);
adaptor.addChild(root_0, IN426_tree);
}
pushFollow(FOLLOW_expression_in_join_into_clause4559);
expression427 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression427.getTree());
}
pushFollow(FOLLOW_on_contextual_keyword_in_join_into_clause4561);
on_contextual_keyword428 = on_contextual_keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, on_contextual_keyword428.getTree());
}
pushFollow(FOLLOW_expression_in_join_into_clause4563);
expression429 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression429.getTree());
}
pushFollow(FOLLOW_equals_contextual_keyword_in_join_into_clause4565);
equals_contextual_keyword430 = equals_contextual_keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, equals_contextual_keyword430.getTree());
}
pushFollow(FOLLOW_expression_in_join_into_clause4567);
expression431 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression431.getTree());
}
pushFollow(FOLLOW_into_contextual_keyword_in_join_into_clause4569);
into_contextual_keyword432 = into_contextual_keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, into_contextual_keyword432.getTree());
}
IDENTIFIER433 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_join_into_clause4571);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER433_tree =
adaptor.create(IDENTIFIER433);
adaptor.addChild(root_0, IDENTIFIER433_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "join_into_clause"
public static class combined_join_clause_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "combined_join_clause"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:909:1: combined_join_clause : join_contextual_keyword ( type )? IDENTIFIER IN expression on_contextual_keyword expression equals_contextual_keyword expression ( into_contextual_keyword IDENTIFIER )? ;
public final CSharpParser.combined_join_clause_return combined_join_clause() throws RecognitionException {
CSharpParser.combined_join_clause_return retval = new CSharpParser.combined_join_clause_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER436 = null;
Token IN437 = null;
Token IDENTIFIER444 = null;
CSharpParser.join_contextual_keyword_return join_contextual_keyword434 = null;
CSharpParser.type_return type435 = null;
CSharpParser.expression_return expression438 = null;
CSharpParser.on_contextual_keyword_return on_contextual_keyword439 = null;
CSharpParser.expression_return expression440 = null;
CSharpParser.equals_contextual_keyword_return equals_contextual_keyword441 = null;
CSharpParser.expression_return expression442 = null;
CSharpParser.into_contextual_keyword_return into_contextual_keyword443 = null;
Object IDENTIFIER436_tree = null;
Object IN437_tree = null;
Object IDENTIFIER444_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:910:3: ( join_contextual_keyword ( type )? IDENTIFIER IN expression on_contextual_keyword expression equals_contextual_keyword expression ( into_contextual_keyword IDENTIFIER )? )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:910:5: join_contextual_keyword ( type )? IDENTIFIER IN expression on_contextual_keyword expression equals_contextual_keyword expression ( into_contextual_keyword IDENTIFIER )?
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_join_contextual_keyword_in_combined_join_clause4583);
join_contextual_keyword434 = join_contextual_keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, join_contextual_keyword434.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:910:29: ( type )?
int alt86 = 2;
int LA86_0 = input.LA(1);
if ((LA86_0 == BOOL || LA86_0 == BYTE || LA86_0 == CHAR || LA86_0 == DECIMAL || LA86_0 == DOUBLE || LA86_0 == FLOAT || LA86_0 == INT || LA86_0 == LONG || LA86_0 == OBJECT || LA86_0 == SBYTE || LA86_0 == SHORT || LA86_0 == STRING || (LA86_0 >= UINT && LA86_0 <= ULONG) || LA86_0 == USHORT || LA86_0 == VOID)) {
alt86 = 1;
} else if ((LA86_0 == IDENTIFIER)) {
int LA86_2 = input.LA(2);
if ((LA86_2 == DOT || LA86_2 == DOUBLE_COLON || LA86_2 == IDENTIFIER || LA86_2 == INTERR || LA86_2 == LT || LA86_2 == OPEN_BRACKET || LA86_2 == STAR)) {
alt86 = 1;
}
}
switch (alt86) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:910:29: type
{
pushFollow(FOLLOW_type_in_combined_join_clause4585);
type435 = type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type435.getTree());
}
}
break;
}
IDENTIFIER436 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_combined_join_clause4588);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER436_tree =
adaptor.create(IDENTIFIER436);
adaptor.addChild(root_0, IDENTIFIER436_tree);
}
IN437 = (Token) match(input, IN, FOLLOW_IN_in_combined_join_clause4590);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IN437_tree =
adaptor.create(IN437);
adaptor.addChild(root_0, IN437_tree);
}
pushFollow(FOLLOW_expression_in_combined_join_clause4592);
expression438 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression438.getTree());
}
pushFollow(FOLLOW_on_contextual_keyword_in_combined_join_clause4594);
on_contextual_keyword439 = on_contextual_keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, on_contextual_keyword439.getTree());
}
pushFollow(FOLLOW_expression_in_combined_join_clause4596);
expression440 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression440.getTree());
}
pushFollow(FOLLOW_equals_contextual_keyword_in_combined_join_clause4598);
equals_contextual_keyword441 = equals_contextual_keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, equals_contextual_keyword441.getTree());
}
pushFollow(FOLLOW_expression_in_combined_join_clause4600);
expression442 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression442.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:910:130: ( into_contextual_keyword IDENTIFIER )?
int alt87 = 2;
int LA87_0 = input.LA(1);
if ((LA87_0 == IDENTIFIER)) {
int LA87_1 = input.LA(2);
if ((LA87_1 == IDENTIFIER)) {
int LA87_2 = input.LA(3);
if (((input.LT(1).getText().equals("into")))) {
alt87 = 1;
}
}
}
switch (alt87) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:910:131: into_contextual_keyword IDENTIFIER
{
pushFollow(FOLLOW_into_contextual_keyword_in_combined_join_clause4603);
into_contextual_keyword443 = into_contextual_keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, into_contextual_keyword443.getTree());
}
IDENTIFIER444 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_combined_join_clause4605);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER444_tree =
adaptor.create(IDENTIFIER444);
adaptor.addChild(root_0, IDENTIFIER444_tree);
}
}
break;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "combined_join_clause"
public static class orderby_clause_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "orderby_clause"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:912:1: orderby_clause : orderby_contextual_keyword orderings ;
public final CSharpParser.orderby_clause_return orderby_clause() throws RecognitionException {
CSharpParser.orderby_clause_return retval = new CSharpParser.orderby_clause_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.orderby_contextual_keyword_return orderby_contextual_keyword445 = null;
CSharpParser.orderings_return orderings446 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:913:2: ( orderby_contextual_keyword orderings )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:913:4: orderby_contextual_keyword orderings
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_orderby_contextual_keyword_in_orderby_clause4619);
orderby_contextual_keyword445 = orderby_contextual_keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, orderby_contextual_keyword445.getTree());
}
pushFollow(FOLLOW_orderings_in_orderby_clause4621);
orderings446 = orderings();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, orderings446.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "orderby_clause"
public static class orderings_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "orderings"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:915:1: orderings : ordering ( COMMA ordering )* ;
public final CSharpParser.orderings_return orderings() throws RecognitionException {
CSharpParser.orderings_return retval = new CSharpParser.orderings_return();
retval.start = input.LT(1);
Object root_0 = null;
Token COMMA448 = null;
CSharpParser.ordering_return ordering447 = null;
CSharpParser.ordering_return ordering449 = null;
Object COMMA448_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:916:2: ( ordering ( COMMA ordering )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:916:4: ordering ( COMMA ordering )*
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_ordering_in_orderings4632);
ordering447 = ordering();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, ordering447.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:916:13: ( COMMA ordering )*
loop88:
do {
int alt88 = 2;
int LA88_0 = input.LA(1);
if ((LA88_0 == COMMA)) {
alt88 = 1;
}
switch (alt88) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:916:15: COMMA ordering
{
COMMA448 = (Token) match(input, COMMA, FOLLOW_COMMA_in_orderings4636);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
COMMA448_tree =
adaptor.create(COMMA448);
adaptor.addChild(root_0, COMMA448_tree);
}
pushFollow(FOLLOW_ordering_in_orderings4639);
ordering449 = ordering();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, ordering449.getTree());
}
}
break;
default:
break loop88;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "orderings"
public static class ordering_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "ordering"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:918:1: ordering : expression ( ordering_direction )? ;
public final CSharpParser.ordering_return ordering() throws RecognitionException {
CSharpParser.ordering_return retval = new CSharpParser.ordering_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.expression_return expression450 = null;
CSharpParser.ordering_direction_return ordering_direction451 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:919:2: ( expression ( ordering_direction )? )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:919:4: expression ( ordering_direction )?
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_expression_in_ordering4653);
expression450 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression450.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:919:15: ( ordering_direction )?
int alt89 = 2;
int LA89_0 = input.LA(1);
if ((LA89_0 == IDENTIFIER)) {
int LA89_1 = input.LA(2);
if ((LA89_1 == COMMA)) {
alt89 = 1;
} else if ((LA89_1 == IDENTIFIER)) {
int LA89_4 = input.LA(3);
if ((((input.LT(1).getText().equals("ascending")) || (input.LT(1).getText().equals("descending"))))) {
alt89 = 1;
}
}
}
switch (alt89) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:919:15: ordering_direction
{
pushFollow(FOLLOW_ordering_direction_in_ordering4655);
ordering_direction451 = ordering_direction();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, ordering_direction451.getTree());
}
}
break;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "ordering"
public static class ordering_direction_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "ordering_direction"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:921:1: ordering_direction : ( ascending_contextual_keyword | descending_contextual_keyword );
public final CSharpParser.ordering_direction_return ordering_direction() throws RecognitionException {
CSharpParser.ordering_direction_return retval = new CSharpParser.ordering_direction_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.ascending_contextual_keyword_return ascending_contextual_keyword452 = null;
CSharpParser.descending_contextual_keyword_return descending_contextual_keyword453 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:922:2: ( ascending_contextual_keyword | descending_contextual_keyword )
int alt90 = 2;
int LA90_0 = input.LA(1);
if ((LA90_0 == IDENTIFIER)) {
int LA90_1 = input.LA(2);
if (((input.LT(1).getText().equals("ascending")))) {
alt90 = 1;
} else if (((input.LT(1).getText().equals("descending")))) {
alt90 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 90, 1, input);
throw nvae;
}
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 90, 0, input);
throw nvae;
}
switch (alt90) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:922:4: ascending_contextual_keyword
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_ascending_contextual_keyword_in_ordering_direction4667);
ascending_contextual_keyword452 = ascending_contextual_keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, ascending_contextual_keyword452.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:923:4: descending_contextual_keyword
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_descending_contextual_keyword_in_ordering_direction4672);
descending_contextual_keyword453 = descending_contextual_keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, descending_contextual_keyword453.getTree());
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "ordering_direction"
public static class select_or_group_clause_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "select_or_group_clause"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:925:1: select_or_group_clause : ( select_clause | group_clause );
public final CSharpParser.select_or_group_clause_return select_or_group_clause() throws RecognitionException {
CSharpParser.select_or_group_clause_return retval = new CSharpParser.select_or_group_clause_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.select_clause_return select_clause454 = null;
CSharpParser.group_clause_return group_clause455 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:926:2: ( select_clause | group_clause )
int alt91 = 2;
int LA91_0 = input.LA(1);
if ((LA91_0 == IDENTIFIER)) {
int LA91_1 = input.LA(2);
if (((input.LT(1).getText().equals("select")))) {
alt91 = 1;
} else if (((input.LT(1).getText().equals("group")))) {
alt91 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 91, 1, input);
throw nvae;
}
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 91, 0, input);
throw nvae;
}
switch (alt91) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:926:4: select_clause
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_select_clause_in_select_or_group_clause4683);
select_clause454 = select_clause();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, select_clause454.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:927:4: group_clause
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_group_clause_in_select_or_group_clause4688);
group_clause455 = group_clause();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, group_clause455.getTree());
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "select_or_group_clause"
public static class select_clause_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "select_clause"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:929:1: select_clause : select_contextual_keyword expression ;
public final CSharpParser.select_clause_return select_clause() throws RecognitionException {
CSharpParser.select_clause_return retval = new CSharpParser.select_clause_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.select_contextual_keyword_return select_contextual_keyword456 = null;
CSharpParser.expression_return expression457 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:930:2: ( select_contextual_keyword expression )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:930:4: select_contextual_keyword expression
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_select_contextual_keyword_in_select_clause4699);
select_contextual_keyword456 = select_contextual_keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, select_contextual_keyword456.getTree());
}
pushFollow(FOLLOW_expression_in_select_clause4701);
expression457 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression457.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "select_clause"
public static class group_clause_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "group_clause"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:932:1: group_clause : group_contextual_keyword expression by_contextual_keyword expression ;
public final CSharpParser.group_clause_return group_clause() throws RecognitionException {
CSharpParser.group_clause_return retval = new CSharpParser.group_clause_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.group_contextual_keyword_return group_contextual_keyword458 = null;
CSharpParser.expression_return expression459 = null;
CSharpParser.by_contextual_keyword_return by_contextual_keyword460 = null;
CSharpParser.expression_return expression461 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:933:2: ( group_contextual_keyword expression by_contextual_keyword expression )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:933:4: group_contextual_keyword expression by_contextual_keyword expression
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_group_contextual_keyword_in_group_clause4712);
group_contextual_keyword458 = group_contextual_keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, group_contextual_keyword458.getTree());
}
pushFollow(FOLLOW_expression_in_group_clause4714);
expression459 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression459.getTree());
}
pushFollow(FOLLOW_by_contextual_keyword_in_group_clause4716);
by_contextual_keyword460 = by_contextual_keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, by_contextual_keyword460.getTree());
}
pushFollow(FOLLOW_expression_in_group_clause4718);
expression461 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression461.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "group_clause"
public static class query_continuation_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "query_continuation"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:936:1: query_continuation : into_contextual_keyword IDENTIFIER query_body ;
public final CSharpParser.query_continuation_return query_continuation() throws RecognitionException {
CSharpParser.query_continuation_return retval = new CSharpParser.query_continuation_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER463 = null;
CSharpParser.into_contextual_keyword_return into_contextual_keyword462 = null;
CSharpParser.query_body_return query_body464 = null;
Object IDENTIFIER463_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:937:2: ( into_contextual_keyword IDENTIFIER query_body )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:937:4: into_contextual_keyword IDENTIFIER query_body
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_into_contextual_keyword_in_query_continuation4731);
into_contextual_keyword462 = into_contextual_keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, into_contextual_keyword462.getTree());
}
IDENTIFIER463 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_query_continuation4733);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER463_tree =
adaptor.create(IDENTIFIER463);
adaptor.addChild(root_0, IDENTIFIER463_tree);
}
pushFollow(FOLLOW_query_body_in_query_continuation4735);
query_body464 = query_body();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, query_body464.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "query_continuation"
public static class assignment_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "assignment"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:940:1: assignment : unary_expression assignment_operator ^ expression ;
public final CSharpParser.assignment_return assignment() throws RecognitionException {
CSharpParser.assignment_return retval = new CSharpParser.assignment_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.unary_expression_return unary_expression465 = null;
CSharpParser.assignment_operator_return assignment_operator466 = null;
CSharpParser.expression_return expression467 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:941:2: ( unary_expression assignment_operator ^ expression )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:941:4: unary_expression assignment_operator ^ expression
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_unary_expression_in_assignment4748);
unary_expression465 = unary_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, unary_expression465.getTree());
}
pushFollow(FOLLOW_assignment_operator_in_assignment4750);
assignment_operator466 = assignment_operator();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
root_0 = adaptor.becomeRoot(assignment_operator466.getTree(), root_0);
}
pushFollow(FOLLOW_expression_in_assignment4753);
expression467 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression467.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "assignment"
public static class assignment_operator_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "assignment_operator"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:943:1: assignment_operator : assignment_operator2 -> ^( ASSIGNMENT_OPERATOR assignment_operator2 ) ;
public final CSharpParser.assignment_operator_return assignment_operator() throws RecognitionException {
CSharpParser.assignment_operator_return retval = new CSharpParser.assignment_operator_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.assignment_operator2_return assignment_operator2468 = null;
RewriteRuleSubtreeStream stream_assignment_operator2 = new RewriteRuleSubtreeStream(adaptor, "rule assignment_operator2");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:944:3: ( assignment_operator2 -> ^( ASSIGNMENT_OPERATOR assignment_operator2 ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:944:5: assignment_operator2
{
pushFollow(FOLLOW_assignment_operator2_in_assignment_operator4764);
assignment_operator2468 = assignment_operator2();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_assignment_operator2.add(assignment_operator2468.getTree());
}
// AST REWRITE
// elements: assignment_operator2
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 944:27: -> ^( ASSIGNMENT_OPERATOR assignment_operator2 )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:944:30: ^( ASSIGNMENT_OPERATOR assignment_operator2 )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(ASSIGNMENT_OPERATOR, "ASSIGNMENT_OPERATOR"), root_1);
adaptor.addChild(root_1, stream_assignment_operator2.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "assignment_operator"
public static class assignment_operator2_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "assignment_operator2"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:946:1: assignment_operator2 : ( ASSIGNMENT | OP_ADD_ASSIGNMENT | OP_SUB_ASSIGNMENT | OP_MULT_ASSIGNMENT | OP_DIV_ASSIGNMENT | OP_MOD_ASSIGNMENT | OP_AND_ASSIGNMENT | OP_OR_ASSIGNMENT | OP_XOR_ASSIGNMENT | OP_LEFT_SHIFT_ASSIGNMENT | right_shift_assignment );
public final CSharpParser.assignment_operator2_return assignment_operator2() throws RecognitionException {
CSharpParser.assignment_operator2_return retval = new CSharpParser.assignment_operator2_return();
retval.start = input.LT(1);
Object root_0 = null;
Token ASSIGNMENT469 = null;
Token OP_ADD_ASSIGNMENT470 = null;
Token OP_SUB_ASSIGNMENT471 = null;
Token OP_MULT_ASSIGNMENT472 = null;
Token OP_DIV_ASSIGNMENT473 = null;
Token OP_MOD_ASSIGNMENT474 = null;
Token OP_AND_ASSIGNMENT475 = null;
Token OP_OR_ASSIGNMENT476 = null;
Token OP_XOR_ASSIGNMENT477 = null;
Token OP_LEFT_SHIFT_ASSIGNMENT478 = null;
CSharpParser.right_shift_assignment_return right_shift_assignment479 = null;
Object ASSIGNMENT469_tree = null;
Object OP_ADD_ASSIGNMENT470_tree = null;
Object OP_SUB_ASSIGNMENT471_tree = null;
Object OP_MULT_ASSIGNMENT472_tree = null;
Object OP_DIV_ASSIGNMENT473_tree = null;
Object OP_MOD_ASSIGNMENT474_tree = null;
Object OP_AND_ASSIGNMENT475_tree = null;
Object OP_OR_ASSIGNMENT476_tree = null;
Object OP_XOR_ASSIGNMENT477_tree = null;
Object OP_LEFT_SHIFT_ASSIGNMENT478_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:947:2: ( ASSIGNMENT | OP_ADD_ASSIGNMENT | OP_SUB_ASSIGNMENT | OP_MULT_ASSIGNMENT | OP_DIV_ASSIGNMENT | OP_MOD_ASSIGNMENT | OP_AND_ASSIGNMENT | OP_OR_ASSIGNMENT | OP_XOR_ASSIGNMENT | OP_LEFT_SHIFT_ASSIGNMENT | right_shift_assignment )
int alt92 = 11;
switch (input.LA(1)) {
case ASSIGNMENT: {
alt92 = 1;
}
break;
case OP_ADD_ASSIGNMENT: {
alt92 = 2;
}
break;
case OP_SUB_ASSIGNMENT: {
alt92 = 3;
}
break;
case OP_MULT_ASSIGNMENT: {
alt92 = 4;
}
break;
case OP_DIV_ASSIGNMENT: {
alt92 = 5;
}
break;
case OP_MOD_ASSIGNMENT: {
alt92 = 6;
}
break;
case OP_AND_ASSIGNMENT: {
alt92 = 7;
}
break;
case OP_OR_ASSIGNMENT: {
alt92 = 8;
}
break;
case OP_XOR_ASSIGNMENT: {
alt92 = 9;
}
break;
case OP_LEFT_SHIFT_ASSIGNMENT: {
alt92 = 10;
}
break;
case GT: {
alt92 = 11;
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 92, 0, input);
throw nvae;
}
switch (alt92) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:947:4: ASSIGNMENT
{
root_0 = adaptor.nil();
ASSIGNMENT469 = (Token) match(input, ASSIGNMENT, FOLLOW_ASSIGNMENT_in_assignment_operator24784);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
ASSIGNMENT469_tree =
adaptor.create(ASSIGNMENT469);
adaptor.addChild(root_0, ASSIGNMENT469_tree);
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:948:4: OP_ADD_ASSIGNMENT
{
root_0 = adaptor.nil();
OP_ADD_ASSIGNMENT470 = (Token) match(input, OP_ADD_ASSIGNMENT, FOLLOW_OP_ADD_ASSIGNMENT_in_assignment_operator24789);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OP_ADD_ASSIGNMENT470_tree =
adaptor.create(OP_ADD_ASSIGNMENT470);
adaptor.addChild(root_0, OP_ADD_ASSIGNMENT470_tree);
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:949:4: OP_SUB_ASSIGNMENT
{
root_0 = adaptor.nil();
OP_SUB_ASSIGNMENT471 = (Token) match(input, OP_SUB_ASSIGNMENT, FOLLOW_OP_SUB_ASSIGNMENT_in_assignment_operator24794);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OP_SUB_ASSIGNMENT471_tree =
adaptor.create(OP_SUB_ASSIGNMENT471);
adaptor.addChild(root_0, OP_SUB_ASSIGNMENT471_tree);
}
}
break;
case 4: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:950:4: OP_MULT_ASSIGNMENT
{
root_0 = adaptor.nil();
OP_MULT_ASSIGNMENT472 = (Token) match(input, OP_MULT_ASSIGNMENT, FOLLOW_OP_MULT_ASSIGNMENT_in_assignment_operator24799);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OP_MULT_ASSIGNMENT472_tree =
adaptor.create(OP_MULT_ASSIGNMENT472);
adaptor.addChild(root_0, OP_MULT_ASSIGNMENT472_tree);
}
}
break;
case 5: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:951:4: OP_DIV_ASSIGNMENT
{
root_0 = adaptor.nil();
OP_DIV_ASSIGNMENT473 = (Token) match(input, OP_DIV_ASSIGNMENT, FOLLOW_OP_DIV_ASSIGNMENT_in_assignment_operator24804);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OP_DIV_ASSIGNMENT473_tree =
adaptor.create(OP_DIV_ASSIGNMENT473);
adaptor.addChild(root_0, OP_DIV_ASSIGNMENT473_tree);
}
}
break;
case 6: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:952:4: OP_MOD_ASSIGNMENT
{
root_0 = adaptor.nil();
OP_MOD_ASSIGNMENT474 = (Token) match(input, OP_MOD_ASSIGNMENT, FOLLOW_OP_MOD_ASSIGNMENT_in_assignment_operator24809);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OP_MOD_ASSIGNMENT474_tree =
adaptor.create(OP_MOD_ASSIGNMENT474);
adaptor.addChild(root_0, OP_MOD_ASSIGNMENT474_tree);
}
}
break;
case 7: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:953:4: OP_AND_ASSIGNMENT
{
root_0 = adaptor.nil();
OP_AND_ASSIGNMENT475 = (Token) match(input, OP_AND_ASSIGNMENT, FOLLOW_OP_AND_ASSIGNMENT_in_assignment_operator24814);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OP_AND_ASSIGNMENT475_tree =
adaptor.create(OP_AND_ASSIGNMENT475);
adaptor.addChild(root_0, OP_AND_ASSIGNMENT475_tree);
}
}
break;
case 8: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:954:4: OP_OR_ASSIGNMENT
{
root_0 = adaptor.nil();
OP_OR_ASSIGNMENT476 = (Token) match(input, OP_OR_ASSIGNMENT, FOLLOW_OP_OR_ASSIGNMENT_in_assignment_operator24819);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OP_OR_ASSIGNMENT476_tree =
adaptor.create(OP_OR_ASSIGNMENT476);
adaptor.addChild(root_0, OP_OR_ASSIGNMENT476_tree);
}
}
break;
case 9: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:955:4: OP_XOR_ASSIGNMENT
{
root_0 = adaptor.nil();
OP_XOR_ASSIGNMENT477 = (Token) match(input, OP_XOR_ASSIGNMENT, FOLLOW_OP_XOR_ASSIGNMENT_in_assignment_operator24824);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OP_XOR_ASSIGNMENT477_tree =
adaptor.create(OP_XOR_ASSIGNMENT477);
adaptor.addChild(root_0, OP_XOR_ASSIGNMENT477_tree);
}
}
break;
case 10: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:956:4: OP_LEFT_SHIFT_ASSIGNMENT
{
root_0 = adaptor.nil();
OP_LEFT_SHIFT_ASSIGNMENT478 = (Token) match(input, OP_LEFT_SHIFT_ASSIGNMENT, FOLLOW_OP_LEFT_SHIFT_ASSIGNMENT_in_assignment_operator24829);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OP_LEFT_SHIFT_ASSIGNMENT478_tree =
adaptor.create(OP_LEFT_SHIFT_ASSIGNMENT478);
adaptor.addChild(root_0, OP_LEFT_SHIFT_ASSIGNMENT478_tree);
}
}
break;
case 11: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:957:4: right_shift_assignment
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_right_shift_assignment_in_assignment_operator24834);
right_shift_assignment479 = right_shift_assignment();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, right_shift_assignment479.getTree());
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "assignment_operator2"
public static class expression_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "expression"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:959:1: expression : ( ( assignment )=>e1= assignment |e2= non_assignment_expression );
public final CSharpParser.expression_return expression() throws RecognitionException {
CSharpParser.expression_return retval = new CSharpParser.expression_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.assignment_return e1 = null;
CSharpParser.non_assignment_expression_return e2 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:960:2: ( ( assignment )=>e1= assignment |e2= non_assignment_expression )
int alt93 = 2;
switch (input.LA(1)) {
case OPEN_PARENS: {
int LA93_1 = input.LA(2);
if ((synpred11_CSharpParser())) {
alt93 = 1;
} else if ((true)) {
alt93 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 93, 1, input);
throw nvae;
}
}
break;
case FALSE:
case TRUE: {
int LA93_2 = input.LA(2);
if ((synpred11_CSharpParser())) {
alt93 = 1;
} else if ((true)) {
alt93 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 93, 2, input);
throw nvae;
}
}
break;
case INTEGER_LITERAL: {
int LA93_3 = input.LA(2);
if ((synpred11_CSharpParser())) {
alt93 = 1;
} else if ((true)) {
alt93 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 93, 3, input);
throw nvae;
}
}
break;
case REAL_LITERAL: {
int LA93_4 = input.LA(2);
if ((synpred11_CSharpParser())) {
alt93 = 1;
} else if ((true)) {
alt93 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 93, 4, input);
throw nvae;
}
}
break;
case CHARACTER_LITERAL: {
int LA93_5 = input.LA(2);
if ((synpred11_CSharpParser())) {
alt93 = 1;
} else if ((true)) {
alt93 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 93, 5, input);
throw nvae;
}
}
break;
case STRING_LITERAL: {
int LA93_6 = input.LA(2);
if ((synpred11_CSharpParser())) {
alt93 = 1;
} else if ((true)) {
alt93 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 93, 6, input);
throw nvae;
}
}
break;
case NULL: {
int LA93_7 = input.LA(2);
if ((synpred11_CSharpParser())) {
alt93 = 1;
} else if ((true)) {
alt93 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 93, 7, input);
throw nvae;
}
}
break;
case IDENTIFIER: {
int LA93_8 = input.LA(2);
if ((synpred11_CSharpParser())) {
alt93 = 1;
} else if ((true)) {
alt93 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 93, 8, input);
throw nvae;
}
}
break;
case BOOL:
case BYTE:
case CHAR:
case DECIMAL:
case DOUBLE:
case FLOAT:
case INT:
case LONG:
case OBJECT:
case SBYTE:
case SHORT:
case STRING:
case UINT:
case ULONG:
case USHORT: {
int LA93_9 = input.LA(2);
if ((synpred11_CSharpParser())) {
alt93 = 1;
} else if ((true)) {
alt93 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 93, 9, input);
throw nvae;
}
}
break;
case THIS: {
int LA93_10 = input.LA(2);
if ((synpred11_CSharpParser())) {
alt93 = 1;
} else if ((true)) {
alt93 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 93, 10, input);
throw nvae;
}
}
break;
case BASE: {
int LA93_11 = input.LA(2);
if ((synpred11_CSharpParser())) {
alt93 = 1;
} else if ((true)) {
alt93 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 93, 11, input);
throw nvae;
}
}
break;
case NEW: {
int LA93_12 = input.LA(2);
if ((synpred11_CSharpParser())) {
alt93 = 1;
} else if ((true)) {
alt93 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 93, 12, input);
throw nvae;
}
}
break;
case TYPEOF: {
int LA93_13 = input.LA(2);
if ((synpred11_CSharpParser())) {
alt93 = 1;
} else if ((true)) {
alt93 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 93, 13, input);
throw nvae;
}
}
break;
case CHECKED: {
int LA93_14 = input.LA(2);
if ((synpred11_CSharpParser())) {
alt93 = 1;
} else if ((true)) {
alt93 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 93, 14, input);
throw nvae;
}
}
break;
case UNCHECKED: {
int LA93_15 = input.LA(2);
if ((synpred11_CSharpParser())) {
alt93 = 1;
} else if ((true)) {
alt93 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 93, 15, input);
throw nvae;
}
}
break;
case DEFAULT: {
int LA93_16 = input.LA(2);
if ((synpred11_CSharpParser())) {
alt93 = 1;
} else if ((true)) {
alt93 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 93, 16, input);
throw nvae;
}
}
break;
case DELEGATE: {
int LA93_17 = input.LA(2);
if ((synpred11_CSharpParser())) {
alt93 = 1;
} else if ((true)) {
alt93 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 93, 17, input);
throw nvae;
}
}
break;
case SIZEOF: {
int LA93_18 = input.LA(2);
if ((synpred11_CSharpParser())) {
alt93 = 1;
} else if ((true)) {
alt93 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 93, 18, input);
throw nvae;
}
}
break;
case PLUS: {
int LA93_19 = input.LA(2);
if ((synpred11_CSharpParser())) {
alt93 = 1;
} else if ((true)) {
alt93 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 93, 19, input);
throw nvae;
}
}
break;
case MINUS: {
int LA93_20 = input.LA(2);
if ((synpred11_CSharpParser())) {
alt93 = 1;
} else if ((true)) {
alt93 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 93, 20, input);
throw nvae;
}
}
break;
case BANG: {
int LA93_21 = input.LA(2);
if ((synpred11_CSharpParser())) {
alt93 = 1;
} else if ((true)) {
alt93 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 93, 21, input);
throw nvae;
}
}
break;
case TILDE: {
int LA93_22 = input.LA(2);
if ((synpred11_CSharpParser())) {
alt93 = 1;
} else if ((true)) {
alt93 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 93, 22, input);
throw nvae;
}
}
break;
case OP_INC: {
int LA93_23 = input.LA(2);
if ((synpred11_CSharpParser())) {
alt93 = 1;
} else if ((true)) {
alt93 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 93, 23, input);
throw nvae;
}
}
break;
case OP_DEC: {
int LA93_24 = input.LA(2);
if ((synpred11_CSharpParser())) {
alt93 = 1;
} else if ((true)) {
alt93 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 93, 24, input);
throw nvae;
}
}
break;
case STAR: {
int LA93_25 = input.LA(2);
if ((synpred11_CSharpParser())) {
alt93 = 1;
} else if ((true)) {
alt93 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 93, 25, input);
throw nvae;
}
}
break;
case AMP: {
int LA93_26 = input.LA(2);
if ((synpred11_CSharpParser())) {
alt93 = 1;
} else if ((true)) {
alt93 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 93, 26, input);
throw nvae;
}
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 93, 0, input);
throw nvae;
}
switch (alt93) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:960:4: ( assignment )=>e1= assignment
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_assignment_in_expression4853);
e1 = assignment();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, e1.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:961:4: e2= non_assignment_expression
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_non_assignment_expression_in_expression4860);
e2 = non_assignment_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, e2.getTree());
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "expression"
public static class non_assignment_expression_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "non_assignment_expression"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:963:1: non_assignment_expression : ( ( lambda_expression )=> lambda_expression | ( query_expression )=> query_expression |c= conditional_expression );
public final CSharpParser.non_assignment_expression_return non_assignment_expression() throws RecognitionException {
CSharpParser.non_assignment_expression_return retval = new CSharpParser.non_assignment_expression_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.conditional_expression_return c = null;
CSharpParser.lambda_expression_return lambda_expression480 = null;
CSharpParser.query_expression_return query_expression481 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:964:2: ( ( lambda_expression )=> lambda_expression | ( query_expression )=> query_expression |c= conditional_expression )
int alt94 = 3;
switch (input.LA(1)) {
case OPEN_PARENS: {
int LA94_1 = input.LA(2);
if ((synpred12_CSharpParser())) {
alt94 = 1;
} else if ((true)) {
alt94 = 3;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 94, 1, input);
throw nvae;
}
}
break;
case IDENTIFIER: {
int LA94_2 = input.LA(2);
if ((synpred12_CSharpParser())) {
alt94 = 1;
} else if ((((synpred13_CSharpParser() && synpred13_CSharpParser()) && (input.LT(1).getText().equals("from"))))) {
alt94 = 2;
} else if ((true)) {
alt94 = 3;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 94, 2, input);
throw nvae;
}
}
break;
case AMP:
case BANG:
case BASE:
case BOOL:
case BYTE:
case CHAR:
case CHARACTER_LITERAL:
case CHECKED:
case DECIMAL:
case DEFAULT:
case DELEGATE:
case DOUBLE:
case FALSE:
case FLOAT:
case INT:
case INTEGER_LITERAL:
case LONG:
case MINUS:
case NEW:
case NULL:
case OBJECT:
case OP_DEC:
case OP_INC:
case PLUS:
case REAL_LITERAL:
case SBYTE:
case SHORT:
case SIZEOF:
case STAR:
case STRING:
case STRING_LITERAL:
case THIS:
case TILDE:
case TRUE:
case TYPEOF:
case UINT:
case ULONG:
case UNCHECKED:
case USHORT: {
alt94 = 3;
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 94, 0, input);
throw nvae;
}
switch (alt94) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:964:4: ( lambda_expression )=> lambda_expression
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_lambda_expression_in_non_assignment_expression4876);
lambda_expression480 = lambda_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, lambda_expression480.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:965:4: ( query_expression )=> query_expression
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_query_expression_in_non_assignment_expression4887);
query_expression481 = query_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, query_expression481.getTree());
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:966:4: c= conditional_expression
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_conditional_expression_in_non_assignment_expression4894);
c = conditional_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, c.getTree());
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "non_assignment_expression"
public static class constant_expression_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "constant_expression"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:968:1: constant_expression : expression ;
public final CSharpParser.constant_expression_return constant_expression() throws RecognitionException {
CSharpParser.constant_expression_return retval = new CSharpParser.constant_expression_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.expression_return expression482 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:969:2: ( expression )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:969:4: expression
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_expression_in_constant_expression4905);
expression482 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression482.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "constant_expression"
public static class boolean_expression_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "boolean_expression"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:971:1: boolean_expression : expression ;
public final CSharpParser.boolean_expression_return boolean_expression() throws RecognitionException {
CSharpParser.boolean_expression_return retval = new CSharpParser.boolean_expression_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.expression_return expression483 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:972:2: ( expression )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:972:4: expression
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_expression_in_boolean_expression4916);
expression483 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression483.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "boolean_expression"
public static class statement_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "statement"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:976:1: statement : ( ( labeled_statement )=> labeled_statement | ( declaration_statement )=> declaration_statement | embedded_statement );
public final CSharpParser.statement_return statement() throws RecognitionException {
CSharpParser.statement_return retval = new CSharpParser.statement_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.labeled_statement_return labeled_statement484 = null;
CSharpParser.declaration_statement_return declaration_statement485 = null;
CSharpParser.embedded_statement_return embedded_statement486 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:977:2: ( ( labeled_statement )=> labeled_statement | ( declaration_statement )=> declaration_statement | embedded_statement )
int alt95 = 3;
int LA95_0 = input.LA(1);
if ((LA95_0 == IDENTIFIER)) {
int LA95_1 = input.LA(2);
if ((synpred14_CSharpParser())) {
alt95 = 1;
} else if ((synpred15_CSharpParser())) {
alt95 = 2;
} else if ((true)) {
alt95 = 3;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 95, 1, input);
throw nvae;
}
} else if ((LA95_0 == BYTE || LA95_0 == CHAR || LA95_0 == INT || LA95_0 == LONG || LA95_0 == SBYTE || LA95_0 == SHORT || (LA95_0 >= UINT && LA95_0 <= ULONG) || LA95_0 == USHORT)) {
int LA95_2 = input.LA(2);
if ((synpred15_CSharpParser())) {
alt95 = 2;
} else if ((true)) {
alt95 = 3;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 95, 2, input);
throw nvae;
}
} else if ((LA95_0 == DOUBLE || LA95_0 == FLOAT)) {
int LA95_3 = input.LA(2);
if ((synpred15_CSharpParser())) {
alt95 = 2;
} else if ((true)) {
alt95 = 3;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 95, 3, input);
throw nvae;
}
} else if ((LA95_0 == DECIMAL)) {
int LA95_4 = input.LA(2);
if ((synpred15_CSharpParser())) {
alt95 = 2;
} else if ((true)) {
alt95 = 3;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 95, 4, input);
throw nvae;
}
} else if ((LA95_0 == BOOL)) {
int LA95_5 = input.LA(2);
if ((synpred15_CSharpParser())) {
alt95 = 2;
} else if ((true)) {
alt95 = 3;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 95, 5, input);
throw nvae;
}
} else if ((LA95_0 == OBJECT)) {
int LA95_6 = input.LA(2);
if ((synpred15_CSharpParser())) {
alt95 = 2;
} else if ((true)) {
alt95 = 3;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 95, 6, input);
throw nvae;
}
} else if ((LA95_0 == STRING)) {
int LA95_7 = input.LA(2);
if ((synpred15_CSharpParser())) {
alt95 = 2;
} else if ((true)) {
alt95 = 3;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 95, 7, input);
throw nvae;
}
} else if ((LA95_0 == VOID) && (synpred15_CSharpParser())) {
alt95 = 2;
} else if ((LA95_0 == CONST) && (synpred15_CSharpParser())) {
alt95 = 2;
} else if ((LA95_0 == AMP || (LA95_0 >= BANG && LA95_0 <= BASE) || LA95_0 == BREAK || (LA95_0 >= CHARACTER_LITERAL && LA95_0 <= CHECKED) || LA95_0 == CONTINUE || (LA95_0 >= DEFAULT && LA95_0 <= DELEGATE) || LA95_0 == DO || LA95_0 == FALSE || LA95_0 == FIXED || (LA95_0 >= FOR && LA95_0 <= FOREACH) || LA95_0 == GOTO || LA95_0 == IF || LA95_0 == INTEGER_LITERAL || LA95_0 == LOCK || LA95_0 == MINUS || LA95_0 == NEW || LA95_0 == NULL || LA95_0 == OPEN_BRACE || LA95_0 == OPEN_PARENS || LA95_0 == OP_DEC || LA95_0 == OP_INC || LA95_0 == PLUS || LA95_0 == REAL_LITERAL || LA95_0 == RETURN || LA95_0 == SEMICOLON || LA95_0 == SIZEOF || LA95_0 == STAR || LA95_0 == STRING_LITERAL || LA95_0 == SWITCH || (LA95_0 >= THIS && LA95_0 <= TYPEOF) || LA95_0 == UNCHECKED || LA95_0 == UNSAFE || LA95_0 == USING || LA95_0 == WHILE)) {
alt95 = 3;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 95, 0, input);
throw nvae;
}
switch (alt95) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:977:4: ( labeled_statement )=> labeled_statement
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_labeled_statement_in_statement4935);
labeled_statement484 = labeled_statement();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, labeled_statement484.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:978:4: ( declaration_statement )=> declaration_statement
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_declaration_statement_in_statement4946);
declaration_statement485 = declaration_statement();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, declaration_statement485.getTree());
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:979:4: embedded_statement
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_embedded_statement_in_statement4951);
embedded_statement486 = embedded_statement();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, embedded_statement486.getTree());
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "statement"
public static class embedded_statement_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "embedded_statement"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:981:1: embedded_statement : ( block | empty_statement | expression_statement | selection_statement | iteration_statement | jump_statement | try_statement | checked_statement | unchecked_statement | lock_statement | using_statement | yield_statement | embedded_statement_unsafe );
public final CSharpParser.embedded_statement_return embedded_statement() throws RecognitionException {
CSharpParser.embedded_statement_return retval = new CSharpParser.embedded_statement_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.block_return block487 = null;
CSharpParser.empty_statement_return empty_statement488 = null;
CSharpParser.expression_statement_return expression_statement489 = null;
CSharpParser.selection_statement_return selection_statement490 = null;
CSharpParser.iteration_statement_return iteration_statement491 = null;
CSharpParser.jump_statement_return jump_statement492 = null;
CSharpParser.try_statement_return try_statement493 = null;
CSharpParser.checked_statement_return checked_statement494 = null;
CSharpParser.unchecked_statement_return unchecked_statement495 = null;
CSharpParser.lock_statement_return lock_statement496 = null;
CSharpParser.using_statement_return using_statement497 = null;
CSharpParser.yield_statement_return yield_statement498 = null;
CSharpParser.embedded_statement_unsafe_return embedded_statement_unsafe499 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:982:2: ( block | empty_statement | expression_statement | selection_statement | iteration_statement | jump_statement | try_statement | checked_statement | unchecked_statement | lock_statement | using_statement | yield_statement | embedded_statement_unsafe )
int alt96 = 13;
switch (input.LA(1)) {
case OPEN_BRACE: {
alt96 = 1;
}
break;
case SEMICOLON: {
alt96 = 2;
}
break;
case AMP:
case BANG:
case BASE:
case BOOL:
case BYTE:
case CHAR:
case CHARACTER_LITERAL:
case DECIMAL:
case DEFAULT:
case DELEGATE:
case DOUBLE:
case FALSE:
case FLOAT:
case INT:
case INTEGER_LITERAL:
case LONG:
case MINUS:
case NEW:
case NULL:
case OBJECT:
case OPEN_PARENS:
case OP_DEC:
case OP_INC:
case PLUS:
case REAL_LITERAL:
case SBYTE:
case SHORT:
case SIZEOF:
case STAR:
case STRING:
case STRING_LITERAL:
case THIS:
case TILDE:
case TRUE:
case TYPEOF:
case UINT:
case ULONG:
case USHORT: {
alt96 = 3;
}
break;
case IDENTIFIER: {
int LA96_4 = input.LA(2);
if (((LA96_4 >= AMP && LA96_4 <= ASSIGNMENT) || (LA96_4 >= BITWISE_OR && LA96_4 <= BOOL) || (LA96_4 >= BYTE && LA96_4 <= CARET) || LA96_4 == CHAR || LA96_4 == DECIMAL || LA96_4 == DIV || (LA96_4 >= DOT && LA96_4 <= DOUBLE) || LA96_4 == DOUBLE_COLON || LA96_4 == FLOAT || LA96_4 == GT || LA96_4 == IDENTIFIER || LA96_4 == INT || (LA96_4 >= INTERR && LA96_4 <= IS) || (LA96_4 >= LONG && LA96_4 <= LT) || LA96_4 == MINUS || LA96_4 == OBJECT || (LA96_4 >= OPEN_BRACKET && LA96_4 <= OPEN_PARENS) || (LA96_4 >= OP_ADD_ASSIGNMENT && LA96_4 <= OP_XOR_ASSIGNMENT) || (LA96_4 >= PERCENT && LA96_4 <= PLUS) || LA96_4 == SBYTE || LA96_4 == SEMICOLON || LA96_4 == SHORT || LA96_4 == STAR || LA96_4 == STRING || (LA96_4 >= UINT && LA96_4 <= ULONG) || LA96_4 == USHORT || LA96_4 == VOID)) {
alt96 = 3;
} else if ((LA96_4 == BREAK || LA96_4 == RETURN)) {
alt96 = 12;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 96, 4, input);
throw nvae;
}
}
break;
case CHECKED: {
int LA96_5 = input.LA(2);
if ((LA96_5 == OPEN_PARENS)) {
alt96 = 3;
} else if ((LA96_5 == OPEN_BRACE)) {
alt96 = 8;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 96, 5, input);
throw nvae;
}
}
break;
case UNCHECKED: {
int LA96_6 = input.LA(2);
if ((LA96_6 == OPEN_PARENS)) {
alt96 = 3;
} else if ((LA96_6 == OPEN_BRACE)) {
alt96 = 9;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 96, 6, input);
throw nvae;
}
}
break;
case IF:
case SWITCH: {
alt96 = 4;
}
break;
case DO:
case FOR:
case FOREACH:
case WHILE: {
alt96 = 5;
}
break;
case BREAK:
case CONTINUE:
case GOTO:
case RETURN:
case THROW: {
alt96 = 6;
}
break;
case TRY: {
alt96 = 7;
}
break;
case LOCK: {
alt96 = 10;
}
break;
case USING: {
alt96 = 11;
}
break;
case FIXED:
case UNSAFE: {
alt96 = 13;
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 96, 0, input);
throw nvae;
}
switch (alt96) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:982:4: block
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_block_in_embedded_statement4962);
block487 = block();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, block487.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:983:4: empty_statement
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_empty_statement_in_embedded_statement4967);
empty_statement488 = empty_statement();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, empty_statement488.getTree());
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:984:4: expression_statement
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_expression_statement_in_embedded_statement4972);
expression_statement489 = expression_statement();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression_statement489.getTree());
}
}
break;
case 4: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:985:4: selection_statement
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_selection_statement_in_embedded_statement4977);
selection_statement490 = selection_statement();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, selection_statement490.getTree());
}
}
break;
case 5: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:986:4: iteration_statement
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_iteration_statement_in_embedded_statement4982);
iteration_statement491 = iteration_statement();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, iteration_statement491.getTree());
}
}
break;
case 6: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:987:4: jump_statement
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_jump_statement_in_embedded_statement4987);
jump_statement492 = jump_statement();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, jump_statement492.getTree());
}
}
break;
case 7: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:988:4: try_statement
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_try_statement_in_embedded_statement4992);
try_statement493 = try_statement();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, try_statement493.getTree());
}
}
break;
case 8: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:989:4: checked_statement
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_checked_statement_in_embedded_statement4997);
checked_statement494 = checked_statement();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, checked_statement494.getTree());
}
}
break;
case 9: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:990:4: unchecked_statement
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_unchecked_statement_in_embedded_statement5002);
unchecked_statement495 = unchecked_statement();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, unchecked_statement495.getTree());
}
}
break;
case 10: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:991:4: lock_statement
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_lock_statement_in_embedded_statement5007);
lock_statement496 = lock_statement();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, lock_statement496.getTree());
}
}
break;
case 11: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:992:4: using_statement
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_using_statement_in_embedded_statement5012);
using_statement497 = using_statement();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, using_statement497.getTree());
}
}
break;
case 12: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:993:4: yield_statement
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_yield_statement_in_embedded_statement5017);
yield_statement498 = yield_statement();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, yield_statement498.getTree());
}
}
break;
case 13: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:994:4: embedded_statement_unsafe
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_embedded_statement_unsafe_in_embedded_statement5022);
embedded_statement_unsafe499 = embedded_statement_unsafe();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, embedded_statement_unsafe499.getTree());
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "embedded_statement"
public static class block_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "block"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:997:1: block : OPEN_BRACE ( statement_list )? CLOSE_BRACE -> ^( BLOCK ( statement_list )? ) ;
public final CSharpParser.block_return block() throws RecognitionException {
CSharpParser.block_return retval = new CSharpParser.block_return();
retval.start = input.LT(1);
Object root_0 = null;
Token OPEN_BRACE500 = null;
Token CLOSE_BRACE502 = null;
CSharpParser.statement_list_return statement_list501 = null;
Object OPEN_BRACE500_tree = null;
Object CLOSE_BRACE502_tree = null;
RewriteRuleTokenStream stream_CLOSE_BRACE = new RewriteRuleTokenStream(adaptor, "token CLOSE_BRACE");
RewriteRuleTokenStream stream_OPEN_BRACE = new RewriteRuleTokenStream(adaptor, "token OPEN_BRACE");
RewriteRuleSubtreeStream stream_statement_list = new RewriteRuleSubtreeStream(adaptor, "rule statement_list");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:998:2: ( OPEN_BRACE ( statement_list )? CLOSE_BRACE -> ^( BLOCK ( statement_list )? ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:998:4: OPEN_BRACE ( statement_list )? CLOSE_BRACE
{
OPEN_BRACE500 = (Token) match(input, OPEN_BRACE, FOLLOW_OPEN_BRACE_in_block5035);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_OPEN_BRACE.add(OPEN_BRACE500);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:998:15: ( statement_list )?
int alt97 = 2;
int LA97_0 = input.LA(1);
if ((LA97_0 == AMP || (LA97_0 >= BANG && LA97_0 <= BASE) || (LA97_0 >= BOOL && LA97_0 <= BYTE) || (LA97_0 >= CHAR && LA97_0 <= CHECKED) || (LA97_0 >= CONST && LA97_0 <= CONTINUE) || LA97_0 == DECIMAL || (LA97_0 >= DEFAULT && LA97_0 <= DELEGATE) || LA97_0 == DO || LA97_0 == DOUBLE || LA97_0 == FALSE || (LA97_0 >= FIXED && LA97_0 <= FOREACH) || LA97_0 == GOTO || (LA97_0 >= IDENTIFIER && LA97_0 <= IF) || (LA97_0 >= INT && LA97_0 <= INTEGER_LITERAL) || (LA97_0 >= LOCK && LA97_0 <= LONG) || LA97_0 == MINUS || LA97_0 == NEW || LA97_0 == NULL || (LA97_0 >= OBJECT && LA97_0 <= OPEN_BRACE) || LA97_0 == OPEN_PARENS || LA97_0 == OP_DEC || LA97_0 == OP_INC || LA97_0 == PLUS || LA97_0 == REAL_LITERAL || LA97_0 == RETURN || LA97_0 == SBYTE || LA97_0 == SEMICOLON || LA97_0 == SHORT || LA97_0 == SIZEOF || LA97_0 == STAR || (LA97_0 >= STRING && LA97_0 <= STRING_LITERAL) || LA97_0 == SWITCH || (LA97_0 >= THIS && LA97_0 <= UNCHECKED) || (LA97_0 >= UNSAFE && LA97_0 <= USING) || LA97_0 == VOID || LA97_0 == WHILE)) {
alt97 = 1;
}
switch (alt97) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:998:15: statement_list
{
pushFollow(FOLLOW_statement_list_in_block5037);
statement_list501 = statement_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_statement_list.add(statement_list501.getTree());
}
}
break;
}
CLOSE_BRACE502 = (Token) match(input, CLOSE_BRACE, FOLLOW_CLOSE_BRACE_in_block5040);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_CLOSE_BRACE.add(CLOSE_BRACE502);
}
// AST REWRITE
// elements: statement_list
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 999:4: -> ^( BLOCK ( statement_list )? )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:999:7: ^( BLOCK ( statement_list )? )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(BLOCK, "BLOCK"), root_1);
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:999:15: ( statement_list )?
if (stream_statement_list.hasNext()) {
adaptor.addChild(root_1, stream_statement_list.nextTree());
}
stream_statement_list.reset();
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "block"
public static class statement_list_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "statement_list"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1001:1: statement_list : ( statement )+ ;
public final CSharpParser.statement_list_return statement_list() throws RecognitionException {
CSharpParser.statement_list_return retval = new CSharpParser.statement_list_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.statement_return statement503 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1002:2: ( ( statement )+ )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1002:4: ( statement )+
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1002:4: ( statement )+
int cnt98 = 0;
loop98:
do {
int alt98 = 2;
int LA98_0 = input.LA(1);
if ((LA98_0 == DEFAULT)) {
int LA98_2 = input.LA(2);
if ((LA98_2 == OPEN_PARENS)) {
alt98 = 1;
}
} else if ((LA98_0 == AMP || (LA98_0 >= BANG && LA98_0 <= BASE) || (LA98_0 >= BOOL && LA98_0 <= BYTE) || (LA98_0 >= CHAR && LA98_0 <= CHECKED) || (LA98_0 >= CONST && LA98_0 <= CONTINUE) || LA98_0 == DECIMAL || LA98_0 == DELEGATE || LA98_0 == DO || LA98_0 == DOUBLE || LA98_0 == FALSE || (LA98_0 >= FIXED && LA98_0 <= FOREACH) || LA98_0 == GOTO || (LA98_0 >= IDENTIFIER && LA98_0 <= IF) || (LA98_0 >= INT && LA98_0 <= INTEGER_LITERAL) || (LA98_0 >= LOCK && LA98_0 <= LONG) || LA98_0 == MINUS || LA98_0 == NEW || LA98_0 == NULL || (LA98_0 >= OBJECT && LA98_0 <= OPEN_BRACE) || LA98_0 == OPEN_PARENS || LA98_0 == OP_DEC || LA98_0 == OP_INC || LA98_0 == PLUS || LA98_0 == REAL_LITERAL || LA98_0 == RETURN || LA98_0 == SBYTE || LA98_0 == SEMICOLON || LA98_0 == SHORT || LA98_0 == SIZEOF || LA98_0 == STAR || (LA98_0 >= STRING && LA98_0 <= STRING_LITERAL) || LA98_0 == SWITCH || (LA98_0 >= THIS && LA98_0 <= UNCHECKED) || (LA98_0 >= UNSAFE && LA98_0 <= USING) || LA98_0 == VOID || LA98_0 == WHILE)) {
alt98 = 1;
}
switch (alt98) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1002:4: statement
{
pushFollow(FOLLOW_statement_in_statement_list5063);
statement503 = statement();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, statement503.getTree());
}
}
break;
default:
if (cnt98 >= 1) {
break loop98;
}
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
EarlyExitException eee =
new EarlyExitException(98, input);
throw eee;
}
cnt98++;
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "statement_list"
public static class empty_statement_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "empty_statement"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1004:1: empty_statement : SEMICOLON ;
public final CSharpParser.empty_statement_return empty_statement() throws RecognitionException {
CSharpParser.empty_statement_return retval = new CSharpParser.empty_statement_return();
retval.start = input.LT(1);
Object root_0 = null;
Token SEMICOLON504 = null;
Object SEMICOLON504_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1005:2: ( SEMICOLON )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1005:4: SEMICOLON
{
root_0 = adaptor.nil();
SEMICOLON504 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_empty_statement5075);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
SEMICOLON504_tree =
adaptor.create(SEMICOLON504);
adaptor.addChild(root_0, SEMICOLON504_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "empty_statement"
public static class labeled_statement_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "labeled_statement"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1008:1: labeled_statement : IDENTIFIER COLON statement -> ^( LABELED_STATEMENT IDENTIFIER statement ) ;
public final CSharpParser.labeled_statement_return labeled_statement() throws RecognitionException {
CSharpParser.labeled_statement_return retval = new CSharpParser.labeled_statement_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER505 = null;
Token COLON506 = null;
CSharpParser.statement_return statement507 = null;
Object IDENTIFIER505_tree = null;
Object COLON506_tree = null;
RewriteRuleTokenStream stream_COLON = new RewriteRuleTokenStream(adaptor, "token COLON");
RewriteRuleTokenStream stream_IDENTIFIER = new RewriteRuleTokenStream(adaptor, "token IDENTIFIER");
RewriteRuleSubtreeStream stream_statement = new RewriteRuleSubtreeStream(adaptor, "rule statement");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1009:2: ( IDENTIFIER COLON statement -> ^( LABELED_STATEMENT IDENTIFIER statement ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1009:4: IDENTIFIER COLON statement
{
IDENTIFIER505 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_labeled_statement5088);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_IDENTIFIER.add(IDENTIFIER505);
}
COLON506 = (Token) match(input, COLON, FOLLOW_COLON_in_labeled_statement5090);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_COLON.add(COLON506);
}
pushFollow(FOLLOW_statement_in_labeled_statement5092);
statement507 = statement();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_statement.add(statement507.getTree());
}
// AST REWRITE
// elements: IDENTIFIER, statement
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 1010:4: -> ^( LABELED_STATEMENT IDENTIFIER statement )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1010:7: ^( LABELED_STATEMENT IDENTIFIER statement )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(LABELED_STATEMENT, "LABELED_STATEMENT"), root_1);
adaptor.addChild(root_1,
stream_IDENTIFIER.nextNode());
adaptor.addChild(root_1, stream_statement.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "labeled_statement"
public static class declaration_statement_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "declaration_statement"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1013:1: declaration_statement : ( local_variable_declaration SEMICOLON !| local_constant_declaration SEMICOLON !);
public final CSharpParser.declaration_statement_return declaration_statement() throws RecognitionException {
CSharpParser.declaration_statement_return retval = new CSharpParser.declaration_statement_return();
retval.start = input.LT(1);
Object root_0 = null;
Token SEMICOLON509 = null;
Token SEMICOLON511 = null;
CSharpParser.local_variable_declaration_return local_variable_declaration508 = null;
CSharpParser.local_constant_declaration_return local_constant_declaration510 = null;
Object SEMICOLON509_tree = null;
Object SEMICOLON511_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1014:2: ( local_variable_declaration SEMICOLON !| local_constant_declaration SEMICOLON !)
int alt99 = 2;
int LA99_0 = input.LA(1);
if ((LA99_0 == BOOL || LA99_0 == BYTE || LA99_0 == CHAR || LA99_0 == DECIMAL || LA99_0 == DOUBLE || LA99_0 == FLOAT || LA99_0 == IDENTIFIER || LA99_0 == INT || LA99_0 == LONG || LA99_0 == OBJECT || LA99_0 == SBYTE || LA99_0 == SHORT || LA99_0 == STRING || (LA99_0 >= UINT && LA99_0 <= ULONG) || LA99_0 == USHORT || LA99_0 == VOID)) {
alt99 = 1;
} else if ((LA99_0 == CONST)) {
alt99 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 99, 0, input);
throw nvae;
}
switch (alt99) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1014:4: local_variable_declaration SEMICOLON !
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_local_variable_declaration_in_declaration_statement5119);
local_variable_declaration508 = local_variable_declaration();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, local_variable_declaration508.getTree());
}
SEMICOLON509 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_declaration_statement5121);
if (state.failed) {
return retval;
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1015:4: local_constant_declaration SEMICOLON !
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_local_constant_declaration_in_declaration_statement5127);
local_constant_declaration510 = local_constant_declaration();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, local_constant_declaration510.getTree());
}
SEMICOLON511 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_declaration_statement5129);
if (state.failed) {
return retval;
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "declaration_statement"
protected static class local_variable_declaration_scope {
Object type;
}
protected Stack local_variable_declaration_stack = new Stack();
public static class local_variable_declaration_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "local_variable_declaration"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1017:1: local_variable_declaration : t= local_variable_type ! local_variable_declarators ;
public final CSharpParser.local_variable_declaration_return local_variable_declaration() throws RecognitionException {
local_variable_declaration_stack.push(new local_variable_declaration_scope());
CSharpParser.local_variable_declaration_return retval = new CSharpParser.local_variable_declaration_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.local_variable_type_return t = null;
CSharpParser.local_variable_declarators_return local_variable_declarators512 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1021:2: (t= local_variable_type ! local_variable_declarators )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1021:4: t= local_variable_type ! local_variable_declarators
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_local_variable_type_in_local_variable_declaration5147);
t = local_variable_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
((local_variable_declaration_scope) local_variable_declaration_stack.peek()).type = (t != null ? ((Object) t.tree) : null);
}
pushFollow(FOLLOW_local_variable_declarators_in_local_variable_declaration5154);
local_variable_declarators512 = local_variable_declarators();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, local_variable_declarators512.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
local_variable_declaration_stack.pop();
}
return retval;
}
// $ANTLR end "local_variable_declaration"
public static class local_variable_type_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "local_variable_type"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1029:1: local_variable_type : type ;
public final CSharpParser.local_variable_type_return local_variable_type() throws RecognitionException {
CSharpParser.local_variable_type_return retval = new CSharpParser.local_variable_type_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.type_return type513 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1030:2: ( type )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1030:4: type
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_type_in_local_variable_type5167);
type513 = type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type513.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "local_variable_type"
public static class local_variable_declarators_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "local_variable_declarators"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1033:1: local_variable_declarators : local_variable_declarator ( COMMA local_variable_declarator )* -> ( ^( LOCAL_VARIABLE_DECLARATOR local_variable_declarator ) )+ ;
public final CSharpParser.local_variable_declarators_return local_variable_declarators() throws RecognitionException {
CSharpParser.local_variable_declarators_return retval = new CSharpParser.local_variable_declarators_return();
retval.start = input.LT(1);
Object root_0 = null;
Token COMMA515 = null;
CSharpParser.local_variable_declarator_return local_variable_declarator514 = null;
CSharpParser.local_variable_declarator_return local_variable_declarator516 = null;
Object COMMA515_tree = null;
RewriteRuleTokenStream stream_COMMA = new RewriteRuleTokenStream(adaptor, "token COMMA");
RewriteRuleSubtreeStream stream_local_variable_declarator = new RewriteRuleSubtreeStream(adaptor, "rule local_variable_declarator");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1034:2: ( local_variable_declarator ( COMMA local_variable_declarator )* -> ( ^( LOCAL_VARIABLE_DECLARATOR local_variable_declarator ) )+ )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1034:4: local_variable_declarator ( COMMA local_variable_declarator )*
{
pushFollow(FOLLOW_local_variable_declarator_in_local_variable_declarators5181);
local_variable_declarator514 = local_variable_declarator();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_local_variable_declarator.add(local_variable_declarator514.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1034:30: ( COMMA local_variable_declarator )*
loop100:
do {
int alt100 = 2;
int LA100_0 = input.LA(1);
if ((LA100_0 == COMMA)) {
alt100 = 1;
}
switch (alt100) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1034:32: COMMA local_variable_declarator
{
COMMA515 = (Token) match(input, COMMA, FOLLOW_COMMA_in_local_variable_declarators5185);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_COMMA.add(COMMA515);
}
pushFollow(FOLLOW_local_variable_declarator_in_local_variable_declarators5188);
local_variable_declarator516 = local_variable_declarator();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_local_variable_declarator.add(local_variable_declarator516.getTree());
}
}
break;
default:
break loop100;
}
} while (true);
// AST REWRITE
// elements: local_variable_declarator
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 1035:4: -> ( ^( LOCAL_VARIABLE_DECLARATOR local_variable_declarator ) )+
{
if (!(stream_local_variable_declarator.hasNext())) {
throw new RewriteEarlyExitException();
}
while (stream_local_variable_declarator.hasNext()) {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1035:7: ^( LOCAL_VARIABLE_DECLARATOR local_variable_declarator )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(LOCAL_VARIABLE_DECLARATOR, "LOCAL_VARIABLE_DECLARATOR"), root_1);
adaptor.addChild(root_1, ((local_variable_declaration_scope) local_variable_declaration_stack.peek()).type);
adaptor.addChild(root_1, stream_local_variable_declarator.nextTree());
adaptor.addChild(root_0, root_1);
}
}
stream_local_variable_declarator.reset();
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "local_variable_declarators"
public static class local_variable_declarator_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "local_variable_declarator"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1043:1: local_variable_declarator : IDENTIFIER ( ASSIGNMENT ! local_variable_initializer )? ;
public final CSharpParser.local_variable_declarator_return local_variable_declarator() throws RecognitionException {
CSharpParser.local_variable_declarator_return retval = new CSharpParser.local_variable_declarator_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER517 = null;
Token ASSIGNMENT518 = null;
CSharpParser.local_variable_initializer_return local_variable_initializer519 = null;
Object IDENTIFIER517_tree = null;
Object ASSIGNMENT518_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1044:3: ( IDENTIFIER ( ASSIGNMENT ! local_variable_initializer )? )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1044:5: IDENTIFIER ( ASSIGNMENT ! local_variable_initializer )?
{
root_0 = adaptor.nil();
IDENTIFIER517 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_local_variable_declarator5221);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER517_tree =
adaptor.create(IDENTIFIER517);
adaptor.addChild(root_0, IDENTIFIER517_tree);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1044:16: ( ASSIGNMENT ! local_variable_initializer )?
int alt101 = 2;
int LA101_0 = input.LA(1);
if ((LA101_0 == ASSIGNMENT)) {
alt101 = 1;
}
switch (alt101) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1044:17: ASSIGNMENT ! local_variable_initializer
{
ASSIGNMENT518 = (Token) match(input, ASSIGNMENT, FOLLOW_ASSIGNMENT_in_local_variable_declarator5224);
if (state.failed) {
return retval;
}
pushFollow(FOLLOW_local_variable_initializer_in_local_variable_declarator5227);
local_variable_initializer519 = local_variable_initializer();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, local_variable_initializer519.getTree());
}
}
break;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "local_variable_declarator"
public static class local_variable_initializer_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "local_variable_initializer"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1046:1: local_variable_initializer : local_variable_initializer2 -> ^( LOCAL_VARIABLE_INITIALIZER local_variable_initializer2 ) ;
public final CSharpParser.local_variable_initializer_return local_variable_initializer() throws RecognitionException {
CSharpParser.local_variable_initializer_return retval = new CSharpParser.local_variable_initializer_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.local_variable_initializer2_return local_variable_initializer2520 = null;
RewriteRuleSubtreeStream stream_local_variable_initializer2 = new RewriteRuleSubtreeStream(adaptor, "rule local_variable_initializer2");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1047:3: ( local_variable_initializer2 -> ^( LOCAL_VARIABLE_INITIALIZER local_variable_initializer2 ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1047:5: local_variable_initializer2
{
pushFollow(FOLLOW_local_variable_initializer2_in_local_variable_initializer5241);
local_variable_initializer2520 = local_variable_initializer2();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_local_variable_initializer2.add(local_variable_initializer2520.getTree());
}
// AST REWRITE
// elements: local_variable_initializer2
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 1047:33: -> ^( LOCAL_VARIABLE_INITIALIZER local_variable_initializer2 )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1047:36: ^( LOCAL_VARIABLE_INITIALIZER local_variable_initializer2 )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(LOCAL_VARIABLE_INITIALIZER, "LOCAL_VARIABLE_INITIALIZER"), root_1);
adaptor.addChild(root_1, stream_local_variable_initializer2.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "local_variable_initializer"
public static class local_variable_initializer2_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "local_variable_initializer2"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1049:1: local_variable_initializer2 : ( expression | array_initializer | local_variable_initializer_unsafe );
public final CSharpParser.local_variable_initializer2_return local_variable_initializer2() throws RecognitionException {
CSharpParser.local_variable_initializer2_return retval = new CSharpParser.local_variable_initializer2_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.expression_return expression521 = null;
CSharpParser.array_initializer_return array_initializer522 = null;
CSharpParser.local_variable_initializer_unsafe_return local_variable_initializer_unsafe523 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1050:2: ( expression | array_initializer | local_variable_initializer_unsafe )
int alt102 = 3;
switch (input.LA(1)) {
case AMP:
case BANG:
case BASE:
case BOOL:
case BYTE:
case CHAR:
case CHARACTER_LITERAL:
case CHECKED:
case DECIMAL:
case DEFAULT:
case DELEGATE:
case DOUBLE:
case FALSE:
case FLOAT:
case IDENTIFIER:
case INT:
case INTEGER_LITERAL:
case LONG:
case MINUS:
case NEW:
case NULL:
case OBJECT:
case OPEN_PARENS:
case OP_DEC:
case OP_INC:
case PLUS:
case REAL_LITERAL:
case SBYTE:
case SHORT:
case SIZEOF:
case STAR:
case STRING:
case STRING_LITERAL:
case THIS:
case TILDE:
case TRUE:
case TYPEOF:
case UINT:
case ULONG:
case UNCHECKED:
case USHORT: {
alt102 = 1;
}
break;
case OPEN_BRACE: {
alt102 = 2;
}
break;
case STACKALLOC: {
alt102 = 3;
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 102, 0, input);
throw nvae;
}
switch (alt102) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1050:4: expression
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_expression_in_local_variable_initializer25260);
expression521 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression521.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1051:4: array_initializer
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_array_initializer_in_local_variable_initializer25265);
array_initializer522 = array_initializer();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, array_initializer522.getTree());
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1052:4: local_variable_initializer_unsafe
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_local_variable_initializer_unsafe_in_local_variable_initializer25270);
local_variable_initializer_unsafe523 = local_variable_initializer_unsafe();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, local_variable_initializer_unsafe523.getTree());
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "local_variable_initializer2"
public static class local_constant_declaration_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "local_constant_declaration"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1054:1: local_constant_declaration : CONST !t= type ! constant_declarators[t.tree] ;
public final CSharpParser.local_constant_declaration_return local_constant_declaration() throws RecognitionException {
CSharpParser.local_constant_declaration_return retval = new CSharpParser.local_constant_declaration_return();
retval.start = input.LT(1);
Object root_0 = null;
Token CONST524 = null;
CSharpParser.type_return t = null;
CSharpParser.constant_declarators_return constant_declarators525 = null;
Object CONST524_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1055:2: ( CONST !t= type ! constant_declarators[t.tree] )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1055:4: CONST !t= type ! constant_declarators[t.tree]
{
root_0 = adaptor.nil();
CONST524 = (Token) match(input, CONST, FOLLOW_CONST_in_local_constant_declaration5281);
if (state.failed) {
return retval;
}
pushFollow(FOLLOW_type_in_local_constant_declaration5286);
t = type();
state._fsp--;
if (state.failed) {
return retval;
}
pushFollow(FOLLOW_constant_declarators_in_local_constant_declaration5289);
constant_declarators525 = constant_declarators(t.tree);
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, constant_declarators525.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "local_constant_declaration"
public static class expression_statement_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "expression_statement"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1057:1: expression_statement : statement_expression SEMICOLON -> ^( EXPRESSION_STATEMENT statement_expression ) ;
public final CSharpParser.expression_statement_return expression_statement() throws RecognitionException {
CSharpParser.expression_statement_return retval = new CSharpParser.expression_statement_return();
retval.start = input.LT(1);
Object root_0 = null;
Token SEMICOLON527 = null;
CSharpParser.statement_expression_return statement_expression526 = null;
Object SEMICOLON527_tree = null;
RewriteRuleTokenStream stream_SEMICOLON = new RewriteRuleTokenStream(adaptor, "token SEMICOLON");
RewriteRuleSubtreeStream stream_statement_expression = new RewriteRuleSubtreeStream(adaptor, "rule statement_expression");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1058:2: ( statement_expression SEMICOLON -> ^( EXPRESSION_STATEMENT statement_expression ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1058:4: statement_expression SEMICOLON
{
pushFollow(FOLLOW_statement_expression_in_expression_statement5300);
statement_expression526 = statement_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_statement_expression.add(statement_expression526.getTree());
}
SEMICOLON527 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_expression_statement5302);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_SEMICOLON.add(SEMICOLON527);
}
// AST REWRITE
// elements: statement_expression
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 1059:4: -> ^( EXPRESSION_STATEMENT statement_expression )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1059:7: ^( EXPRESSION_STATEMENT statement_expression )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(EXPRESSION_STATEMENT, "EXPRESSION_STATEMENT"), root_1);
adaptor.addChild(root_1, stream_statement_expression.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "expression_statement"
public static class statement_expression_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "statement_expression"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1074:1: statement_expression : expression ;
public final CSharpParser.statement_expression_return statement_expression() throws RecognitionException {
CSharpParser.statement_expression_return retval = new CSharpParser.statement_expression_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.expression_return expression528 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1075:2: ( expression )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1075:4: expression
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_expression_in_statement_expression5328);
expression528 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression528.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "statement_expression"
public static class selection_statement_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "selection_statement"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1077:1: selection_statement : ( if_statement | switch_statement );
public final CSharpParser.selection_statement_return selection_statement() throws RecognitionException {
CSharpParser.selection_statement_return retval = new CSharpParser.selection_statement_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.if_statement_return if_statement529 = null;
CSharpParser.switch_statement_return switch_statement530 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1078:2: ( if_statement | switch_statement )
int alt103 = 2;
int LA103_0 = input.LA(1);
if ((LA103_0 == IF)) {
alt103 = 1;
} else if ((LA103_0 == SWITCH)) {
alt103 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 103, 0, input);
throw nvae;
}
switch (alt103) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1078:4: if_statement
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_if_statement_in_selection_statement5339);
if_statement529 = if_statement();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, if_statement529.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1079:4: switch_statement
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_switch_statement_in_selection_statement5344);
switch_statement530 = switch_statement();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, switch_statement530.getTree());
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "selection_statement"
public static class if_statement_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "if_statement"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1087:1: if_statement : IF OPEN_PARENS be= boolean_expression CLOSE_PARENS thenStmt= embedded_statement ( ( ELSE )=> ELSE elseStmt= embedded_statement )? -> ^( IF ^( CONDITION $be) ^( THEN $thenStmt) ( ^( ELSE $elseStmt) )? ) ;
public final CSharpParser.if_statement_return if_statement() throws RecognitionException {
CSharpParser.if_statement_return retval = new CSharpParser.if_statement_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IF531 = null;
Token OPEN_PARENS532 = null;
Token CLOSE_PARENS533 = null;
Token ELSE534 = null;
CSharpParser.boolean_expression_return be = null;
CSharpParser.embedded_statement_return thenStmt = null;
CSharpParser.embedded_statement_return elseStmt = null;
Object IF531_tree = null;
Object OPEN_PARENS532_tree = null;
Object CLOSE_PARENS533_tree = null;
Object ELSE534_tree = null;
RewriteRuleTokenStream stream_OPEN_PARENS = new RewriteRuleTokenStream(adaptor, "token OPEN_PARENS");
RewriteRuleTokenStream stream_IF = new RewriteRuleTokenStream(adaptor, "token IF");
RewriteRuleTokenStream stream_ELSE = new RewriteRuleTokenStream(adaptor, "token ELSE");
RewriteRuleTokenStream stream_CLOSE_PARENS = new RewriteRuleTokenStream(adaptor, "token CLOSE_PARENS");
RewriteRuleSubtreeStream stream_embedded_statement = new RewriteRuleSubtreeStream(adaptor, "rule embedded_statement");
RewriteRuleSubtreeStream stream_boolean_expression = new RewriteRuleSubtreeStream(adaptor, "rule boolean_expression");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1088:3: ( IF OPEN_PARENS be= boolean_expression CLOSE_PARENS thenStmt= embedded_statement ( ( ELSE )=> ELSE elseStmt= embedded_statement )? -> ^( IF ^( CONDITION $be) ^( THEN $thenStmt) ( ^( ELSE $elseStmt) )? ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1088:5: IF OPEN_PARENS be= boolean_expression CLOSE_PARENS thenStmt= embedded_statement ( ( ELSE )=> ELSE elseStmt= embedded_statement )?
{
IF531 = (Token) match(input, IF, FOLLOW_IF_in_if_statement5358);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_IF.add(IF531);
}
OPEN_PARENS532 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_if_statement5360);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_OPEN_PARENS.add(OPEN_PARENS532);
}
pushFollow(FOLLOW_boolean_expression_in_if_statement5364);
be = boolean_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_boolean_expression.add(be.getTree());
}
CLOSE_PARENS533 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_if_statement5366);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_CLOSE_PARENS.add(CLOSE_PARENS533);
}
pushFollow(FOLLOW_embedded_statement_in_if_statement5370);
thenStmt = embedded_statement();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_embedded_statement.add(thenStmt.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1089:7: ( ( ELSE )=> ELSE elseStmt= embedded_statement )?
int alt104 = 2;
int LA104_0 = input.LA(1);
if ((LA104_0 == ELSE)) {
int LA104_1 = input.LA(2);
if ((synpred16_CSharpParser())) {
alt104 = 1;
}
}
switch (alt104) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1089:9: ( ELSE )=> ELSE elseStmt= embedded_statement
{
ELSE534 = (Token) match(input, ELSE, FOLLOW_ELSE_in_if_statement5386);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_ELSE.add(ELSE534);
}
pushFollow(FOLLOW_embedded_statement_in_if_statement5390);
elseStmt = embedded_statement();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_embedded_statement.add(elseStmt.getTree());
}
}
break;
}
// AST REWRITE
// elements: ELSE, IF, elseStmt, be, thenStmt
// token labels:
// rule labels: retval, elseStmt, thenStmt, be
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
RewriteRuleSubtreeStream stream_elseStmt = new RewriteRuleSubtreeStream(adaptor, "rule elseStmt", elseStmt != null ? elseStmt.tree : null);
RewriteRuleSubtreeStream stream_thenStmt = new RewriteRuleSubtreeStream(adaptor, "rule thenStmt", thenStmt != null ? thenStmt.tree : null);
RewriteRuleSubtreeStream stream_be = new RewriteRuleSubtreeStream(adaptor, "rule be", be != null ? be.tree : null);
root_0 = adaptor.nil();
// 1090:5: -> ^( IF ^( CONDITION $be) ^( THEN $thenStmt) ( ^( ELSE $elseStmt) )? )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1090:8: ^( IF ^( CONDITION $be) ^( THEN $thenStmt) ( ^( ELSE $elseStmt) )? )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
stream_IF.nextNode(), root_1);
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1090:13: ^( CONDITION $be)
{
Object root_2 = adaptor.nil();
root_2 = adaptor.becomeRoot(
adaptor.create(CONDITION, "CONDITION"), root_2);
adaptor.addChild(root_2, stream_be.nextTree());
adaptor.addChild(root_1, root_2);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1090:30: ^( THEN $thenStmt)
{
Object root_2 = adaptor.nil();
root_2 = adaptor.becomeRoot(
adaptor.create(THEN, "THEN"), root_2);
adaptor.addChild(root_2, stream_thenStmt.nextTree());
adaptor.addChild(root_1, root_2);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1090:48: ( ^( ELSE $elseStmt) )?
if (stream_ELSE.hasNext() || stream_elseStmt.hasNext()) {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1090:48: ^( ELSE $elseStmt)
{
Object root_2 = adaptor.nil();
root_2 = adaptor.becomeRoot(
stream_ELSE.nextNode(), root_2);
adaptor.addChild(root_2, stream_elseStmt.nextTree());
adaptor.addChild(root_1, root_2);
}
}
stream_ELSE.reset();
stream_elseStmt.reset();
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "if_statement"
public static class switch_statement_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "switch_statement"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1092:1: switch_statement : SWITCH ^ OPEN_PARENS expression CLOSE_PARENS switch_block ;
public final CSharpParser.switch_statement_return switch_statement() throws RecognitionException {
CSharpParser.switch_statement_return retval = new CSharpParser.switch_statement_return();
retval.start = input.LT(1);
Object root_0 = null;
Token SWITCH535 = null;
Token OPEN_PARENS536 = null;
Token CLOSE_PARENS538 = null;
CSharpParser.expression_return expression537 = null;
CSharpParser.switch_block_return switch_block539 = null;
Object SWITCH535_tree = null;
Object OPEN_PARENS536_tree = null;
Object CLOSE_PARENS538_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1093:2: ( SWITCH ^ OPEN_PARENS expression CLOSE_PARENS switch_block )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1093:4: SWITCH ^ OPEN_PARENS expression CLOSE_PARENS switch_block
{
root_0 = adaptor.nil();
SWITCH535 = (Token) match(input, SWITCH, FOLLOW_SWITCH_in_switch_statement5438);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
SWITCH535_tree =
adaptor.create(SWITCH535);
root_0 = adaptor.becomeRoot(SWITCH535_tree, root_0);
}
OPEN_PARENS536 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_switch_statement5441);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_PARENS536_tree =
adaptor.create(OPEN_PARENS536);
adaptor.addChild(root_0, OPEN_PARENS536_tree);
}
pushFollow(FOLLOW_expression_in_switch_statement5443);
expression537 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression537.getTree());
}
CLOSE_PARENS538 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_switch_statement5445);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_PARENS538_tree =
adaptor.create(CLOSE_PARENS538);
adaptor.addChild(root_0, CLOSE_PARENS538_tree);
}
pushFollow(FOLLOW_switch_block_in_switch_statement5447);
switch_block539 = switch_block();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, switch_block539.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "switch_statement"
public static class switch_block_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "switch_block"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1095:1: switch_block : OPEN_BRACE ( switch_sections )? CLOSE_BRACE ;
public final CSharpParser.switch_block_return switch_block() throws RecognitionException {
CSharpParser.switch_block_return retval = new CSharpParser.switch_block_return();
retval.start = input.LT(1);
Object root_0 = null;
Token OPEN_BRACE540 = null;
Token CLOSE_BRACE542 = null;
CSharpParser.switch_sections_return switch_sections541 = null;
Object OPEN_BRACE540_tree = null;
Object CLOSE_BRACE542_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1096:2: ( OPEN_BRACE ( switch_sections )? CLOSE_BRACE )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1096:4: OPEN_BRACE ( switch_sections )? CLOSE_BRACE
{
root_0 = adaptor.nil();
OPEN_BRACE540 = (Token) match(input, OPEN_BRACE, FOLLOW_OPEN_BRACE_in_switch_block5458);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_BRACE540_tree =
adaptor.create(OPEN_BRACE540);
adaptor.addChild(root_0, OPEN_BRACE540_tree);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1096:15: ( switch_sections )?
int alt105 = 2;
int LA105_0 = input.LA(1);
if ((LA105_0 == CASE || LA105_0 == DEFAULT)) {
alt105 = 1;
}
switch (alt105) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1096:15: switch_sections
{
pushFollow(FOLLOW_switch_sections_in_switch_block5460);
switch_sections541 = switch_sections();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, switch_sections541.getTree());
}
}
break;
}
CLOSE_BRACE542 = (Token) match(input, CLOSE_BRACE, FOLLOW_CLOSE_BRACE_in_switch_block5463);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_BRACE542_tree =
adaptor.create(CLOSE_BRACE542);
adaptor.addChild(root_0, CLOSE_BRACE542_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "switch_block"
public static class switch_sections_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "switch_sections"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1098:1: switch_sections : switch_section ( switch_section )* ;
public final CSharpParser.switch_sections_return switch_sections() throws RecognitionException {
CSharpParser.switch_sections_return retval = new CSharpParser.switch_sections_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.switch_section_return switch_section543 = null;
CSharpParser.switch_section_return switch_section544 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1099:2: ( switch_section ( switch_section )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1099:4: switch_section ( switch_section )*
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_switch_section_in_switch_sections5474);
switch_section543 = switch_section();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, switch_section543.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1099:19: ( switch_section )*
loop106:
do {
int alt106 = 2;
int LA106_0 = input.LA(1);
if ((LA106_0 == CASE || LA106_0 == DEFAULT)) {
alt106 = 1;
}
switch (alt106) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1099:21: switch_section
{
pushFollow(FOLLOW_switch_section_in_switch_sections5478);
switch_section544 = switch_section();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, switch_section544.getTree());
}
}
break;
default:
break loop106;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "switch_sections"
public static class switch_section_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "switch_section"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1101:1: switch_section : switch_labels statement_list ;
public final CSharpParser.switch_section_return switch_section() throws RecognitionException {
CSharpParser.switch_section_return retval = new CSharpParser.switch_section_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.switch_labels_return switch_labels545 = null;
CSharpParser.statement_list_return statement_list546 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1102:2: ( switch_labels statement_list )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1102:4: switch_labels statement_list
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_switch_labels_in_switch_section5492);
switch_labels545 = switch_labels();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, switch_labels545.getTree());
}
pushFollow(FOLLOW_statement_list_in_switch_section5494);
statement_list546 = statement_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, statement_list546.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "switch_section"
public static class switch_labels_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "switch_labels"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1104:1: switch_labels : switch_label ( switch_label )* ;
public final CSharpParser.switch_labels_return switch_labels() throws RecognitionException {
CSharpParser.switch_labels_return retval = new CSharpParser.switch_labels_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.switch_label_return switch_label547 = null;
CSharpParser.switch_label_return switch_label548 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1105:2: ( switch_label ( switch_label )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1105:4: switch_label ( switch_label )*
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_switch_label_in_switch_labels5505);
switch_label547 = switch_label();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, switch_label547.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1105:17: ( switch_label )*
loop107:
do {
int alt107 = 2;
int LA107_0 = input.LA(1);
if ((LA107_0 == DEFAULT)) {
int LA107_2 = input.LA(2);
if ((LA107_2 == COLON)) {
alt107 = 1;
}
} else if ((LA107_0 == CASE)) {
alt107 = 1;
}
switch (alt107) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1105:19: switch_label
{
pushFollow(FOLLOW_switch_label_in_switch_labels5509);
switch_label548 = switch_label();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, switch_label548.getTree());
}
}
break;
default:
break loop107;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "switch_labels"
public static class switch_label_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "switch_label"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1107:1: switch_label : ( CASE constant_expression COLON | DEFAULT COLON );
public final CSharpParser.switch_label_return switch_label() throws RecognitionException {
CSharpParser.switch_label_return retval = new CSharpParser.switch_label_return();
retval.start = input.LT(1);
Object root_0 = null;
Token CASE549 = null;
Token COLON551 = null;
Token DEFAULT552 = null;
Token COLON553 = null;
CSharpParser.constant_expression_return constant_expression550 = null;
Object CASE549_tree = null;
Object COLON551_tree = null;
Object DEFAULT552_tree = null;
Object COLON553_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1108:2: ( CASE constant_expression COLON | DEFAULT COLON )
int alt108 = 2;
int LA108_0 = input.LA(1);
if ((LA108_0 == CASE)) {
alt108 = 1;
} else if ((LA108_0 == DEFAULT)) {
alt108 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 108, 0, input);
throw nvae;
}
switch (alt108) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1108:4: CASE constant_expression COLON
{
root_0 = adaptor.nil();
CASE549 = (Token) match(input, CASE, FOLLOW_CASE_in_switch_label5523);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CASE549_tree =
adaptor.create(CASE549);
adaptor.addChild(root_0, CASE549_tree);
}
pushFollow(FOLLOW_constant_expression_in_switch_label5525);
constant_expression550 = constant_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, constant_expression550.getTree());
}
COLON551 = (Token) match(input, COLON, FOLLOW_COLON_in_switch_label5527);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
COLON551_tree =
adaptor.create(COLON551);
adaptor.addChild(root_0, COLON551_tree);
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1109:4: DEFAULT COLON
{
root_0 = adaptor.nil();
DEFAULT552 = (Token) match(input, DEFAULT, FOLLOW_DEFAULT_in_switch_label5532);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
DEFAULT552_tree =
adaptor.create(DEFAULT552);
adaptor.addChild(root_0, DEFAULT552_tree);
}
COLON553 = (Token) match(input, COLON, FOLLOW_COLON_in_switch_label5534);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
COLON553_tree =
adaptor.create(COLON553);
adaptor.addChild(root_0, COLON553_tree);
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "switch_label"
public static class iteration_statement_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "iteration_statement"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1112:1: iteration_statement : ( while_statement | do_statement | for_statement | foreach_statement );
public final CSharpParser.iteration_statement_return iteration_statement() throws RecognitionException {
CSharpParser.iteration_statement_return retval = new CSharpParser.iteration_statement_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.while_statement_return while_statement554 = null;
CSharpParser.do_statement_return do_statement555 = null;
CSharpParser.for_statement_return for_statement556 = null;
CSharpParser.foreach_statement_return foreach_statement557 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1113:2: ( while_statement | do_statement | for_statement | foreach_statement )
int alt109 = 4;
switch (input.LA(1)) {
case WHILE: {
alt109 = 1;
}
break;
case DO: {
alt109 = 2;
}
break;
case FOR: {
alt109 = 3;
}
break;
case FOREACH: {
alt109 = 4;
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 109, 0, input);
throw nvae;
}
switch (alt109) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1113:4: while_statement
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_while_statement_in_iteration_statement5547);
while_statement554 = while_statement();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, while_statement554.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1114:4: do_statement
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_do_statement_in_iteration_statement5552);
do_statement555 = do_statement();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, do_statement555.getTree());
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1115:4: for_statement
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_for_statement_in_iteration_statement5557);
for_statement556 = for_statement();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, for_statement556.getTree());
}
}
break;
case 4: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1116:4: foreach_statement
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_foreach_statement_in_iteration_statement5562);
foreach_statement557 = foreach_statement();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, foreach_statement557.getTree());
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "iteration_statement"
public static class while_statement_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "while_statement"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1118:1: while_statement : WHILE OPEN_PARENS boolean_expression CLOSE_PARENS embedded_statement -> ^( WHILE ^( CONDITION boolean_expression ) ^( LOOP_BODY embedded_statement ) ) ;
public final CSharpParser.while_statement_return while_statement() throws RecognitionException {
CSharpParser.while_statement_return retval = new CSharpParser.while_statement_return();
retval.start = input.LT(1);
Object root_0 = null;
Token WHILE558 = null;
Token OPEN_PARENS559 = null;
Token CLOSE_PARENS561 = null;
CSharpParser.boolean_expression_return boolean_expression560 = null;
CSharpParser.embedded_statement_return embedded_statement562 = null;
Object WHILE558_tree = null;
Object OPEN_PARENS559_tree = null;
Object CLOSE_PARENS561_tree = null;
RewriteRuleTokenStream stream_WHILE = new RewriteRuleTokenStream(adaptor, "token WHILE");
RewriteRuleTokenStream stream_OPEN_PARENS = new RewriteRuleTokenStream(adaptor, "token OPEN_PARENS");
RewriteRuleTokenStream stream_CLOSE_PARENS = new RewriteRuleTokenStream(adaptor, "token CLOSE_PARENS");
RewriteRuleSubtreeStream stream_embedded_statement = new RewriteRuleSubtreeStream(adaptor, "rule embedded_statement");
RewriteRuleSubtreeStream stream_boolean_expression = new RewriteRuleSubtreeStream(adaptor, "rule boolean_expression");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1119:2: ( WHILE OPEN_PARENS boolean_expression CLOSE_PARENS embedded_statement -> ^( WHILE ^( CONDITION boolean_expression ) ^( LOOP_BODY embedded_statement ) ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1119:4: WHILE OPEN_PARENS boolean_expression CLOSE_PARENS embedded_statement
{
WHILE558 = (Token) match(input, WHILE, FOLLOW_WHILE_in_while_statement5573);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_WHILE.add(WHILE558);
}
OPEN_PARENS559 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_while_statement5575);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_OPEN_PARENS.add(OPEN_PARENS559);
}
pushFollow(FOLLOW_boolean_expression_in_while_statement5577);
boolean_expression560 = boolean_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_boolean_expression.add(boolean_expression560.getTree());
}
CLOSE_PARENS561 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_while_statement5579);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_CLOSE_PARENS.add(CLOSE_PARENS561);
}
pushFollow(FOLLOW_embedded_statement_in_while_statement5581);
embedded_statement562 = embedded_statement();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_embedded_statement.add(embedded_statement562.getTree());
}
// AST REWRITE
// elements: WHILE, embedded_statement, boolean_expression
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 1120:4: -> ^( WHILE ^( CONDITION boolean_expression ) ^( LOOP_BODY embedded_statement ) )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1120:7: ^( WHILE ^( CONDITION boolean_expression ) ^( LOOP_BODY embedded_statement ) )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
stream_WHILE.nextNode(), root_1);
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1120:15: ^( CONDITION boolean_expression )
{
Object root_2 = adaptor.nil();
root_2 = adaptor.becomeRoot(
adaptor.create(CONDITION, "CONDITION"), root_2);
adaptor.addChild(root_2, stream_boolean_expression.nextTree());
adaptor.addChild(root_1, root_2);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1120:47: ^( LOOP_BODY embedded_statement )
{
Object root_2 = adaptor.nil();
root_2 = adaptor.becomeRoot(
adaptor.create(LOOP_BODY, "LOOP_BODY"), root_2);
adaptor.addChild(root_2, stream_embedded_statement.nextTree());
adaptor.addChild(root_1, root_2);
}
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "while_statement"
public static class do_statement_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "do_statement"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1122:1: do_statement : DO embedded_statement WHILE OPEN_PARENS boolean_expression CLOSE_PARENS SEMICOLON -> ^( DO ^( CONDITION boolean_expression ) ^( LOOP_BODY embedded_statement ) ) ;
public final CSharpParser.do_statement_return do_statement() throws RecognitionException {
CSharpParser.do_statement_return retval = new CSharpParser.do_statement_return();
retval.start = input.LT(1);
Object root_0 = null;
Token DO563 = null;
Token WHILE565 = null;
Token OPEN_PARENS566 = null;
Token CLOSE_PARENS568 = null;
Token SEMICOLON569 = null;
CSharpParser.embedded_statement_return embedded_statement564 = null;
CSharpParser.boolean_expression_return boolean_expression567 = null;
Object DO563_tree = null;
Object WHILE565_tree = null;
Object OPEN_PARENS566_tree = null;
Object CLOSE_PARENS568_tree = null;
Object SEMICOLON569_tree = null;
RewriteRuleTokenStream stream_DO = new RewriteRuleTokenStream(adaptor, "token DO");
RewriteRuleTokenStream stream_SEMICOLON = new RewriteRuleTokenStream(adaptor, "token SEMICOLON");
RewriteRuleTokenStream stream_WHILE = new RewriteRuleTokenStream(adaptor, "token WHILE");
RewriteRuleTokenStream stream_OPEN_PARENS = new RewriteRuleTokenStream(adaptor, "token OPEN_PARENS");
RewriteRuleTokenStream stream_CLOSE_PARENS = new RewriteRuleTokenStream(adaptor, "token CLOSE_PARENS");
RewriteRuleSubtreeStream stream_embedded_statement = new RewriteRuleSubtreeStream(adaptor, "rule embedded_statement");
RewriteRuleSubtreeStream stream_boolean_expression = new RewriteRuleSubtreeStream(adaptor, "rule boolean_expression");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1123:2: ( DO embedded_statement WHILE OPEN_PARENS boolean_expression CLOSE_PARENS SEMICOLON -> ^( DO ^( CONDITION boolean_expression ) ^( LOOP_BODY embedded_statement ) ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1123:4: DO embedded_statement WHILE OPEN_PARENS boolean_expression CLOSE_PARENS SEMICOLON
{
DO563 = (Token) match(input, DO, FOLLOW_DO_in_do_statement5614);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_DO.add(DO563);
}
pushFollow(FOLLOW_embedded_statement_in_do_statement5616);
embedded_statement564 = embedded_statement();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_embedded_statement.add(embedded_statement564.getTree());
}
WHILE565 = (Token) match(input, WHILE, FOLLOW_WHILE_in_do_statement5618);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_WHILE.add(WHILE565);
}
OPEN_PARENS566 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_do_statement5620);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_OPEN_PARENS.add(OPEN_PARENS566);
}
pushFollow(FOLLOW_boolean_expression_in_do_statement5622);
boolean_expression567 = boolean_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_boolean_expression.add(boolean_expression567.getTree());
}
CLOSE_PARENS568 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_do_statement5624);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_CLOSE_PARENS.add(CLOSE_PARENS568);
}
SEMICOLON569 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_do_statement5626);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_SEMICOLON.add(SEMICOLON569);
}
// AST REWRITE
// elements: boolean_expression, embedded_statement, DO
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 1124:4: -> ^( DO ^( CONDITION boolean_expression ) ^( LOOP_BODY embedded_statement ) )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1124:7: ^( DO ^( CONDITION boolean_expression ) ^( LOOP_BODY embedded_statement ) )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
stream_DO.nextNode(), root_1);
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1124:12: ^( CONDITION boolean_expression )
{
Object root_2 = adaptor.nil();
root_2 = adaptor.becomeRoot(
adaptor.create(CONDITION, "CONDITION"), root_2);
adaptor.addChild(root_2, stream_boolean_expression.nextTree());
adaptor.addChild(root_1, root_2);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1124:44: ^( LOOP_BODY embedded_statement )
{
Object root_2 = adaptor.nil();
root_2 = adaptor.becomeRoot(
adaptor.create(LOOP_BODY, "LOOP_BODY"), root_2);
adaptor.addChild(root_2, stream_embedded_statement.nextTree());
adaptor.addChild(root_1, root_2);
}
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "do_statement"
public static class for_statement_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "for_statement"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1126:1: for_statement : FOR OPEN_PARENS ( for_initializer )? SEMICOLON ( for_condition )? SEMICOLON ( for_iterator )? CLOSE_PARENS embedded_statement -> ^( FOR ( ^( FOR_INITIALIZER for_initializer ) )? ( ^( CONDITION for_condition ) )? ( ^( FOR_ITERATOR for_iterator ) )? ^( LOOP_BODY embedded_statement ) ) ;
public final CSharpParser.for_statement_return for_statement() throws RecognitionException {
CSharpParser.for_statement_return retval = new CSharpParser.for_statement_return();
retval.start = input.LT(1);
Object root_0 = null;
Token FOR570 = null;
Token OPEN_PARENS571 = null;
Token SEMICOLON573 = null;
Token SEMICOLON575 = null;
Token CLOSE_PARENS577 = null;
CSharpParser.for_initializer_return for_initializer572 = null;
CSharpParser.for_condition_return for_condition574 = null;
CSharpParser.for_iterator_return for_iterator576 = null;
CSharpParser.embedded_statement_return embedded_statement578 = null;
Object FOR570_tree = null;
Object OPEN_PARENS571_tree = null;
Object SEMICOLON573_tree = null;
Object SEMICOLON575_tree = null;
Object CLOSE_PARENS577_tree = null;
RewriteRuleTokenStream stream_FOR = new RewriteRuleTokenStream(adaptor, "token FOR");
RewriteRuleTokenStream stream_SEMICOLON = new RewriteRuleTokenStream(adaptor, "token SEMICOLON");
RewriteRuleTokenStream stream_OPEN_PARENS = new RewriteRuleTokenStream(adaptor, "token OPEN_PARENS");
RewriteRuleTokenStream stream_CLOSE_PARENS = new RewriteRuleTokenStream(adaptor, "token CLOSE_PARENS");
RewriteRuleSubtreeStream stream_for_condition = new RewriteRuleSubtreeStream(adaptor, "rule for_condition");
RewriteRuleSubtreeStream stream_embedded_statement = new RewriteRuleSubtreeStream(adaptor, "rule embedded_statement");
RewriteRuleSubtreeStream stream_for_iterator = new RewriteRuleSubtreeStream(adaptor, "rule for_iterator");
RewriteRuleSubtreeStream stream_for_initializer = new RewriteRuleSubtreeStream(adaptor, "rule for_initializer");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1127:2: ( FOR OPEN_PARENS ( for_initializer )? SEMICOLON ( for_condition )? SEMICOLON ( for_iterator )? CLOSE_PARENS embedded_statement -> ^( FOR ( ^( FOR_INITIALIZER for_initializer ) )? ( ^( CONDITION for_condition ) )? ( ^( FOR_ITERATOR for_iterator ) )? ^( LOOP_BODY embedded_statement ) ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1127:4: FOR OPEN_PARENS ( for_initializer )? SEMICOLON ( for_condition )? SEMICOLON ( for_iterator )? CLOSE_PARENS embedded_statement
{
FOR570 = (Token) match(input, FOR, FOLLOW_FOR_in_for_statement5659);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_FOR.add(FOR570);
}
OPEN_PARENS571 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_for_statement5661);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_OPEN_PARENS.add(OPEN_PARENS571);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1127:20: ( for_initializer )?
int alt110 = 2;
int LA110_0 = input.LA(1);
if ((LA110_0 == AMP || (LA110_0 >= BANG && LA110_0 <= BASE) || LA110_0 == BOOL || LA110_0 == BYTE || (LA110_0 >= CHAR && LA110_0 <= CHECKED) || LA110_0 == DECIMAL || (LA110_0 >= DEFAULT && LA110_0 <= DELEGATE) || LA110_0 == DOUBLE || LA110_0 == FALSE || LA110_0 == FLOAT || LA110_0 == IDENTIFIER || (LA110_0 >= INT && LA110_0 <= INTEGER_LITERAL) || LA110_0 == LONG || LA110_0 == MINUS || LA110_0 == NEW || LA110_0 == NULL || LA110_0 == OBJECT || LA110_0 == OPEN_PARENS || LA110_0 == OP_DEC || LA110_0 == OP_INC || LA110_0 == PLUS || LA110_0 == REAL_LITERAL || LA110_0 == SBYTE || LA110_0 == SHORT || LA110_0 == SIZEOF || LA110_0 == STAR || (LA110_0 >= STRING && LA110_0 <= STRING_LITERAL) || LA110_0 == THIS || (LA110_0 >= TILDE && LA110_0 <= TRUE) || (LA110_0 >= TYPEOF && LA110_0 <= UNCHECKED) || LA110_0 == USHORT || LA110_0 == VOID)) {
alt110 = 1;
}
switch (alt110) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1127:20: for_initializer
{
pushFollow(FOLLOW_for_initializer_in_for_statement5663);
for_initializer572 = for_initializer();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_for_initializer.add(for_initializer572.getTree());
}
}
break;
}
SEMICOLON573 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_for_statement5666);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_SEMICOLON.add(SEMICOLON573);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1127:47: ( for_condition )?
int alt111 = 2;
int LA111_0 = input.LA(1);
if ((LA111_0 == AMP || (LA111_0 >= BANG && LA111_0 <= BASE) || LA111_0 == BOOL || LA111_0 == BYTE || (LA111_0 >= CHAR && LA111_0 <= CHECKED) || LA111_0 == DECIMAL || (LA111_0 >= DEFAULT && LA111_0 <= DELEGATE) || LA111_0 == DOUBLE || LA111_0 == FALSE || LA111_0 == FLOAT || LA111_0 == IDENTIFIER || (LA111_0 >= INT && LA111_0 <= INTEGER_LITERAL) || LA111_0 == LONG || LA111_0 == MINUS || LA111_0 == NEW || LA111_0 == NULL || LA111_0 == OBJECT || LA111_0 == OPEN_PARENS || LA111_0 == OP_DEC || LA111_0 == OP_INC || LA111_0 == PLUS || LA111_0 == REAL_LITERAL || LA111_0 == SBYTE || LA111_0 == SHORT || LA111_0 == SIZEOF || LA111_0 == STAR || (LA111_0 >= STRING && LA111_0 <= STRING_LITERAL) || LA111_0 == THIS || (LA111_0 >= TILDE && LA111_0 <= TRUE) || (LA111_0 >= TYPEOF && LA111_0 <= UNCHECKED) || LA111_0 == USHORT)) {
alt111 = 1;
}
switch (alt111) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1127:47: for_condition
{
pushFollow(FOLLOW_for_condition_in_for_statement5668);
for_condition574 = for_condition();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_for_condition.add(for_condition574.getTree());
}
}
break;
}
SEMICOLON575 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_for_statement5671);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_SEMICOLON.add(SEMICOLON575);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1127:72: ( for_iterator )?
int alt112 = 2;
int LA112_0 = input.LA(1);
if ((LA112_0 == AMP || (LA112_0 >= BANG && LA112_0 <= BASE) || LA112_0 == BOOL || LA112_0 == BYTE || (LA112_0 >= CHAR && LA112_0 <= CHECKED) || LA112_0 == DECIMAL || (LA112_0 >= DEFAULT && LA112_0 <= DELEGATE) || LA112_0 == DOUBLE || LA112_0 == FALSE || LA112_0 == FLOAT || LA112_0 == IDENTIFIER || (LA112_0 >= INT && LA112_0 <= INTEGER_LITERAL) || LA112_0 == LONG || LA112_0 == MINUS || LA112_0 == NEW || LA112_0 == NULL || LA112_0 == OBJECT || LA112_0 == OPEN_PARENS || LA112_0 == OP_DEC || LA112_0 == OP_INC || LA112_0 == PLUS || LA112_0 == REAL_LITERAL || LA112_0 == SBYTE || LA112_0 == SHORT || LA112_0 == SIZEOF || LA112_0 == STAR || (LA112_0 >= STRING && LA112_0 <= STRING_LITERAL) || LA112_0 == THIS || (LA112_0 >= TILDE && LA112_0 <= TRUE) || (LA112_0 >= TYPEOF && LA112_0 <= UNCHECKED) || LA112_0 == USHORT)) {
alt112 = 1;
}
switch (alt112) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1127:72: for_iterator
{
pushFollow(FOLLOW_for_iterator_in_for_statement5673);
for_iterator576 = for_iterator();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_for_iterator.add(for_iterator576.getTree());
}
}
break;
}
CLOSE_PARENS577 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_for_statement5676);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_CLOSE_PARENS.add(CLOSE_PARENS577);
}
pushFollow(FOLLOW_embedded_statement_in_for_statement5678);
embedded_statement578 = embedded_statement();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_embedded_statement.add(embedded_statement578.getTree());
}
// AST REWRITE
// elements: for_initializer, FOR, for_condition, embedded_statement, for_iterator
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 1128:4: -> ^( FOR ( ^( FOR_INITIALIZER for_initializer ) )? ( ^( CONDITION for_condition ) )? ( ^( FOR_ITERATOR for_iterator ) )? ^( LOOP_BODY embedded_statement ) )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1128:7: ^( FOR ( ^( FOR_INITIALIZER for_initializer ) )? ( ^( CONDITION for_condition ) )? ( ^( FOR_ITERATOR for_iterator ) )? ^( LOOP_BODY embedded_statement ) )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
stream_FOR.nextNode(), root_1);
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1128:13: ( ^( FOR_INITIALIZER for_initializer ) )?
if (stream_for_initializer.hasNext()) {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1128:13: ^( FOR_INITIALIZER for_initializer )
{
Object root_2 = adaptor.nil();
root_2 = adaptor.becomeRoot(
adaptor.create(FOR_INITIALIZER, "FOR_INITIALIZER"), root_2);
adaptor.addChild(root_2, stream_for_initializer.nextTree());
adaptor.addChild(root_1, root_2);
}
}
stream_for_initializer.reset();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1128:49: ( ^( CONDITION for_condition ) )?
if (stream_for_condition.hasNext()) {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1128:49: ^( CONDITION for_condition )
{
Object root_2 = adaptor.nil();
root_2 = adaptor.becomeRoot(
adaptor.create(CONDITION, "CONDITION"), root_2);
adaptor.addChild(root_2, stream_for_condition.nextTree());
adaptor.addChild(root_1, root_2);
}
}
stream_for_condition.reset();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1129:12: ( ^( FOR_ITERATOR for_iterator ) )?
if (stream_for_iterator.hasNext()) {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1129:12: ^( FOR_ITERATOR for_iterator )
{
Object root_2 = adaptor.nil();
root_2 = adaptor.becomeRoot(
adaptor.create(FOR_ITERATOR, "FOR_ITERATOR"), root_2);
adaptor.addChild(root_2, stream_for_iterator.nextTree());
adaptor.addChild(root_1, root_2);
}
}
stream_for_iterator.reset();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1129:43: ^( LOOP_BODY embedded_statement )
{
Object root_2 = adaptor.nil();
root_2 = adaptor.becomeRoot(
adaptor.create(LOOP_BODY, "LOOP_BODY"), root_2);
adaptor.addChild(root_2, stream_embedded_statement.nextTree());
adaptor.addChild(root_1, root_2);
}
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "for_statement"
public static class for_initializer_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "for_initializer"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1131:1: for_initializer : ( ( local_variable_declaration )=> local_variable_declaration | statement_expression_list );
public final CSharpParser.for_initializer_return for_initializer() throws RecognitionException {
CSharpParser.for_initializer_return retval = new CSharpParser.for_initializer_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.local_variable_declaration_return local_variable_declaration579 = null;
CSharpParser.statement_expression_list_return statement_expression_list580 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1132:2: ( ( local_variable_declaration )=> local_variable_declaration | statement_expression_list )
int alt113 = 2;
int LA113_0 = input.LA(1);
if ((LA113_0 == BYTE || LA113_0 == CHAR || LA113_0 == INT || LA113_0 == LONG || LA113_0 == SBYTE || LA113_0 == SHORT || (LA113_0 >= UINT && LA113_0 <= ULONG) || LA113_0 == USHORT)) {
int LA113_1 = input.LA(2);
if ((synpred17_CSharpParser())) {
alt113 = 1;
} else if ((true)) {
alt113 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 113, 1, input);
throw nvae;
}
} else if ((LA113_0 == DOUBLE || LA113_0 == FLOAT)) {
int LA113_2 = input.LA(2);
if ((synpred17_CSharpParser())) {
alt113 = 1;
} else if ((true)) {
alt113 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 113, 2, input);
throw nvae;
}
} else if ((LA113_0 == DECIMAL)) {
int LA113_3 = input.LA(2);
if ((synpred17_CSharpParser())) {
alt113 = 1;
} else if ((true)) {
alt113 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 113, 3, input);
throw nvae;
}
} else if ((LA113_0 == BOOL)) {
int LA113_4 = input.LA(2);
if ((synpred17_CSharpParser())) {
alt113 = 1;
} else if ((true)) {
alt113 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 113, 4, input);
throw nvae;
}
} else if ((LA113_0 == IDENTIFIER)) {
int LA113_5 = input.LA(2);
if ((synpred17_CSharpParser())) {
alt113 = 1;
} else if ((true)) {
alt113 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 113, 5, input);
throw nvae;
}
} else if ((LA113_0 == OBJECT)) {
int LA113_6 = input.LA(2);
if ((synpred17_CSharpParser())) {
alt113 = 1;
} else if ((true)) {
alt113 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 113, 6, input);
throw nvae;
}
} else if ((LA113_0 == STRING)) {
int LA113_7 = input.LA(2);
if ((synpred17_CSharpParser())) {
alt113 = 1;
} else if ((true)) {
alt113 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 113, 7, input);
throw nvae;
}
} else if ((LA113_0 == VOID) && (synpred17_CSharpParser())) {
alt113 = 1;
} else if ((LA113_0 == AMP || (LA113_0 >= BANG && LA113_0 <= BASE) || (LA113_0 >= CHARACTER_LITERAL && LA113_0 <= CHECKED) || (LA113_0 >= DEFAULT && LA113_0 <= DELEGATE) || LA113_0 == FALSE || LA113_0 == INTEGER_LITERAL || LA113_0 == MINUS || LA113_0 == NEW || LA113_0 == NULL || LA113_0 == OPEN_PARENS || LA113_0 == OP_DEC || LA113_0 == OP_INC || LA113_0 == PLUS || LA113_0 == REAL_LITERAL || LA113_0 == SIZEOF || LA113_0 == STAR || LA113_0 == STRING_LITERAL || LA113_0 == THIS || (LA113_0 >= TILDE && LA113_0 <= TRUE) || LA113_0 == TYPEOF || LA113_0 == UNCHECKED)) {
alt113 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 113, 0, input);
throw nvae;
}
switch (alt113) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1132:4: ( local_variable_declaration )=> local_variable_declaration
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_local_variable_declaration_in_for_initializer5745);
local_variable_declaration579 = local_variable_declaration();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, local_variable_declaration579.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1133:4: statement_expression_list
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_statement_expression_list_in_for_initializer5750);
statement_expression_list580 = statement_expression_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, statement_expression_list580.getTree());
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "for_initializer"
public static class for_condition_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "for_condition"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1135:1: for_condition : boolean_expression ;
public final CSharpParser.for_condition_return for_condition() throws RecognitionException {
CSharpParser.for_condition_return retval = new CSharpParser.for_condition_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.boolean_expression_return boolean_expression581 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1136:2: ( boolean_expression )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1136:4: boolean_expression
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_boolean_expression_in_for_condition5761);
boolean_expression581 = boolean_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, boolean_expression581.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "for_condition"
public static class for_iterator_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "for_iterator"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1138:1: for_iterator : statement_expression_list ;
public final CSharpParser.for_iterator_return for_iterator() throws RecognitionException {
CSharpParser.for_iterator_return retval = new CSharpParser.for_iterator_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.statement_expression_list_return statement_expression_list582 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1139:2: ( statement_expression_list )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1139:4: statement_expression_list
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_statement_expression_list_in_for_iterator5772);
statement_expression_list582 = statement_expression_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, statement_expression_list582.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "for_iterator"
public static class statement_expression_list_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "statement_expression_list"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1141:1: statement_expression_list : statement_expression ( COMMA statement_expression )* ;
public final CSharpParser.statement_expression_list_return statement_expression_list() throws RecognitionException {
CSharpParser.statement_expression_list_return retval = new CSharpParser.statement_expression_list_return();
retval.start = input.LT(1);
Object root_0 = null;
Token COMMA584 = null;
CSharpParser.statement_expression_return statement_expression583 = null;
CSharpParser.statement_expression_return statement_expression585 = null;
Object COMMA584_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1142:2: ( statement_expression ( COMMA statement_expression )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1142:4: statement_expression ( COMMA statement_expression )*
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_statement_expression_in_statement_expression_list5783);
statement_expression583 = statement_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, statement_expression583.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1142:25: ( COMMA statement_expression )*
loop114:
do {
int alt114 = 2;
int LA114_0 = input.LA(1);
if ((LA114_0 == COMMA)) {
alt114 = 1;
}
switch (alt114) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1142:27: COMMA statement_expression
{
COMMA584 = (Token) match(input, COMMA, FOLLOW_COMMA_in_statement_expression_list5787);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
COMMA584_tree =
adaptor.create(COMMA584);
adaptor.addChild(root_0, COMMA584_tree);
}
pushFollow(FOLLOW_statement_expression_in_statement_expression_list5790);
statement_expression585 = statement_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, statement_expression585.getTree());
}
}
break;
default:
break loop114;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "statement_expression_list"
public static class foreach_statement_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "foreach_statement"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1144:1: foreach_statement : FOREACH OPEN_PARENS local_variable_type IDENTIFIER IN expression CLOSE_PARENS embedded_statement -> ^( FOREACH local_variable_type IDENTIFIER ^( IN expression ) embedded_statement ) ;
public final CSharpParser.foreach_statement_return foreach_statement() throws RecognitionException {
CSharpParser.foreach_statement_return retval = new CSharpParser.foreach_statement_return();
retval.start = input.LT(1);
Object root_0 = null;
Token FOREACH586 = null;
Token OPEN_PARENS587 = null;
Token IDENTIFIER589 = null;
Token IN590 = null;
Token CLOSE_PARENS592 = null;
CSharpParser.local_variable_type_return local_variable_type588 = null;
CSharpParser.expression_return expression591 = null;
CSharpParser.embedded_statement_return embedded_statement593 = null;
Object FOREACH586_tree = null;
Object OPEN_PARENS587_tree = null;
Object IDENTIFIER589_tree = null;
Object IN590_tree = null;
Object CLOSE_PARENS592_tree = null;
RewriteRuleTokenStream stream_FOREACH = new RewriteRuleTokenStream(adaptor, "token FOREACH");
RewriteRuleTokenStream stream_IN = new RewriteRuleTokenStream(adaptor, "token IN");
RewriteRuleTokenStream stream_IDENTIFIER = new RewriteRuleTokenStream(adaptor, "token IDENTIFIER");
RewriteRuleTokenStream stream_OPEN_PARENS = new RewriteRuleTokenStream(adaptor, "token OPEN_PARENS");
RewriteRuleTokenStream stream_CLOSE_PARENS = new RewriteRuleTokenStream(adaptor, "token CLOSE_PARENS");
RewriteRuleSubtreeStream stream_expression = new RewriteRuleSubtreeStream(adaptor, "rule expression");
RewriteRuleSubtreeStream stream_local_variable_type = new RewriteRuleSubtreeStream(adaptor, "rule local_variable_type");
RewriteRuleSubtreeStream stream_embedded_statement = new RewriteRuleSubtreeStream(adaptor, "rule embedded_statement");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1145:2: ( FOREACH OPEN_PARENS local_variable_type IDENTIFIER IN expression CLOSE_PARENS embedded_statement -> ^( FOREACH local_variable_type IDENTIFIER ^( IN expression ) embedded_statement ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1145:4: FOREACH OPEN_PARENS local_variable_type IDENTIFIER IN expression CLOSE_PARENS embedded_statement
{
FOREACH586 = (Token) match(input, FOREACH, FOLLOW_FOREACH_in_foreach_statement5804);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_FOREACH.add(FOREACH586);
}
OPEN_PARENS587 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_foreach_statement5806);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_OPEN_PARENS.add(OPEN_PARENS587);
}
pushFollow(FOLLOW_local_variable_type_in_foreach_statement5808);
local_variable_type588 = local_variable_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_local_variable_type.add(local_variable_type588.getTree());
}
IDENTIFIER589 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_foreach_statement5810);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_IDENTIFIER.add(IDENTIFIER589);
}
IN590 = (Token) match(input, IN, FOLLOW_IN_in_foreach_statement5812);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_IN.add(IN590);
}
pushFollow(FOLLOW_expression_in_foreach_statement5814);
expression591 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_expression.add(expression591.getTree());
}
CLOSE_PARENS592 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_foreach_statement5816);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_CLOSE_PARENS.add(CLOSE_PARENS592);
}
pushFollow(FOLLOW_embedded_statement_in_foreach_statement5818);
embedded_statement593 = embedded_statement();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_embedded_statement.add(embedded_statement593.getTree());
}
// AST REWRITE
// elements: IDENTIFIER, expression, embedded_statement, local_variable_type, IN, FOREACH
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 1146:4: -> ^( FOREACH local_variable_type IDENTIFIER ^( IN expression ) embedded_statement )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1146:7: ^( FOREACH local_variable_type IDENTIFIER ^( IN expression ) embedded_statement )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
stream_FOREACH.nextNode(), root_1);
adaptor.addChild(root_1, stream_local_variable_type.nextTree());
adaptor.addChild(root_1,
stream_IDENTIFIER.nextNode());
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1146:49: ^( IN expression )
{
Object root_2 = adaptor.nil();
root_2 = adaptor.becomeRoot(
stream_IN.nextNode(), root_2);
adaptor.addChild(root_2, stream_expression.nextTree());
adaptor.addChild(root_1, root_2);
}
adaptor.addChild(root_1, stream_embedded_statement.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "foreach_statement"
public static class jump_statement_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "jump_statement"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1148:1: jump_statement : ( break_statement | continue_statement | goto_statement | return_statement | throw_statement );
public final CSharpParser.jump_statement_return jump_statement() throws RecognitionException {
CSharpParser.jump_statement_return retval = new CSharpParser.jump_statement_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.break_statement_return break_statement594 = null;
CSharpParser.continue_statement_return continue_statement595 = null;
CSharpParser.goto_statement_return goto_statement596 = null;
CSharpParser.return_statement_return return_statement597 = null;
CSharpParser.throw_statement_return throw_statement598 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1149:2: ( break_statement | continue_statement | goto_statement | return_statement | throw_statement )
int alt115 = 5;
switch (input.LA(1)) {
case BREAK: {
alt115 = 1;
}
break;
case CONTINUE: {
alt115 = 2;
}
break;
case GOTO: {
alt115 = 3;
}
break;
case RETURN: {
alt115 = 4;
}
break;
case THROW: {
alt115 = 5;
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 115, 0, input);
throw nvae;
}
switch (alt115) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1149:4: break_statement
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_break_statement_in_jump_statement5852);
break_statement594 = break_statement();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, break_statement594.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1150:4: continue_statement
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_continue_statement_in_jump_statement5857);
continue_statement595 = continue_statement();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, continue_statement595.getTree());
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1151:4: goto_statement
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_goto_statement_in_jump_statement5862);
goto_statement596 = goto_statement();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, goto_statement596.getTree());
}
}
break;
case 4: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1152:4: return_statement
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_return_statement_in_jump_statement5867);
return_statement597 = return_statement();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, return_statement597.getTree());
}
}
break;
case 5: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1153:4: throw_statement
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_throw_statement_in_jump_statement5872);
throw_statement598 = throw_statement();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, throw_statement598.getTree());
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "jump_statement"
public static class break_statement_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "break_statement"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1155:1: break_statement : BREAK ^ SEMICOLON !;
public final CSharpParser.break_statement_return break_statement() throws RecognitionException {
CSharpParser.break_statement_return retval = new CSharpParser.break_statement_return();
retval.start = input.LT(1);
Object root_0 = null;
Token BREAK599 = null;
Token SEMICOLON600 = null;
Object BREAK599_tree = null;
Object SEMICOLON600_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1156:2: ( BREAK ^ SEMICOLON !)
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1156:4: BREAK ^ SEMICOLON !
{
root_0 = adaptor.nil();
BREAK599 = (Token) match(input, BREAK, FOLLOW_BREAK_in_break_statement5883);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
BREAK599_tree =
adaptor.create(BREAK599);
root_0 = adaptor.becomeRoot(BREAK599_tree, root_0);
}
SEMICOLON600 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_break_statement5886);
if (state.failed) {
return retval;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "break_statement"
public static class continue_statement_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "continue_statement"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1158:1: continue_statement : CONTINUE ^ SEMICOLON !;
public final CSharpParser.continue_statement_return continue_statement() throws RecognitionException {
CSharpParser.continue_statement_return retval = new CSharpParser.continue_statement_return();
retval.start = input.LT(1);
Object root_0 = null;
Token CONTINUE601 = null;
Token SEMICOLON602 = null;
Object CONTINUE601_tree = null;
Object SEMICOLON602_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1159:2: ( CONTINUE ^ SEMICOLON !)
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1159:4: CONTINUE ^ SEMICOLON !
{
root_0 = adaptor.nil();
CONTINUE601 = (Token) match(input, CONTINUE, FOLLOW_CONTINUE_in_continue_statement5898);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CONTINUE601_tree =
adaptor.create(CONTINUE601);
root_0 = adaptor.becomeRoot(CONTINUE601_tree, root_0);
}
SEMICOLON602 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_continue_statement5901);
if (state.failed) {
return retval;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "continue_statement"
public static class goto_statement_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "goto_statement"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1161:1: goto_statement : ( GOTO ^ IDENTIFIER SEMICOLON | GOTO ^ CASE constant_expression SEMICOLON | GOTO ^ DEFAULT SEMICOLON );
public final CSharpParser.goto_statement_return goto_statement() throws RecognitionException {
CSharpParser.goto_statement_return retval = new CSharpParser.goto_statement_return();
retval.start = input.LT(1);
Object root_0 = null;
Token GOTO603 = null;
Token IDENTIFIER604 = null;
Token SEMICOLON605 = null;
Token GOTO606 = null;
Token CASE607 = null;
Token SEMICOLON609 = null;
Token GOTO610 = null;
Token DEFAULT611 = null;
Token SEMICOLON612 = null;
CSharpParser.constant_expression_return constant_expression608 = null;
Object GOTO603_tree = null;
Object IDENTIFIER604_tree = null;
Object SEMICOLON605_tree = null;
Object GOTO606_tree = null;
Object CASE607_tree = null;
Object SEMICOLON609_tree = null;
Object GOTO610_tree = null;
Object DEFAULT611_tree = null;
Object SEMICOLON612_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1162:2: ( GOTO ^ IDENTIFIER SEMICOLON | GOTO ^ CASE constant_expression SEMICOLON | GOTO ^ DEFAULT SEMICOLON )
int alt116 = 3;
int LA116_0 = input.LA(1);
if ((LA116_0 == GOTO)) {
switch (input.LA(2)) {
case IDENTIFIER: {
alt116 = 1;
}
break;
case CASE: {
alt116 = 2;
}
break;
case DEFAULT: {
alt116 = 3;
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 116, 1, input);
throw nvae;
}
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 116, 0, input);
throw nvae;
}
switch (alt116) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1162:4: GOTO ^ IDENTIFIER SEMICOLON
{
root_0 = adaptor.nil();
GOTO603 = (Token) match(input, GOTO, FOLLOW_GOTO_in_goto_statement5913);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
GOTO603_tree =
adaptor.create(GOTO603);
root_0 = adaptor.becomeRoot(GOTO603_tree, root_0);
}
IDENTIFIER604 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_goto_statement5916);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER604_tree =
adaptor.create(IDENTIFIER604);
adaptor.addChild(root_0, IDENTIFIER604_tree);
}
SEMICOLON605 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_goto_statement5918);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
SEMICOLON605_tree =
adaptor.create(SEMICOLON605);
adaptor.addChild(root_0, SEMICOLON605_tree);
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1163:4: GOTO ^ CASE constant_expression SEMICOLON
{
root_0 = adaptor.nil();
GOTO606 = (Token) match(input, GOTO, FOLLOW_GOTO_in_goto_statement5923);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
GOTO606_tree =
adaptor.create(GOTO606);
root_0 = adaptor.becomeRoot(GOTO606_tree, root_0);
}
CASE607 = (Token) match(input, CASE, FOLLOW_CASE_in_goto_statement5926);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CASE607_tree =
adaptor.create(CASE607);
adaptor.addChild(root_0, CASE607_tree);
}
pushFollow(FOLLOW_constant_expression_in_goto_statement5928);
constant_expression608 = constant_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, constant_expression608.getTree());
}
SEMICOLON609 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_goto_statement5930);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
SEMICOLON609_tree =
adaptor.create(SEMICOLON609);
adaptor.addChild(root_0, SEMICOLON609_tree);
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1164:4: GOTO ^ DEFAULT SEMICOLON
{
root_0 = adaptor.nil();
GOTO610 = (Token) match(input, GOTO, FOLLOW_GOTO_in_goto_statement5935);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
GOTO610_tree =
adaptor.create(GOTO610);
root_0 = adaptor.becomeRoot(GOTO610_tree, root_0);
}
DEFAULT611 = (Token) match(input, DEFAULT, FOLLOW_DEFAULT_in_goto_statement5938);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
DEFAULT611_tree =
adaptor.create(DEFAULT611);
adaptor.addChild(root_0, DEFAULT611_tree);
}
SEMICOLON612 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_goto_statement5940);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
SEMICOLON612_tree =
adaptor.create(SEMICOLON612);
adaptor.addChild(root_0, SEMICOLON612_tree);
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "goto_statement"
public static class return_statement_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "return_statement"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1166:1: return_statement : RETURN ^ ( expression )? SEMICOLON !;
public final CSharpParser.return_statement_return return_statement() throws RecognitionException {
CSharpParser.return_statement_return retval = new CSharpParser.return_statement_return();
retval.start = input.LT(1);
Object root_0 = null;
Token RETURN613 = null;
Token SEMICOLON615 = null;
CSharpParser.expression_return expression614 = null;
Object RETURN613_tree = null;
Object SEMICOLON615_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1167:2: ( RETURN ^ ( expression )? SEMICOLON !)
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1167:4: RETURN ^ ( expression )? SEMICOLON !
{
root_0 = adaptor.nil();
RETURN613 = (Token) match(input, RETURN, FOLLOW_RETURN_in_return_statement5951);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
RETURN613_tree =
adaptor.create(RETURN613);
root_0 = adaptor.becomeRoot(RETURN613_tree, root_0);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1167:12: ( expression )?
int alt117 = 2;
int LA117_0 = input.LA(1);
if ((LA117_0 == AMP || (LA117_0 >= BANG && LA117_0 <= BASE) || LA117_0 == BOOL || LA117_0 == BYTE || (LA117_0 >= CHAR && LA117_0 <= CHECKED) || LA117_0 == DECIMAL || (LA117_0 >= DEFAULT && LA117_0 <= DELEGATE) || LA117_0 == DOUBLE || LA117_0 == FALSE || LA117_0 == FLOAT || LA117_0 == IDENTIFIER || (LA117_0 >= INT && LA117_0 <= INTEGER_LITERAL) || LA117_0 == LONG || LA117_0 == MINUS || LA117_0 == NEW || LA117_0 == NULL || LA117_0 == OBJECT || LA117_0 == OPEN_PARENS || LA117_0 == OP_DEC || LA117_0 == OP_INC || LA117_0 == PLUS || LA117_0 == REAL_LITERAL || LA117_0 == SBYTE || LA117_0 == SHORT || LA117_0 == SIZEOF || LA117_0 == STAR || (LA117_0 >= STRING && LA117_0 <= STRING_LITERAL) || LA117_0 == THIS || (LA117_0 >= TILDE && LA117_0 <= TRUE) || (LA117_0 >= TYPEOF && LA117_0 <= UNCHECKED) || LA117_0 == USHORT)) {
alt117 = 1;
}
switch (alt117) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1167:12: expression
{
pushFollow(FOLLOW_expression_in_return_statement5954);
expression614 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression614.getTree());
}
}
break;
}
SEMICOLON615 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_return_statement5957);
if (state.failed) {
return retval;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "return_statement"
public static class throw_statement_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "throw_statement"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1169:1: throw_statement : THROW ^ ( expression )? SEMICOLON !;
public final CSharpParser.throw_statement_return throw_statement() throws RecognitionException {
CSharpParser.throw_statement_return retval = new CSharpParser.throw_statement_return();
retval.start = input.LT(1);
Object root_0 = null;
Token THROW616 = null;
Token SEMICOLON618 = null;
CSharpParser.expression_return expression617 = null;
Object THROW616_tree = null;
Object SEMICOLON618_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1170:2: ( THROW ^ ( expression )? SEMICOLON !)
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1170:4: THROW ^ ( expression )? SEMICOLON !
{
root_0 = adaptor.nil();
THROW616 = (Token) match(input, THROW, FOLLOW_THROW_in_throw_statement5969);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
THROW616_tree =
adaptor.create(THROW616);
root_0 = adaptor.becomeRoot(THROW616_tree, root_0);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1170:11: ( expression )?
int alt118 = 2;
int LA118_0 = input.LA(1);
if ((LA118_0 == AMP || (LA118_0 >= BANG && LA118_0 <= BASE) || LA118_0 == BOOL || LA118_0 == BYTE || (LA118_0 >= CHAR && LA118_0 <= CHECKED) || LA118_0 == DECIMAL || (LA118_0 >= DEFAULT && LA118_0 <= DELEGATE) || LA118_0 == DOUBLE || LA118_0 == FALSE || LA118_0 == FLOAT || LA118_0 == IDENTIFIER || (LA118_0 >= INT && LA118_0 <= INTEGER_LITERAL) || LA118_0 == LONG || LA118_0 == MINUS || LA118_0 == NEW || LA118_0 == NULL || LA118_0 == OBJECT || LA118_0 == OPEN_PARENS || LA118_0 == OP_DEC || LA118_0 == OP_INC || LA118_0 == PLUS || LA118_0 == REAL_LITERAL || LA118_0 == SBYTE || LA118_0 == SHORT || LA118_0 == SIZEOF || LA118_0 == STAR || (LA118_0 >= STRING && LA118_0 <= STRING_LITERAL) || LA118_0 == THIS || (LA118_0 >= TILDE && LA118_0 <= TRUE) || (LA118_0 >= TYPEOF && LA118_0 <= UNCHECKED) || LA118_0 == USHORT)) {
alt118 = 1;
}
switch (alt118) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1170:11: expression
{
pushFollow(FOLLOW_expression_in_throw_statement5972);
expression617 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression617.getTree());
}
}
break;
}
SEMICOLON618 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_throw_statement5975);
if (state.failed) {
return retval;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "throw_statement"
public static class try_statement_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "try_statement"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1179:1: try_statement : TRY ^ block ( catch_clauses )? ( finally_clause )? ;
public final CSharpParser.try_statement_return try_statement() throws RecognitionException {
CSharpParser.try_statement_return retval = new CSharpParser.try_statement_return();
retval.start = input.LT(1);
Object root_0 = null;
Token TRY619 = null;
CSharpParser.block_return block620 = null;
CSharpParser.catch_clauses_return catch_clauses621 = null;
CSharpParser.finally_clause_return finally_clause622 = null;
Object TRY619_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1180:3: ( TRY ^ block ( catch_clauses )? ( finally_clause )? )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1180:5: TRY ^ block ( catch_clauses )? ( finally_clause )?
{
root_0 = adaptor.nil();
TRY619 = (Token) match(input, TRY, FOLLOW_TRY_in_try_statement5990);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
TRY619_tree =
adaptor.create(TRY619);
root_0 = adaptor.becomeRoot(TRY619_tree, root_0);
}
pushFollow(FOLLOW_block_in_try_statement5993);
block620 = block();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, block620.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1180:16: ( catch_clauses )?
int alt119 = 2;
int LA119_0 = input.LA(1);
if ((LA119_0 == CATCH)) {
alt119 = 1;
}
switch (alt119) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1180:16: catch_clauses
{
pushFollow(FOLLOW_catch_clauses_in_try_statement5995);
catch_clauses621 = catch_clauses();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, catch_clauses621.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1180:31: ( finally_clause )?
int alt120 = 2;
int LA120_0 = input.LA(1);
if ((LA120_0 == FINALLY)) {
alt120 = 1;
}
switch (alt120) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1180:31: finally_clause
{
pushFollow(FOLLOW_finally_clause_in_try_statement5998);
finally_clause622 = finally_clause();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, finally_clause622.getTree());
}
}
break;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "try_statement"
public static class catch_clauses_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "catch_clauses"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1188:1: catch_clauses : ( specific_catch_clauses ( general_catch_clause )? | general_catch_clause );
public final CSharpParser.catch_clauses_return catch_clauses() throws RecognitionException {
CSharpParser.catch_clauses_return retval = new CSharpParser.catch_clauses_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.specific_catch_clauses_return specific_catch_clauses623 = null;
CSharpParser.general_catch_clause_return general_catch_clause624 = null;
CSharpParser.general_catch_clause_return general_catch_clause625 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1189:3: ( specific_catch_clauses ( general_catch_clause )? | general_catch_clause )
int alt122 = 2;
int LA122_0 = input.LA(1);
if ((LA122_0 == CATCH)) {
int LA122_1 = input.LA(2);
if ((LA122_1 == OPEN_PARENS)) {
alt122 = 1;
} else if ((LA122_1 == OPEN_BRACE)) {
alt122 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 122, 1, input);
throw nvae;
}
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 122, 0, input);
throw nvae;
}
switch (alt122) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1189:5: specific_catch_clauses ( general_catch_clause )?
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_specific_catch_clauses_in_catch_clauses6014);
specific_catch_clauses623 = specific_catch_clauses();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, specific_catch_clauses623.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1189:28: ( general_catch_clause )?
int alt121 = 2;
int LA121_0 = input.LA(1);
if ((LA121_0 == CATCH)) {
alt121 = 1;
}
switch (alt121) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1189:28: general_catch_clause
{
pushFollow(FOLLOW_general_catch_clause_in_catch_clauses6016);
general_catch_clause624 = general_catch_clause();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, general_catch_clause624.getTree());
}
}
break;
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1190:5: general_catch_clause
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_general_catch_clause_in_catch_clauses6023);
general_catch_clause625 = general_catch_clause();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, general_catch_clause625.getTree());
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "catch_clauses"
public static class specific_catch_clauses_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "specific_catch_clauses"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1192:1: specific_catch_clauses : specific_catch_clause ( specific_catch_clause )* ;
public final CSharpParser.specific_catch_clauses_return specific_catch_clauses() throws RecognitionException {
CSharpParser.specific_catch_clauses_return retval = new CSharpParser.specific_catch_clauses_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.specific_catch_clause_return specific_catch_clause626 = null;
CSharpParser.specific_catch_clause_return specific_catch_clause627 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1193:2: ( specific_catch_clause ( specific_catch_clause )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1193:4: specific_catch_clause ( specific_catch_clause )*
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_specific_catch_clause_in_specific_catch_clauses6035);
specific_catch_clause626 = specific_catch_clause();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, specific_catch_clause626.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1193:26: ( specific_catch_clause )*
loop123:
do {
int alt123 = 2;
int LA123_0 = input.LA(1);
if ((LA123_0 == CATCH)) {
int LA123_1 = input.LA(2);
if ((LA123_1 == OPEN_PARENS)) {
alt123 = 1;
}
}
switch (alt123) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1193:28: specific_catch_clause
{
pushFollow(FOLLOW_specific_catch_clause_in_specific_catch_clauses6039);
specific_catch_clause627 = specific_catch_clause();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, specific_catch_clause627.getTree());
}
}
break;
default:
break loop123;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "specific_catch_clauses"
public static class specific_catch_clause_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "specific_catch_clause"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1195:1: specific_catch_clause : CATCH ^ OPEN_PARENS class_type ( IDENTIFIER )? CLOSE_PARENS block ;
public final CSharpParser.specific_catch_clause_return specific_catch_clause() throws RecognitionException {
CSharpParser.specific_catch_clause_return retval = new CSharpParser.specific_catch_clause_return();
retval.start = input.LT(1);
Object root_0 = null;
Token CATCH628 = null;
Token OPEN_PARENS629 = null;
Token IDENTIFIER631 = null;
Token CLOSE_PARENS632 = null;
CSharpParser.class_type_return class_type630 = null;
CSharpParser.block_return block633 = null;
Object CATCH628_tree = null;
Object OPEN_PARENS629_tree = null;
Object IDENTIFIER631_tree = null;
Object CLOSE_PARENS632_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1196:2: ( CATCH ^ OPEN_PARENS class_type ( IDENTIFIER )? CLOSE_PARENS block )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1196:4: CATCH ^ OPEN_PARENS class_type ( IDENTIFIER )? CLOSE_PARENS block
{
root_0 = adaptor.nil();
CATCH628 = (Token) match(input, CATCH, FOLLOW_CATCH_in_specific_catch_clause6053);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CATCH628_tree =
adaptor.create(CATCH628);
root_0 = adaptor.becomeRoot(CATCH628_tree, root_0);
}
OPEN_PARENS629 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_specific_catch_clause6056);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_PARENS629_tree =
adaptor.create(OPEN_PARENS629);
adaptor.addChild(root_0, OPEN_PARENS629_tree);
}
pushFollow(FOLLOW_class_type_in_specific_catch_clause6058);
class_type630 = class_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, class_type630.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1196:34: ( IDENTIFIER )?
int alt124 = 2;
int LA124_0 = input.LA(1);
if ((LA124_0 == IDENTIFIER)) {
alt124 = 1;
}
switch (alt124) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1196:34: IDENTIFIER
{
IDENTIFIER631 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_specific_catch_clause6060);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER631_tree =
adaptor.create(IDENTIFIER631);
adaptor.addChild(root_0, IDENTIFIER631_tree);
}
}
break;
}
CLOSE_PARENS632 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_specific_catch_clause6063);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_PARENS632_tree =
adaptor.create(CLOSE_PARENS632);
adaptor.addChild(root_0, CLOSE_PARENS632_tree);
}
pushFollow(FOLLOW_block_in_specific_catch_clause6065);
block633 = block();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, block633.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "specific_catch_clause"
public static class general_catch_clause_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "general_catch_clause"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1198:1: general_catch_clause : CATCH ^ block ;
public final CSharpParser.general_catch_clause_return general_catch_clause() throws RecognitionException {
CSharpParser.general_catch_clause_return retval = new CSharpParser.general_catch_clause_return();
retval.start = input.LT(1);
Object root_0 = null;
Token CATCH634 = null;
CSharpParser.block_return block635 = null;
Object CATCH634_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1199:2: ( CATCH ^ block )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1199:4: CATCH ^ block
{
root_0 = adaptor.nil();
CATCH634 = (Token) match(input, CATCH, FOLLOW_CATCH_in_general_catch_clause6076);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CATCH634_tree =
adaptor.create(CATCH634);
root_0 = adaptor.becomeRoot(CATCH634_tree, root_0);
}
pushFollow(FOLLOW_block_in_general_catch_clause6079);
block635 = block();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, block635.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "general_catch_clause"
public static class finally_clause_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "finally_clause"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1201:1: finally_clause : FINALLY ^ block ;
public final CSharpParser.finally_clause_return finally_clause() throws RecognitionException {
CSharpParser.finally_clause_return retval = new CSharpParser.finally_clause_return();
retval.start = input.LT(1);
Object root_0 = null;
Token FINALLY636 = null;
CSharpParser.block_return block637 = null;
Object FINALLY636_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1202:2: ( FINALLY ^ block )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1202:4: FINALLY ^ block
{
root_0 = adaptor.nil();
FINALLY636 = (Token) match(input, FINALLY, FOLLOW_FINALLY_in_finally_clause6090);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
FINALLY636_tree =
adaptor.create(FINALLY636);
root_0 = adaptor.becomeRoot(FINALLY636_tree, root_0);
}
pushFollow(FOLLOW_block_in_finally_clause6093);
block637 = block();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, block637.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "finally_clause"
public static class checked_statement_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "checked_statement"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1204:1: checked_statement : CHECKED ^ block ;
public final CSharpParser.checked_statement_return checked_statement() throws RecognitionException {
CSharpParser.checked_statement_return retval = new CSharpParser.checked_statement_return();
retval.start = input.LT(1);
Object root_0 = null;
Token CHECKED638 = null;
CSharpParser.block_return block639 = null;
Object CHECKED638_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1205:2: ( CHECKED ^ block )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1205:4: CHECKED ^ block
{
root_0 = adaptor.nil();
CHECKED638 = (Token) match(input, CHECKED, FOLLOW_CHECKED_in_checked_statement6104);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CHECKED638_tree =
adaptor.create(CHECKED638);
root_0 = adaptor.becomeRoot(CHECKED638_tree, root_0);
}
pushFollow(FOLLOW_block_in_checked_statement6107);
block639 = block();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, block639.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "checked_statement"
public static class unchecked_statement_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "unchecked_statement"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1207:1: unchecked_statement : UNCHECKED ^ block ;
public final CSharpParser.unchecked_statement_return unchecked_statement() throws RecognitionException {
CSharpParser.unchecked_statement_return retval = new CSharpParser.unchecked_statement_return();
retval.start = input.LT(1);
Object root_0 = null;
Token UNCHECKED640 = null;
CSharpParser.block_return block641 = null;
Object UNCHECKED640_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1208:2: ( UNCHECKED ^ block )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1208:4: UNCHECKED ^ block
{
root_0 = adaptor.nil();
UNCHECKED640 = (Token) match(input, UNCHECKED, FOLLOW_UNCHECKED_in_unchecked_statement6118);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
UNCHECKED640_tree =
adaptor.create(UNCHECKED640);
root_0 = adaptor.becomeRoot(UNCHECKED640_tree, root_0);
}
pushFollow(FOLLOW_block_in_unchecked_statement6121);
block641 = block();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, block641.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "unchecked_statement"
public static class lock_statement_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "lock_statement"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1210:1: lock_statement : LOCK ^ OPEN_PARENS expression CLOSE_PARENS embedded_statement ;
public final CSharpParser.lock_statement_return lock_statement() throws RecognitionException {
CSharpParser.lock_statement_return retval = new CSharpParser.lock_statement_return();
retval.start = input.LT(1);
Object root_0 = null;
Token LOCK642 = null;
Token OPEN_PARENS643 = null;
Token CLOSE_PARENS645 = null;
CSharpParser.expression_return expression644 = null;
CSharpParser.embedded_statement_return embedded_statement646 = null;
Object LOCK642_tree = null;
Object OPEN_PARENS643_tree = null;
Object CLOSE_PARENS645_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1211:2: ( LOCK ^ OPEN_PARENS expression CLOSE_PARENS embedded_statement )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1211:4: LOCK ^ OPEN_PARENS expression CLOSE_PARENS embedded_statement
{
root_0 = adaptor.nil();
LOCK642 = (Token) match(input, LOCK, FOLLOW_LOCK_in_lock_statement6132);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
LOCK642_tree =
adaptor.create(LOCK642);
root_0 = adaptor.becomeRoot(LOCK642_tree, root_0);
}
OPEN_PARENS643 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_lock_statement6135);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_PARENS643_tree =
adaptor.create(OPEN_PARENS643);
adaptor.addChild(root_0, OPEN_PARENS643_tree);
}
pushFollow(FOLLOW_expression_in_lock_statement6137);
expression644 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression644.getTree());
}
CLOSE_PARENS645 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_lock_statement6139);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_PARENS645_tree =
adaptor.create(CLOSE_PARENS645);
adaptor.addChild(root_0, CLOSE_PARENS645_tree);
}
pushFollow(FOLLOW_embedded_statement_in_lock_statement6141);
embedded_statement646 = embedded_statement();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, embedded_statement646.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "lock_statement"
public static class using_statement_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "using_statement"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1213:1: using_statement : USING ^ OPEN_PARENS resource_acquisition CLOSE_PARENS embedded_statement ;
public final CSharpParser.using_statement_return using_statement() throws RecognitionException {
CSharpParser.using_statement_return retval = new CSharpParser.using_statement_return();
retval.start = input.LT(1);
Object root_0 = null;
Token USING647 = null;
Token OPEN_PARENS648 = null;
Token CLOSE_PARENS650 = null;
CSharpParser.resource_acquisition_return resource_acquisition649 = null;
CSharpParser.embedded_statement_return embedded_statement651 = null;
Object USING647_tree = null;
Object OPEN_PARENS648_tree = null;
Object CLOSE_PARENS650_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1214:2: ( USING ^ OPEN_PARENS resource_acquisition CLOSE_PARENS embedded_statement )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1214:4: USING ^ OPEN_PARENS resource_acquisition CLOSE_PARENS embedded_statement
{
root_0 = adaptor.nil();
USING647 = (Token) match(input, USING, FOLLOW_USING_in_using_statement6152);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
USING647_tree =
adaptor.create(USING647);
root_0 = adaptor.becomeRoot(USING647_tree, root_0);
}
OPEN_PARENS648 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_using_statement6155);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_PARENS648_tree =
adaptor.create(OPEN_PARENS648);
adaptor.addChild(root_0, OPEN_PARENS648_tree);
}
pushFollow(FOLLOW_resource_acquisition_in_using_statement6157);
resource_acquisition649 = resource_acquisition();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, resource_acquisition649.getTree());
}
CLOSE_PARENS650 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_using_statement6159);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_PARENS650_tree =
adaptor.create(CLOSE_PARENS650);
adaptor.addChild(root_0, CLOSE_PARENS650_tree);
}
pushFollow(FOLLOW_embedded_statement_in_using_statement6161);
embedded_statement651 = embedded_statement();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, embedded_statement651.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "using_statement"
public static class resource_acquisition_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "resource_acquisition"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1222:1: resource_acquisition : ( ( local_variable_declaration )=> local_variable_declaration | expression );
public final CSharpParser.resource_acquisition_return resource_acquisition() throws RecognitionException {
CSharpParser.resource_acquisition_return retval = new CSharpParser.resource_acquisition_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.local_variable_declaration_return local_variable_declaration652 = null;
CSharpParser.expression_return expression653 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1223:2: ( ( local_variable_declaration )=> local_variable_declaration | expression )
int alt125 = 2;
int LA125_0 = input.LA(1);
if ((LA125_0 == BYTE || LA125_0 == CHAR || LA125_0 == INT || LA125_0 == LONG || LA125_0 == SBYTE || LA125_0 == SHORT || (LA125_0 >= UINT && LA125_0 <= ULONG) || LA125_0 == USHORT)) {
int LA125_1 = input.LA(2);
if ((synpred18_CSharpParser())) {
alt125 = 1;
} else if ((true)) {
alt125 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 125, 1, input);
throw nvae;
}
} else if ((LA125_0 == DOUBLE || LA125_0 == FLOAT)) {
int LA125_2 = input.LA(2);
if ((synpred18_CSharpParser())) {
alt125 = 1;
} else if ((true)) {
alt125 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 125, 2, input);
throw nvae;
}
} else if ((LA125_0 == DECIMAL)) {
int LA125_3 = input.LA(2);
if ((synpred18_CSharpParser())) {
alt125 = 1;
} else if ((true)) {
alt125 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 125, 3, input);
throw nvae;
}
} else if ((LA125_0 == BOOL)) {
int LA125_4 = input.LA(2);
if ((synpred18_CSharpParser())) {
alt125 = 1;
} else if ((true)) {
alt125 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 125, 4, input);
throw nvae;
}
} else if ((LA125_0 == IDENTIFIER)) {
int LA125_5 = input.LA(2);
if ((synpred18_CSharpParser())) {
alt125 = 1;
} else if ((true)) {
alt125 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 125, 5, input);
throw nvae;
}
} else if ((LA125_0 == OBJECT)) {
int LA125_6 = input.LA(2);
if ((synpred18_CSharpParser())) {
alt125 = 1;
} else if ((true)) {
alt125 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 125, 6, input);
throw nvae;
}
} else if ((LA125_0 == STRING)) {
int LA125_7 = input.LA(2);
if ((synpred18_CSharpParser())) {
alt125 = 1;
} else if ((true)) {
alt125 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 125, 7, input);
throw nvae;
}
} else if ((LA125_0 == VOID) && (synpred18_CSharpParser())) {
alt125 = 1;
} else if ((LA125_0 == AMP || (LA125_0 >= BANG && LA125_0 <= BASE) || (LA125_0 >= CHARACTER_LITERAL && LA125_0 <= CHECKED) || (LA125_0 >= DEFAULT && LA125_0 <= DELEGATE) || LA125_0 == FALSE || LA125_0 == INTEGER_LITERAL || LA125_0 == MINUS || LA125_0 == NEW || LA125_0 == NULL || LA125_0 == OPEN_PARENS || LA125_0 == OP_DEC || LA125_0 == OP_INC || LA125_0 == PLUS || LA125_0 == REAL_LITERAL || LA125_0 == SIZEOF || LA125_0 == STAR || LA125_0 == STRING_LITERAL || LA125_0 == THIS || (LA125_0 >= TILDE && LA125_0 <= TRUE) || LA125_0 == TYPEOF || LA125_0 == UNCHECKED)) {
alt125 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 125, 0, input);
throw nvae;
}
switch (alt125) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1223:4: ( local_variable_declaration )=> local_variable_declaration
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_local_variable_declaration_in_resource_acquisition6180);
local_variable_declaration652 = local_variable_declaration();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, local_variable_declaration652.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1224:4: expression
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_expression_in_resource_acquisition6185);
expression653 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression653.getTree());
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "resource_acquisition"
public static class yield_statement_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "yield_statement"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1226:1: yield_statement : ( yield_contextual_keyword RETURN expression SEMICOLON | yield_contextual_keyword BREAK SEMICOLON );
public final CSharpParser.yield_statement_return yield_statement() throws RecognitionException {
CSharpParser.yield_statement_return retval = new CSharpParser.yield_statement_return();
retval.start = input.LT(1);
Object root_0 = null;
Token RETURN655 = null;
Token SEMICOLON657 = null;
Token BREAK659 = null;
Token SEMICOLON660 = null;
CSharpParser.yield_contextual_keyword_return yield_contextual_keyword654 = null;
CSharpParser.expression_return expression656 = null;
CSharpParser.yield_contextual_keyword_return yield_contextual_keyword658 = null;
Object RETURN655_tree = null;
Object SEMICOLON657_tree = null;
Object BREAK659_tree = null;
Object SEMICOLON660_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1227:2: ( yield_contextual_keyword RETURN expression SEMICOLON | yield_contextual_keyword BREAK SEMICOLON )
int alt126 = 2;
int LA126_0 = input.LA(1);
if ((LA126_0 == IDENTIFIER)) {
int LA126_1 = input.LA(2);
if ((LA126_1 == RETURN)) {
alt126 = 1;
} else if ((LA126_1 == BREAK)) {
alt126 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 126, 1, input);
throw nvae;
}
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 126, 0, input);
throw nvae;
}
switch (alt126) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1227:4: yield_contextual_keyword RETURN expression SEMICOLON
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_yield_contextual_keyword_in_yield_statement6196);
yield_contextual_keyword654 = yield_contextual_keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, yield_contextual_keyword654.getTree());
}
RETURN655 = (Token) match(input, RETURN, FOLLOW_RETURN_in_yield_statement6198);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
RETURN655_tree =
adaptor.create(RETURN655);
adaptor.addChild(root_0, RETURN655_tree);
}
pushFollow(FOLLOW_expression_in_yield_statement6200);
expression656 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression656.getTree());
}
SEMICOLON657 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_yield_statement6202);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
SEMICOLON657_tree =
adaptor.create(SEMICOLON657);
adaptor.addChild(root_0, SEMICOLON657_tree);
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1228:4: yield_contextual_keyword BREAK SEMICOLON
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_yield_contextual_keyword_in_yield_statement6207);
yield_contextual_keyword658 = yield_contextual_keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, yield_contextual_keyword658.getTree());
}
BREAK659 = (Token) match(input, BREAK, FOLLOW_BREAK_in_yield_statement6209);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
BREAK659_tree =
adaptor.create(BREAK659);
adaptor.addChild(root_0, BREAK659_tree);
}
SEMICOLON660 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_yield_statement6211);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
SEMICOLON660_tree =
adaptor.create(SEMICOLON660);
adaptor.addChild(root_0, SEMICOLON660_tree);
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "yield_statement"
public static class compilation_unit_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "compilation_unit"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1240:1: compilation_unit : ( extern_alias_directives )? ( using_directives )? ( ( global_attribute_section )=> global_attribute_section )* ( namespace_member_declarations )? EOF !;
public final CSharpParser.compilation_unit_return compilation_unit() throws RecognitionException {
CSharpParser.compilation_unit_return retval = new CSharpParser.compilation_unit_return();
retval.start = input.LT(1);
Object root_0 = null;
Token EOF665 = null;
CSharpParser.extern_alias_directives_return extern_alias_directives661 = null;
CSharpParser.using_directives_return using_directives662 = null;
CSharpParser.global_attribute_section_return global_attribute_section663 = null;
CSharpParser.namespace_member_declarations_return namespace_member_declarations664 = null;
Object EOF665_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1241:3: ( ( extern_alias_directives )? ( using_directives )? ( ( global_attribute_section )=> global_attribute_section )* ( namespace_member_declarations )? EOF !)
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1241:5: ( extern_alias_directives )? ( using_directives )? ( ( global_attribute_section )=> global_attribute_section )* ( namespace_member_declarations )? EOF !
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1241:5: ( extern_alias_directives )?
int alt127 = 2;
int LA127_0 = input.LA(1);
if ((LA127_0 == EXTERN)) {
int LA127_1 = input.LA(2);
if ((LA127_1 == IDENTIFIER)) {
int LA127_3 = input.LA(3);
if ((LA127_3 == IDENTIFIER)) {
int LA127_4 = input.LA(4);
if ((LA127_4 == SEMICOLON)) {
alt127 = 1;
}
}
}
}
switch (alt127) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1241:5: extern_alias_directives
{
pushFollow(FOLLOW_extern_alias_directives_in_compilation_unit6230);
extern_alias_directives661 = extern_alias_directives();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, extern_alias_directives661.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1241:30: ( using_directives )?
int alt128 = 2;
int LA128_0 = input.LA(1);
if ((LA128_0 == USING)) {
alt128 = 1;
}
switch (alt128) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1241:30: using_directives
{
pushFollow(FOLLOW_using_directives_in_compilation_unit6233);
using_directives662 = using_directives();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, using_directives662.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1242:5: ( ( global_attribute_section )=> global_attribute_section )*
loop129:
do {
int alt129 = 2;
int LA129_0 = input.LA(1);
if ((LA129_0 == OPEN_BRACKET)) {
int LA129_2 = input.LA(2);
if ((synpred19_CSharpParser())) {
alt129 = 1;
}
}
switch (alt129) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1242:7: ( global_attribute_section )=> global_attribute_section
{
pushFollow(FOLLOW_global_attribute_section_in_compilation_unit6248);
global_attribute_section663 = global_attribute_section();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, global_attribute_section663.getTree());
}
}
break;
default:
break loop129;
}
} while (true);
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1243:5: ( namespace_member_declarations )?
int alt130 = 2;
int LA130_0 = input.LA(1);
if ((LA130_0 == ABSTRACT || LA130_0 == CLASS || LA130_0 == DELEGATE || LA130_0 == ENUM || LA130_0 == EXTERN || LA130_0 == IDENTIFIER || (LA130_0 >= INTERFACE && LA130_0 <= INTERNAL) || (LA130_0 >= NAMESPACE && LA130_0 <= NEW) || LA130_0 == OPEN_BRACKET || LA130_0 == OVERRIDE || (LA130_0 >= PRIVATE && LA130_0 <= PUBLIC) || LA130_0 == READONLY || LA130_0 == SEALED || LA130_0 == STATIC || LA130_0 == STRUCT || LA130_0 == UNSAFE || LA130_0 == VIRTUAL || LA130_0 == VOLATILE)) {
alt130 = 1;
}
switch (alt130) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1243:5: namespace_member_declarations
{
pushFollow(FOLLOW_namespace_member_declarations_in_compilation_unit6257);
namespace_member_declarations664 = namespace_member_declarations();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, namespace_member_declarations664.getTree());
}
}
break;
}
EOF665 = (Token) match(input, EOF, FOLLOW_EOF_in_compilation_unit6260);
if (state.failed) {
return retval;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "compilation_unit"
public static class namespace_declaration_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "namespace_declaration"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1245:1: namespace_declaration : NAMESPACE ^ qualified_identifier namespace_body ( SEMICOLON !)? ;
public final CSharpParser.namespace_declaration_return namespace_declaration() throws RecognitionException {
CSharpParser.namespace_declaration_return retval = new CSharpParser.namespace_declaration_return();
retval.start = input.LT(1);
Object root_0 = null;
Token NAMESPACE666 = null;
Token SEMICOLON669 = null;
CSharpParser.qualified_identifier_return qualified_identifier667 = null;
CSharpParser.namespace_body_return namespace_body668 = null;
Object NAMESPACE666_tree = null;
Object SEMICOLON669_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1246:2: ( NAMESPACE ^ qualified_identifier namespace_body ( SEMICOLON !)? )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1246:4: NAMESPACE ^ qualified_identifier namespace_body ( SEMICOLON !)?
{
root_0 = adaptor.nil();
NAMESPACE666 = (Token) match(input, NAMESPACE, FOLLOW_NAMESPACE_in_namespace_declaration6273);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
NAMESPACE666_tree =
adaptor.create(NAMESPACE666);
root_0 = adaptor.becomeRoot(NAMESPACE666_tree, root_0);
}
pushFollow(FOLLOW_qualified_identifier_in_namespace_declaration6276);
qualified_identifier667 = qualified_identifier();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, qualified_identifier667.getTree());
}
pushFollow(FOLLOW_namespace_body_in_namespace_declaration6278);
namespace_body668 = namespace_body();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, namespace_body668.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1246:60: ( SEMICOLON !)?
int alt131 = 2;
int LA131_0 = input.LA(1);
if ((LA131_0 == SEMICOLON)) {
alt131 = 1;
}
switch (alt131) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1246:60: SEMICOLON !
{
SEMICOLON669 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_namespace_declaration6280);
if (state.failed) {
return retval;
}
}
break;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "namespace_declaration"
public static class qualified_identifier_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "qualified_identifier"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1248:1: qualified_identifier : IDENTIFIER ( DOT IDENTIFIER )* -> ^( QUALIFIED_IDENTIFIER ( IDENTIFIER )+ ) ;
public final CSharpParser.qualified_identifier_return qualified_identifier() throws RecognitionException {
CSharpParser.qualified_identifier_return retval = new CSharpParser.qualified_identifier_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER670 = null;
Token DOT671 = null;
Token IDENTIFIER672 = null;
Object IDENTIFIER670_tree = null;
Object DOT671_tree = null;
Object IDENTIFIER672_tree = null;
RewriteRuleTokenStream stream_DOT = new RewriteRuleTokenStream(adaptor, "token DOT");
RewriteRuleTokenStream stream_IDENTIFIER = new RewriteRuleTokenStream(adaptor, "token IDENTIFIER");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1249:2: ( IDENTIFIER ( DOT IDENTIFIER )* -> ^( QUALIFIED_IDENTIFIER ( IDENTIFIER )+ ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1249:4: IDENTIFIER ( DOT IDENTIFIER )*
{
IDENTIFIER670 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_qualified_identifier6293);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_IDENTIFIER.add(IDENTIFIER670);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1249:15: ( DOT IDENTIFIER )*
loop132:
do {
int alt132 = 2;
int LA132_0 = input.LA(1);
if ((LA132_0 == DOT)) {
alt132 = 1;
}
switch (alt132) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1249:17: DOT IDENTIFIER
{
DOT671 = (Token) match(input, DOT, FOLLOW_DOT_in_qualified_identifier6297);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_DOT.add(DOT671);
}
IDENTIFIER672 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_qualified_identifier6300);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_IDENTIFIER.add(IDENTIFIER672);
}
}
break;
default:
break loop132;
}
} while (true);
// AST REWRITE
// elements: IDENTIFIER
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 1250:4: -> ^( QUALIFIED_IDENTIFIER ( IDENTIFIER )+ )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1250:7: ^( QUALIFIED_IDENTIFIER ( IDENTIFIER )+ )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(QUALIFIED_IDENTIFIER, "QUALIFIED_IDENTIFIER"), root_1);
if (!(stream_IDENTIFIER.hasNext())) {
throw new RewriteEarlyExitException();
}
while (stream_IDENTIFIER.hasNext()) {
adaptor.addChild(root_1,
stream_IDENTIFIER.nextNode());
}
stream_IDENTIFIER.reset();
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "qualified_identifier"
public static class namespace_body_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "namespace_body"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1252:1: namespace_body : OPEN_BRACE ! ( extern_alias_directives )? ( using_directives )? ( namespace_member_declarations )? CLOSE_BRACE !;
public final CSharpParser.namespace_body_return namespace_body() throws RecognitionException {
CSharpParser.namespace_body_return retval = new CSharpParser.namespace_body_return();
retval.start = input.LT(1);
Object root_0 = null;
Token OPEN_BRACE673 = null;
Token CLOSE_BRACE677 = null;
CSharpParser.extern_alias_directives_return extern_alias_directives674 = null;
CSharpParser.using_directives_return using_directives675 = null;
CSharpParser.namespace_member_declarations_return namespace_member_declarations676 = null;
Object OPEN_BRACE673_tree = null;
Object CLOSE_BRACE677_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1253:2: ( OPEN_BRACE ! ( extern_alias_directives )? ( using_directives )? ( namespace_member_declarations )? CLOSE_BRACE !)
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1253:4: OPEN_BRACE ! ( extern_alias_directives )? ( using_directives )? ( namespace_member_declarations )? CLOSE_BRACE !
{
root_0 = adaptor.nil();
OPEN_BRACE673 = (Token) match(input, OPEN_BRACE, FOLLOW_OPEN_BRACE_in_namespace_body6326);
if (state.failed) {
return retval;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1253:16: ( extern_alias_directives )?
int alt133 = 2;
int LA133_0 = input.LA(1);
if ((LA133_0 == EXTERN)) {
int LA133_1 = input.LA(2);
if ((LA133_1 == IDENTIFIER)) {
int LA133_3 = input.LA(3);
if ((LA133_3 == IDENTIFIER)) {
int LA133_4 = input.LA(4);
if ((LA133_4 == SEMICOLON)) {
alt133 = 1;
}
}
}
}
switch (alt133) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1253:16: extern_alias_directives
{
pushFollow(FOLLOW_extern_alias_directives_in_namespace_body6329);
extern_alias_directives674 = extern_alias_directives();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, extern_alias_directives674.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1253:41: ( using_directives )?
int alt134 = 2;
int LA134_0 = input.LA(1);
if ((LA134_0 == USING)) {
alt134 = 1;
}
switch (alt134) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1253:41: using_directives
{
pushFollow(FOLLOW_using_directives_in_namespace_body6332);
using_directives675 = using_directives();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, using_directives675.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1253:59: ( namespace_member_declarations )?
int alt135 = 2;
int LA135_0 = input.LA(1);
if ((LA135_0 == ABSTRACT || LA135_0 == CLASS || LA135_0 == DELEGATE || LA135_0 == ENUM || LA135_0 == EXTERN || LA135_0 == IDENTIFIER || (LA135_0 >= INTERFACE && LA135_0 <= INTERNAL) || (LA135_0 >= NAMESPACE && LA135_0 <= NEW) || LA135_0 == OPEN_BRACKET || LA135_0 == OVERRIDE || (LA135_0 >= PRIVATE && LA135_0 <= PUBLIC) || LA135_0 == READONLY || LA135_0 == SEALED || LA135_0 == STATIC || LA135_0 == STRUCT || LA135_0 == UNSAFE || LA135_0 == VIRTUAL || LA135_0 == VOLATILE)) {
alt135 = 1;
}
switch (alt135) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1253:59: namespace_member_declarations
{
pushFollow(FOLLOW_namespace_member_declarations_in_namespace_body6335);
namespace_member_declarations676 = namespace_member_declarations();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, namespace_member_declarations676.getTree());
}
}
break;
}
CLOSE_BRACE677 = (Token) match(input, CLOSE_BRACE, FOLLOW_CLOSE_BRACE_in_namespace_body6338);
if (state.failed) {
return retval;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "namespace_body"
public static class extern_alias_directives_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "extern_alias_directives"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1255:1: extern_alias_directives : ( extern_alias_directive )+ -> ^( EXTERN_ALIAS_DIRECTIVES ( extern_alias_directive )+ ) ;
public final CSharpParser.extern_alias_directives_return extern_alias_directives() throws RecognitionException {
CSharpParser.extern_alias_directives_return retval = new CSharpParser.extern_alias_directives_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.extern_alias_directive_return extern_alias_directive678 = null;
RewriteRuleSubtreeStream stream_extern_alias_directive = new RewriteRuleSubtreeStream(adaptor, "rule extern_alias_directive");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1256:2: ( ( extern_alias_directive )+ -> ^( EXTERN_ALIAS_DIRECTIVES ( extern_alias_directive )+ ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1256:4: ( extern_alias_directive )+
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1256:4: ( extern_alias_directive )+
int cnt136 = 0;
loop136:
do {
int alt136 = 2;
int LA136_0 = input.LA(1);
if ((LA136_0 == EXTERN)) {
int LA136_2 = input.LA(2);
if ((LA136_2 == IDENTIFIER)) {
int LA136_3 = input.LA(3);
if ((LA136_3 == IDENTIFIER)) {
int LA136_4 = input.LA(4);
if ((LA136_4 == SEMICOLON)) {
alt136 = 1;
}
}
}
}
switch (alt136) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1256:4: extern_alias_directive
{
pushFollow(FOLLOW_extern_alias_directive_in_extern_alias_directives6349);
extern_alias_directive678 = extern_alias_directive();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_extern_alias_directive.add(extern_alias_directive678.getTree());
}
}
break;
default:
if (cnt136 >= 1) {
break loop136;
}
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
EarlyExitException eee =
new EarlyExitException(136, input);
throw eee;
}
cnt136++;
} while (true);
// AST REWRITE
// elements: extern_alias_directive
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 1257:4: -> ^( EXTERN_ALIAS_DIRECTIVES ( extern_alias_directive )+ )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1257:7: ^( EXTERN_ALIAS_DIRECTIVES ( extern_alias_directive )+ )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(EXTERN_ALIAS_DIRECTIVES, "EXTERN_ALIAS_DIRECTIVES"), root_1);
if (!(stream_extern_alias_directive.hasNext())) {
throw new RewriteEarlyExitException();
}
while (stream_extern_alias_directive.hasNext()) {
adaptor.addChild(root_1, stream_extern_alias_directive.nextTree());
}
stream_extern_alias_directive.reset();
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "extern_alias_directives"
public static class extern_alias_directive_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "extern_alias_directive"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1259:1: extern_alias_directive : EXTERN ^ alias_contextual_keyword ! IDENTIFIER SEMICOLON !;
public final CSharpParser.extern_alias_directive_return extern_alias_directive() throws RecognitionException {
CSharpParser.extern_alias_directive_return retval = new CSharpParser.extern_alias_directive_return();
retval.start = input.LT(1);
Object root_0 = null;
Token EXTERN679 = null;
Token IDENTIFIER681 = null;
Token SEMICOLON682 = null;
CSharpParser.alias_contextual_keyword_return alias_contextual_keyword680 = null;
Object EXTERN679_tree = null;
Object IDENTIFIER681_tree = null;
Object SEMICOLON682_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1260:2: ( EXTERN ^ alias_contextual_keyword ! IDENTIFIER SEMICOLON !)
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1260:4: EXTERN ^ alias_contextual_keyword ! IDENTIFIER SEMICOLON !
{
root_0 = adaptor.nil();
EXTERN679 = (Token) match(input, EXTERN, FOLLOW_EXTERN_in_extern_alias_directive6373);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
EXTERN679_tree =
adaptor.create(EXTERN679);
root_0 = adaptor.becomeRoot(EXTERN679_tree, root_0);
}
pushFollow(FOLLOW_alias_contextual_keyword_in_extern_alias_directive6376);
alias_contextual_keyword680 = alias_contextual_keyword();
state._fsp--;
if (state.failed) {
return retval;
}
IDENTIFIER681 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_extern_alias_directive6379);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER681_tree =
adaptor.create(IDENTIFIER681);
adaptor.addChild(root_0, IDENTIFIER681_tree);
}
SEMICOLON682 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_extern_alias_directive6381);
if (state.failed) {
return retval;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "extern_alias_directive"
public static class using_directives_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "using_directives"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1262:1: using_directives : ( using_directive )+ -> ^( USING_DIRECTIVES ( using_directive )+ ) ;
public final CSharpParser.using_directives_return using_directives() throws RecognitionException {
CSharpParser.using_directives_return retval = new CSharpParser.using_directives_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.using_directive_return using_directive683 = null;
RewriteRuleSubtreeStream stream_using_directive = new RewriteRuleSubtreeStream(adaptor, "rule using_directive");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1263:2: ( ( using_directive )+ -> ^( USING_DIRECTIVES ( using_directive )+ ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1263:4: ( using_directive )+
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1263:4: ( using_directive )+
int cnt137 = 0;
loop137:
do {
int alt137 = 2;
int LA137_0 = input.LA(1);
if ((LA137_0 == USING)) {
alt137 = 1;
}
switch (alt137) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1263:4: using_directive
{
pushFollow(FOLLOW_using_directive_in_using_directives6393);
using_directive683 = using_directive();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_using_directive.add(using_directive683.getTree());
}
}
break;
default:
if (cnt137 >= 1) {
break loop137;
}
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
EarlyExitException eee =
new EarlyExitException(137, input);
throw eee;
}
cnt137++;
} while (true);
// AST REWRITE
// elements: using_directive
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 1264:4: -> ^( USING_DIRECTIVES ( using_directive )+ )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1264:7: ^( USING_DIRECTIVES ( using_directive )+ )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(USING_DIRECTIVES, "USING_DIRECTIVES"), root_1);
if (!(stream_using_directive.hasNext())) {
throw new RewriteEarlyExitException();
}
while (stream_using_directive.hasNext()) {
adaptor.addChild(root_1, stream_using_directive.nextTree());
}
stream_using_directive.reset();
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "using_directives"
public static class using_directive_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "using_directive"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1266:1: using_directive : ( using_alias_directive | using_namespace_directive );
public final CSharpParser.using_directive_return using_directive() throws RecognitionException {
CSharpParser.using_directive_return retval = new CSharpParser.using_directive_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.using_alias_directive_return using_alias_directive684 = null;
CSharpParser.using_namespace_directive_return using_namespace_directive685 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1267:2: ( using_alias_directive | using_namespace_directive )
int alt138 = 2;
int LA138_0 = input.LA(1);
if ((LA138_0 == USING)) {
int LA138_1 = input.LA(2);
if ((LA138_1 == IDENTIFIER)) {
int LA138_2 = input.LA(3);
if ((LA138_2 == ASSIGNMENT)) {
alt138 = 1;
} else if ((LA138_2 == DOT || LA138_2 == DOUBLE_COLON || LA138_2 == LT || LA138_2 == SEMICOLON)) {
alt138 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 138, 2, input);
throw nvae;
}
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 138, 1, input);
throw nvae;
}
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 138, 0, input);
throw nvae;
}
switch (alt138) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1267:4: using_alias_directive
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_using_alias_directive_in_using_directive6417);
using_alias_directive684 = using_alias_directive();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, using_alias_directive684.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1268:4: using_namespace_directive
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_using_namespace_directive_in_using_directive6422);
using_namespace_directive685 = using_namespace_directive();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, using_namespace_directive685.getTree());
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "using_directive"
public static class using_alias_directive_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "using_alias_directive"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1270:1: using_alias_directive : USING IDENTIFIER ASSIGNMENT namespace_or_type_name SEMICOLON -> ^( USING_ALIAS_DIRECTIVE IDENTIFIER namespace_or_type_name ) ;
public final CSharpParser.using_alias_directive_return using_alias_directive() throws RecognitionException {
CSharpParser.using_alias_directive_return retval = new CSharpParser.using_alias_directive_return();
retval.start = input.LT(1);
Object root_0 = null;
Token USING686 = null;
Token IDENTIFIER687 = null;
Token ASSIGNMENT688 = null;
Token SEMICOLON690 = null;
CSharpParser.namespace_or_type_name_return namespace_or_type_name689 = null;
Object USING686_tree = null;
Object IDENTIFIER687_tree = null;
Object ASSIGNMENT688_tree = null;
Object SEMICOLON690_tree = null;
RewriteRuleTokenStream stream_ASSIGNMENT = new RewriteRuleTokenStream(adaptor, "token ASSIGNMENT");
RewriteRuleTokenStream stream_SEMICOLON = new RewriteRuleTokenStream(adaptor, "token SEMICOLON");
RewriteRuleTokenStream stream_USING = new RewriteRuleTokenStream(adaptor, "token USING");
RewriteRuleTokenStream stream_IDENTIFIER = new RewriteRuleTokenStream(adaptor, "token IDENTIFIER");
RewriteRuleSubtreeStream stream_namespace_or_type_name = new RewriteRuleSubtreeStream(adaptor, "rule namespace_or_type_name");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1271:2: ( USING IDENTIFIER ASSIGNMENT namespace_or_type_name SEMICOLON -> ^( USING_ALIAS_DIRECTIVE IDENTIFIER namespace_or_type_name ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1271:4: USING IDENTIFIER ASSIGNMENT namespace_or_type_name SEMICOLON
{
USING686 = (Token) match(input, USING, FOLLOW_USING_in_using_alias_directive6433);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_USING.add(USING686);
}
IDENTIFIER687 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_using_alias_directive6435);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_IDENTIFIER.add(IDENTIFIER687);
}
ASSIGNMENT688 = (Token) match(input, ASSIGNMENT, FOLLOW_ASSIGNMENT_in_using_alias_directive6437);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_ASSIGNMENT.add(ASSIGNMENT688);
}
pushFollow(FOLLOW_namespace_or_type_name_in_using_alias_directive6439);
namespace_or_type_name689 = namespace_or_type_name();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_namespace_or_type_name.add(namespace_or_type_name689.getTree());
}
SEMICOLON690 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_using_alias_directive6441);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_SEMICOLON.add(SEMICOLON690);
}
// AST REWRITE
// elements: IDENTIFIER, namespace_or_type_name
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 1272:4: -> ^( USING_ALIAS_DIRECTIVE IDENTIFIER namespace_or_type_name )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1272:7: ^( USING_ALIAS_DIRECTIVE IDENTIFIER namespace_or_type_name )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(USING_ALIAS_DIRECTIVE, "USING_ALIAS_DIRECTIVE"), root_1);
adaptor.addChild(root_1,
stream_IDENTIFIER.nextNode());
adaptor.addChild(root_1, stream_namespace_or_type_name.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "using_alias_directive"
public static class using_namespace_directive_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "using_namespace_directive"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1274:1: using_namespace_directive : USING namespace_name SEMICOLON -> ^( USING_NAMESPACE_DIRECTIVE namespace_name ) ;
public final CSharpParser.using_namespace_directive_return using_namespace_directive() throws RecognitionException {
CSharpParser.using_namespace_directive_return retval = new CSharpParser.using_namespace_directive_return();
retval.start = input.LT(1);
Object root_0 = null;
Token USING691 = null;
Token SEMICOLON693 = null;
CSharpParser.namespace_name_return namespace_name692 = null;
Object USING691_tree = null;
Object SEMICOLON693_tree = null;
RewriteRuleTokenStream stream_SEMICOLON = new RewriteRuleTokenStream(adaptor, "token SEMICOLON");
RewriteRuleTokenStream stream_USING = new RewriteRuleTokenStream(adaptor, "token USING");
RewriteRuleSubtreeStream stream_namespace_name = new RewriteRuleSubtreeStream(adaptor, "rule namespace_name");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1275:2: ( USING namespace_name SEMICOLON -> ^( USING_NAMESPACE_DIRECTIVE namespace_name ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1275:4: USING namespace_name SEMICOLON
{
USING691 = (Token) match(input, USING, FOLLOW_USING_in_using_namespace_directive6467);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_USING.add(USING691);
}
pushFollow(FOLLOW_namespace_name_in_using_namespace_directive6469);
namespace_name692 = namespace_name();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_namespace_name.add(namespace_name692.getTree());
}
SEMICOLON693 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_using_namespace_directive6471);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_SEMICOLON.add(SEMICOLON693);
}
// AST REWRITE
// elements: namespace_name
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 1276:4: -> ^( USING_NAMESPACE_DIRECTIVE namespace_name )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1276:7: ^( USING_NAMESPACE_DIRECTIVE namespace_name )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(USING_NAMESPACE_DIRECTIVE, "USING_NAMESPACE_DIRECTIVE"), root_1);
adaptor.addChild(root_1, stream_namespace_name.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "using_namespace_directive"
public static class namespace_member_declarations_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "namespace_member_declarations"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1278:1: namespace_member_declarations : ( namespace_member_declaration )+ -> ^( NAMESPACE_MEMBER_DECLARATIONS ( namespace_member_declaration )+ ) ;
public final CSharpParser.namespace_member_declarations_return namespace_member_declarations() throws RecognitionException {
CSharpParser.namespace_member_declarations_return retval = new CSharpParser.namespace_member_declarations_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.namespace_member_declaration_return namespace_member_declaration694 = null;
RewriteRuleSubtreeStream stream_namespace_member_declaration = new RewriteRuleSubtreeStream(adaptor, "rule namespace_member_declaration");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1279:2: ( ( namespace_member_declaration )+ -> ^( NAMESPACE_MEMBER_DECLARATIONS ( namespace_member_declaration )+ ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1279:4: ( namespace_member_declaration )+
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1279:4: ( namespace_member_declaration )+
int cnt139 = 0;
loop139:
do {
int alt139 = 2;
int LA139_0 = input.LA(1);
if ((LA139_0 == ABSTRACT || LA139_0 == CLASS || LA139_0 == DELEGATE || LA139_0 == ENUM || LA139_0 == EXTERN || LA139_0 == IDENTIFIER || (LA139_0 >= INTERFACE && LA139_0 <= INTERNAL) || (LA139_0 >= NAMESPACE && LA139_0 <= NEW) || LA139_0 == OPEN_BRACKET || LA139_0 == OVERRIDE || (LA139_0 >= PRIVATE && LA139_0 <= PUBLIC) || LA139_0 == READONLY || LA139_0 == SEALED || LA139_0 == STATIC || LA139_0 == STRUCT || LA139_0 == UNSAFE || LA139_0 == VIRTUAL || LA139_0 == VOLATILE)) {
alt139 = 1;
}
switch (alt139) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1279:4: namespace_member_declaration
{
pushFollow(FOLLOW_namespace_member_declaration_in_namespace_member_declarations6494);
namespace_member_declaration694 = namespace_member_declaration();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_namespace_member_declaration.add(namespace_member_declaration694.getTree());
}
}
break;
default:
if (cnt139 >= 1) {
break loop139;
}
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
EarlyExitException eee =
new EarlyExitException(139, input);
throw eee;
}
cnt139++;
} while (true);
// AST REWRITE
// elements: namespace_member_declaration
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 1280:4: -> ^( NAMESPACE_MEMBER_DECLARATIONS ( namespace_member_declaration )+ )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1280:7: ^( NAMESPACE_MEMBER_DECLARATIONS ( namespace_member_declaration )+ )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(NAMESPACE_MEMBER_DECLARATIONS, "NAMESPACE_MEMBER_DECLARATIONS"), root_1);
if (!(stream_namespace_member_declaration.hasNext())) {
throw new RewriteEarlyExitException();
}
while (stream_namespace_member_declaration.hasNext()) {
adaptor.addChild(root_1, stream_namespace_member_declaration.nextTree());
}
stream_namespace_member_declaration.reset();
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "namespace_member_declarations"
public static class namespace_member_declaration_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "namespace_member_declaration"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1282:1: namespace_member_declaration : ( namespace_declaration | type_declaration );
public final CSharpParser.namespace_member_declaration_return namespace_member_declaration() throws RecognitionException {
CSharpParser.namespace_member_declaration_return retval = new CSharpParser.namespace_member_declaration_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.namespace_declaration_return namespace_declaration695 = null;
CSharpParser.type_declaration_return type_declaration696 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1283:2: ( namespace_declaration | type_declaration )
int alt140 = 2;
int LA140_0 = input.LA(1);
if ((LA140_0 == NAMESPACE)) {
alt140 = 1;
} else if ((LA140_0 == ABSTRACT || LA140_0 == CLASS || LA140_0 == DELEGATE || LA140_0 == ENUM || LA140_0 == EXTERN || LA140_0 == IDENTIFIER || (LA140_0 >= INTERFACE && LA140_0 <= INTERNAL) || LA140_0 == NEW || LA140_0 == OPEN_BRACKET || LA140_0 == OVERRIDE || (LA140_0 >= PRIVATE && LA140_0 <= PUBLIC) || LA140_0 == READONLY || LA140_0 == SEALED || LA140_0 == STATIC || LA140_0 == STRUCT || LA140_0 == UNSAFE || LA140_0 == VIRTUAL || LA140_0 == VOLATILE)) {
alt140 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 140, 0, input);
throw nvae;
}
switch (alt140) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1283:4: namespace_declaration
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_namespace_declaration_in_namespace_member_declaration6518);
namespace_declaration695 = namespace_declaration();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, namespace_declaration695.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1284:4: type_declaration
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_type_declaration_in_namespace_member_declaration6523);
type_declaration696 = type_declaration();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type_declaration696.getTree());
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "namespace_member_declaration"
public static class type_declaration_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "type_declaration"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1295:1: type_declaration : ( attributes )? ( all_member_modifiers )? ( class_definition ^| struct_definition ^| interface_definition ^| enum_definition ^| delegate_definition ^) ;
public final CSharpParser.type_declaration_return type_declaration() throws RecognitionException {
CSharpParser.type_declaration_return retval = new CSharpParser.type_declaration_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.attributes_return attributes697 = null;
CSharpParser.all_member_modifiers_return all_member_modifiers698 = null;
CSharpParser.class_definition_return class_definition699 = null;
CSharpParser.struct_definition_return struct_definition700 = null;
CSharpParser.interface_definition_return interface_definition701 = null;
CSharpParser.enum_definition_return enum_definition702 = null;
CSharpParser.delegate_definition_return delegate_definition703 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1296:3: ( ( attributes )? ( all_member_modifiers )? ( class_definition ^| struct_definition ^| interface_definition ^| enum_definition ^| delegate_definition ^) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1296:5: ( attributes )? ( all_member_modifiers )? ( class_definition ^| struct_definition ^| interface_definition ^| enum_definition ^| delegate_definition ^)
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1296:5: ( attributes )?
int alt141 = 2;
int LA141_0 = input.LA(1);
if ((LA141_0 == OPEN_BRACKET)) {
alt141 = 1;
}
switch (alt141) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1296:5: attributes
{
pushFollow(FOLLOW_attributes_in_type_declaration6537);
attributes697 = attributes();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, attributes697.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1296:17: ( all_member_modifiers )?
int alt142 = 2;
int LA142_0 = input.LA(1);
if ((LA142_0 == ABSTRACT || LA142_0 == EXTERN || LA142_0 == IDENTIFIER || LA142_0 == INTERNAL || LA142_0 == NEW || LA142_0 == OVERRIDE || (LA142_0 >= PRIVATE && LA142_0 <= PUBLIC) || LA142_0 == READONLY || LA142_0 == SEALED || LA142_0 == STATIC || LA142_0 == UNSAFE || LA142_0 == VIRTUAL || LA142_0 == VOLATILE)) {
alt142 = 1;
}
switch (alt142) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1296:17: all_member_modifiers
{
pushFollow(FOLLOW_all_member_modifiers_in_type_declaration6540);
all_member_modifiers698 = all_member_modifiers();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, all_member_modifiers698.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1297:5: ( class_definition ^| struct_definition ^| interface_definition ^| enum_definition ^| delegate_definition ^)
int alt143 = 5;
switch (input.LA(1)) {
case CLASS: {
alt143 = 1;
}
break;
case STRUCT: {
alt143 = 2;
}
break;
case INTERFACE: {
alt143 = 3;
}
break;
case ENUM: {
alt143 = 4;
}
break;
case DELEGATE: {
alt143 = 5;
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 143, 0, input);
throw nvae;
}
switch (alt143) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1297:7: class_definition ^
{
pushFollow(FOLLOW_class_definition_in_type_declaration6549);
class_definition699 = class_definition();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
root_0 = adaptor.becomeRoot(class_definition699.getTree(), root_0);
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1298:7: struct_definition ^
{
pushFollow(FOLLOW_struct_definition_in_type_declaration6558);
struct_definition700 = struct_definition();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
root_0 = adaptor.becomeRoot(struct_definition700.getTree(), root_0);
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1299:7: interface_definition ^
{
pushFollow(FOLLOW_interface_definition_in_type_declaration6567);
interface_definition701 = interface_definition();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
root_0 = adaptor.becomeRoot(interface_definition701.getTree(), root_0);
}
}
break;
case 4: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1300:7: enum_definition ^
{
pushFollow(FOLLOW_enum_definition_in_type_declaration6576);
enum_definition702 = enum_definition();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
root_0 = adaptor.becomeRoot(enum_definition702.getTree(), root_0);
}
}
break;
case 5: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1301:7: delegate_definition ^
{
pushFollow(FOLLOW_delegate_definition_in_type_declaration6585);
delegate_definition703 = delegate_definition();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
root_0 = adaptor.becomeRoot(delegate_definition703.getTree(), root_0);
}
}
break;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "type_declaration"
public static class qualified_alias_member_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "qualified_alias_member"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1305:1: qualified_alias_member : id1= IDENTIFIER DOUBLE_COLON id2= IDENTIFIER type_argument_list_opt -> ^( QUALIFIED_ALIAS_MEMBER $id1 $id2 ( type_argument_list_opt )? ) ;
public final CSharpParser.qualified_alias_member_return qualified_alias_member() throws RecognitionException {
CSharpParser.qualified_alias_member_return retval = new CSharpParser.qualified_alias_member_return();
retval.start = input.LT(1);
Object root_0 = null;
Token id1 = null;
Token id2 = null;
Token DOUBLE_COLON704 = null;
CSharpParser.type_argument_list_opt_return type_argument_list_opt705 = null;
Object id1_tree = null;
Object id2_tree = null;
Object DOUBLE_COLON704_tree = null;
RewriteRuleTokenStream stream_DOUBLE_COLON = new RewriteRuleTokenStream(adaptor, "token DOUBLE_COLON");
RewriteRuleTokenStream stream_IDENTIFIER = new RewriteRuleTokenStream(adaptor, "token IDENTIFIER");
RewriteRuleSubtreeStream stream_type_argument_list_opt = new RewriteRuleSubtreeStream(adaptor, "rule type_argument_list_opt");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1306:2: (id1= IDENTIFIER DOUBLE_COLON id2= IDENTIFIER type_argument_list_opt -> ^( QUALIFIED_ALIAS_MEMBER $id1 $id2 ( type_argument_list_opt )? ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1306:4: id1= IDENTIFIER DOUBLE_COLON id2= IDENTIFIER type_argument_list_opt
{
id1 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_qualified_alias_member6608);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_IDENTIFIER.add(id1);
}
DOUBLE_COLON704 = (Token) match(input, DOUBLE_COLON, FOLLOW_DOUBLE_COLON_in_qualified_alias_member6610);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_DOUBLE_COLON.add(DOUBLE_COLON704);
}
id2 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_qualified_alias_member6614);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_IDENTIFIER.add(id2);
}
pushFollow(FOLLOW_type_argument_list_opt_in_qualified_alias_member6616);
type_argument_list_opt705 = type_argument_list_opt();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_type_argument_list_opt.add(type_argument_list_opt705.getTree());
}
// AST REWRITE
// elements: id2, id1, type_argument_list_opt
// token labels: id2, id1
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleTokenStream stream_id2 = new RewriteRuleTokenStream(adaptor, "token id2", id2);
RewriteRuleTokenStream stream_id1 = new RewriteRuleTokenStream(adaptor, "token id1", id1);
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 1307:4: -> ^( QUALIFIED_ALIAS_MEMBER $id1 $id2 ( type_argument_list_opt )? )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1307:7: ^( QUALIFIED_ALIAS_MEMBER $id1 $id2 ( type_argument_list_opt )? )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(QUALIFIED_ALIAS_MEMBER, "QUALIFIED_ALIAS_MEMBER"), root_1);
adaptor.addChild(root_1, stream_id1.nextNode());
adaptor.addChild(root_1, stream_id2.nextNode());
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1307:42: ( type_argument_list_opt )?
if (stream_type_argument_list_opt.hasNext()) {
adaptor.addChild(root_1, stream_type_argument_list_opt.nextTree());
}
stream_type_argument_list_opt.reset();
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "qualified_alias_member"
public static class class_declaration_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "class_declaration"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1312:1: class_declaration : ( attributes )? ( class_modifiers )? ( partial_contextual_keyword )? CLASS IDENTIFIER ( type_parameter_list )? ( class_base )? ( type_parameter_constraints_clauses )? class_body ( SEMICOLON )? ;
public final CSharpParser.class_declaration_return class_declaration() throws RecognitionException {
CSharpParser.class_declaration_return retval = new CSharpParser.class_declaration_return();
retval.start = input.LT(1);
Object root_0 = null;
Token CLASS709 = null;
Token IDENTIFIER710 = null;
Token SEMICOLON715 = null;
CSharpParser.attributes_return attributes706 = null;
CSharpParser.class_modifiers_return class_modifiers707 = null;
CSharpParser.partial_contextual_keyword_return partial_contextual_keyword708 = null;
CSharpParser.type_parameter_list_return type_parameter_list711 = null;
CSharpParser.class_base_return class_base712 = null;
CSharpParser.type_parameter_constraints_clauses_return type_parameter_constraints_clauses713 = null;
CSharpParser.class_body_return class_body714 = null;
Object CLASS709_tree = null;
Object IDENTIFIER710_tree = null;
Object SEMICOLON715_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1313:2: ( ( attributes )? ( class_modifiers )? ( partial_contextual_keyword )? CLASS IDENTIFIER ( type_parameter_list )? ( class_base )? ( type_parameter_constraints_clauses )? class_body ( SEMICOLON )? )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1313:4: ( attributes )? ( class_modifiers )? ( partial_contextual_keyword )? CLASS IDENTIFIER ( type_parameter_list )? ( class_base )? ( type_parameter_constraints_clauses )? class_body ( SEMICOLON )?
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1313:4: ( attributes )?
int alt144 = 2;
int LA144_0 = input.LA(1);
if ((LA144_0 == OPEN_BRACKET)) {
alt144 = 1;
}
switch (alt144) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1313:4: attributes
{
pushFollow(FOLLOW_attributes_in_class_declaration6648);
attributes706 = attributes();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, attributes706.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1313:16: ( class_modifiers )?
int alt145 = 2;
int LA145_0 = input.LA(1);
if ((LA145_0 == ABSTRACT || LA145_0 == INTERNAL || LA145_0 == NEW || (LA145_0 >= PRIVATE && LA145_0 <= PUBLIC) || LA145_0 == SEALED || LA145_0 == STATIC || LA145_0 == UNSAFE)) {
alt145 = 1;
}
switch (alt145) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1313:16: class_modifiers
{
pushFollow(FOLLOW_class_modifiers_in_class_declaration6651);
class_modifiers707 = class_modifiers();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, class_modifiers707.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1313:33: ( partial_contextual_keyword )?
int alt146 = 2;
int LA146_0 = input.LA(1);
if ((LA146_0 == IDENTIFIER)) {
alt146 = 1;
}
switch (alt146) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1313:33: partial_contextual_keyword
{
pushFollow(FOLLOW_partial_contextual_keyword_in_class_declaration6654);
partial_contextual_keyword708 = partial_contextual_keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, partial_contextual_keyword708.getTree());
}
}
break;
}
CLASS709 = (Token) match(input, CLASS, FOLLOW_CLASS_in_class_declaration6657);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLASS709_tree =
adaptor.create(CLASS709);
adaptor.addChild(root_0, CLASS709_tree);
}
IDENTIFIER710 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_class_declaration6659);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER710_tree =
adaptor.create(IDENTIFIER710);
adaptor.addChild(root_0, IDENTIFIER710_tree);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1313:78: ( type_parameter_list )?
int alt147 = 2;
int LA147_0 = input.LA(1);
if ((LA147_0 == LT)) {
alt147 = 1;
}
switch (alt147) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1313:78: type_parameter_list
{
pushFollow(FOLLOW_type_parameter_list_in_class_declaration6661);
type_parameter_list711 = type_parameter_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type_parameter_list711.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1314:6: ( class_base )?
int alt148 = 2;
int LA148_0 = input.LA(1);
if ((LA148_0 == COLON)) {
alt148 = 1;
}
switch (alt148) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1314:6: class_base
{
pushFollow(FOLLOW_class_base_in_class_declaration6669);
class_base712 = class_base();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, class_base712.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1314:18: ( type_parameter_constraints_clauses )?
int alt149 = 2;
int LA149_0 = input.LA(1);
if ((LA149_0 == IDENTIFIER)) {
alt149 = 1;
}
switch (alt149) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1314:18: type_parameter_constraints_clauses
{
pushFollow(FOLLOW_type_parameter_constraints_clauses_in_class_declaration6672);
type_parameter_constraints_clauses713 = type_parameter_constraints_clauses();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type_parameter_constraints_clauses713.getTree());
}
}
break;
}
pushFollow(FOLLOW_class_body_in_class_declaration6675);
class_body714 = class_body();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, class_body714.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1314:65: ( SEMICOLON )?
int alt150 = 2;
int LA150_0 = input.LA(1);
if ((LA150_0 == SEMICOLON)) {
alt150 = 1;
}
switch (alt150) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1314:65: SEMICOLON
{
SEMICOLON715 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_class_declaration6677);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
SEMICOLON715_tree =
adaptor.create(SEMICOLON715);
adaptor.addChild(root_0, SEMICOLON715_tree);
}
}
break;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "class_declaration"
public static class class_modifiers_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "class_modifiers"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1316:1: class_modifiers : class_modifier ( class_modifier )* ;
public final CSharpParser.class_modifiers_return class_modifiers() throws RecognitionException {
CSharpParser.class_modifiers_return retval = new CSharpParser.class_modifiers_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.class_modifier_return class_modifier716 = null;
CSharpParser.class_modifier_return class_modifier717 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1317:2: ( class_modifier ( class_modifier )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1317:4: class_modifier ( class_modifier )*
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_class_modifier_in_class_modifiers6689);
class_modifier716 = class_modifier();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, class_modifier716.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1317:19: ( class_modifier )*
loop151:
do {
int alt151 = 2;
int LA151_0 = input.LA(1);
if ((LA151_0 == ABSTRACT || LA151_0 == INTERNAL || LA151_0 == NEW || (LA151_0 >= PRIVATE && LA151_0 <= PUBLIC) || LA151_0 == SEALED || LA151_0 == STATIC || LA151_0 == UNSAFE)) {
alt151 = 1;
}
switch (alt151) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1317:21: class_modifier
{
pushFollow(FOLLOW_class_modifier_in_class_modifiers6693);
class_modifier717 = class_modifier();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, class_modifier717.getTree());
}
}
break;
default:
break loop151;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "class_modifiers"
public static class class_modifier_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "class_modifier"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1319:1: class_modifier : ( NEW | PUBLIC | PROTECTED | INTERNAL | PRIVATE | ABSTRACT | SEALED | STATIC | class_modifier_unsafe );
public final CSharpParser.class_modifier_return class_modifier() throws RecognitionException {
CSharpParser.class_modifier_return retval = new CSharpParser.class_modifier_return();
retval.start = input.LT(1);
Object root_0 = null;
Token NEW718 = null;
Token PUBLIC719 = null;
Token PROTECTED720 = null;
Token INTERNAL721 = null;
Token PRIVATE722 = null;
Token ABSTRACT723 = null;
Token SEALED724 = null;
Token STATIC725 = null;
CSharpParser.class_modifier_unsafe_return class_modifier_unsafe726 = null;
Object NEW718_tree = null;
Object PUBLIC719_tree = null;
Object PROTECTED720_tree = null;
Object INTERNAL721_tree = null;
Object PRIVATE722_tree = null;
Object ABSTRACT723_tree = null;
Object SEALED724_tree = null;
Object STATIC725_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1320:2: ( NEW | PUBLIC | PROTECTED | INTERNAL | PRIVATE | ABSTRACT | SEALED | STATIC | class_modifier_unsafe )
int alt152 = 9;
switch (input.LA(1)) {
case NEW: {
alt152 = 1;
}
break;
case PUBLIC: {
alt152 = 2;
}
break;
case PROTECTED: {
alt152 = 3;
}
break;
case INTERNAL: {
alt152 = 4;
}
break;
case PRIVATE: {
alt152 = 5;
}
break;
case ABSTRACT: {
alt152 = 6;
}
break;
case SEALED: {
alt152 = 7;
}
break;
case STATIC: {
alt152 = 8;
}
break;
case UNSAFE: {
alt152 = 9;
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 152, 0, input);
throw nvae;
}
switch (alt152) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1320:4: NEW
{
root_0 = adaptor.nil();
NEW718 = (Token) match(input, NEW, FOLLOW_NEW_in_class_modifier6707);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
NEW718_tree =
adaptor.create(NEW718);
adaptor.addChild(root_0, NEW718_tree);
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1321:4: PUBLIC
{
root_0 = adaptor.nil();
PUBLIC719 = (Token) match(input, PUBLIC, FOLLOW_PUBLIC_in_class_modifier6712);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PUBLIC719_tree =
adaptor.create(PUBLIC719);
adaptor.addChild(root_0, PUBLIC719_tree);
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1322:4: PROTECTED
{
root_0 = adaptor.nil();
PROTECTED720 = (Token) match(input, PROTECTED, FOLLOW_PROTECTED_in_class_modifier6717);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PROTECTED720_tree =
adaptor.create(PROTECTED720);
adaptor.addChild(root_0, PROTECTED720_tree);
}
}
break;
case 4: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1323:4: INTERNAL
{
root_0 = adaptor.nil();
INTERNAL721 = (Token) match(input, INTERNAL, FOLLOW_INTERNAL_in_class_modifier6722);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
INTERNAL721_tree =
adaptor.create(INTERNAL721);
adaptor.addChild(root_0, INTERNAL721_tree);
}
}
break;
case 5: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1324:4: PRIVATE
{
root_0 = adaptor.nil();
PRIVATE722 = (Token) match(input, PRIVATE, FOLLOW_PRIVATE_in_class_modifier6727);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PRIVATE722_tree =
adaptor.create(PRIVATE722);
adaptor.addChild(root_0, PRIVATE722_tree);
}
}
break;
case 6: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1325:4: ABSTRACT
{
root_0 = adaptor.nil();
ABSTRACT723 = (Token) match(input, ABSTRACT, FOLLOW_ABSTRACT_in_class_modifier6732);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
ABSTRACT723_tree =
adaptor.create(ABSTRACT723);
adaptor.addChild(root_0, ABSTRACT723_tree);
}
}
break;
case 7: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1326:4: SEALED
{
root_0 = adaptor.nil();
SEALED724 = (Token) match(input, SEALED, FOLLOW_SEALED_in_class_modifier6737);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
SEALED724_tree =
adaptor.create(SEALED724);
adaptor.addChild(root_0, SEALED724_tree);
}
}
break;
case 8: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1327:4: STATIC
{
root_0 = adaptor.nil();
STATIC725 = (Token) match(input, STATIC, FOLLOW_STATIC_in_class_modifier6742);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
STATIC725_tree =
adaptor.create(STATIC725);
adaptor.addChild(root_0, STATIC725_tree);
}
}
break;
case 9: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1328:4: class_modifier_unsafe
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_class_modifier_unsafe_in_class_modifier6747);
class_modifier_unsafe726 = class_modifier_unsafe();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, class_modifier_unsafe726.getTree());
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "class_modifier"
public static class type_parameter_list_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "type_parameter_list"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1330:1: type_parameter_list : LT ! type_parameters GT !;
public final CSharpParser.type_parameter_list_return type_parameter_list() throws RecognitionException {
CSharpParser.type_parameter_list_return retval = new CSharpParser.type_parameter_list_return();
retval.start = input.LT(1);
Object root_0 = null;
Token LT727 = null;
Token GT729 = null;
CSharpParser.type_parameters_return type_parameters728 = null;
Object LT727_tree = null;
Object GT729_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1331:2: ( LT ! type_parameters GT !)
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1331:4: LT ! type_parameters GT !
{
root_0 = adaptor.nil();
LT727 = (Token) match(input, LT, FOLLOW_LT_in_type_parameter_list6758);
if (state.failed) {
return retval;
}
pushFollow(FOLLOW_type_parameters_in_type_parameter_list6761);
type_parameters728 = type_parameters();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type_parameters728.getTree());
}
GT729 = (Token) match(input, GT, FOLLOW_GT_in_type_parameter_list6763);
if (state.failed) {
return retval;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "type_parameter_list"
public static class type_parameters_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "type_parameters"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1333:1: type_parameters : attributed_type_parameter ( COMMA attributed_type_parameter )* -> ^( TYPE_PARAMETERS ( attributed_type_parameter )+ ) ;
public final CSharpParser.type_parameters_return type_parameters() throws RecognitionException {
CSharpParser.type_parameters_return retval = new CSharpParser.type_parameters_return();
retval.start = input.LT(1);
Object root_0 = null;
Token COMMA731 = null;
CSharpParser.attributed_type_parameter_return attributed_type_parameter730 = null;
CSharpParser.attributed_type_parameter_return attributed_type_parameter732 = null;
Object COMMA731_tree = null;
RewriteRuleTokenStream stream_COMMA = new RewriteRuleTokenStream(adaptor, "token COMMA");
RewriteRuleSubtreeStream stream_attributed_type_parameter = new RewriteRuleSubtreeStream(adaptor, "rule attributed_type_parameter");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1334:2: ( attributed_type_parameter ( COMMA attributed_type_parameter )* -> ^( TYPE_PARAMETERS ( attributed_type_parameter )+ ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1334:4: attributed_type_parameter ( COMMA attributed_type_parameter )*
{
pushFollow(FOLLOW_attributed_type_parameter_in_type_parameters6775);
attributed_type_parameter730 = attributed_type_parameter();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_attributed_type_parameter.add(attributed_type_parameter730.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1334:30: ( COMMA attributed_type_parameter )*
loop153:
do {
int alt153 = 2;
int LA153_0 = input.LA(1);
if ((LA153_0 == COMMA)) {
alt153 = 1;
}
switch (alt153) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1334:32: COMMA attributed_type_parameter
{
COMMA731 = (Token) match(input, COMMA, FOLLOW_COMMA_in_type_parameters6779);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_COMMA.add(COMMA731);
}
pushFollow(FOLLOW_attributed_type_parameter_in_type_parameters6782);
attributed_type_parameter732 = attributed_type_parameter();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_attributed_type_parameter.add(attributed_type_parameter732.getTree());
}
}
break;
default:
break loop153;
}
} while (true);
// AST REWRITE
// elements: attributed_type_parameter
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 1335:4: -> ^( TYPE_PARAMETERS ( attributed_type_parameter )+ )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1335:7: ^( TYPE_PARAMETERS ( attributed_type_parameter )+ )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(TYPE_PARAMETERS, "TYPE_PARAMETERS"), root_1);
if (!(stream_attributed_type_parameter.hasNext())) {
throw new RewriteEarlyExitException();
}
while (stream_attributed_type_parameter.hasNext()) {
adaptor.addChild(root_1, stream_attributed_type_parameter.nextTree());
}
stream_attributed_type_parameter.reset();
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "type_parameters"
public static class attributed_type_parameter_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "attributed_type_parameter"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1337:1: attributed_type_parameter : ( attributes )? type_parameter -> ^( TYPE_PARAM ( attributes )? type_parameter ) ;
public final CSharpParser.attributed_type_parameter_return attributed_type_parameter() throws RecognitionException {
CSharpParser.attributed_type_parameter_return retval = new CSharpParser.attributed_type_parameter_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.attributes_return attributes733 = null;
CSharpParser.type_parameter_return type_parameter734 = null;
RewriteRuleSubtreeStream stream_type_parameter = new RewriteRuleSubtreeStream(adaptor, "rule type_parameter");
RewriteRuleSubtreeStream stream_attributes = new RewriteRuleSubtreeStream(adaptor, "rule attributes");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1338:3: ( ( attributes )? type_parameter -> ^( TYPE_PARAM ( attributes )? type_parameter ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1338:5: ( attributes )? type_parameter
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1338:5: ( attributes )?
int alt154 = 2;
int LA154_0 = input.LA(1);
if ((LA154_0 == OPEN_BRACKET)) {
alt154 = 1;
}
switch (alt154) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1338:5: attributes
{
pushFollow(FOLLOW_attributes_in_attributed_type_parameter6809);
attributes733 = attributes();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_attributes.add(attributes733.getTree());
}
}
break;
}
pushFollow(FOLLOW_type_parameter_in_attributed_type_parameter6812);
type_parameter734 = type_parameter();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_type_parameter.add(type_parameter734.getTree());
}
// AST REWRITE
// elements: attributes, type_parameter
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 1338:33: -> ^( TYPE_PARAM ( attributes )? type_parameter )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1338:36: ^( TYPE_PARAM ( attributes )? type_parameter )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(TYPE_PARAM, "TYPE_PARAM"), root_1);
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1338:49: ( attributes )?
if (stream_attributes.hasNext()) {
adaptor.addChild(root_1, stream_attributes.nextTree());
}
stream_attributes.reset();
adaptor.addChild(root_1, stream_type_parameter.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "attributed_type_parameter"
public static class type_parameter_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "type_parameter"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1341:1: type_parameter : IDENTIFIER ;
public final CSharpParser.type_parameter_return type_parameter() throws RecognitionException {
CSharpParser.type_parameter_return retval = new CSharpParser.type_parameter_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER735 = null;
Object IDENTIFIER735_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1342:2: ( IDENTIFIER )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1342:4: IDENTIFIER
{
root_0 = adaptor.nil();
IDENTIFIER735 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_type_parameter6838);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER735_tree =
adaptor.create(IDENTIFIER735);
adaptor.addChild(root_0, IDENTIFIER735_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "type_parameter"
public static class class_base_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "class_base"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1352:1: class_base : COLON class_type ( COMMA interface_type )* -> ^( EXTENDS_OR_IMPLEMENTS class_type ( interface_type )* ) ;
public final CSharpParser.class_base_return class_base() throws RecognitionException {
CSharpParser.class_base_return retval = new CSharpParser.class_base_return();
retval.start = input.LT(1);
Object root_0 = null;
Token COLON736 = null;
Token COMMA738 = null;
CSharpParser.class_type_return class_type737 = null;
CSharpParser.interface_type_return interface_type739 = null;
Object COLON736_tree = null;
Object COMMA738_tree = null;
RewriteRuleTokenStream stream_COLON = new RewriteRuleTokenStream(adaptor, "token COLON");
RewriteRuleTokenStream stream_COMMA = new RewriteRuleTokenStream(adaptor, "token COMMA");
RewriteRuleSubtreeStream stream_interface_type = new RewriteRuleSubtreeStream(adaptor, "rule interface_type");
RewriteRuleSubtreeStream stream_class_type = new RewriteRuleSubtreeStream(adaptor, "rule class_type");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1353:3: ( COLON class_type ( COMMA interface_type )* -> ^( EXTENDS_OR_IMPLEMENTS class_type ( interface_type )* ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1353:5: COLON class_type ( COMMA interface_type )*
{
COLON736 = (Token) match(input, COLON, FOLLOW_COLON_in_class_base6853);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_COLON.add(COLON736);
}
pushFollow(FOLLOW_class_type_in_class_base6855);
class_type737 = class_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_class_type.add(class_type737.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1353:22: ( COMMA interface_type )*
loop155:
do {
int alt155 = 2;
int LA155_0 = input.LA(1);
if ((LA155_0 == COMMA)) {
alt155 = 1;
}
switch (alt155) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1353:24: COMMA interface_type
{
COMMA738 = (Token) match(input, COMMA, FOLLOW_COMMA_in_class_base6859);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_COMMA.add(COMMA738);
}
pushFollow(FOLLOW_interface_type_in_class_base6862);
interface_type739 = interface_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_interface_type.add(interface_type739.getTree());
}
}
break;
default:
break loop155;
}
} while (true);
// AST REWRITE
// elements: interface_type, class_type
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 1354:5: -> ^( EXTENDS_OR_IMPLEMENTS class_type ( interface_type )* )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1354:8: ^( EXTENDS_OR_IMPLEMENTS class_type ( interface_type )* )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(EXTENDS_OR_IMPLEMENTS, "EXTENDS_OR_IMPLEMENTS"), root_1);
adaptor.addChild(root_1, stream_class_type.nextTree());
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1354:45: ( interface_type )*
while (stream_interface_type.hasNext()) {
adaptor.addChild(root_1, stream_interface_type.nextTree());
}
stream_interface_type.reset();
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "class_base"
public static class interface_type_list_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "interface_type_list"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1356:1: interface_type_list : interface_type ( COMMA interface_type )* -> ^( IMPLEMENTS ( interface_type )+ ) ;
public final CSharpParser.interface_type_list_return interface_type_list() throws RecognitionException {
CSharpParser.interface_type_list_return retval = new CSharpParser.interface_type_list_return();
retval.start = input.LT(1);
Object root_0 = null;
Token COMMA741 = null;
CSharpParser.interface_type_return interface_type740 = null;
CSharpParser.interface_type_return interface_type742 = null;
Object COMMA741_tree = null;
RewriteRuleTokenStream stream_COMMA = new RewriteRuleTokenStream(adaptor, "token COMMA");
RewriteRuleSubtreeStream stream_interface_type = new RewriteRuleSubtreeStream(adaptor, "rule interface_type");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1357:2: ( interface_type ( COMMA interface_type )* -> ^( IMPLEMENTS ( interface_type )+ ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1357:4: interface_type ( COMMA interface_type )*
{
pushFollow(FOLLOW_interface_type_in_interface_type_list6894);
interface_type740 = interface_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_interface_type.add(interface_type740.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1357:19: ( COMMA interface_type )*
loop156:
do {
int alt156 = 2;
int LA156_0 = input.LA(1);
if ((LA156_0 == COMMA)) {
alt156 = 1;
}
switch (alt156) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1357:21: COMMA interface_type
{
COMMA741 = (Token) match(input, COMMA, FOLLOW_COMMA_in_interface_type_list6898);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_COMMA.add(COMMA741);
}
pushFollow(FOLLOW_interface_type_in_interface_type_list6901);
interface_type742 = interface_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_interface_type.add(interface_type742.getTree());
}
}
break;
default:
break loop156;
}
} while (true);
// AST REWRITE
// elements: interface_type
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 1358:4: -> ^( IMPLEMENTS ( interface_type )+ )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1358:7: ^( IMPLEMENTS ( interface_type )+ )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(IMPLEMENTS, "IMPLEMENTS"), root_1);
if (!(stream_interface_type.hasNext())) {
throw new RewriteEarlyExitException();
}
while (stream_interface_type.hasNext()) {
adaptor.addChild(root_1, stream_interface_type.nextTree());
}
stream_interface_type.reset();
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "interface_type_list"
public static class type_parameter_constraints_clauses_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "type_parameter_constraints_clauses"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1360:1: type_parameter_constraints_clauses : ( type_parameter_constraints_clause )+ -> ^( TYPE_PARAMETER_CONSTRAINTS_CLAUSES ( type_parameter_constraints_clause )+ ) ;
public final CSharpParser.type_parameter_constraints_clauses_return type_parameter_constraints_clauses() throws RecognitionException {
CSharpParser.type_parameter_constraints_clauses_return retval = new CSharpParser.type_parameter_constraints_clauses_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.type_parameter_constraints_clause_return type_parameter_constraints_clause743 = null;
RewriteRuleSubtreeStream stream_type_parameter_constraints_clause = new RewriteRuleSubtreeStream(adaptor, "rule type_parameter_constraints_clause");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1361:2: ( ( type_parameter_constraints_clause )+ -> ^( TYPE_PARAMETER_CONSTRAINTS_CLAUSES ( type_parameter_constraints_clause )+ ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1361:4: ( type_parameter_constraints_clause )+
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1361:4: ( type_parameter_constraints_clause )+
int cnt157 = 0;
loop157:
do {
int alt157 = 2;
int LA157_0 = input.LA(1);
if ((LA157_0 == IDENTIFIER)) {
alt157 = 1;
}
switch (alt157) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1361:4: type_parameter_constraints_clause
{
pushFollow(FOLLOW_type_parameter_constraints_clause_in_type_parameter_constraints_clauses6927);
type_parameter_constraints_clause743 = type_parameter_constraints_clause();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_type_parameter_constraints_clause.add(type_parameter_constraints_clause743.getTree());
}
}
break;
default:
if (cnt157 >= 1) {
break loop157;
}
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
EarlyExitException eee =
new EarlyExitException(157, input);
throw eee;
}
cnt157++;
} while (true);
// AST REWRITE
// elements: type_parameter_constraints_clause
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 1362:4: -> ^( TYPE_PARAMETER_CONSTRAINTS_CLAUSES ( type_parameter_constraints_clause )+ )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1362:7: ^( TYPE_PARAMETER_CONSTRAINTS_CLAUSES ( type_parameter_constraints_clause )+ )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(TYPE_PARAMETER_CONSTRAINTS_CLAUSES, "TYPE_PARAMETER_CONSTRAINTS_CLAUSES"), root_1);
if (!(stream_type_parameter_constraints_clause.hasNext())) {
throw new RewriteEarlyExitException();
}
while (stream_type_parameter_constraints_clause.hasNext()) {
adaptor.addChild(root_1, stream_type_parameter_constraints_clause.nextTree());
}
stream_type_parameter_constraints_clause.reset();
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "type_parameter_constraints_clauses"
public static class type_parameter_constraints_clause_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "type_parameter_constraints_clause"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1364:1: type_parameter_constraints_clause : where_contextual_keyword type_parameter COLON type_parameter_constraints -> ^( TYPE_PARAMETER_CONSTRAINTS_CLAUSE type_parameter type_parameter_constraints ) ;
public final CSharpParser.type_parameter_constraints_clause_return type_parameter_constraints_clause() throws RecognitionException {
CSharpParser.type_parameter_constraints_clause_return retval = new CSharpParser.type_parameter_constraints_clause_return();
retval.start = input.LT(1);
Object root_0 = null;
Token COLON746 = null;
CSharpParser.where_contextual_keyword_return where_contextual_keyword744 = null;
CSharpParser.type_parameter_return type_parameter745 = null;
CSharpParser.type_parameter_constraints_return type_parameter_constraints747 = null;
Object COLON746_tree = null;
RewriteRuleTokenStream stream_COLON = new RewriteRuleTokenStream(adaptor, "token COLON");
RewriteRuleSubtreeStream stream_where_contextual_keyword = new RewriteRuleSubtreeStream(adaptor, "rule where_contextual_keyword");
RewriteRuleSubtreeStream stream_type_parameter = new RewriteRuleSubtreeStream(adaptor, "rule type_parameter");
RewriteRuleSubtreeStream stream_type_parameter_constraints = new RewriteRuleSubtreeStream(adaptor, "rule type_parameter_constraints");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1365:2: ( where_contextual_keyword type_parameter COLON type_parameter_constraints -> ^( TYPE_PARAMETER_CONSTRAINTS_CLAUSE type_parameter type_parameter_constraints ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1365:4: where_contextual_keyword type_parameter COLON type_parameter_constraints
{
pushFollow(FOLLOW_where_contextual_keyword_in_type_parameter_constraints_clause6951);
where_contextual_keyword744 = where_contextual_keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_where_contextual_keyword.add(where_contextual_keyword744.getTree());
}
pushFollow(FOLLOW_type_parameter_in_type_parameter_constraints_clause6953);
type_parameter745 = type_parameter();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_type_parameter.add(type_parameter745.getTree());
}
COLON746 = (Token) match(input, COLON, FOLLOW_COLON_in_type_parameter_constraints_clause6955);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_COLON.add(COLON746);
}
pushFollow(FOLLOW_type_parameter_constraints_in_type_parameter_constraints_clause6957);
type_parameter_constraints747 = type_parameter_constraints();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_type_parameter_constraints.add(type_parameter_constraints747.getTree());
}
// AST REWRITE
// elements: type_parameter_constraints, type_parameter
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 1366:4: -> ^( TYPE_PARAMETER_CONSTRAINTS_CLAUSE type_parameter type_parameter_constraints )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1366:7: ^( TYPE_PARAMETER_CONSTRAINTS_CLAUSE type_parameter type_parameter_constraints )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(TYPE_PARAMETER_CONSTRAINTS_CLAUSE, "TYPE_PARAMETER_CONSTRAINTS_CLAUSE"), root_1);
adaptor.addChild(root_1, stream_type_parameter.nextTree());
adaptor.addChild(root_1, stream_type_parameter_constraints.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "type_parameter_constraints_clause"
public static class type_parameter_constraints_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "type_parameter_constraints"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1379:1: type_parameter_constraints : ( constructor_constraint | primary_constraint ( COMMA secondary_constraints )? ( COMMA constructor_constraint )? );
public final CSharpParser.type_parameter_constraints_return type_parameter_constraints() throws RecognitionException {
CSharpParser.type_parameter_constraints_return retval = new CSharpParser.type_parameter_constraints_return();
retval.start = input.LT(1);
Object root_0 = null;
Token COMMA750 = null;
Token COMMA752 = null;
CSharpParser.constructor_constraint_return constructor_constraint748 = null;
CSharpParser.primary_constraint_return primary_constraint749 = null;
CSharpParser.secondary_constraints_return secondary_constraints751 = null;
CSharpParser.constructor_constraint_return constructor_constraint753 = null;
Object COMMA750_tree = null;
Object COMMA752_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1380:3: ( constructor_constraint | primary_constraint ( COMMA secondary_constraints )? ( COMMA constructor_constraint )? )
int alt160 = 2;
int LA160_0 = input.LA(1);
if ((LA160_0 == NEW)) {
alt160 = 1;
} else if ((LA160_0 == CLASS || LA160_0 == IDENTIFIER || LA160_0 == OBJECT || LA160_0 == STRING || LA160_0 == STRUCT)) {
alt160 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 160, 0, input);
throw nvae;
}
switch (alt160) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1380:5: constructor_constraint
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_constructor_constraint_in_type_parameter_constraints6986);
constructor_constraint748 = constructor_constraint();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, constructor_constraint748.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1381:5: primary_constraint ( COMMA secondary_constraints )? ( COMMA constructor_constraint )?
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_primary_constraint_in_type_parameter_constraints6992);
primary_constraint749 = primary_constraint();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, primary_constraint749.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1381:24: ( COMMA secondary_constraints )?
int alt158 = 2;
int LA158_0 = input.LA(1);
if ((LA158_0 == COMMA)) {
int LA158_1 = input.LA(2);
if ((LA158_1 == IDENTIFIER)) {
alt158 = 1;
}
}
switch (alt158) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1381:25: COMMA secondary_constraints
{
COMMA750 = (Token) match(input, COMMA, FOLLOW_COMMA_in_type_parameter_constraints6995);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
COMMA750_tree =
adaptor.create(COMMA750);
adaptor.addChild(root_0, COMMA750_tree);
}
pushFollow(FOLLOW_secondary_constraints_in_type_parameter_constraints6997);
secondary_constraints751 = secondary_constraints();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, secondary_constraints751.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1381:55: ( COMMA constructor_constraint )?
int alt159 = 2;
int LA159_0 = input.LA(1);
if ((LA159_0 == COMMA)) {
alt159 = 1;
}
switch (alt159) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1381:56: COMMA constructor_constraint
{
COMMA752 = (Token) match(input, COMMA, FOLLOW_COMMA_in_type_parameter_constraints7002);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
COMMA752_tree =
adaptor.create(COMMA752);
adaptor.addChild(root_0, COMMA752_tree);
}
pushFollow(FOLLOW_constructor_constraint_in_type_parameter_constraints7004);
constructor_constraint753 = constructor_constraint();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, constructor_constraint753.getTree());
}
}
break;
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "type_parameter_constraints"
public static class primary_constraint_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "primary_constraint"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1383:1: primary_constraint : ( class_type | CLASS | STRUCT );
public final CSharpParser.primary_constraint_return primary_constraint() throws RecognitionException {
CSharpParser.primary_constraint_return retval = new CSharpParser.primary_constraint_return();
retval.start = input.LT(1);
Object root_0 = null;
Token CLASS755 = null;
Token STRUCT756 = null;
CSharpParser.class_type_return class_type754 = null;
Object CLASS755_tree = null;
Object STRUCT756_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1384:2: ( class_type | CLASS | STRUCT )
int alt161 = 3;
switch (input.LA(1)) {
case IDENTIFIER:
case OBJECT:
case STRING: {
alt161 = 1;
}
break;
case CLASS: {
alt161 = 2;
}
break;
case STRUCT: {
alt161 = 3;
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 161, 0, input);
throw nvae;
}
switch (alt161) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1384:4: class_type
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_class_type_in_primary_constraint7018);
class_type754 = class_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, class_type754.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1385:4: CLASS
{
root_0 = adaptor.nil();
CLASS755 = (Token) match(input, CLASS, FOLLOW_CLASS_in_primary_constraint7023);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLASS755_tree =
adaptor.create(CLASS755);
adaptor.addChild(root_0, CLASS755_tree);
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1386:4: STRUCT
{
root_0 = adaptor.nil();
STRUCT756 = (Token) match(input, STRUCT, FOLLOW_STRUCT_in_primary_constraint7028);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
STRUCT756_tree =
adaptor.create(STRUCT756);
adaptor.addChild(root_0, STRUCT756_tree);
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "primary_constraint"
public static class secondary_constraints_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "secondary_constraints"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1397:1: secondary_constraints : interface_type ( COMMA interface_type )* ;
public final CSharpParser.secondary_constraints_return secondary_constraints() throws RecognitionException {
CSharpParser.secondary_constraints_return retval = new CSharpParser.secondary_constraints_return();
retval.start = input.LT(1);
Object root_0 = null;
Token COMMA758 = null;
CSharpParser.interface_type_return interface_type757 = null;
CSharpParser.interface_type_return interface_type759 = null;
Object COMMA758_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1398:3: ( interface_type ( COMMA interface_type )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1398:5: interface_type ( COMMA interface_type )*
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_interface_type_in_secondary_constraints7042);
interface_type757 = interface_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, interface_type757.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1398:20: ( COMMA interface_type )*
loop162:
do {
int alt162 = 2;
int LA162_0 = input.LA(1);
if ((LA162_0 == COMMA)) {
int LA162_1 = input.LA(2);
if ((LA162_1 == IDENTIFIER)) {
alt162 = 1;
}
}
switch (alt162) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1398:21: COMMA interface_type
{
COMMA758 = (Token) match(input, COMMA, FOLLOW_COMMA_in_secondary_constraints7045);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
COMMA758_tree =
adaptor.create(COMMA758);
adaptor.addChild(root_0, COMMA758_tree);
}
pushFollow(FOLLOW_interface_type_in_secondary_constraints7047);
interface_type759 = interface_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, interface_type759.getTree());
}
}
break;
default:
break loop162;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "secondary_constraints"
public static class constructor_constraint_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "constructor_constraint"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1400:1: constructor_constraint : NEW OPEN_PARENS CLOSE_PARENS ;
public final CSharpParser.constructor_constraint_return constructor_constraint() throws RecognitionException {
CSharpParser.constructor_constraint_return retval = new CSharpParser.constructor_constraint_return();
retval.start = input.LT(1);
Object root_0 = null;
Token NEW760 = null;
Token OPEN_PARENS761 = null;
Token CLOSE_PARENS762 = null;
Object NEW760_tree = null;
Object OPEN_PARENS761_tree = null;
Object CLOSE_PARENS762_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1401:2: ( NEW OPEN_PARENS CLOSE_PARENS )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1401:4: NEW OPEN_PARENS CLOSE_PARENS
{
root_0 = adaptor.nil();
NEW760 = (Token) match(input, NEW, FOLLOW_NEW_in_constructor_constraint7061);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
NEW760_tree =
adaptor.create(NEW760);
adaptor.addChild(root_0, NEW760_tree);
}
OPEN_PARENS761 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_constructor_constraint7063);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_PARENS761_tree =
adaptor.create(OPEN_PARENS761);
adaptor.addChild(root_0, OPEN_PARENS761_tree);
}
CLOSE_PARENS762 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_constructor_constraint7065);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_PARENS762_tree =
adaptor.create(CLOSE_PARENS762);
adaptor.addChild(root_0, CLOSE_PARENS762_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "constructor_constraint"
public static class class_body_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "class_body"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1403:1: class_body : OPEN_BRACE ! ( class_member_declarations )? CLOSE_BRACE !;
public final CSharpParser.class_body_return class_body() throws RecognitionException {
CSharpParser.class_body_return retval = new CSharpParser.class_body_return();
retval.start = input.LT(1);
Object root_0 = null;
Token OPEN_BRACE763 = null;
Token CLOSE_BRACE765 = null;
CSharpParser.class_member_declarations_return class_member_declarations764 = null;
Object OPEN_BRACE763_tree = null;
Object CLOSE_BRACE765_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1404:2: ( OPEN_BRACE ! ( class_member_declarations )? CLOSE_BRACE !)
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1404:4: OPEN_BRACE ! ( class_member_declarations )? CLOSE_BRACE !
{
root_0 = adaptor.nil();
OPEN_BRACE763 = (Token) match(input, OPEN_BRACE, FOLLOW_OPEN_BRACE_in_class_body7076);
if (state.failed) {
return retval;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1404:16: ( class_member_declarations )?
int alt163 = 2;
int LA163_0 = input.LA(1);
if ((LA163_0 == ABSTRACT || LA163_0 == BOOL || LA163_0 == BYTE || LA163_0 == CHAR || LA163_0 == CLASS || LA163_0 == CONST || LA163_0 == DECIMAL || LA163_0 == DELEGATE || LA163_0 == DOUBLE || (LA163_0 >= ENUM && LA163_0 <= EXTERN) || LA163_0 == FLOAT || LA163_0 == IDENTIFIER || LA163_0 == IMPLICIT || LA163_0 == INT || (LA163_0 >= INTERFACE && LA163_0 <= INTERNAL) || LA163_0 == LONG || LA163_0 == NEW || LA163_0 == OBJECT || LA163_0 == OPEN_BRACKET || LA163_0 == OVERRIDE || (LA163_0 >= PRIVATE && LA163_0 <= PUBLIC) || LA163_0 == READONLY || (LA163_0 >= SBYTE && LA163_0 <= SEALED) || LA163_0 == SHORT || (LA163_0 >= STATIC && LA163_0 <= STRING) || LA163_0 == STRUCT || LA163_0 == TILDE || (LA163_0 >= UINT && LA163_0 <= ULONG) || (LA163_0 >= UNSAFE && LA163_0 <= USHORT) || (LA163_0 >= VIRTUAL && LA163_0 <= VOLATILE))) {
alt163 = 1;
}
switch (alt163) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1404:16: class_member_declarations
{
pushFollow(FOLLOW_class_member_declarations_in_class_body7079);
class_member_declarations764 = class_member_declarations();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, class_member_declarations764.getTree());
}
}
break;
}
CLOSE_BRACE765 = (Token) match(input, CLOSE_BRACE, FOLLOW_CLOSE_BRACE_in_class_body7082);
if (state.failed) {
return retval;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "class_body"
public static class class_member_declarations_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "class_member_declarations"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1406:1: class_member_declarations : ( class_member_declaration )+ -> ^( CLASS_MEMBER_DECLARATIONS ( class_member_declaration )+ ) ;
public final CSharpParser.class_member_declarations_return class_member_declarations() throws RecognitionException {
CSharpParser.class_member_declarations_return retval = new CSharpParser.class_member_declarations_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.class_member_declaration_return class_member_declaration766 = null;
RewriteRuleSubtreeStream stream_class_member_declaration = new RewriteRuleSubtreeStream(adaptor, "rule class_member_declaration");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1407:2: ( ( class_member_declaration )+ -> ^( CLASS_MEMBER_DECLARATIONS ( class_member_declaration )+ ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1407:4: ( class_member_declaration )+
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1407:4: ( class_member_declaration )+
int cnt164 = 0;
loop164:
do {
int alt164 = 2;
int LA164_0 = input.LA(1);
if ((LA164_0 == ABSTRACT || LA164_0 == BOOL || LA164_0 == BYTE || LA164_0 == CHAR || LA164_0 == CLASS || LA164_0 == CONST || LA164_0 == DECIMAL || LA164_0 == DELEGATE || LA164_0 == DOUBLE || (LA164_0 >= ENUM && LA164_0 <= EXTERN) || LA164_0 == FLOAT || LA164_0 == IDENTIFIER || LA164_0 == IMPLICIT || LA164_0 == INT || (LA164_0 >= INTERFACE && LA164_0 <= INTERNAL) || LA164_0 == LONG || LA164_0 == NEW || LA164_0 == OBJECT || LA164_0 == OPEN_BRACKET || LA164_0 == OVERRIDE || (LA164_0 >= PRIVATE && LA164_0 <= PUBLIC) || LA164_0 == READONLY || (LA164_0 >= SBYTE && LA164_0 <= SEALED) || LA164_0 == SHORT || (LA164_0 >= STATIC && LA164_0 <= STRING) || LA164_0 == STRUCT || LA164_0 == TILDE || (LA164_0 >= UINT && LA164_0 <= ULONG) || (LA164_0 >= UNSAFE && LA164_0 <= USHORT) || (LA164_0 >= VIRTUAL && LA164_0 <= VOLATILE))) {
alt164 = 1;
}
switch (alt164) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1407:4: class_member_declaration
{
pushFollow(FOLLOW_class_member_declaration_in_class_member_declarations7094);
class_member_declaration766 = class_member_declaration();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_class_member_declaration.add(class_member_declaration766.getTree());
}
}
break;
default:
if (cnt164 >= 1) {
break loop164;
}
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
EarlyExitException eee =
new EarlyExitException(164, input);
throw eee;
}
cnt164++;
} while (true);
// AST REWRITE
// elements: class_member_declaration
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 1408:4: -> ^( CLASS_MEMBER_DECLARATIONS ( class_member_declaration )+ )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1408:7: ^( CLASS_MEMBER_DECLARATIONS ( class_member_declaration )+ )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(CLASS_MEMBER_DECLARATIONS, "CLASS_MEMBER_DECLARATIONS"), root_1);
if (!(stream_class_member_declaration.hasNext())) {
throw new RewriteEarlyExitException();
}
while (stream_class_member_declaration.hasNext()) {
adaptor.addChild(root_1, stream_class_member_declaration.nextTree());
}
stream_class_member_declaration.reset();
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "class_member_declarations"
public static class class_member_declaration_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "class_member_declaration"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1425:1: class_member_declaration : ( attributes )? ( all_member_modifiers )? ( common_member_declaration ^| destructor_definition ^) ;
public final CSharpParser.class_member_declaration_return class_member_declaration() throws RecognitionException {
CSharpParser.class_member_declaration_return retval = new CSharpParser.class_member_declaration_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.attributes_return attributes767 = null;
CSharpParser.all_member_modifiers_return all_member_modifiers768 = null;
CSharpParser.common_member_declaration_return common_member_declaration769 = null;
CSharpParser.destructor_definition_return destructor_definition770 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1426:3: ( ( attributes )? ( all_member_modifiers )? ( common_member_declaration ^| destructor_definition ^) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1426:5: ( attributes )? ( all_member_modifiers )? ( common_member_declaration ^| destructor_definition ^)
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1426:5: ( attributes )?
int alt165 = 2;
int LA165_0 = input.LA(1);
if ((LA165_0 == OPEN_BRACKET)) {
alt165 = 1;
}
switch (alt165) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1426:6: attributes
{
pushFollow(FOLLOW_attributes_in_class_member_declaration7123);
attributes767 = attributes();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, attributes767.getTree());
}
if (state.backtracking == 0) {
attrs = (attributes767 != null ? ((Object) attributes767.tree) : null);
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1427:5: ( all_member_modifiers )?
int alt166 = 2;
int LA166_0 = input.LA(1);
if ((LA166_0 == ABSTRACT || LA166_0 == EXTERN || LA166_0 == INTERNAL || LA166_0 == NEW || LA166_0 == OVERRIDE || (LA166_0 >= PRIVATE && LA166_0 <= PUBLIC) || LA166_0 == READONLY || LA166_0 == SEALED || LA166_0 == STATIC || LA166_0 == UNSAFE || LA166_0 == VIRTUAL || LA166_0 == VOLATILE)) {
alt166 = 1;
} else if ((LA166_0 == IDENTIFIER)) {
int LA166_15 = input.LA(2);
if (((input.LT(1).getText().equals("partial")))) {
alt166 = 1;
}
}
switch (alt166) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1427:6: all_member_modifiers
{
pushFollow(FOLLOW_all_member_modifiers_in_class_member_declaration7134);
all_member_modifiers768 = all_member_modifiers();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, all_member_modifiers768.getTree());
}
if (state.backtracking == 0) {
members = (all_member_modifiers768 != null ? ((Object) all_member_modifiers768.tree) : null);
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1428:4: ( common_member_declaration ^| destructor_definition ^)
int alt167 = 2;
int LA167_0 = input.LA(1);
if ((LA167_0 == BOOL || LA167_0 == BYTE || LA167_0 == CHAR || LA167_0 == CLASS || LA167_0 == CONST || LA167_0 == DECIMAL || LA167_0 == DELEGATE || LA167_0 == DOUBLE || (LA167_0 >= ENUM && LA167_0 <= EXPLICIT) || LA167_0 == FLOAT || LA167_0 == IDENTIFIER || LA167_0 == IMPLICIT || LA167_0 == INT || LA167_0 == INTERFACE || LA167_0 == LONG || LA167_0 == OBJECT || LA167_0 == SBYTE || LA167_0 == SHORT || LA167_0 == STRING || LA167_0 == STRUCT || (LA167_0 >= UINT && LA167_0 <= ULONG) || LA167_0 == USHORT || LA167_0 == VOID)) {
alt167 = 1;
} else if ((LA167_0 == TILDE)) {
alt167 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 167, 0, input);
throw nvae;
}
switch (alt167) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1428:6: common_member_declaration ^
{
pushFollow(FOLLOW_common_member_declaration_in_class_member_declaration7145);
common_member_declaration769 = common_member_declaration();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
root_0 = adaptor.becomeRoot(common_member_declaration769.getTree(), root_0);
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1429:6: destructor_definition ^
{
pushFollow(FOLLOW_destructor_definition_in_class_member_declaration7153);
destructor_definition770 = destructor_definition();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
root_0 = adaptor.becomeRoot(destructor_definition770.getTree(), root_0);
}
}
break;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "class_member_declaration"
public static class all_member_modifiers_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "all_member_modifiers"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1434:1: all_member_modifiers : ( all_member_modifier )+ -> ^( MODIFIERS ( all_member_modifier )+ ) ;
public final CSharpParser.all_member_modifiers_return all_member_modifiers() throws RecognitionException {
CSharpParser.all_member_modifiers_return retval = new CSharpParser.all_member_modifiers_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.all_member_modifier_return all_member_modifier771 = null;
RewriteRuleSubtreeStream stream_all_member_modifier = new RewriteRuleSubtreeStream(adaptor, "rule all_member_modifier");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1435:3: ( ( all_member_modifier )+ -> ^( MODIFIERS ( all_member_modifier )+ ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1435:5: ( all_member_modifier )+
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1435:5: ( all_member_modifier )+
int cnt168 = 0;
loop168:
do {
int alt168 = 2;
int LA168_0 = input.LA(1);
if ((LA168_0 == IDENTIFIER)) {
int LA168_11 = input.LA(2);
if (((input.LT(1).getText().equals("partial")))) {
alt168 = 1;
}
} else if ((LA168_0 == ABSTRACT || LA168_0 == EXTERN || LA168_0 == INTERNAL || LA168_0 == NEW || LA168_0 == OVERRIDE || (LA168_0 >= PRIVATE && LA168_0 <= PUBLIC) || LA168_0 == READONLY || LA168_0 == SEALED || LA168_0 == STATIC || LA168_0 == UNSAFE || LA168_0 == VIRTUAL || LA168_0 == VOLATILE)) {
alt168 = 1;
}
switch (alt168) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1435:5: all_member_modifier
{
pushFollow(FOLLOW_all_member_modifier_in_all_member_modifiers7173);
all_member_modifier771 = all_member_modifier();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_all_member_modifier.add(all_member_modifier771.getTree());
}
}
break;
default:
if (cnt168 >= 1) {
break loop168;
}
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
EarlyExitException eee =
new EarlyExitException(168, input);
throw eee;
}
cnt168++;
} while (true);
// AST REWRITE
// elements: all_member_modifier
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 1436:5: -> ^( MODIFIERS ( all_member_modifier )+ )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1436:8: ^( MODIFIERS ( all_member_modifier )+ )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(MODIFIERS, "MODIFIERS"), root_1);
if (!(stream_all_member_modifier.hasNext())) {
throw new RewriteEarlyExitException();
}
while (stream_all_member_modifier.hasNext()) {
adaptor.addChild(root_1, stream_all_member_modifier.nextTree());
}
stream_all_member_modifier.reset();
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "all_member_modifiers"
public static class all_member_modifier_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "all_member_modifier"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1438:1: all_member_modifier : ( NEW | PUBLIC | PROTECTED | INTERNAL | PRIVATE | READONLY | VOLATILE | VIRTUAL | SEALED | OVERRIDE | ABSTRACT | STATIC | UNSAFE | EXTERN | partial_contextual_keyword );
public final CSharpParser.all_member_modifier_return all_member_modifier() throws RecognitionException {
CSharpParser.all_member_modifier_return retval = new CSharpParser.all_member_modifier_return();
retval.start = input.LT(1);
Object root_0 = null;
Token NEW772 = null;
Token PUBLIC773 = null;
Token PROTECTED774 = null;
Token INTERNAL775 = null;
Token PRIVATE776 = null;
Token READONLY777 = null;
Token VOLATILE778 = null;
Token VIRTUAL779 = null;
Token SEALED780 = null;
Token OVERRIDE781 = null;
Token ABSTRACT782 = null;
Token STATIC783 = null;
Token UNSAFE784 = null;
Token EXTERN785 = null;
CSharpParser.partial_contextual_keyword_return partial_contextual_keyword786 = null;
Object NEW772_tree = null;
Object PUBLIC773_tree = null;
Object PROTECTED774_tree = null;
Object INTERNAL775_tree = null;
Object PRIVATE776_tree = null;
Object READONLY777_tree = null;
Object VOLATILE778_tree = null;
Object VIRTUAL779_tree = null;
Object SEALED780_tree = null;
Object OVERRIDE781_tree = null;
Object ABSTRACT782_tree = null;
Object STATIC783_tree = null;
Object UNSAFE784_tree = null;
Object EXTERN785_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1439:3: ( NEW | PUBLIC | PROTECTED | INTERNAL | PRIVATE | READONLY | VOLATILE | VIRTUAL | SEALED | OVERRIDE | ABSTRACT | STATIC | UNSAFE | EXTERN | partial_contextual_keyword )
int alt169 = 15;
switch (input.LA(1)) {
case NEW: {
alt169 = 1;
}
break;
case PUBLIC: {
alt169 = 2;
}
break;
case PROTECTED: {
alt169 = 3;
}
break;
case INTERNAL: {
alt169 = 4;
}
break;
case PRIVATE: {
alt169 = 5;
}
break;
case READONLY: {
alt169 = 6;
}
break;
case VOLATILE: {
alt169 = 7;
}
break;
case VIRTUAL: {
alt169 = 8;
}
break;
case SEALED: {
alt169 = 9;
}
break;
case OVERRIDE: {
alt169 = 10;
}
break;
case ABSTRACT: {
alt169 = 11;
}
break;
case STATIC: {
alt169 = 12;
}
break;
case UNSAFE: {
alt169 = 13;
}
break;
case EXTERN: {
alt169 = 14;
}
break;
case IDENTIFIER: {
alt169 = 15;
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 169, 0, input);
throw nvae;
}
switch (alt169) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1439:5: NEW
{
root_0 = adaptor.nil();
NEW772 = (Token) match(input, NEW, FOLLOW_NEW_in_all_member_modifier7199);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
NEW772_tree =
adaptor.create(NEW772);
adaptor.addChild(root_0, NEW772_tree);
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1440:5: PUBLIC
{
root_0 = adaptor.nil();
PUBLIC773 = (Token) match(input, PUBLIC, FOLLOW_PUBLIC_in_all_member_modifier7205);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PUBLIC773_tree =
adaptor.create(PUBLIC773);
adaptor.addChild(root_0, PUBLIC773_tree);
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1441:5: PROTECTED
{
root_0 = adaptor.nil();
PROTECTED774 = (Token) match(input, PROTECTED, FOLLOW_PROTECTED_in_all_member_modifier7211);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PROTECTED774_tree =
adaptor.create(PROTECTED774);
adaptor.addChild(root_0, PROTECTED774_tree);
}
}
break;
case 4: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1442:5: INTERNAL
{
root_0 = adaptor.nil();
INTERNAL775 = (Token) match(input, INTERNAL, FOLLOW_INTERNAL_in_all_member_modifier7217);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
INTERNAL775_tree =
adaptor.create(INTERNAL775);
adaptor.addChild(root_0, INTERNAL775_tree);
}
}
break;
case 5: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1443:5: PRIVATE
{
root_0 = adaptor.nil();
PRIVATE776 = (Token) match(input, PRIVATE, FOLLOW_PRIVATE_in_all_member_modifier7223);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PRIVATE776_tree =
adaptor.create(PRIVATE776);
adaptor.addChild(root_0, PRIVATE776_tree);
}
}
break;
case 6: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1444:5: READONLY
{
root_0 = adaptor.nil();
READONLY777 = (Token) match(input, READONLY, FOLLOW_READONLY_in_all_member_modifier7229);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
READONLY777_tree =
adaptor.create(READONLY777);
adaptor.addChild(root_0, READONLY777_tree);
}
}
break;
case 7: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1445:5: VOLATILE
{
root_0 = adaptor.nil();
VOLATILE778 = (Token) match(input, VOLATILE, FOLLOW_VOLATILE_in_all_member_modifier7235);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
VOLATILE778_tree =
adaptor.create(VOLATILE778);
adaptor.addChild(root_0, VOLATILE778_tree);
}
}
break;
case 8: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1446:5: VIRTUAL
{
root_0 = adaptor.nil();
VIRTUAL779 = (Token) match(input, VIRTUAL, FOLLOW_VIRTUAL_in_all_member_modifier7241);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
VIRTUAL779_tree =
adaptor.create(VIRTUAL779);
adaptor.addChild(root_0, VIRTUAL779_tree);
}
}
break;
case 9: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1447:5: SEALED
{
root_0 = adaptor.nil();
SEALED780 = (Token) match(input, SEALED, FOLLOW_SEALED_in_all_member_modifier7247);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
SEALED780_tree =
adaptor.create(SEALED780);
adaptor.addChild(root_0, SEALED780_tree);
}
}
break;
case 10: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1448:5: OVERRIDE
{
root_0 = adaptor.nil();
OVERRIDE781 = (Token) match(input, OVERRIDE, FOLLOW_OVERRIDE_in_all_member_modifier7253);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OVERRIDE781_tree =
adaptor.create(OVERRIDE781);
adaptor.addChild(root_0, OVERRIDE781_tree);
}
}
break;
case 11: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1449:5: ABSTRACT
{
root_0 = adaptor.nil();
ABSTRACT782 = (Token) match(input, ABSTRACT, FOLLOW_ABSTRACT_in_all_member_modifier7259);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
ABSTRACT782_tree =
adaptor.create(ABSTRACT782);
adaptor.addChild(root_0, ABSTRACT782_tree);
}
}
break;
case 12: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1450:5: STATIC
{
root_0 = adaptor.nil();
STATIC783 = (Token) match(input, STATIC, FOLLOW_STATIC_in_all_member_modifier7265);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
STATIC783_tree =
adaptor.create(STATIC783);
adaptor.addChild(root_0, STATIC783_tree);
}
}
break;
case 13: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1451:5: UNSAFE
{
root_0 = adaptor.nil();
UNSAFE784 = (Token) match(input, UNSAFE, FOLLOW_UNSAFE_in_all_member_modifier7271);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
UNSAFE784_tree =
adaptor.create(UNSAFE784);
adaptor.addChild(root_0, UNSAFE784_tree);
}
}
break;
case 14: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1452:5: EXTERN
{
root_0 = adaptor.nil();
EXTERN785 = (Token) match(input, EXTERN, FOLLOW_EXTERN_in_all_member_modifier7277);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
EXTERN785_tree =
adaptor.create(EXTERN785);
adaptor.addChild(root_0, EXTERN785_tree);
}
}
break;
case 15: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1453:5: partial_contextual_keyword
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_partial_contextual_keyword_in_all_member_modifier7283);
partial_contextual_keyword786 = partial_contextual_keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, partial_contextual_keyword786.getTree());
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "all_member_modifier"
protected static class common_member_declaration_scope {
Object type;
}
protected Stack common_member_declaration_stack = new Stack();
public static class common_member_declaration_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "common_member_declaration"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1470:1: common_member_declaration : ( constant_declaration2 | typed_member_declaration | event_declaration2 | conversion_operator_declarator ^ operator_body | constructor_declaration2 | type_void method_declaration2 ^| class_definition | struct_definition | interface_definition | enum_definition | delegate_definition );
public final CSharpParser.common_member_declaration_return common_member_declaration() throws RecognitionException {
common_member_declaration_stack.push(new common_member_declaration_scope());
CSharpParser.common_member_declaration_return retval = new CSharpParser.common_member_declaration_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.constant_declaration2_return constant_declaration2787 = null;
CSharpParser.typed_member_declaration_return typed_member_declaration788 = null;
CSharpParser.event_declaration2_return event_declaration2789 = null;
CSharpParser.conversion_operator_declarator_return conversion_operator_declarator790 = null;
CSharpParser.operator_body_return operator_body791 = null;
CSharpParser.constructor_declaration2_return constructor_declaration2792 = null;
CSharpParser.type_void_return type_void793 = null;
CSharpParser.method_declaration2_return method_declaration2794 = null;
CSharpParser.class_definition_return class_definition795 = null;
CSharpParser.struct_definition_return struct_definition796 = null;
CSharpParser.interface_definition_return interface_definition797 = null;
CSharpParser.enum_definition_return enum_definition798 = null;
CSharpParser.delegate_definition_return delegate_definition799 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1474:3: ( constant_declaration2 | typed_member_declaration | event_declaration2 | conversion_operator_declarator ^ operator_body | constructor_declaration2 | type_void method_declaration2 ^| class_definition | struct_definition | interface_definition | enum_definition | delegate_definition )
int alt170 = 11;
switch (input.LA(1)) {
case CONST: {
alt170 = 1;
}
break;
case BOOL:
case BYTE:
case CHAR:
case DECIMAL:
case DOUBLE:
case FLOAT:
case INT:
case LONG:
case OBJECT:
case SBYTE:
case SHORT:
case STRING:
case UINT:
case ULONG:
case USHORT: {
alt170 = 2;
}
break;
case IDENTIFIER: {
int LA170_3 = input.LA(2);
if ((LA170_3 == DOT || LA170_3 == DOUBLE_COLON || LA170_3 == IDENTIFIER || LA170_3 == INTERR || LA170_3 == LT || LA170_3 == OPEN_BRACKET || LA170_3 == OPERATOR || LA170_3 == STAR || LA170_3 == THIS)) {
alt170 = 2;
} else if ((LA170_3 == OPEN_PARENS)) {
alt170 = 5;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 170, 3, input);
throw nvae;
}
}
break;
case VOID: {
int LA170_4 = input.LA(2);
if ((LA170_4 == STAR)) {
alt170 = 2;
} else if ((LA170_4 == IDENTIFIER)) {
alt170 = 6;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 170, 4, input);
throw nvae;
}
}
break;
case EVENT: {
alt170 = 3;
}
break;
case EXPLICIT:
case IMPLICIT: {
alt170 = 4;
}
break;
case CLASS: {
alt170 = 7;
}
break;
case STRUCT: {
alt170 = 8;
}
break;
case INTERFACE: {
alt170 = 9;
}
break;
case ENUM: {
alt170 = 10;
}
break;
case DELEGATE: {
alt170 = 11;
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 170, 0, input);
throw nvae;
}
switch (alt170) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1474:5: constant_declaration2
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_constant_declaration2_in_common_member_declaration7304);
constant_declaration2787 = constant_declaration2();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, constant_declaration2787.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1475:5: typed_member_declaration
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_typed_member_declaration_in_common_member_declaration7310);
typed_member_declaration788 = typed_member_declaration();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, typed_member_declaration788.getTree());
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1476:5: event_declaration2
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_event_declaration2_in_common_member_declaration7316);
event_declaration2789 = event_declaration2();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, event_declaration2789.getTree());
}
}
break;
case 4: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1477:5: conversion_operator_declarator ^ operator_body
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_conversion_operator_declarator_in_common_member_declaration7322);
conversion_operator_declarator790 = conversion_operator_declarator();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
root_0 = adaptor.becomeRoot(conversion_operator_declarator790.getTree(), root_0);
}
pushFollow(FOLLOW_operator_body_in_common_member_declaration7325);
operator_body791 = operator_body();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, operator_body791.getTree());
}
}
break;
case 5: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1479:5: constructor_declaration2
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_constructor_declaration2_in_common_member_declaration7334);
constructor_declaration2792 = constructor_declaration2();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, constructor_declaration2792.getTree());
}
}
break;
case 6: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1480:5: type_void method_declaration2 ^
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_type_void_in_common_member_declaration7340);
type_void793 = type_void();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type_void793.getTree());
}
pushFollow(FOLLOW_method_declaration2_in_common_member_declaration7344);
method_declaration2794 = method_declaration2();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
root_0 = adaptor.becomeRoot(method_declaration2794.getTree(), root_0);
}
}
break;
case 7: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1481:5: class_definition
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_class_definition_in_common_member_declaration7353);
class_definition795 = class_definition();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, class_definition795.getTree());
}
}
break;
case 8: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1482:5: struct_definition
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_struct_definition_in_common_member_declaration7359);
struct_definition796 = struct_definition();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, struct_definition796.getTree());
}
}
break;
case 9: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1483:5: interface_definition
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_interface_definition_in_common_member_declaration7365);
interface_definition797 = interface_definition();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, interface_definition797.getTree());
}
}
break;
case 10: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1484:5: enum_definition
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_enum_definition_in_common_member_declaration7371);
enum_definition798 = enum_definition();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, enum_definition798.getTree());
}
}
break;
case 11: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1485:5: delegate_definition
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_delegate_definition_in_common_member_declaration7377);
delegate_definition799 = delegate_definition();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, delegate_definition799.getTree());
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
common_member_declaration_stack.pop();
}
return retval;
}
// $ANTLR end "common_member_declaration"
public static class typed_member_declaration_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "typed_member_declaration"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1488:1: typed_member_declaration : type ( ( interface_type DOT THIS )=> interface_type DOT ! indexer_declaration2 ^| ( member_name ( type_parameter_list )? OPEN_PARENS )=> method_declaration2 ^| ( member_name OPEN_BRACE )=> property_declaration2 ^| indexer_declaration2 ^| operator_declaration2 ^| field_declaration2 ^) ;
public final CSharpParser.typed_member_declaration_return typed_member_declaration() throws RecognitionException {
CSharpParser.typed_member_declaration_return retval = new CSharpParser.typed_member_declaration_return();
retval.start = input.LT(1);
Object root_0 = null;
Token DOT802 = null;
CSharpParser.type_return type800 = null;
CSharpParser.interface_type_return interface_type801 = null;
CSharpParser.indexer_declaration2_return indexer_declaration2803 = null;
CSharpParser.method_declaration2_return method_declaration2804 = null;
CSharpParser.property_declaration2_return property_declaration2805 = null;
CSharpParser.indexer_declaration2_return indexer_declaration2806 = null;
CSharpParser.operator_declaration2_return operator_declaration2807 = null;
CSharpParser.field_declaration2_return field_declaration2808 = null;
Object DOT802_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1489:3: ( type ( ( interface_type DOT THIS )=> interface_type DOT ! indexer_declaration2 ^| ( member_name ( type_parameter_list )? OPEN_PARENS )=> method_declaration2 ^| ( member_name OPEN_BRACE )=> property_declaration2 ^| indexer_declaration2 ^| operator_declaration2 ^| field_declaration2 ^) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1489:5: type ( ( interface_type DOT THIS )=> interface_type DOT ! indexer_declaration2 ^| ( member_name ( type_parameter_list )? OPEN_PARENS )=> method_declaration2 ^| ( member_name OPEN_BRACE )=> property_declaration2 ^| indexer_declaration2 ^| operator_declaration2 ^| field_declaration2 ^)
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_type_in_typed_member_declaration7390);
type800 = type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type800.getTree());
}
if (state.backtracking == 0) {
((common_member_declaration_scope) common_member_declaration_stack.peek()).type = (type800 != null ? ((Object) type800.tree) : null);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1490:5: ( ( interface_type DOT THIS )=> interface_type DOT ! indexer_declaration2 ^| ( member_name ( type_parameter_list )? OPEN_PARENS )=> method_declaration2 ^| ( member_name OPEN_BRACE )=> property_declaration2 ^| indexer_declaration2 ^| operator_declaration2 ^| field_declaration2 ^)
int alt171 = 6;
switch (input.LA(1)) {
case IDENTIFIER: {
int LA171_1 = input.LA(2);
if ((synpred20_CSharpParser())) {
alt171 = 1;
} else if ((synpred21_CSharpParser())) {
alt171 = 2;
} else if ((synpred22_CSharpParser())) {
alt171 = 3;
} else if ((true)) {
alt171 = 6;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 171, 1, input);
throw nvae;
}
}
break;
case THIS: {
alt171 = 4;
}
break;
case OPERATOR: {
alt171 = 5;
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 171, 0, input);
throw nvae;
}
switch (alt171) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1490:7: ( interface_type DOT THIS )=> interface_type DOT ! indexer_declaration2 ^
{
pushFollow(FOLLOW_interface_type_in_typed_member_declaration7410);
interface_type801 = interface_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, interface_type801.getTree());
}
DOT802 = (Token) match(input, DOT, FOLLOW_DOT_in_typed_member_declaration7412);
if (state.failed) {
return retval;
}
pushFollow(FOLLOW_indexer_declaration2_in_typed_member_declaration7415);
indexer_declaration2803 = indexer_declaration2();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
root_0 = adaptor.becomeRoot(indexer_declaration2803.getTree(), root_0);
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1491:7: ( member_name ( type_parameter_list )? OPEN_PARENS )=> method_declaration2 ^
{
pushFollow(FOLLOW_method_declaration2_in_typed_member_declaration7435);
method_declaration2804 = method_declaration2();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
root_0 = adaptor.becomeRoot(method_declaration2804.getTree(), root_0);
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1492:7: ( member_name OPEN_BRACE )=> property_declaration2 ^
{
pushFollow(FOLLOW_property_declaration2_in_typed_member_declaration7452);
property_declaration2805 = property_declaration2();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
root_0 = adaptor.becomeRoot(property_declaration2805.getTree(), root_0);
}
}
break;
case 4: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1493:7: indexer_declaration2 ^
{
pushFollow(FOLLOW_indexer_declaration2_in_typed_member_declaration7461);
indexer_declaration2806 = indexer_declaration2();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
root_0 = adaptor.becomeRoot(indexer_declaration2806.getTree(), root_0);
}
}
break;
case 5: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1494:7: operator_declaration2 ^
{
pushFollow(FOLLOW_operator_declaration2_in_typed_member_declaration7470);
operator_declaration2807 = operator_declaration2();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
root_0 = adaptor.becomeRoot(operator_declaration2807.getTree(), root_0);
}
}
break;
case 6: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1495:7: field_declaration2 ^
{
pushFollow(FOLLOW_field_declaration2_in_typed_member_declaration7479);
field_declaration2808 = field_declaration2();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
root_0 = adaptor.becomeRoot(field_declaration2808.getTree(), root_0);
}
}
break;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "typed_member_declaration"
public static class constant_declarators_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "constant_declarators"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1513:1: constant_declarators[Object type] : constant_declarator[type] ( COMMA constant_declarator[type] )* -> ^( CONSTANT_DECLARATORS ( constant_declarator )+ ) ;
public final CSharpParser.constant_declarators_return constant_declarators(Object type) throws RecognitionException {
CSharpParser.constant_declarators_return retval = new CSharpParser.constant_declarators_return();
retval.start = input.LT(1);
Object root_0 = null;
Token COMMA810 = null;
CSharpParser.constant_declarator_return constant_declarator809 = null;
CSharpParser.constant_declarator_return constant_declarator811 = null;
Object COMMA810_tree = null;
RewriteRuleTokenStream stream_COMMA = new RewriteRuleTokenStream(adaptor, "token COMMA");
RewriteRuleSubtreeStream stream_constant_declarator = new RewriteRuleSubtreeStream(adaptor, "rule constant_declarator");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1514:2: ( constant_declarator[type] ( COMMA constant_declarator[type] )* -> ^( CONSTANT_DECLARATORS ( constant_declarator )+ ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1514:4: constant_declarator[type] ( COMMA constant_declarator[type] )*
{
pushFollow(FOLLOW_constant_declarator_in_constant_declarators7500);
constant_declarator809 = constant_declarator(type);
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_constant_declarator.add(constant_declarator809.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1514:30: ( COMMA constant_declarator[type] )*
loop172:
do {
int alt172 = 2;
int LA172_0 = input.LA(1);
if ((LA172_0 == COMMA)) {
alt172 = 1;
}
switch (alt172) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1514:32: COMMA constant_declarator[type]
{
COMMA810 = (Token) match(input, COMMA, FOLLOW_COMMA_in_constant_declarators7505);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_COMMA.add(COMMA810);
}
pushFollow(FOLLOW_constant_declarator_in_constant_declarators7508);
constant_declarator811 = constant_declarator(type);
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_constant_declarator.add(constant_declarator811.getTree());
}
}
break;
default:
break loop172;
}
} while (true);
// AST REWRITE
// elements: constant_declarator
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 1515:4: -> ^( CONSTANT_DECLARATORS ( constant_declarator )+ )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1515:7: ^( CONSTANT_DECLARATORS ( constant_declarator )+ )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(CONSTANT_DECLARATORS, "CONSTANT_DECLARATORS"), root_1);
if (!(stream_constant_declarator.hasNext())) {
throw new RewriteEarlyExitException();
}
while (stream_constant_declarator.hasNext()) {
adaptor.addChild(root_1, stream_constant_declarator.nextTree());
}
stream_constant_declarator.reset();
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "constant_declarators"
public static class constant_declarator_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "constant_declarator"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1517:1: constant_declarator[Object type] : IDENTIFIER ASSIGNMENT constant_expression -> ^( CONSTANT_DECLARATOR IDENTIFIER ^( CONSTANT_INITIALIZER constant_expression ) ) ;
public final CSharpParser.constant_declarator_return constant_declarator(Object type) throws RecognitionException {
CSharpParser.constant_declarator_return retval = new CSharpParser.constant_declarator_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER812 = null;
Token ASSIGNMENT813 = null;
CSharpParser.constant_expression_return constant_expression814 = null;
Object IDENTIFIER812_tree = null;
Object ASSIGNMENT813_tree = null;
RewriteRuleTokenStream stream_ASSIGNMENT = new RewriteRuleTokenStream(adaptor, "token ASSIGNMENT");
RewriteRuleTokenStream stream_IDENTIFIER = new RewriteRuleTokenStream(adaptor, "token IDENTIFIER");
RewriteRuleSubtreeStream stream_constant_expression = new RewriteRuleSubtreeStream(adaptor, "rule constant_expression");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1518:2: ( IDENTIFIER ASSIGNMENT constant_expression -> ^( CONSTANT_DECLARATOR IDENTIFIER ^( CONSTANT_INITIALIZER constant_expression ) ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1518:4: IDENTIFIER ASSIGNMENT constant_expression
{
IDENTIFIER812 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_constant_declarator7536);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_IDENTIFIER.add(IDENTIFIER812);
}
ASSIGNMENT813 = (Token) match(input, ASSIGNMENT, FOLLOW_ASSIGNMENT_in_constant_declarator7538);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_ASSIGNMENT.add(ASSIGNMENT813);
}
pushFollow(FOLLOW_constant_expression_in_constant_declarator7540);
constant_expression814 = constant_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_constant_expression.add(constant_expression814.getTree());
}
// AST REWRITE
// elements: IDENTIFIER, constant_expression
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 1519:4: -> ^( CONSTANT_DECLARATOR IDENTIFIER ^( CONSTANT_INITIALIZER constant_expression ) )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1519:7: ^( CONSTANT_DECLARATOR IDENTIFIER ^( CONSTANT_INITIALIZER constant_expression ) )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(CONSTANT_DECLARATOR, "CONSTANT_DECLARATOR"), root_1);
adaptor.addChild(root_1, attrs);
adaptor.addChild(root_1, members);
adaptor.addChild(root_1, type);
adaptor.addChild(root_1,
stream_IDENTIFIER.nextNode());
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1519:65: ^( CONSTANT_INITIALIZER constant_expression )
{
Object root_2 = adaptor.nil();
root_2 = adaptor.becomeRoot(
adaptor.create(CONSTANT_INITIALIZER, "CONSTANT_INITIALIZER"), root_2);
adaptor.addChild(root_2, stream_constant_expression.nextTree());
adaptor.addChild(root_1, root_2);
}
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "constant_declarator"
public static class variable_declarators_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "variable_declarators"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1541:1: variable_declarators : variable_declarator ( COMMA ! variable_declarator )* ;
public final CSharpParser.variable_declarators_return variable_declarators() throws RecognitionException {
CSharpParser.variable_declarators_return retval = new CSharpParser.variable_declarators_return();
retval.start = input.LT(1);
Object root_0 = null;
Token COMMA816 = null;
CSharpParser.variable_declarator_return variable_declarator815 = null;
CSharpParser.variable_declarator_return variable_declarator817 = null;
Object COMMA816_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1542:2: ( variable_declarator ( COMMA ! variable_declarator )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1542:4: variable_declarator ( COMMA ! variable_declarator )*
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_variable_declarator_in_variable_declarators7577);
variable_declarator815 = variable_declarator();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, variable_declarator815.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1542:24: ( COMMA ! variable_declarator )*
loop173:
do {
int alt173 = 2;
int LA173_0 = input.LA(1);
if ((LA173_0 == COMMA)) {
alt173 = 1;
}
switch (alt173) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1542:26: COMMA ! variable_declarator
{
COMMA816 = (Token) match(input, COMMA, FOLLOW_COMMA_in_variable_declarators7581);
if (state.failed) {
return retval;
}
pushFollow(FOLLOW_variable_declarator_in_variable_declarators7585);
variable_declarator817 = variable_declarator();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, variable_declarator817.getTree());
}
}
break;
default:
break loop173;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "variable_declarators"
public static class variable_declarator_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "variable_declarator"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1544:1: variable_declarator : variable_declarator2 -> ^( VARIABLE_DECLARATOR variable_declarator2 ) ;
public final CSharpParser.variable_declarator_return variable_declarator() throws RecognitionException {
CSharpParser.variable_declarator_return retval = new CSharpParser.variable_declarator_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.variable_declarator2_return variable_declarator2818 = null;
RewriteRuleSubtreeStream stream_variable_declarator2 = new RewriteRuleSubtreeStream(adaptor, "rule variable_declarator2");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1545:3: ( variable_declarator2 -> ^( VARIABLE_DECLARATOR variable_declarator2 ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1545:5: variable_declarator2
{
pushFollow(FOLLOW_variable_declarator2_in_variable_declarator7599);
variable_declarator2818 = variable_declarator2();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_variable_declarator2.add(variable_declarator2818.getTree());
}
// AST REWRITE
// elements: variable_declarator2
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 1546:5: -> ^( VARIABLE_DECLARATOR variable_declarator2 )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1546:8: ^( VARIABLE_DECLARATOR variable_declarator2 )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(VARIABLE_DECLARATOR, "VARIABLE_DECLARATOR"), root_1);
adaptor.addChild(root_1, attrs);
adaptor.addChild(root_1, members);
adaptor.addChild(root_1, ((common_member_declaration_scope) common_member_declaration_stack.peek()).type);
adaptor.addChild(root_1, stream_variable_declarator2.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "variable_declarator"
public static class variable_declarator2_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "variable_declarator2"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1548:1: variable_declarator2 : IDENTIFIER ( ASSIGNMENT ! variable_initializer )? ;
public final CSharpParser.variable_declarator2_return variable_declarator2() throws RecognitionException {
CSharpParser.variable_declarator2_return retval = new CSharpParser.variable_declarator2_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER819 = null;
Token ASSIGNMENT820 = null;
CSharpParser.variable_initializer_return variable_initializer821 = null;
Object IDENTIFIER819_tree = null;
Object ASSIGNMENT820_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1549:2: ( IDENTIFIER ( ASSIGNMENT ! variable_initializer )? )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1549:4: IDENTIFIER ( ASSIGNMENT ! variable_initializer )?
{
root_0 = adaptor.nil();
IDENTIFIER819 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_variable_declarator27629);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER819_tree =
adaptor.create(IDENTIFIER819);
adaptor.addChild(root_0, IDENTIFIER819_tree);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1549:15: ( ASSIGNMENT ! variable_initializer )?
int alt174 = 2;
int LA174_0 = input.LA(1);
if ((LA174_0 == ASSIGNMENT)) {
alt174 = 1;
}
switch (alt174) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1549:16: ASSIGNMENT ! variable_initializer
{
ASSIGNMENT820 = (Token) match(input, ASSIGNMENT, FOLLOW_ASSIGNMENT_in_variable_declarator27632);
if (state.failed) {
return retval;
}
pushFollow(FOLLOW_variable_initializer_in_variable_declarator27635);
variable_initializer821 = variable_initializer();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, variable_initializer821.getTree());
}
}
break;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "variable_declarator2"
public static class variable_initializer_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "variable_initializer"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1551:1: variable_initializer : variable_initializer2 -> ^( VARIABLE_INITIALIZER variable_initializer2 ) ;
public final CSharpParser.variable_initializer_return variable_initializer() throws RecognitionException {
CSharpParser.variable_initializer_return retval = new CSharpParser.variable_initializer_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.variable_initializer2_return variable_initializer2822 = null;
RewriteRuleSubtreeStream stream_variable_initializer2 = new RewriteRuleSubtreeStream(adaptor, "rule variable_initializer2");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1552:3: ( variable_initializer2 -> ^( VARIABLE_INITIALIZER variable_initializer2 ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1552:5: variable_initializer2
{
pushFollow(FOLLOW_variable_initializer2_in_variable_initializer7648);
variable_initializer2822 = variable_initializer2();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_variable_initializer2.add(variable_initializer2822.getTree());
}
// AST REWRITE
// elements: variable_initializer2
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 1552:27: -> ^( VARIABLE_INITIALIZER variable_initializer2 )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1552:30: ^( VARIABLE_INITIALIZER variable_initializer2 )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(VARIABLE_INITIALIZER, "VARIABLE_INITIALIZER"), root_1);
adaptor.addChild(root_1, stream_variable_initializer2.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "variable_initializer"
public static class variable_initializer2_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "variable_initializer2"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1554:1: variable_initializer2 : ( expression | array_initializer );
public final CSharpParser.variable_initializer2_return variable_initializer2() throws RecognitionException {
CSharpParser.variable_initializer2_return retval = new CSharpParser.variable_initializer2_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.expression_return expression823 = null;
CSharpParser.array_initializer_return array_initializer824 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1555:2: ( expression | array_initializer )
int alt175 = 2;
int LA175_0 = input.LA(1);
if ((LA175_0 == AMP || (LA175_0 >= BANG && LA175_0 <= BASE) || LA175_0 == BOOL || LA175_0 == BYTE || (LA175_0 >= CHAR && LA175_0 <= CHECKED) || LA175_0 == DECIMAL || (LA175_0 >= DEFAULT && LA175_0 <= DELEGATE) || LA175_0 == DOUBLE || LA175_0 == FALSE || LA175_0 == FLOAT || LA175_0 == IDENTIFIER || (LA175_0 >= INT && LA175_0 <= INTEGER_LITERAL) || LA175_0 == LONG || LA175_0 == MINUS || LA175_0 == NEW || LA175_0 == NULL || LA175_0 == OBJECT || LA175_0 == OPEN_PARENS || LA175_0 == OP_DEC || LA175_0 == OP_INC || LA175_0 == PLUS || LA175_0 == REAL_LITERAL || LA175_0 == SBYTE || LA175_0 == SHORT || LA175_0 == SIZEOF || LA175_0 == STAR || (LA175_0 >= STRING && LA175_0 <= STRING_LITERAL) || LA175_0 == THIS || (LA175_0 >= TILDE && LA175_0 <= TRUE) || (LA175_0 >= TYPEOF && LA175_0 <= UNCHECKED) || LA175_0 == USHORT)) {
alt175 = 1;
} else if ((LA175_0 == OPEN_BRACE)) {
alt175 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 175, 0, input);
throw nvae;
}
switch (alt175) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1555:4: expression
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_expression_in_variable_initializer27668);
expression823 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression823.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1556:4: array_initializer
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_array_initializer_in_variable_initializer27673);
array_initializer824 = array_initializer();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, array_initializer824.getTree());
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "variable_initializer2"
public static class method_declaration_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "method_declaration"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1558:1: method_declaration : method_header method_body ;
public final CSharpParser.method_declaration_return method_declaration() throws RecognitionException {
CSharpParser.method_declaration_return retval = new CSharpParser.method_declaration_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.method_header_return method_header825 = null;
CSharpParser.method_body_return method_body826 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1559:2: ( method_header method_body )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1559:4: method_header method_body
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_method_header_in_method_declaration7684);
method_header825 = method_header();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, method_header825.getTree());
}
pushFollow(FOLLOW_method_body_in_method_declaration7686);
method_body826 = method_body();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, method_body826.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "method_declaration"
public static class method_header_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "method_header"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1561:1: method_header : ( attributes )? ( method_modifiers )? ( partial_contextual_keyword )? return_type member_name ( type_parameter_list )? OPEN_PARENS ( formal_parameter_list )? CLOSE_PARENS ( type_parameter_constraints_clauses )? ;
public final CSharpParser.method_header_return method_header() throws RecognitionException {
CSharpParser.method_header_return retval = new CSharpParser.method_header_return();
retval.start = input.LT(1);
Object root_0 = null;
Token OPEN_PARENS833 = null;
Token CLOSE_PARENS835 = null;
CSharpParser.attributes_return attributes827 = null;
CSharpParser.method_modifiers_return method_modifiers828 = null;
CSharpParser.partial_contextual_keyword_return partial_contextual_keyword829 = null;
CSharpParser.return_type_return return_type830 = null;
CSharpParser.member_name_return member_name831 = null;
CSharpParser.type_parameter_list_return type_parameter_list832 = null;
CSharpParser.formal_parameter_list_return formal_parameter_list834 = null;
CSharpParser.type_parameter_constraints_clauses_return type_parameter_constraints_clauses836 = null;
Object OPEN_PARENS833_tree = null;
Object CLOSE_PARENS835_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1562:2: ( ( attributes )? ( method_modifiers )? ( partial_contextual_keyword )? return_type member_name ( type_parameter_list )? OPEN_PARENS ( formal_parameter_list )? CLOSE_PARENS ( type_parameter_constraints_clauses )? )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1562:4: ( attributes )? ( method_modifiers )? ( partial_contextual_keyword )? return_type member_name ( type_parameter_list )? OPEN_PARENS ( formal_parameter_list )? CLOSE_PARENS ( type_parameter_constraints_clauses )?
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1562:4: ( attributes )?
int alt176 = 2;
int LA176_0 = input.LA(1);
if ((LA176_0 == OPEN_BRACKET)) {
alt176 = 1;
}
switch (alt176) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1562:4: attributes
{
pushFollow(FOLLOW_attributes_in_method_header7697);
attributes827 = attributes();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, attributes827.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1562:16: ( method_modifiers )?
int alt177 = 2;
int LA177_0 = input.LA(1);
if ((LA177_0 == ABSTRACT || LA177_0 == EXTERN || LA177_0 == INTERNAL || LA177_0 == NEW || LA177_0 == OVERRIDE || (LA177_0 >= PRIVATE && LA177_0 <= PUBLIC) || LA177_0 == SEALED || LA177_0 == STATIC || LA177_0 == UNSAFE || LA177_0 == VIRTUAL)) {
alt177 = 1;
}
switch (alt177) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1562:16: method_modifiers
{
pushFollow(FOLLOW_method_modifiers_in_method_header7700);
method_modifiers828 = method_modifiers();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, method_modifiers828.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1562:34: ( partial_contextual_keyword )?
int alt178 = 2;
int LA178_0 = input.LA(1);
if ((LA178_0 == IDENTIFIER)) {
int LA178_1 = input.LA(2);
if (((input.LT(1).getText().equals("partial")))) {
alt178 = 1;
}
}
switch (alt178) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1562:34: partial_contextual_keyword
{
pushFollow(FOLLOW_partial_contextual_keyword_in_method_header7703);
partial_contextual_keyword829 = partial_contextual_keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, partial_contextual_keyword829.getTree());
}
}
break;
}
pushFollow(FOLLOW_return_type_in_method_header7706);
return_type830 = return_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, return_type830.getTree());
}
pushFollow(FOLLOW_member_name_in_method_header7708);
member_name831 = member_name();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, member_name831.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1562:86: ( type_parameter_list )?
int alt179 = 2;
int LA179_0 = input.LA(1);
if ((LA179_0 == LT)) {
alt179 = 1;
}
switch (alt179) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1562:86: type_parameter_list
{
pushFollow(FOLLOW_type_parameter_list_in_method_header7710);
type_parameter_list832 = type_parameter_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type_parameter_list832.getTree());
}
}
break;
}
OPEN_PARENS833 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_method_header7713);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_PARENS833_tree =
adaptor.create(OPEN_PARENS833);
adaptor.addChild(root_0, OPEN_PARENS833_tree);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1562:119: ( formal_parameter_list )?
int alt180 = 2;
int LA180_0 = input.LA(1);
if ((LA180_0 == BOOL || LA180_0 == BYTE || LA180_0 == CHAR || LA180_0 == DECIMAL || LA180_0 == DOUBLE || LA180_0 == FLOAT || LA180_0 == IDENTIFIER || LA180_0 == INT || LA180_0 == LONG || LA180_0 == OBJECT || LA180_0 == OPEN_BRACKET || LA180_0 == OUT || LA180_0 == PARAMS || LA180_0 == REF || LA180_0 == SBYTE || LA180_0 == SHORT || LA180_0 == STRING || LA180_0 == THIS || (LA180_0 >= UINT && LA180_0 <= ULONG) || LA180_0 == USHORT || LA180_0 == VOID)) {
alt180 = 1;
}
switch (alt180) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1562:119: formal_parameter_list
{
pushFollow(FOLLOW_formal_parameter_list_in_method_header7715);
formal_parameter_list834 = formal_parameter_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, formal_parameter_list834.getTree());
}
}
break;
}
CLOSE_PARENS835 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_method_header7718);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_PARENS835_tree =
adaptor.create(CLOSE_PARENS835);
adaptor.addChild(root_0, CLOSE_PARENS835_tree);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1562:155: ( type_parameter_constraints_clauses )?
int alt181 = 2;
int LA181_0 = input.LA(1);
if ((LA181_0 == IDENTIFIER)) {
alt181 = 1;
}
switch (alt181) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1562:155: type_parameter_constraints_clauses
{
pushFollow(FOLLOW_type_parameter_constraints_clauses_in_method_header7720);
type_parameter_constraints_clauses836 = type_parameter_constraints_clauses();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type_parameter_constraints_clauses836.getTree());
}
}
break;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "method_header"
public static class method_modifiers_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "method_modifiers"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1564:1: method_modifiers : ( method_modifier )+ ;
public final CSharpParser.method_modifiers_return method_modifiers() throws RecognitionException {
CSharpParser.method_modifiers_return retval = new CSharpParser.method_modifiers_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.method_modifier_return method_modifier837 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1565:2: ( ( method_modifier )+ )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1565:4: ( method_modifier )+
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1565:4: ( method_modifier )+
int cnt182 = 0;
loop182:
do {
int alt182 = 2;
int LA182_0 = input.LA(1);
if ((LA182_0 == ABSTRACT || LA182_0 == EXTERN || LA182_0 == INTERNAL || LA182_0 == NEW || LA182_0 == OVERRIDE || (LA182_0 >= PRIVATE && LA182_0 <= PUBLIC) || LA182_0 == SEALED || LA182_0 == STATIC || LA182_0 == UNSAFE || LA182_0 == VIRTUAL)) {
alt182 = 1;
}
switch (alt182) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1565:4: method_modifier
{
pushFollow(FOLLOW_method_modifier_in_method_modifiers7732);
method_modifier837 = method_modifier();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, method_modifier837.getTree());
}
}
break;
default:
if (cnt182 >= 1) {
break loop182;
}
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
EarlyExitException eee =
new EarlyExitException(182, input);
throw eee;
}
cnt182++;
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "method_modifiers"
public static class method_modifier_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "method_modifier"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1567:1: method_modifier : ( NEW | PUBLIC | PROTECTED | INTERNAL | PRIVATE | STATIC | VIRTUAL | SEALED | OVERRIDE | ABSTRACT | EXTERN | method_modifier_unsafe );
public final CSharpParser.method_modifier_return method_modifier() throws RecognitionException {
CSharpParser.method_modifier_return retval = new CSharpParser.method_modifier_return();
retval.start = input.LT(1);
Object root_0 = null;
Token NEW838 = null;
Token PUBLIC839 = null;
Token PROTECTED840 = null;
Token INTERNAL841 = null;
Token PRIVATE842 = null;
Token STATIC843 = null;
Token VIRTUAL844 = null;
Token SEALED845 = null;
Token OVERRIDE846 = null;
Token ABSTRACT847 = null;
Token EXTERN848 = null;
CSharpParser.method_modifier_unsafe_return method_modifier_unsafe849 = null;
Object NEW838_tree = null;
Object PUBLIC839_tree = null;
Object PROTECTED840_tree = null;
Object INTERNAL841_tree = null;
Object PRIVATE842_tree = null;
Object STATIC843_tree = null;
Object VIRTUAL844_tree = null;
Object SEALED845_tree = null;
Object OVERRIDE846_tree = null;
Object ABSTRACT847_tree = null;
Object EXTERN848_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1568:2: ( NEW | PUBLIC | PROTECTED | INTERNAL | PRIVATE | STATIC | VIRTUAL | SEALED | OVERRIDE | ABSTRACT | EXTERN | method_modifier_unsafe )
int alt183 = 12;
switch (input.LA(1)) {
case NEW: {
alt183 = 1;
}
break;
case PUBLIC: {
alt183 = 2;
}
break;
case PROTECTED: {
alt183 = 3;
}
break;
case INTERNAL: {
alt183 = 4;
}
break;
case PRIVATE: {
alt183 = 5;
}
break;
case STATIC: {
alt183 = 6;
}
break;
case VIRTUAL: {
alt183 = 7;
}
break;
case SEALED: {
alt183 = 8;
}
break;
case OVERRIDE: {
alt183 = 9;
}
break;
case ABSTRACT: {
alt183 = 10;
}
break;
case EXTERN: {
alt183 = 11;
}
break;
case UNSAFE: {
alt183 = 12;
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 183, 0, input);
throw nvae;
}
switch (alt183) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1568:4: NEW
{
root_0 = adaptor.nil();
NEW838 = (Token) match(input, NEW, FOLLOW_NEW_in_method_modifier7744);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
NEW838_tree =
adaptor.create(NEW838);
adaptor.addChild(root_0, NEW838_tree);
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1569:4: PUBLIC
{
root_0 = adaptor.nil();
PUBLIC839 = (Token) match(input, PUBLIC, FOLLOW_PUBLIC_in_method_modifier7749);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PUBLIC839_tree =
adaptor.create(PUBLIC839);
adaptor.addChild(root_0, PUBLIC839_tree);
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1570:4: PROTECTED
{
root_0 = adaptor.nil();
PROTECTED840 = (Token) match(input, PROTECTED, FOLLOW_PROTECTED_in_method_modifier7754);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PROTECTED840_tree =
adaptor.create(PROTECTED840);
adaptor.addChild(root_0, PROTECTED840_tree);
}
}
break;
case 4: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1571:4: INTERNAL
{
root_0 = adaptor.nil();
INTERNAL841 = (Token) match(input, INTERNAL, FOLLOW_INTERNAL_in_method_modifier7759);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
INTERNAL841_tree =
adaptor.create(INTERNAL841);
adaptor.addChild(root_0, INTERNAL841_tree);
}
}
break;
case 5: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1572:4: PRIVATE
{
root_0 = adaptor.nil();
PRIVATE842 = (Token) match(input, PRIVATE, FOLLOW_PRIVATE_in_method_modifier7764);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PRIVATE842_tree =
adaptor.create(PRIVATE842);
adaptor.addChild(root_0, PRIVATE842_tree);
}
}
break;
case 6: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1573:4: STATIC
{
root_0 = adaptor.nil();
STATIC843 = (Token) match(input, STATIC, FOLLOW_STATIC_in_method_modifier7769);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
STATIC843_tree =
adaptor.create(STATIC843);
adaptor.addChild(root_0, STATIC843_tree);
}
}
break;
case 7: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1574:4: VIRTUAL
{
root_0 = adaptor.nil();
VIRTUAL844 = (Token) match(input, VIRTUAL, FOLLOW_VIRTUAL_in_method_modifier7774);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
VIRTUAL844_tree =
adaptor.create(VIRTUAL844);
adaptor.addChild(root_0, VIRTUAL844_tree);
}
}
break;
case 8: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1575:4: SEALED
{
root_0 = adaptor.nil();
SEALED845 = (Token) match(input, SEALED, FOLLOW_SEALED_in_method_modifier7779);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
SEALED845_tree =
adaptor.create(SEALED845);
adaptor.addChild(root_0, SEALED845_tree);
}
}
break;
case 9: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1576:4: OVERRIDE
{
root_0 = adaptor.nil();
OVERRIDE846 = (Token) match(input, OVERRIDE, FOLLOW_OVERRIDE_in_method_modifier7784);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OVERRIDE846_tree =
adaptor.create(OVERRIDE846);
adaptor.addChild(root_0, OVERRIDE846_tree);
}
}
break;
case 10: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1577:4: ABSTRACT
{
root_0 = adaptor.nil();
ABSTRACT847 = (Token) match(input, ABSTRACT, FOLLOW_ABSTRACT_in_method_modifier7789);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
ABSTRACT847_tree =
adaptor.create(ABSTRACT847);
adaptor.addChild(root_0, ABSTRACT847_tree);
}
}
break;
case 11: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1578:4: EXTERN
{
root_0 = adaptor.nil();
EXTERN848 = (Token) match(input, EXTERN, FOLLOW_EXTERN_in_method_modifier7794);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
EXTERN848_tree =
adaptor.create(EXTERN848);
adaptor.addChild(root_0, EXTERN848_tree);
}
}
break;
case 12: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1579:4: method_modifier_unsafe
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_method_modifier_unsafe_in_method_modifier7799);
method_modifier_unsafe849 = method_modifier_unsafe();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, method_modifier_unsafe849.getTree());
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "method_modifier"
public static class return_type_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "return_type"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1582:1: return_type : ( type | VOID );
public final CSharpParser.return_type_return return_type() throws RecognitionException {
CSharpParser.return_type_return retval = new CSharpParser.return_type_return();
retval.start = input.LT(1);
Object root_0 = null;
Token VOID851 = null;
CSharpParser.type_return type850 = null;
Object VOID851_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1583:2: ( type | VOID )
int alt184 = 2;
int LA184_0 = input.LA(1);
if ((LA184_0 == BOOL || LA184_0 == BYTE || LA184_0 == CHAR || LA184_0 == DECIMAL || LA184_0 == DOUBLE || LA184_0 == FLOAT || LA184_0 == IDENTIFIER || LA184_0 == INT || LA184_0 == LONG || LA184_0 == OBJECT || LA184_0 == SBYTE || LA184_0 == SHORT || LA184_0 == STRING || (LA184_0 >= UINT && LA184_0 <= ULONG) || LA184_0 == USHORT)) {
alt184 = 1;
} else if ((LA184_0 == VOID)) {
int LA184_2 = input.LA(2);
if ((LA184_2 == STAR)) {
alt184 = 1;
} else if ((LA184_2 == IDENTIFIER)) {
alt184 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 184, 2, input);
throw nvae;
}
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 184, 0, input);
throw nvae;
}
switch (alt184) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1583:4: type
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_type_in_return_type7812);
type850 = type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type850.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1584:4: VOID
{
root_0 = adaptor.nil();
VOID851 = (Token) match(input, VOID, FOLLOW_VOID_in_return_type7817);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
VOID851_tree =
adaptor.create(VOID851);
adaptor.addChild(root_0, VOID851_tree);
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "return_type"
public static class member_name_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "member_name"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1593:1: member_name : interface_type -> ^( MEMBER_NAME interface_type ) ;
public final CSharpParser.member_name_return member_name() throws RecognitionException {
CSharpParser.member_name_return retval = new CSharpParser.member_name_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.interface_type_return interface_type852 = null;
RewriteRuleSubtreeStream stream_interface_type = new RewriteRuleSubtreeStream(adaptor, "rule interface_type");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1594:3: ( interface_type -> ^( MEMBER_NAME interface_type ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1594:5: interface_type
{
pushFollow(FOLLOW_interface_type_in_member_name7833);
interface_type852 = interface_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_interface_type.add(interface_type852.getTree());
}
// AST REWRITE
// elements: interface_type
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 1594:20: -> ^( MEMBER_NAME interface_type )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1594:23: ^( MEMBER_NAME interface_type )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(MEMBER_NAME, "MEMBER_NAME"), root_1);
adaptor.addChild(root_1, stream_interface_type.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "member_name"
public static class method_body_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "method_body"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1596:1: method_body : ( block | SEMICOLON !);
public final CSharpParser.method_body_return method_body() throws RecognitionException {
CSharpParser.method_body_return retval = new CSharpParser.method_body_return();
retval.start = input.LT(1);
Object root_0 = null;
Token SEMICOLON854 = null;
CSharpParser.block_return block853 = null;
Object SEMICOLON854_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1597:2: ( block | SEMICOLON !)
int alt185 = 2;
int LA185_0 = input.LA(1);
if ((LA185_0 == OPEN_BRACE)) {
alt185 = 1;
} else if ((LA185_0 == SEMICOLON)) {
alt185 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 185, 0, input);
throw nvae;
}
switch (alt185) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1597:4: block
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_block_in_method_body7853);
block853 = block();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, block853.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1598:4: SEMICOLON !
{
root_0 = adaptor.nil();
SEMICOLON854 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_method_body7858);
if (state.failed) {
return retval;
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "method_body"
public static class formal_parameter_list_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "formal_parameter_list"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1607:1: formal_parameter_list : ( ( ( attributes )? PARAMS )=> parameter_array -> ^( FORMAL_PARAMETER_LIST parameter_array ) | fixed_parameters ( ( COMMA parameter_array )=> COMMA parameter_array )? -> ^( FORMAL_PARAMETER_LIST fixed_parameters ( parameter_array )? ) );
public final CSharpParser.formal_parameter_list_return formal_parameter_list() throws RecognitionException {
CSharpParser.formal_parameter_list_return retval = new CSharpParser.formal_parameter_list_return();
retval.start = input.LT(1);
Object root_0 = null;
Token COMMA857 = null;
CSharpParser.parameter_array_return parameter_array855 = null;
CSharpParser.fixed_parameters_return fixed_parameters856 = null;
CSharpParser.parameter_array_return parameter_array858 = null;
Object COMMA857_tree = null;
RewriteRuleTokenStream stream_COMMA = new RewriteRuleTokenStream(adaptor, "token COMMA");
RewriteRuleSubtreeStream stream_parameter_array = new RewriteRuleSubtreeStream(adaptor, "rule parameter_array");
RewriteRuleSubtreeStream stream_fixed_parameters = new RewriteRuleSubtreeStream(adaptor, "rule fixed_parameters");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1608:3: ( ( ( attributes )? PARAMS )=> parameter_array -> ^( FORMAL_PARAMETER_LIST parameter_array ) | fixed_parameters ( ( COMMA parameter_array )=> COMMA parameter_array )? -> ^( FORMAL_PARAMETER_LIST fixed_parameters ( parameter_array )? ) )
int alt187 = 2;
int LA187_0 = input.LA(1);
if ((LA187_0 == OPEN_BRACKET)) {
int LA187_1 = input.LA(2);
if ((synpred23_CSharpParser())) {
alt187 = 1;
} else if ((true)) {
alt187 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 187, 1, input);
throw nvae;
}
} else if ((LA187_0 == PARAMS) && (synpred23_CSharpParser())) {
alt187 = 1;
} else if ((LA187_0 == BOOL || LA187_0 == BYTE || LA187_0 == CHAR || LA187_0 == DECIMAL || LA187_0 == DOUBLE || LA187_0 == FLOAT || LA187_0 == IDENTIFIER || LA187_0 == INT || LA187_0 == LONG || LA187_0 == OBJECT || LA187_0 == OUT || LA187_0 == REF || LA187_0 == SBYTE || LA187_0 == SHORT || LA187_0 == STRING || LA187_0 == THIS || (LA187_0 >= UINT && LA187_0 <= ULONG) || LA187_0 == USHORT || LA187_0 == VOID)) {
alt187 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 187, 0, input);
throw nvae;
}
switch (alt187) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1608:5: ( ( attributes )? PARAMS )=> parameter_array
{
pushFollow(FOLLOW_parameter_array_in_formal_parameter_list7882);
parameter_array855 = parameter_array();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_parameter_array.add(parameter_array855.getTree());
}
// AST REWRITE
// elements: parameter_array
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 1609:5: -> ^( FORMAL_PARAMETER_LIST parameter_array )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1609:8: ^( FORMAL_PARAMETER_LIST parameter_array )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(FORMAL_PARAMETER_LIST, "FORMAL_PARAMETER_LIST"), root_1);
adaptor.addChild(root_1, stream_parameter_array.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1610:5: fixed_parameters ( ( COMMA parameter_array )=> COMMA parameter_array )?
{
pushFollow(FOLLOW_fixed_parameters_in_formal_parameter_list7901);
fixed_parameters856 = fixed_parameters();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_fixed_parameters.add(fixed_parameters856.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1610:22: ( ( COMMA parameter_array )=> COMMA parameter_array )?
int alt186 = 2;
int LA186_0 = input.LA(1);
if ((LA186_0 == COMMA) && (synpred24_CSharpParser())) {
alt186 = 1;
}
switch (alt186) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1610:24: ( COMMA parameter_array )=> COMMA parameter_array
{
COMMA857 = (Token) match(input, COMMA, FOLLOW_COMMA_in_formal_parameter_list7913);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_COMMA.add(COMMA857);
}
pushFollow(FOLLOW_parameter_array_in_formal_parameter_list7915);
parameter_array858 = parameter_array();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_parameter_array.add(parameter_array858.getTree());
}
}
break;
}
// AST REWRITE
// elements: parameter_array, fixed_parameters
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 1611:5: -> ^( FORMAL_PARAMETER_LIST fixed_parameters ( parameter_array )? )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1611:8: ^( FORMAL_PARAMETER_LIST fixed_parameters ( parameter_array )? )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(FORMAL_PARAMETER_LIST, "FORMAL_PARAMETER_LIST"), root_1);
adaptor.addChild(root_1, stream_fixed_parameters.nextTree());
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1611:51: ( parameter_array )?
if (stream_parameter_array.hasNext()) {
adaptor.addChild(root_1, stream_parameter_array.nextTree());
}
stream_parameter_array.reset();
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "formal_parameter_list"
public static class fixed_parameters_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "fixed_parameters"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1613:1: fixed_parameters : fixed_parameter ( ( COMMA fixed_parameter )=> COMMA ! fixed_parameter )* ;
public final CSharpParser.fixed_parameters_return fixed_parameters() throws RecognitionException {
CSharpParser.fixed_parameters_return retval = new CSharpParser.fixed_parameters_return();
retval.start = input.LT(1);
Object root_0 = null;
Token COMMA860 = null;
CSharpParser.fixed_parameter_return fixed_parameter859 = null;
CSharpParser.fixed_parameter_return fixed_parameter861 = null;
Object COMMA860_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1614:3: ( fixed_parameter ( ( COMMA fixed_parameter )=> COMMA ! fixed_parameter )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1614:5: fixed_parameter ( ( COMMA fixed_parameter )=> COMMA ! fixed_parameter )*
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_fixed_parameter_in_fixed_parameters7947);
fixed_parameter859 = fixed_parameter();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, fixed_parameter859.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1614:21: ( ( COMMA fixed_parameter )=> COMMA ! fixed_parameter )*
loop188:
do {
int alt188 = 2;
int LA188_0 = input.LA(1);
if ((LA188_0 == COMMA)) {
int LA188_1 = input.LA(2);
if ((synpred25_CSharpParser())) {
alt188 = 1;
}
}
switch (alt188) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1614:23: ( COMMA fixed_parameter )=> COMMA ! fixed_parameter
{
COMMA860 = (Token) match(input, COMMA, FOLLOW_COMMA_in_fixed_parameters7959);
if (state.failed) {
return retval;
}
pushFollow(FOLLOW_fixed_parameter_in_fixed_parameters7962);
fixed_parameter861 = fixed_parameter();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, fixed_parameter861.getTree());
}
}
break;
default:
break loop188;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "fixed_parameters"
public static class fixed_parameter_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "fixed_parameter"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1622:1: fixed_parameter : ( ( attributes )? ( parameter_modifier )? type IDENTIFIER ( default_argument )? -> ^( FIXED_PARAMETER ( attributes )? ( parameter_modifier )? type IDENTIFIER ( default_argument )? ) | arglist -> ^( FIXED_PARAMETER arglist ) );
public final CSharpParser.fixed_parameter_return fixed_parameter() throws RecognitionException {
CSharpParser.fixed_parameter_return retval = new CSharpParser.fixed_parameter_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER865 = null;
CSharpParser.attributes_return attributes862 = null;
CSharpParser.parameter_modifier_return parameter_modifier863 = null;
CSharpParser.type_return type864 = null;
CSharpParser.default_argument_return default_argument866 = null;
CSharpParser.arglist_return arglist867 = null;
Object IDENTIFIER865_tree = null;
RewriteRuleTokenStream stream_IDENTIFIER = new RewriteRuleTokenStream(adaptor, "token IDENTIFIER");
RewriteRuleSubtreeStream stream_arglist = new RewriteRuleSubtreeStream(adaptor, "rule arglist");
RewriteRuleSubtreeStream stream_attributes = new RewriteRuleSubtreeStream(adaptor, "rule attributes");
RewriteRuleSubtreeStream stream_default_argument = new RewriteRuleSubtreeStream(adaptor, "rule default_argument");
RewriteRuleSubtreeStream stream_type = new RewriteRuleSubtreeStream(adaptor, "rule type");
RewriteRuleSubtreeStream stream_parameter_modifier = new RewriteRuleSubtreeStream(adaptor, "rule parameter_modifier");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1623:3: ( ( attributes )? ( parameter_modifier )? type IDENTIFIER ( default_argument )? -> ^( FIXED_PARAMETER ( attributes )? ( parameter_modifier )? type IDENTIFIER ( default_argument )? ) | arglist -> ^( FIXED_PARAMETER arglist ) )
int alt192 = 2;
int LA192_0 = input.LA(1);
if ((LA192_0 == BOOL || LA192_0 == BYTE || LA192_0 == CHAR || LA192_0 == DECIMAL || LA192_0 == DOUBLE || LA192_0 == FLOAT || LA192_0 == INT || LA192_0 == LONG || LA192_0 == OBJECT || LA192_0 == OPEN_BRACKET || LA192_0 == OUT || LA192_0 == REF || LA192_0 == SBYTE || LA192_0 == SHORT || LA192_0 == STRING || LA192_0 == THIS || (LA192_0 >= UINT && LA192_0 <= ULONG) || LA192_0 == USHORT || LA192_0 == VOID)) {
alt192 = 1;
} else if ((LA192_0 == IDENTIFIER)) {
int LA192_2 = input.LA(2);
if ((LA192_2 == DOT || LA192_2 == DOUBLE_COLON || LA192_2 == IDENTIFIER || LA192_2 == INTERR || LA192_2 == LT || LA192_2 == OPEN_BRACKET || LA192_2 == STAR)) {
alt192 = 1;
} else if ((LA192_2 == EOF || (LA192_2 >= CLOSE_BRACKET && LA192_2 <= CLOSE_PARENS) || LA192_2 == COMMA)) {
alt192 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 192, 2, input);
throw nvae;
}
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 192, 0, input);
throw nvae;
}
switch (alt192) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1623:5: ( attributes )? ( parameter_modifier )? type IDENTIFIER ( default_argument )?
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1623:5: ( attributes )?
int alt189 = 2;
int LA189_0 = input.LA(1);
if ((LA189_0 == OPEN_BRACKET)) {
alt189 = 1;
}
switch (alt189) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1623:5: attributes
{
pushFollow(FOLLOW_attributes_in_fixed_parameter7980);
attributes862 = attributes();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_attributes.add(attributes862.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1623:17: ( parameter_modifier )?
int alt190 = 2;
int LA190_0 = input.LA(1);
if ((LA190_0 == OUT || LA190_0 == REF || LA190_0 == THIS)) {
alt190 = 1;
}
switch (alt190) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1623:17: parameter_modifier
{
pushFollow(FOLLOW_parameter_modifier_in_fixed_parameter7983);
parameter_modifier863 = parameter_modifier();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_parameter_modifier.add(parameter_modifier863.getTree());
}
}
break;
}
pushFollow(FOLLOW_type_in_fixed_parameter7986);
type864 = type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_type.add(type864.getTree());
}
IDENTIFIER865 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_fixed_parameter7988);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_IDENTIFIER.add(IDENTIFIER865);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1623:53: ( default_argument )?
int alt191 = 2;
int LA191_0 = input.LA(1);
if ((LA191_0 == ASSIGNMENT)) {
alt191 = 1;
}
switch (alt191) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1623:53: default_argument
{
pushFollow(FOLLOW_default_argument_in_fixed_parameter7990);
default_argument866 = default_argument();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_default_argument.add(default_argument866.getTree());
}
}
break;
}
// AST REWRITE
// elements: type, default_argument, attributes, parameter_modifier, IDENTIFIER
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 1624:5: -> ^( FIXED_PARAMETER ( attributes )? ( parameter_modifier )? type IDENTIFIER ( default_argument )? )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1624:8: ^( FIXED_PARAMETER ( attributes )? ( parameter_modifier )? type IDENTIFIER ( default_argument )? )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(FIXED_PARAMETER, "FIXED_PARAMETER"), root_1);
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1624:26: ( attributes )?
if (stream_attributes.hasNext()) {
adaptor.addChild(root_1, stream_attributes.nextTree());
}
stream_attributes.reset();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1624:38: ( parameter_modifier )?
if (stream_parameter_modifier.hasNext()) {
adaptor.addChild(root_1, stream_parameter_modifier.nextTree());
}
stream_parameter_modifier.reset();
adaptor.addChild(root_1, stream_type.nextTree());
adaptor.addChild(root_1,
stream_IDENTIFIER.nextNode());
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1624:74: ( default_argument )?
if (stream_default_argument.hasNext()) {
adaptor.addChild(root_1, stream_default_argument.nextTree());
}
stream_default_argument.reset();
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1625:5: arglist
{
pushFollow(FOLLOW_arglist_in_fixed_parameter8020);
arglist867 = arglist();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_arglist.add(arglist867.getTree());
}
// AST REWRITE
// elements: arglist
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 1626:5: -> ^( FIXED_PARAMETER arglist )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1626:8: ^( FIXED_PARAMETER arglist )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(FIXED_PARAMETER, "FIXED_PARAMETER"), root_1);
adaptor.addChild(root_1, stream_arglist.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "fixed_parameter"
public static class default_argument_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "default_argument"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1628:1: default_argument : ASSIGNMENT ! expression ;
public final CSharpParser.default_argument_return default_argument() throws RecognitionException {
CSharpParser.default_argument_return retval = new CSharpParser.default_argument_return();
retval.start = input.LT(1);
Object root_0 = null;
Token ASSIGNMENT868 = null;
CSharpParser.expression_return expression869 = null;
Object ASSIGNMENT868_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1629:2: ( ASSIGNMENT ! expression )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1629:4: ASSIGNMENT ! expression
{
root_0 = adaptor.nil();
ASSIGNMENT868 = (Token) match(input, ASSIGNMENT, FOLLOW_ASSIGNMENT_in_default_argument8044);
if (state.failed) {
return retval;
}
pushFollow(FOLLOW_expression_in_default_argument8047);
expression869 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression869.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "default_argument"
public static class parameter_modifier_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "parameter_modifier"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1631:1: parameter_modifier : parameter_modifier2 -> ^( PARAMETER_MODIFIER parameter_modifier2 ) ;
public final CSharpParser.parameter_modifier_return parameter_modifier() throws RecognitionException {
CSharpParser.parameter_modifier_return retval = new CSharpParser.parameter_modifier_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.parameter_modifier2_return parameter_modifier2870 = null;
RewriteRuleSubtreeStream stream_parameter_modifier2 = new RewriteRuleSubtreeStream(adaptor, "rule parameter_modifier2");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1632:3: ( parameter_modifier2 -> ^( PARAMETER_MODIFIER parameter_modifier2 ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1632:5: parameter_modifier2
{
pushFollow(FOLLOW_parameter_modifier2_in_parameter_modifier8059);
parameter_modifier2870 = parameter_modifier2();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_parameter_modifier2.add(parameter_modifier2870.getTree());
}
// AST REWRITE
// elements: parameter_modifier2
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 1632:25: -> ^( PARAMETER_MODIFIER parameter_modifier2 )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1632:28: ^( PARAMETER_MODIFIER parameter_modifier2 )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(PARAMETER_MODIFIER, "PARAMETER_MODIFIER"), root_1);
adaptor.addChild(root_1, stream_parameter_modifier2.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "parameter_modifier"
public static class parameter_modifier2_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "parameter_modifier2"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1634:1: parameter_modifier2 : ( REF | OUT | THIS );
public final CSharpParser.parameter_modifier2_return parameter_modifier2() throws RecognitionException {
CSharpParser.parameter_modifier2_return retval = new CSharpParser.parameter_modifier2_return();
retval.start = input.LT(1);
Object root_0 = null;
Token set871 = null;
Object set871_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1635:2: ( REF | OUT | THIS )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:
{
root_0 = adaptor.nil();
set871 = input.LT(1);
if (input.LA(1) == OUT || input.LA(1) == REF || input.LA(1) == THIS) {
input.consume();
if (state.backtracking == 0) {
adaptor.addChild(root_0,
adaptor.create(set871));
}
state.errorRecovery = false;
state.failed = false;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
MismatchedSetException mse = new MismatchedSetException(null, input);
throw mse;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "parameter_modifier2"
public static class parameter_array_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "parameter_array"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1639:1: parameter_array : ( attributes )? PARAMS array_type IDENTIFIER -> ^( PARAMETER_ARRAY ( attributes )? array_type IDENTIFIER ) ;
public final CSharpParser.parameter_array_return parameter_array() throws RecognitionException {
CSharpParser.parameter_array_return retval = new CSharpParser.parameter_array_return();
retval.start = input.LT(1);
Object root_0 = null;
Token PARAMS873 = null;
Token IDENTIFIER875 = null;
CSharpParser.attributes_return attributes872 = null;
CSharpParser.array_type_return array_type874 = null;
Object PARAMS873_tree = null;
Object IDENTIFIER875_tree = null;
RewriteRuleTokenStream stream_IDENTIFIER = new RewriteRuleTokenStream(adaptor, "token IDENTIFIER");
RewriteRuleTokenStream stream_PARAMS = new RewriteRuleTokenStream(adaptor, "token PARAMS");
RewriteRuleSubtreeStream stream_attributes = new RewriteRuleSubtreeStream(adaptor, "rule attributes");
RewriteRuleSubtreeStream stream_array_type = new RewriteRuleSubtreeStream(adaptor, "rule array_type");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1640:2: ( ( attributes )? PARAMS array_type IDENTIFIER -> ^( PARAMETER_ARRAY ( attributes )? array_type IDENTIFIER ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1640:4: ( attributes )? PARAMS array_type IDENTIFIER
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1640:4: ( attributes )?
int alt193 = 2;
int LA193_0 = input.LA(1);
if ((LA193_0 == OPEN_BRACKET)) {
alt193 = 1;
}
switch (alt193) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1640:4: attributes
{
pushFollow(FOLLOW_attributes_in_parameter_array8099);
attributes872 = attributes();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_attributes.add(attributes872.getTree());
}
}
break;
}
PARAMS873 = (Token) match(input, PARAMS, FOLLOW_PARAMS_in_parameter_array8102);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_PARAMS.add(PARAMS873);
}
pushFollow(FOLLOW_array_type_in_parameter_array8104);
array_type874 = array_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_array_type.add(array_type874.getTree());
}
IDENTIFIER875 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_parameter_array8106);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_IDENTIFIER.add(IDENTIFIER875);
}
// AST REWRITE
// elements: IDENTIFIER, array_type, attributes
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 1641:4: -> ^( PARAMETER_ARRAY ( attributes )? array_type IDENTIFIER )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1641:7: ^( PARAMETER_ARRAY ( attributes )? array_type IDENTIFIER )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(PARAMETER_ARRAY, "PARAMETER_ARRAY"), root_1);
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1641:25: ( attributes )?
if (stream_attributes.hasNext()) {
adaptor.addChild(root_1, stream_attributes.nextTree());
}
stream_attributes.reset();
adaptor.addChild(root_1, stream_array_type.nextTree());
adaptor.addChild(root_1,
stream_IDENTIFIER.nextNode());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "parameter_array"
public static class property_declaration_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "property_declaration"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1643:1: property_declaration : ( attributes )? ( property_modifiers )? type member_name OPEN_BRACE accessor_declarations CLOSE_BRACE ;
public final CSharpParser.property_declaration_return property_declaration() throws RecognitionException {
CSharpParser.property_declaration_return retval = new CSharpParser.property_declaration_return();
retval.start = input.LT(1);
Object root_0 = null;
Token OPEN_BRACE880 = null;
Token CLOSE_BRACE882 = null;
CSharpParser.attributes_return attributes876 = null;
CSharpParser.property_modifiers_return property_modifiers877 = null;
CSharpParser.type_return type878 = null;
CSharpParser.member_name_return member_name879 = null;
CSharpParser.accessor_declarations_return accessor_declarations881 = null;
Object OPEN_BRACE880_tree = null;
Object CLOSE_BRACE882_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1644:2: ( ( attributes )? ( property_modifiers )? type member_name OPEN_BRACE accessor_declarations CLOSE_BRACE )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1644:4: ( attributes )? ( property_modifiers )? type member_name OPEN_BRACE accessor_declarations CLOSE_BRACE
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1644:4: ( attributes )?
int alt194 = 2;
int LA194_0 = input.LA(1);
if ((LA194_0 == OPEN_BRACKET)) {
alt194 = 1;
}
switch (alt194) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1644:4: attributes
{
pushFollow(FOLLOW_attributes_in_property_declaration8133);
attributes876 = attributes();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, attributes876.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1644:16: ( property_modifiers )?
int alt195 = 2;
int LA195_0 = input.LA(1);
if ((LA195_0 == ABSTRACT || LA195_0 == EXTERN || LA195_0 == INTERNAL || LA195_0 == NEW || LA195_0 == OVERRIDE || (LA195_0 >= PRIVATE && LA195_0 <= PUBLIC) || LA195_0 == SEALED || LA195_0 == STATIC || LA195_0 == UNSAFE || LA195_0 == VIRTUAL)) {
alt195 = 1;
}
switch (alt195) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1644:16: property_modifiers
{
pushFollow(FOLLOW_property_modifiers_in_property_declaration8136);
property_modifiers877 = property_modifiers();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, property_modifiers877.getTree());
}
}
break;
}
pushFollow(FOLLOW_type_in_property_declaration8139);
type878 = type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type878.getTree());
}
pushFollow(FOLLOW_member_name_in_property_declaration8141);
member_name879 = member_name();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, member_name879.getTree());
}
OPEN_BRACE880 = (Token) match(input, OPEN_BRACE, FOLLOW_OPEN_BRACE_in_property_declaration8143);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_BRACE880_tree =
adaptor.create(OPEN_BRACE880);
adaptor.addChild(root_0, OPEN_BRACE880_tree);
}
pushFollow(FOLLOW_accessor_declarations_in_property_declaration8145);
accessor_declarations881 = accessor_declarations();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, accessor_declarations881.getTree());
}
CLOSE_BRACE882 = (Token) match(input, CLOSE_BRACE, FOLLOW_CLOSE_BRACE_in_property_declaration8147);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_BRACE882_tree =
adaptor.create(CLOSE_BRACE882);
adaptor.addChild(root_0, CLOSE_BRACE882_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "property_declaration"
public static class property_modifiers_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "property_modifiers"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1646:1: property_modifiers : ( property_modifier )+ ;
public final CSharpParser.property_modifiers_return property_modifiers() throws RecognitionException {
CSharpParser.property_modifiers_return retval = new CSharpParser.property_modifiers_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.property_modifier_return property_modifier883 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1647:2: ( ( property_modifier )+ )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1647:4: ( property_modifier )+
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1647:4: ( property_modifier )+
int cnt196 = 0;
loop196:
do {
int alt196 = 2;
int LA196_0 = input.LA(1);
if ((LA196_0 == ABSTRACT || LA196_0 == EXTERN || LA196_0 == INTERNAL || LA196_0 == NEW || LA196_0 == OVERRIDE || (LA196_0 >= PRIVATE && LA196_0 <= PUBLIC) || LA196_0 == SEALED || LA196_0 == STATIC || LA196_0 == UNSAFE || LA196_0 == VIRTUAL)) {
alt196 = 1;
}
switch (alt196) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1647:4: property_modifier
{
pushFollow(FOLLOW_property_modifier_in_property_modifiers8158);
property_modifier883 = property_modifier();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, property_modifier883.getTree());
}
}
break;
default:
if (cnt196 >= 1) {
break loop196;
}
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
EarlyExitException eee =
new EarlyExitException(196, input);
throw eee;
}
cnt196++;
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "property_modifiers"
public static class property_modifier_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "property_modifier"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1649:1: property_modifier : ( NEW | PUBLIC | PROTECTED | INTERNAL | PRIVATE | STATIC | VIRTUAL | SEALED | OVERRIDE | ABSTRACT | EXTERN | property_modifier_unsafe );
public final CSharpParser.property_modifier_return property_modifier() throws RecognitionException {
CSharpParser.property_modifier_return retval = new CSharpParser.property_modifier_return();
retval.start = input.LT(1);
Object root_0 = null;
Token NEW884 = null;
Token PUBLIC885 = null;
Token PROTECTED886 = null;
Token INTERNAL887 = null;
Token PRIVATE888 = null;
Token STATIC889 = null;
Token VIRTUAL890 = null;
Token SEALED891 = null;
Token OVERRIDE892 = null;
Token ABSTRACT893 = null;
Token EXTERN894 = null;
CSharpParser.property_modifier_unsafe_return property_modifier_unsafe895 = null;
Object NEW884_tree = null;
Object PUBLIC885_tree = null;
Object PROTECTED886_tree = null;
Object INTERNAL887_tree = null;
Object PRIVATE888_tree = null;
Object STATIC889_tree = null;
Object VIRTUAL890_tree = null;
Object SEALED891_tree = null;
Object OVERRIDE892_tree = null;
Object ABSTRACT893_tree = null;
Object EXTERN894_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1650:2: ( NEW | PUBLIC | PROTECTED | INTERNAL | PRIVATE | STATIC | VIRTUAL | SEALED | OVERRIDE | ABSTRACT | EXTERN | property_modifier_unsafe )
int alt197 = 12;
switch (input.LA(1)) {
case NEW: {
alt197 = 1;
}
break;
case PUBLIC: {
alt197 = 2;
}
break;
case PROTECTED: {
alt197 = 3;
}
break;
case INTERNAL: {
alt197 = 4;
}
break;
case PRIVATE: {
alt197 = 5;
}
break;
case STATIC: {
alt197 = 6;
}
break;
case VIRTUAL: {
alt197 = 7;
}
break;
case SEALED: {
alt197 = 8;
}
break;
case OVERRIDE: {
alt197 = 9;
}
break;
case ABSTRACT: {
alt197 = 10;
}
break;
case EXTERN: {
alt197 = 11;
}
break;
case UNSAFE: {
alt197 = 12;
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 197, 0, input);
throw nvae;
}
switch (alt197) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1650:4: NEW
{
root_0 = adaptor.nil();
NEW884 = (Token) match(input, NEW, FOLLOW_NEW_in_property_modifier8170);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
NEW884_tree =
adaptor.create(NEW884);
adaptor.addChild(root_0, NEW884_tree);
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1651:4: PUBLIC
{
root_0 = adaptor.nil();
PUBLIC885 = (Token) match(input, PUBLIC, FOLLOW_PUBLIC_in_property_modifier8175);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PUBLIC885_tree =
adaptor.create(PUBLIC885);
adaptor.addChild(root_0, PUBLIC885_tree);
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1652:4: PROTECTED
{
root_0 = adaptor.nil();
PROTECTED886 = (Token) match(input, PROTECTED, FOLLOW_PROTECTED_in_property_modifier8180);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PROTECTED886_tree =
adaptor.create(PROTECTED886);
adaptor.addChild(root_0, PROTECTED886_tree);
}
}
break;
case 4: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1653:4: INTERNAL
{
root_0 = adaptor.nil();
INTERNAL887 = (Token) match(input, INTERNAL, FOLLOW_INTERNAL_in_property_modifier8185);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
INTERNAL887_tree =
adaptor.create(INTERNAL887);
adaptor.addChild(root_0, INTERNAL887_tree);
}
}
break;
case 5: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1654:4: PRIVATE
{
root_0 = adaptor.nil();
PRIVATE888 = (Token) match(input, PRIVATE, FOLLOW_PRIVATE_in_property_modifier8190);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PRIVATE888_tree =
adaptor.create(PRIVATE888);
adaptor.addChild(root_0, PRIVATE888_tree);
}
}
break;
case 6: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1655:4: STATIC
{
root_0 = adaptor.nil();
STATIC889 = (Token) match(input, STATIC, FOLLOW_STATIC_in_property_modifier8195);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
STATIC889_tree =
adaptor.create(STATIC889);
adaptor.addChild(root_0, STATIC889_tree);
}
}
break;
case 7: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1656:4: VIRTUAL
{
root_0 = adaptor.nil();
VIRTUAL890 = (Token) match(input, VIRTUAL, FOLLOW_VIRTUAL_in_property_modifier8200);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
VIRTUAL890_tree =
adaptor.create(VIRTUAL890);
adaptor.addChild(root_0, VIRTUAL890_tree);
}
}
break;
case 8: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1657:4: SEALED
{
root_0 = adaptor.nil();
SEALED891 = (Token) match(input, SEALED, FOLLOW_SEALED_in_property_modifier8205);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
SEALED891_tree =
adaptor.create(SEALED891);
adaptor.addChild(root_0, SEALED891_tree);
}
}
break;
case 9: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1658:4: OVERRIDE
{
root_0 = adaptor.nil();
OVERRIDE892 = (Token) match(input, OVERRIDE, FOLLOW_OVERRIDE_in_property_modifier8210);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OVERRIDE892_tree =
adaptor.create(OVERRIDE892);
adaptor.addChild(root_0, OVERRIDE892_tree);
}
}
break;
case 10: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1659:4: ABSTRACT
{
root_0 = adaptor.nil();
ABSTRACT893 = (Token) match(input, ABSTRACT, FOLLOW_ABSTRACT_in_property_modifier8215);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
ABSTRACT893_tree =
adaptor.create(ABSTRACT893);
adaptor.addChild(root_0, ABSTRACT893_tree);
}
}
break;
case 11: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1660:4: EXTERN
{
root_0 = adaptor.nil();
EXTERN894 = (Token) match(input, EXTERN, FOLLOW_EXTERN_in_property_modifier8220);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
EXTERN894_tree =
adaptor.create(EXTERN894);
adaptor.addChild(root_0, EXTERN894_tree);
}
}
break;
case 12: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1661:4: property_modifier_unsafe
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_property_modifier_unsafe_in_property_modifier8225);
property_modifier_unsafe895 = property_modifier_unsafe();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, property_modifier_unsafe895.getTree());
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "property_modifier"
public static class accessor_declarations_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "accessor_declarations"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1669:1: accessor_declarations : (attrs= attributes )? (mods= accessor_modifier )? ( get_contextual_keyword accessor_body ( set_accessor_declaration )? | set_contextual_keyword accessor_body ( get_accessor_declaration )? ) ;
public final CSharpParser.accessor_declarations_return accessor_declarations() throws RecognitionException {
CSharpParser.accessor_declarations_return retval = new CSharpParser.accessor_declarations_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.attributes_return attrs = null;
CSharpParser.accessor_modifier_return mods = null;
CSharpParser.get_contextual_keyword_return get_contextual_keyword896 = null;
CSharpParser.accessor_body_return accessor_body897 = null;
CSharpParser.set_accessor_declaration_return set_accessor_declaration898 = null;
CSharpParser.set_contextual_keyword_return set_contextual_keyword899 = null;
CSharpParser.accessor_body_return accessor_body900 = null;
CSharpParser.get_accessor_declaration_return get_accessor_declaration901 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1670:3: ( (attrs= attributes )? (mods= accessor_modifier )? ( get_contextual_keyword accessor_body ( set_accessor_declaration )? | set_contextual_keyword accessor_body ( get_accessor_declaration )? ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1670:5: (attrs= attributes )? (mods= accessor_modifier )? ( get_contextual_keyword accessor_body ( set_accessor_declaration )? | set_contextual_keyword accessor_body ( get_accessor_declaration )? )
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1670:10: (attrs= attributes )?
int alt198 = 2;
int LA198_0 = input.LA(1);
if ((LA198_0 == OPEN_BRACKET)) {
alt198 = 1;
}
switch (alt198) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1670:10: attrs= attributes
{
pushFollow(FOLLOW_attributes_in_accessor_declarations8241);
attrs = attributes();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, attrs.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1671:9: (mods= accessor_modifier )?
int alt199 = 2;
int LA199_0 = input.LA(1);
if ((LA199_0 == INTERNAL || (LA199_0 >= PRIVATE && LA199_0 <= PROTECTED))) {
alt199 = 1;
}
switch (alt199) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1671:9: mods= accessor_modifier
{
pushFollow(FOLLOW_accessor_modifier_in_accessor_declarations8250);
mods = accessor_modifier();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, mods.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1672:5: ( get_contextual_keyword accessor_body ( set_accessor_declaration )? | set_contextual_keyword accessor_body ( get_accessor_declaration )? )
int alt202 = 2;
int LA202_0 = input.LA(1);
if ((LA202_0 == IDENTIFIER)) {
int LA202_1 = input.LA(2);
if (((input.LT(1).getText().equals("get")))) {
alt202 = 1;
} else if (((input.LT(1).getText().equals("set")))) {
alt202 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 202, 1, input);
throw nvae;
}
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 202, 0, input);
throw nvae;
}
switch (alt202) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1672:7: get_contextual_keyword accessor_body ( set_accessor_declaration )?
{
pushFollow(FOLLOW_get_contextual_keyword_in_accessor_declarations8260);
get_contextual_keyword896 = get_contextual_keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, get_contextual_keyword896.getTree());
}
pushFollow(FOLLOW_accessor_body_in_accessor_declarations8262);
accessor_body897 = accessor_body();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, accessor_body897.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1672:44: ( set_accessor_declaration )?
int alt200 = 2;
int LA200_0 = input.LA(1);
if ((LA200_0 == IDENTIFIER || LA200_0 == INTERNAL || LA200_0 == OPEN_BRACKET || (LA200_0 >= PRIVATE && LA200_0 <= PROTECTED))) {
alt200 = 1;
}
switch (alt200) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1672:44: set_accessor_declaration
{
pushFollow(FOLLOW_set_accessor_declaration_in_accessor_declarations8264);
set_accessor_declaration898 = set_accessor_declaration();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, set_accessor_declaration898.getTree());
}
}
break;
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1673:7: set_contextual_keyword accessor_body ( get_accessor_declaration )?
{
pushFollow(FOLLOW_set_contextual_keyword_in_accessor_declarations8273);
set_contextual_keyword899 = set_contextual_keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, set_contextual_keyword899.getTree());
}
pushFollow(FOLLOW_accessor_body_in_accessor_declarations8275);
accessor_body900 = accessor_body();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, accessor_body900.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1673:44: ( get_accessor_declaration )?
int alt201 = 2;
int LA201_0 = input.LA(1);
if ((LA201_0 == IDENTIFIER || LA201_0 == INTERNAL || LA201_0 == OPEN_BRACKET || (LA201_0 >= PRIVATE && LA201_0 <= PROTECTED))) {
alt201 = 1;
}
switch (alt201) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1673:44: get_accessor_declaration
{
pushFollow(FOLLOW_get_accessor_declaration_in_accessor_declarations8277);
get_accessor_declaration901 = get_accessor_declaration();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, get_accessor_declaration901.getTree());
}
}
break;
}
}
break;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "accessor_declarations"
public static class get_accessor_declaration_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "get_accessor_declaration"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1676:1: get_accessor_declaration : ( attributes )? ( accessor_modifier )? get_contextual_keyword accessor_body ;
public final CSharpParser.get_accessor_declaration_return get_accessor_declaration() throws RecognitionException {
CSharpParser.get_accessor_declaration_return retval = new CSharpParser.get_accessor_declaration_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.attributes_return attributes902 = null;
CSharpParser.accessor_modifier_return accessor_modifier903 = null;
CSharpParser.get_contextual_keyword_return get_contextual_keyword904 = null;
CSharpParser.accessor_body_return accessor_body905 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1677:2: ( ( attributes )? ( accessor_modifier )? get_contextual_keyword accessor_body )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1677:4: ( attributes )? ( accessor_modifier )? get_contextual_keyword accessor_body
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1677:4: ( attributes )?
int alt203 = 2;
int LA203_0 = input.LA(1);
if ((LA203_0 == OPEN_BRACKET)) {
alt203 = 1;
}
switch (alt203) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1677:4: attributes
{
pushFollow(FOLLOW_attributes_in_get_accessor_declaration8296);
attributes902 = attributes();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, attributes902.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1677:16: ( accessor_modifier )?
int alt204 = 2;
int LA204_0 = input.LA(1);
if ((LA204_0 == INTERNAL || (LA204_0 >= PRIVATE && LA204_0 <= PROTECTED))) {
alt204 = 1;
}
switch (alt204) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1677:16: accessor_modifier
{
pushFollow(FOLLOW_accessor_modifier_in_get_accessor_declaration8299);
accessor_modifier903 = accessor_modifier();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, accessor_modifier903.getTree());
}
}
break;
}
pushFollow(FOLLOW_get_contextual_keyword_in_get_accessor_declaration8302);
get_contextual_keyword904 = get_contextual_keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, get_contextual_keyword904.getTree());
}
pushFollow(FOLLOW_accessor_body_in_get_accessor_declaration8304);
accessor_body905 = accessor_body();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, accessor_body905.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "get_accessor_declaration"
public static class set_accessor_declaration_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "set_accessor_declaration"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1679:1: set_accessor_declaration : ( attributes )? ( accessor_modifier )? set_contextual_keyword accessor_body ;
public final CSharpParser.set_accessor_declaration_return set_accessor_declaration() throws RecognitionException {
CSharpParser.set_accessor_declaration_return retval = new CSharpParser.set_accessor_declaration_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.attributes_return attributes906 = null;
CSharpParser.accessor_modifier_return accessor_modifier907 = null;
CSharpParser.set_contextual_keyword_return set_contextual_keyword908 = null;
CSharpParser.accessor_body_return accessor_body909 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1680:2: ( ( attributes )? ( accessor_modifier )? set_contextual_keyword accessor_body )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1680:4: ( attributes )? ( accessor_modifier )? set_contextual_keyword accessor_body
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1680:4: ( attributes )?
int alt205 = 2;
int LA205_0 = input.LA(1);
if ((LA205_0 == OPEN_BRACKET)) {
alt205 = 1;
}
switch (alt205) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1680:4: attributes
{
pushFollow(FOLLOW_attributes_in_set_accessor_declaration8315);
attributes906 = attributes();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, attributes906.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1680:16: ( accessor_modifier )?
int alt206 = 2;
int LA206_0 = input.LA(1);
if ((LA206_0 == INTERNAL || (LA206_0 >= PRIVATE && LA206_0 <= PROTECTED))) {
alt206 = 1;
}
switch (alt206) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1680:16: accessor_modifier
{
pushFollow(FOLLOW_accessor_modifier_in_set_accessor_declaration8318);
accessor_modifier907 = accessor_modifier();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, accessor_modifier907.getTree());
}
}
break;
}
pushFollow(FOLLOW_set_contextual_keyword_in_set_accessor_declaration8321);
set_contextual_keyword908 = set_contextual_keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, set_contextual_keyword908.getTree());
}
pushFollow(FOLLOW_accessor_body_in_set_accessor_declaration8323);
accessor_body909 = accessor_body();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, accessor_body909.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "set_accessor_declaration"
public static class accessor_modifier_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "accessor_modifier"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1682:1: accessor_modifier : ( PROTECTED | INTERNAL | PRIVATE | PROTECTED INTERNAL | INTERNAL PROTECTED );
public final CSharpParser.accessor_modifier_return accessor_modifier() throws RecognitionException {
CSharpParser.accessor_modifier_return retval = new CSharpParser.accessor_modifier_return();
retval.start = input.LT(1);
Object root_0 = null;
Token PROTECTED910 = null;
Token INTERNAL911 = null;
Token PRIVATE912 = null;
Token PROTECTED913 = null;
Token INTERNAL914 = null;
Token INTERNAL915 = null;
Token PROTECTED916 = null;
Object PROTECTED910_tree = null;
Object INTERNAL911_tree = null;
Object PRIVATE912_tree = null;
Object PROTECTED913_tree = null;
Object INTERNAL914_tree = null;
Object INTERNAL915_tree = null;
Object PROTECTED916_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1683:2: ( PROTECTED | INTERNAL | PRIVATE | PROTECTED INTERNAL | INTERNAL PROTECTED )
int alt207 = 5;
switch (input.LA(1)) {
case PROTECTED: {
int LA207_1 = input.LA(2);
if ((LA207_1 == INTERNAL)) {
alt207 = 4;
} else if ((LA207_1 == IDENTIFIER)) {
alt207 = 1;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 207, 1, input);
throw nvae;
}
}
break;
case INTERNAL: {
int LA207_2 = input.LA(2);
if ((LA207_2 == PROTECTED)) {
alt207 = 5;
} else if ((LA207_2 == IDENTIFIER)) {
alt207 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 207, 2, input);
throw nvae;
}
}
break;
case PRIVATE: {
alt207 = 3;
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 207, 0, input);
throw nvae;
}
switch (alt207) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1683:4: PROTECTED
{
root_0 = adaptor.nil();
PROTECTED910 = (Token) match(input, PROTECTED, FOLLOW_PROTECTED_in_accessor_modifier8334);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PROTECTED910_tree =
adaptor.create(PROTECTED910);
adaptor.addChild(root_0, PROTECTED910_tree);
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1684:4: INTERNAL
{
root_0 = adaptor.nil();
INTERNAL911 = (Token) match(input, INTERNAL, FOLLOW_INTERNAL_in_accessor_modifier8339);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
INTERNAL911_tree =
adaptor.create(INTERNAL911);
adaptor.addChild(root_0, INTERNAL911_tree);
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1685:4: PRIVATE
{
root_0 = adaptor.nil();
PRIVATE912 = (Token) match(input, PRIVATE, FOLLOW_PRIVATE_in_accessor_modifier8344);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PRIVATE912_tree =
adaptor.create(PRIVATE912);
adaptor.addChild(root_0, PRIVATE912_tree);
}
}
break;
case 4: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1686:4: PROTECTED INTERNAL
{
root_0 = adaptor.nil();
PROTECTED913 = (Token) match(input, PROTECTED, FOLLOW_PROTECTED_in_accessor_modifier8349);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PROTECTED913_tree =
adaptor.create(PROTECTED913);
adaptor.addChild(root_0, PROTECTED913_tree);
}
INTERNAL914 = (Token) match(input, INTERNAL, FOLLOW_INTERNAL_in_accessor_modifier8351);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
INTERNAL914_tree =
adaptor.create(INTERNAL914);
adaptor.addChild(root_0, INTERNAL914_tree);
}
}
break;
case 5: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1687:4: INTERNAL PROTECTED
{
root_0 = adaptor.nil();
INTERNAL915 = (Token) match(input, INTERNAL, FOLLOW_INTERNAL_in_accessor_modifier8356);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
INTERNAL915_tree =
adaptor.create(INTERNAL915);
adaptor.addChild(root_0, INTERNAL915_tree);
}
PROTECTED916 = (Token) match(input, PROTECTED, FOLLOW_PROTECTED_in_accessor_modifier8358);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PROTECTED916_tree =
adaptor.create(PROTECTED916);
adaptor.addChild(root_0, PROTECTED916_tree);
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "accessor_modifier"
public static class accessor_body_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "accessor_body"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1689:1: accessor_body : ( block | SEMICOLON );
public final CSharpParser.accessor_body_return accessor_body() throws RecognitionException {
CSharpParser.accessor_body_return retval = new CSharpParser.accessor_body_return();
retval.start = input.LT(1);
Object root_0 = null;
Token SEMICOLON918 = null;
CSharpParser.block_return block917 = null;
Object SEMICOLON918_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1690:2: ( block | SEMICOLON )
int alt208 = 2;
int LA208_0 = input.LA(1);
if ((LA208_0 == OPEN_BRACE)) {
alt208 = 1;
} else if ((LA208_0 == SEMICOLON)) {
alt208 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 208, 0, input);
throw nvae;
}
switch (alt208) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1690:4: block
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_block_in_accessor_body8369);
block917 = block();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, block917.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1691:4: SEMICOLON
{
root_0 = adaptor.nil();
SEMICOLON918 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_accessor_body8374);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
SEMICOLON918_tree =
adaptor.create(SEMICOLON918);
adaptor.addChild(root_0, SEMICOLON918_tree);
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "accessor_body"
public static class event_modifiers_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "event_modifiers"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1707:1: event_modifiers : ( event_modifier )+ ;
public final CSharpParser.event_modifiers_return event_modifiers() throws RecognitionException {
CSharpParser.event_modifiers_return retval = new CSharpParser.event_modifiers_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.event_modifier_return event_modifier919 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1708:2: ( ( event_modifier )+ )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1708:4: ( event_modifier )+
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1708:4: ( event_modifier )+
int cnt209 = 0;
loop209:
do {
int alt209 = 2;
int LA209_0 = input.LA(1);
if ((LA209_0 == ABSTRACT || LA209_0 == EXTERN || LA209_0 == INTERNAL || LA209_0 == NEW || LA209_0 == OVERRIDE || (LA209_0 >= PRIVATE && LA209_0 <= PUBLIC) || LA209_0 == SEALED || LA209_0 == STATIC || LA209_0 == UNSAFE || LA209_0 == VIRTUAL)) {
alt209 = 1;
}
switch (alt209) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1708:4: event_modifier
{
pushFollow(FOLLOW_event_modifier_in_event_modifiers8389);
event_modifier919 = event_modifier();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, event_modifier919.getTree());
}
}
break;
default:
if (cnt209 >= 1) {
break loop209;
}
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
EarlyExitException eee =
new EarlyExitException(209, input);
throw eee;
}
cnt209++;
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "event_modifiers"
public static class event_modifier_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "event_modifier"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1710:1: event_modifier : ( NEW | PUBLIC | PROTECTED | INTERNAL | PRIVATE | STATIC | VIRTUAL | SEALED | OVERRIDE | ABSTRACT | EXTERN | event_modifier_unsafe );
public final CSharpParser.event_modifier_return event_modifier() throws RecognitionException {
CSharpParser.event_modifier_return retval = new CSharpParser.event_modifier_return();
retval.start = input.LT(1);
Object root_0 = null;
Token NEW920 = null;
Token PUBLIC921 = null;
Token PROTECTED922 = null;
Token INTERNAL923 = null;
Token PRIVATE924 = null;
Token STATIC925 = null;
Token VIRTUAL926 = null;
Token SEALED927 = null;
Token OVERRIDE928 = null;
Token ABSTRACT929 = null;
Token EXTERN930 = null;
CSharpParser.event_modifier_unsafe_return event_modifier_unsafe931 = null;
Object NEW920_tree = null;
Object PUBLIC921_tree = null;
Object PROTECTED922_tree = null;
Object INTERNAL923_tree = null;
Object PRIVATE924_tree = null;
Object STATIC925_tree = null;
Object VIRTUAL926_tree = null;
Object SEALED927_tree = null;
Object OVERRIDE928_tree = null;
Object ABSTRACT929_tree = null;
Object EXTERN930_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1711:2: ( NEW | PUBLIC | PROTECTED | INTERNAL | PRIVATE | STATIC | VIRTUAL | SEALED | OVERRIDE | ABSTRACT | EXTERN | event_modifier_unsafe )
int alt210 = 12;
switch (input.LA(1)) {
case NEW: {
alt210 = 1;
}
break;
case PUBLIC: {
alt210 = 2;
}
break;
case PROTECTED: {
alt210 = 3;
}
break;
case INTERNAL: {
alt210 = 4;
}
break;
case PRIVATE: {
alt210 = 5;
}
break;
case STATIC: {
alt210 = 6;
}
break;
case VIRTUAL: {
alt210 = 7;
}
break;
case SEALED: {
alt210 = 8;
}
break;
case OVERRIDE: {
alt210 = 9;
}
break;
case ABSTRACT: {
alt210 = 10;
}
break;
case EXTERN: {
alt210 = 11;
}
break;
case UNSAFE: {
alt210 = 12;
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 210, 0, input);
throw nvae;
}
switch (alt210) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1711:4: NEW
{
root_0 = adaptor.nil();
NEW920 = (Token) match(input, NEW, FOLLOW_NEW_in_event_modifier8401);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
NEW920_tree =
adaptor.create(NEW920);
adaptor.addChild(root_0, NEW920_tree);
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1712:4: PUBLIC
{
root_0 = adaptor.nil();
PUBLIC921 = (Token) match(input, PUBLIC, FOLLOW_PUBLIC_in_event_modifier8406);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PUBLIC921_tree =
adaptor.create(PUBLIC921);
adaptor.addChild(root_0, PUBLIC921_tree);
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1713:4: PROTECTED
{
root_0 = adaptor.nil();
PROTECTED922 = (Token) match(input, PROTECTED, FOLLOW_PROTECTED_in_event_modifier8411);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PROTECTED922_tree =
adaptor.create(PROTECTED922);
adaptor.addChild(root_0, PROTECTED922_tree);
}
}
break;
case 4: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1714:4: INTERNAL
{
root_0 = adaptor.nil();
INTERNAL923 = (Token) match(input, INTERNAL, FOLLOW_INTERNAL_in_event_modifier8416);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
INTERNAL923_tree =
adaptor.create(INTERNAL923);
adaptor.addChild(root_0, INTERNAL923_tree);
}
}
break;
case 5: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1715:4: PRIVATE
{
root_0 = adaptor.nil();
PRIVATE924 = (Token) match(input, PRIVATE, FOLLOW_PRIVATE_in_event_modifier8421);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PRIVATE924_tree =
adaptor.create(PRIVATE924);
adaptor.addChild(root_0, PRIVATE924_tree);
}
}
break;
case 6: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1716:4: STATIC
{
root_0 = adaptor.nil();
STATIC925 = (Token) match(input, STATIC, FOLLOW_STATIC_in_event_modifier8426);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
STATIC925_tree =
adaptor.create(STATIC925);
adaptor.addChild(root_0, STATIC925_tree);
}
}
break;
case 7: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1717:4: VIRTUAL
{
root_0 = adaptor.nil();
VIRTUAL926 = (Token) match(input, VIRTUAL, FOLLOW_VIRTUAL_in_event_modifier8431);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
VIRTUAL926_tree =
adaptor.create(VIRTUAL926);
adaptor.addChild(root_0, VIRTUAL926_tree);
}
}
break;
case 8: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1718:4: SEALED
{
root_0 = adaptor.nil();
SEALED927 = (Token) match(input, SEALED, FOLLOW_SEALED_in_event_modifier8436);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
SEALED927_tree =
adaptor.create(SEALED927);
adaptor.addChild(root_0, SEALED927_tree);
}
}
break;
case 9: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1719:4: OVERRIDE
{
root_0 = adaptor.nil();
OVERRIDE928 = (Token) match(input, OVERRIDE, FOLLOW_OVERRIDE_in_event_modifier8441);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OVERRIDE928_tree =
adaptor.create(OVERRIDE928);
adaptor.addChild(root_0, OVERRIDE928_tree);
}
}
break;
case 10: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1720:4: ABSTRACT
{
root_0 = adaptor.nil();
ABSTRACT929 = (Token) match(input, ABSTRACT, FOLLOW_ABSTRACT_in_event_modifier8446);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
ABSTRACT929_tree =
adaptor.create(ABSTRACT929);
adaptor.addChild(root_0, ABSTRACT929_tree);
}
}
break;
case 11: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1721:4: EXTERN
{
root_0 = adaptor.nil();
EXTERN930 = (Token) match(input, EXTERN, FOLLOW_EXTERN_in_event_modifier8451);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
EXTERN930_tree =
adaptor.create(EXTERN930);
adaptor.addChild(root_0, EXTERN930_tree);
}
}
break;
case 12: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1722:4: event_modifier_unsafe
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_event_modifier_unsafe_in_event_modifier8456);
event_modifier_unsafe931 = event_modifier_unsafe();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, event_modifier_unsafe931.getTree());
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "event_modifier"
public static class event_accessor_declarations_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "event_accessor_declarations"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1724:1: event_accessor_declarations : ( attributes )? ( add_contextual_keyword block remove_accessor_declaration | remove_contextual_keyword block add_accessor_declaration ) ;
public final CSharpParser.event_accessor_declarations_return event_accessor_declarations() throws RecognitionException {
CSharpParser.event_accessor_declarations_return retval = new CSharpParser.event_accessor_declarations_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.attributes_return attributes932 = null;
CSharpParser.add_contextual_keyword_return add_contextual_keyword933 = null;
CSharpParser.block_return block934 = null;
CSharpParser.remove_accessor_declaration_return remove_accessor_declaration935 = null;
CSharpParser.remove_contextual_keyword_return remove_contextual_keyword936 = null;
CSharpParser.block_return block937 = null;
CSharpParser.add_accessor_declaration_return add_accessor_declaration938 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1725:2: ( ( attributes )? ( add_contextual_keyword block remove_accessor_declaration | remove_contextual_keyword block add_accessor_declaration ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1725:4: ( attributes )? ( add_contextual_keyword block remove_accessor_declaration | remove_contextual_keyword block add_accessor_declaration )
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1725:4: ( attributes )?
int alt211 = 2;
int LA211_0 = input.LA(1);
if ((LA211_0 == OPEN_BRACKET)) {
alt211 = 1;
}
switch (alt211) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1725:4: attributes
{
pushFollow(FOLLOW_attributes_in_event_accessor_declarations8467);
attributes932 = attributes();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, attributes932.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1726:4: ( add_contextual_keyword block remove_accessor_declaration | remove_contextual_keyword block add_accessor_declaration )
int alt212 = 2;
int LA212_0 = input.LA(1);
if ((LA212_0 == IDENTIFIER)) {
int LA212_1 = input.LA(2);
if (((input.LT(1).getText().equals("add")))) {
alt212 = 1;
} else if (((input.LT(1).getText().equals("remove")))) {
alt212 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 212, 1, input);
throw nvae;
}
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 212, 0, input);
throw nvae;
}
switch (alt212) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1726:6: add_contextual_keyword block remove_accessor_declaration
{
pushFollow(FOLLOW_add_contextual_keyword_in_event_accessor_declarations8475);
add_contextual_keyword933 = add_contextual_keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, add_contextual_keyword933.getTree());
}
pushFollow(FOLLOW_block_in_event_accessor_declarations8477);
block934 = block();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, block934.getTree());
}
pushFollow(FOLLOW_remove_accessor_declaration_in_event_accessor_declarations8479);
remove_accessor_declaration935 = remove_accessor_declaration();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, remove_accessor_declaration935.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1727:6: remove_contextual_keyword block add_accessor_declaration
{
pushFollow(FOLLOW_remove_contextual_keyword_in_event_accessor_declarations8486);
remove_contextual_keyword936 = remove_contextual_keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, remove_contextual_keyword936.getTree());
}
pushFollow(FOLLOW_block_in_event_accessor_declarations8488);
block937 = block();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, block937.getTree());
}
pushFollow(FOLLOW_add_accessor_declaration_in_event_accessor_declarations8490);
add_accessor_declaration938 = add_accessor_declaration();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, add_accessor_declaration938.getTree());
}
}
break;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "event_accessor_declarations"
public static class add_accessor_declaration_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "add_accessor_declaration"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1730:1: add_accessor_declaration : ( attributes )? add_contextual_keyword block ;
public final CSharpParser.add_accessor_declaration_return add_accessor_declaration() throws RecognitionException {
CSharpParser.add_accessor_declaration_return retval = new CSharpParser.add_accessor_declaration_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.attributes_return attributes939 = null;
CSharpParser.add_contextual_keyword_return add_contextual_keyword940 = null;
CSharpParser.block_return block941 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1731:2: ( ( attributes )? add_contextual_keyword block )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1731:4: ( attributes )? add_contextual_keyword block
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1731:4: ( attributes )?
int alt213 = 2;
int LA213_0 = input.LA(1);
if ((LA213_0 == OPEN_BRACKET)) {
alt213 = 1;
}
switch (alt213) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1731:4: attributes
{
pushFollow(FOLLOW_attributes_in_add_accessor_declaration8506);
attributes939 = attributes();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, attributes939.getTree());
}
}
break;
}
pushFollow(FOLLOW_add_contextual_keyword_in_add_accessor_declaration8509);
add_contextual_keyword940 = add_contextual_keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, add_contextual_keyword940.getTree());
}
pushFollow(FOLLOW_block_in_add_accessor_declaration8511);
block941 = block();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, block941.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "add_accessor_declaration"
public static class remove_accessor_declaration_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "remove_accessor_declaration"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1733:1: remove_accessor_declaration : ( attributes )? remove_contextual_keyword block ;
public final CSharpParser.remove_accessor_declaration_return remove_accessor_declaration() throws RecognitionException {
CSharpParser.remove_accessor_declaration_return retval = new CSharpParser.remove_accessor_declaration_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.attributes_return attributes942 = null;
CSharpParser.remove_contextual_keyword_return remove_contextual_keyword943 = null;
CSharpParser.block_return block944 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1734:2: ( ( attributes )? remove_contextual_keyword block )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1734:4: ( attributes )? remove_contextual_keyword block
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1734:4: ( attributes )?
int alt214 = 2;
int LA214_0 = input.LA(1);
if ((LA214_0 == OPEN_BRACKET)) {
alt214 = 1;
}
switch (alt214) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1734:4: attributes
{
pushFollow(FOLLOW_attributes_in_remove_accessor_declaration8522);
attributes942 = attributes();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, attributes942.getTree());
}
}
break;
}
pushFollow(FOLLOW_remove_contextual_keyword_in_remove_accessor_declaration8525);
remove_contextual_keyword943 = remove_contextual_keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, remove_contextual_keyword943.getTree());
}
pushFollow(FOLLOW_block_in_remove_accessor_declaration8527);
block944 = block();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, block944.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "remove_accessor_declaration"
public static class indexer_declaration_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "indexer_declaration"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1736:1: indexer_declaration : ( attributes )? ( indexer_modifiers )? indexer_declarator OPEN_BRACE accessor_declarations CLOSE_BRACE ;
public final CSharpParser.indexer_declaration_return indexer_declaration() throws RecognitionException {
CSharpParser.indexer_declaration_return retval = new CSharpParser.indexer_declaration_return();
retval.start = input.LT(1);
Object root_0 = null;
Token OPEN_BRACE948 = null;
Token CLOSE_BRACE950 = null;
CSharpParser.attributes_return attributes945 = null;
CSharpParser.indexer_modifiers_return indexer_modifiers946 = null;
CSharpParser.indexer_declarator_return indexer_declarator947 = null;
CSharpParser.accessor_declarations_return accessor_declarations949 = null;
Object OPEN_BRACE948_tree = null;
Object CLOSE_BRACE950_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1737:2: ( ( attributes )? ( indexer_modifiers )? indexer_declarator OPEN_BRACE accessor_declarations CLOSE_BRACE )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1737:4: ( attributes )? ( indexer_modifiers )? indexer_declarator OPEN_BRACE accessor_declarations CLOSE_BRACE
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1737:4: ( attributes )?
int alt215 = 2;
int LA215_0 = input.LA(1);
if ((LA215_0 == OPEN_BRACKET)) {
alt215 = 1;
}
switch (alt215) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1737:4: attributes
{
pushFollow(FOLLOW_attributes_in_indexer_declaration8538);
attributes945 = attributes();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, attributes945.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1737:16: ( indexer_modifiers )?
int alt216 = 2;
int LA216_0 = input.LA(1);
if ((LA216_0 == ABSTRACT || LA216_0 == EXTERN || LA216_0 == INTERNAL || LA216_0 == NEW || LA216_0 == OVERRIDE || (LA216_0 >= PRIVATE && LA216_0 <= PUBLIC) || LA216_0 == SEALED || LA216_0 == UNSAFE || LA216_0 == VIRTUAL)) {
alt216 = 1;
}
switch (alt216) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1737:16: indexer_modifiers
{
pushFollow(FOLLOW_indexer_modifiers_in_indexer_declaration8541);
indexer_modifiers946 = indexer_modifiers();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, indexer_modifiers946.getTree());
}
}
break;
}
pushFollow(FOLLOW_indexer_declarator_in_indexer_declaration8544);
indexer_declarator947 = indexer_declarator();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, indexer_declarator947.getTree());
}
OPEN_BRACE948 = (Token) match(input, OPEN_BRACE, FOLLOW_OPEN_BRACE_in_indexer_declaration8546);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_BRACE948_tree =
adaptor.create(OPEN_BRACE948);
adaptor.addChild(root_0, OPEN_BRACE948_tree);
}
pushFollow(FOLLOW_accessor_declarations_in_indexer_declaration8548);
accessor_declarations949 = accessor_declarations();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, accessor_declarations949.getTree());
}
CLOSE_BRACE950 = (Token) match(input, CLOSE_BRACE, FOLLOW_CLOSE_BRACE_in_indexer_declaration8550);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_BRACE950_tree =
adaptor.create(CLOSE_BRACE950);
adaptor.addChild(root_0, CLOSE_BRACE950_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "indexer_declaration"
public static class indexer_modifiers_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "indexer_modifiers"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1739:1: indexer_modifiers : indexer_modifier ( indexer_modifier )* ;
public final CSharpParser.indexer_modifiers_return indexer_modifiers() throws RecognitionException {
CSharpParser.indexer_modifiers_return retval = new CSharpParser.indexer_modifiers_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.indexer_modifier_return indexer_modifier951 = null;
CSharpParser.indexer_modifier_return indexer_modifier952 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1740:2: ( indexer_modifier ( indexer_modifier )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1740:4: indexer_modifier ( indexer_modifier )*
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_indexer_modifier_in_indexer_modifiers8561);
indexer_modifier951 = indexer_modifier();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, indexer_modifier951.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1740:21: ( indexer_modifier )*
loop217:
do {
int alt217 = 2;
int LA217_0 = input.LA(1);
if ((LA217_0 == ABSTRACT || LA217_0 == EXTERN || LA217_0 == INTERNAL || LA217_0 == NEW || LA217_0 == OVERRIDE || (LA217_0 >= PRIVATE && LA217_0 <= PUBLIC) || LA217_0 == SEALED || LA217_0 == UNSAFE || LA217_0 == VIRTUAL)) {
alt217 = 1;
}
switch (alt217) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1740:23: indexer_modifier
{
pushFollow(FOLLOW_indexer_modifier_in_indexer_modifiers8565);
indexer_modifier952 = indexer_modifier();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, indexer_modifier952.getTree());
}
}
break;
default:
break loop217;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "indexer_modifiers"
public static class indexer_modifier_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "indexer_modifier"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1742:1: indexer_modifier : ( NEW | PUBLIC | PROTECTED | INTERNAL | PRIVATE | VIRTUAL | SEALED | OVERRIDE | ABSTRACT | EXTERN | indexer_modifier_unsafe );
public final CSharpParser.indexer_modifier_return indexer_modifier() throws RecognitionException {
CSharpParser.indexer_modifier_return retval = new CSharpParser.indexer_modifier_return();
retval.start = input.LT(1);
Object root_0 = null;
Token NEW953 = null;
Token PUBLIC954 = null;
Token PROTECTED955 = null;
Token INTERNAL956 = null;
Token PRIVATE957 = null;
Token VIRTUAL958 = null;
Token SEALED959 = null;
Token OVERRIDE960 = null;
Token ABSTRACT961 = null;
Token EXTERN962 = null;
CSharpParser.indexer_modifier_unsafe_return indexer_modifier_unsafe963 = null;
Object NEW953_tree = null;
Object PUBLIC954_tree = null;
Object PROTECTED955_tree = null;
Object INTERNAL956_tree = null;
Object PRIVATE957_tree = null;
Object VIRTUAL958_tree = null;
Object SEALED959_tree = null;
Object OVERRIDE960_tree = null;
Object ABSTRACT961_tree = null;
Object EXTERN962_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1743:2: ( NEW | PUBLIC | PROTECTED | INTERNAL | PRIVATE | VIRTUAL | SEALED | OVERRIDE | ABSTRACT | EXTERN | indexer_modifier_unsafe )
int alt218 = 11;
switch (input.LA(1)) {
case NEW: {
alt218 = 1;
}
break;
case PUBLIC: {
alt218 = 2;
}
break;
case PROTECTED: {
alt218 = 3;
}
break;
case INTERNAL: {
alt218 = 4;
}
break;
case PRIVATE: {
alt218 = 5;
}
break;
case VIRTUAL: {
alt218 = 6;
}
break;
case SEALED: {
alt218 = 7;
}
break;
case OVERRIDE: {
alt218 = 8;
}
break;
case ABSTRACT: {
alt218 = 9;
}
break;
case EXTERN: {
alt218 = 10;
}
break;
case UNSAFE: {
alt218 = 11;
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 218, 0, input);
throw nvae;
}
switch (alt218) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1743:4: NEW
{
root_0 = adaptor.nil();
NEW953 = (Token) match(input, NEW, FOLLOW_NEW_in_indexer_modifier8579);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
NEW953_tree =
adaptor.create(NEW953);
adaptor.addChild(root_0, NEW953_tree);
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1744:4: PUBLIC
{
root_0 = adaptor.nil();
PUBLIC954 = (Token) match(input, PUBLIC, FOLLOW_PUBLIC_in_indexer_modifier8584);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PUBLIC954_tree =
adaptor.create(PUBLIC954);
adaptor.addChild(root_0, PUBLIC954_tree);
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1745:4: PROTECTED
{
root_0 = adaptor.nil();
PROTECTED955 = (Token) match(input, PROTECTED, FOLLOW_PROTECTED_in_indexer_modifier8589);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PROTECTED955_tree =
adaptor.create(PROTECTED955);
adaptor.addChild(root_0, PROTECTED955_tree);
}
}
break;
case 4: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1746:4: INTERNAL
{
root_0 = adaptor.nil();
INTERNAL956 = (Token) match(input, INTERNAL, FOLLOW_INTERNAL_in_indexer_modifier8594);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
INTERNAL956_tree =
adaptor.create(INTERNAL956);
adaptor.addChild(root_0, INTERNAL956_tree);
}
}
break;
case 5: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1747:4: PRIVATE
{
root_0 = adaptor.nil();
PRIVATE957 = (Token) match(input, PRIVATE, FOLLOW_PRIVATE_in_indexer_modifier8599);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PRIVATE957_tree =
adaptor.create(PRIVATE957);
adaptor.addChild(root_0, PRIVATE957_tree);
}
}
break;
case 6: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1748:4: VIRTUAL
{
root_0 = adaptor.nil();
VIRTUAL958 = (Token) match(input, VIRTUAL, FOLLOW_VIRTUAL_in_indexer_modifier8604);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
VIRTUAL958_tree =
adaptor.create(VIRTUAL958);
adaptor.addChild(root_0, VIRTUAL958_tree);
}
}
break;
case 7: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1749:4: SEALED
{
root_0 = adaptor.nil();
SEALED959 = (Token) match(input, SEALED, FOLLOW_SEALED_in_indexer_modifier8609);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
SEALED959_tree =
adaptor.create(SEALED959);
adaptor.addChild(root_0, SEALED959_tree);
}
}
break;
case 8: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1750:4: OVERRIDE
{
root_0 = adaptor.nil();
OVERRIDE960 = (Token) match(input, OVERRIDE, FOLLOW_OVERRIDE_in_indexer_modifier8614);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OVERRIDE960_tree =
adaptor.create(OVERRIDE960);
adaptor.addChild(root_0, OVERRIDE960_tree);
}
}
break;
case 9: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1751:4: ABSTRACT
{
root_0 = adaptor.nil();
ABSTRACT961 = (Token) match(input, ABSTRACT, FOLLOW_ABSTRACT_in_indexer_modifier8619);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
ABSTRACT961_tree =
adaptor.create(ABSTRACT961);
adaptor.addChild(root_0, ABSTRACT961_tree);
}
}
break;
case 10: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1752:4: EXTERN
{
root_0 = adaptor.nil();
EXTERN962 = (Token) match(input, EXTERN, FOLLOW_EXTERN_in_indexer_modifier8624);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
EXTERN962_tree =
adaptor.create(EXTERN962);
adaptor.addChild(root_0, EXTERN962_tree);
}
}
break;
case 11: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1753:4: indexer_modifier_unsafe
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_indexer_modifier_unsafe_in_indexer_modifier8629);
indexer_modifier_unsafe963 = indexer_modifier_unsafe();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, indexer_modifier_unsafe963.getTree());
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "indexer_modifier"
public static class indexer_declarator_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "indexer_declarator"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1761:1: indexer_declarator : type ( interface_type DOT )? THIS OPEN_BRACKET formal_parameter_list CLOSE_BRACKET ;
public final CSharpParser.indexer_declarator_return indexer_declarator() throws RecognitionException {
CSharpParser.indexer_declarator_return retval = new CSharpParser.indexer_declarator_return();
retval.start = input.LT(1);
Object root_0 = null;
Token DOT966 = null;
Token THIS967 = null;
Token OPEN_BRACKET968 = null;
Token CLOSE_BRACKET970 = null;
CSharpParser.type_return type964 = null;
CSharpParser.interface_type_return interface_type965 = null;
CSharpParser.formal_parameter_list_return formal_parameter_list969 = null;
Object DOT966_tree = null;
Object THIS967_tree = null;
Object OPEN_BRACKET968_tree = null;
Object CLOSE_BRACKET970_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1762:3: ( type ( interface_type DOT )? THIS OPEN_BRACKET formal_parameter_list CLOSE_BRACKET )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1762:5: type ( interface_type DOT )? THIS OPEN_BRACKET formal_parameter_list CLOSE_BRACKET
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_type_in_indexer_declarator8643);
type964 = type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type964.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1762:10: ( interface_type DOT )?
int alt219 = 2;
int LA219_0 = input.LA(1);
if ((LA219_0 == IDENTIFIER)) {
alt219 = 1;
}
switch (alt219) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1762:11: interface_type DOT
{
pushFollow(FOLLOW_interface_type_in_indexer_declarator8646);
interface_type965 = interface_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, interface_type965.getTree());
}
DOT966 = (Token) match(input, DOT, FOLLOW_DOT_in_indexer_declarator8648);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
DOT966_tree =
adaptor.create(DOT966);
adaptor.addChild(root_0, DOT966_tree);
}
}
break;
}
THIS967 = (Token) match(input, THIS, FOLLOW_THIS_in_indexer_declarator8652);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
THIS967_tree =
adaptor.create(THIS967);
adaptor.addChild(root_0, THIS967_tree);
}
OPEN_BRACKET968 = (Token) match(input, OPEN_BRACKET, FOLLOW_OPEN_BRACKET_in_indexer_declarator8654);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_BRACKET968_tree =
adaptor.create(OPEN_BRACKET968);
adaptor.addChild(root_0, OPEN_BRACKET968_tree);
}
pushFollow(FOLLOW_formal_parameter_list_in_indexer_declarator8656);
formal_parameter_list969 = formal_parameter_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, formal_parameter_list969.getTree());
}
CLOSE_BRACKET970 = (Token) match(input, CLOSE_BRACKET, FOLLOW_CLOSE_BRACKET_in_indexer_declarator8658);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_BRACKET970_tree =
adaptor.create(CLOSE_BRACKET970);
adaptor.addChild(root_0, CLOSE_BRACKET970_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "indexer_declarator"
public static class operator_declaration_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "operator_declaration"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1764:1: operator_declaration : ( attributes )? operator_modifiers operator_declarator operator_body ;
public final CSharpParser.operator_declaration_return operator_declaration() throws RecognitionException {
CSharpParser.operator_declaration_return retval = new CSharpParser.operator_declaration_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.attributes_return attributes971 = null;
CSharpParser.operator_modifiers_return operator_modifiers972 = null;
CSharpParser.operator_declarator_return operator_declarator973 = null;
CSharpParser.operator_body_return operator_body974 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1765:2: ( ( attributes )? operator_modifiers operator_declarator operator_body )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1765:4: ( attributes )? operator_modifiers operator_declarator operator_body
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1765:4: ( attributes )?
int alt220 = 2;
int LA220_0 = input.LA(1);
if ((LA220_0 == OPEN_BRACKET)) {
alt220 = 1;
}
switch (alt220) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1765:4: attributes
{
pushFollow(FOLLOW_attributes_in_operator_declaration8670);
attributes971 = attributes();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, attributes971.getTree());
}
}
break;
}
pushFollow(FOLLOW_operator_modifiers_in_operator_declaration8673);
operator_modifiers972 = operator_modifiers();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, operator_modifiers972.getTree());
}
pushFollow(FOLLOW_operator_declarator_in_operator_declaration8675);
operator_declarator973 = operator_declarator();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, operator_declarator973.getTree());
}
pushFollow(FOLLOW_operator_body_in_operator_declaration8677);
operator_body974 = operator_body();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, operator_body974.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "operator_declaration"
public static class operator_modifiers_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "operator_modifiers"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1767:1: operator_modifiers : operator_modifier ( operator_modifier )* ;
public final CSharpParser.operator_modifiers_return operator_modifiers() throws RecognitionException {
CSharpParser.operator_modifiers_return retval = new CSharpParser.operator_modifiers_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.operator_modifier_return operator_modifier975 = null;
CSharpParser.operator_modifier_return operator_modifier976 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1768:2: ( operator_modifier ( operator_modifier )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1768:4: operator_modifier ( operator_modifier )*
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_operator_modifier_in_operator_modifiers8688);
operator_modifier975 = operator_modifier();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, operator_modifier975.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1768:22: ( operator_modifier )*
loop221:
do {
int alt221 = 2;
int LA221_0 = input.LA(1);
if ((LA221_0 == EXTERN || LA221_0 == PUBLIC || LA221_0 == STATIC || LA221_0 == UNSAFE)) {
alt221 = 1;
}
switch (alt221) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1768:24: operator_modifier
{
pushFollow(FOLLOW_operator_modifier_in_operator_modifiers8692);
operator_modifier976 = operator_modifier();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, operator_modifier976.getTree());
}
}
break;
default:
break loop221;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "operator_modifiers"
public static class operator_modifier_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "operator_modifier"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1770:1: operator_modifier : ( PUBLIC | STATIC | EXTERN | operator_modifier_unsafe );
public final CSharpParser.operator_modifier_return operator_modifier() throws RecognitionException {
CSharpParser.operator_modifier_return retval = new CSharpParser.operator_modifier_return();
retval.start = input.LT(1);
Object root_0 = null;
Token PUBLIC977 = null;
Token STATIC978 = null;
Token EXTERN979 = null;
CSharpParser.operator_modifier_unsafe_return operator_modifier_unsafe980 = null;
Object PUBLIC977_tree = null;
Object STATIC978_tree = null;
Object EXTERN979_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1771:2: ( PUBLIC | STATIC | EXTERN | operator_modifier_unsafe )
int alt222 = 4;
switch (input.LA(1)) {
case PUBLIC: {
alt222 = 1;
}
break;
case STATIC: {
alt222 = 2;
}
break;
case EXTERN: {
alt222 = 3;
}
break;
case UNSAFE: {
alt222 = 4;
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 222, 0, input);
throw nvae;
}
switch (alt222) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1771:4: PUBLIC
{
root_0 = adaptor.nil();
PUBLIC977 = (Token) match(input, PUBLIC, FOLLOW_PUBLIC_in_operator_modifier8706);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PUBLIC977_tree =
adaptor.create(PUBLIC977);
adaptor.addChild(root_0, PUBLIC977_tree);
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1772:4: STATIC
{
root_0 = adaptor.nil();
STATIC978 = (Token) match(input, STATIC, FOLLOW_STATIC_in_operator_modifier8711);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
STATIC978_tree =
adaptor.create(STATIC978);
adaptor.addChild(root_0, STATIC978_tree);
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1773:4: EXTERN
{
root_0 = adaptor.nil();
EXTERN979 = (Token) match(input, EXTERN, FOLLOW_EXTERN_in_operator_modifier8716);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
EXTERN979_tree =
adaptor.create(EXTERN979);
adaptor.addChild(root_0, EXTERN979_tree);
}
}
break;
case 4: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1774:4: operator_modifier_unsafe
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_operator_modifier_unsafe_in_operator_modifier8721);
operator_modifier_unsafe980 = operator_modifier_unsafe();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, operator_modifier_unsafe980.getTree());
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "operator_modifier"
public static class operator_declarator_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "operator_declarator"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1783:1: operator_declarator : ( ( unary_operator_declarator )=> unary_operator_declarator | binary_operator_declarator | conversion_operator_declarator );
public final CSharpParser.operator_declarator_return operator_declarator() throws RecognitionException {
CSharpParser.operator_declarator_return retval = new CSharpParser.operator_declarator_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.unary_operator_declarator_return unary_operator_declarator981 = null;
CSharpParser.binary_operator_declarator_return binary_operator_declarator982 = null;
CSharpParser.conversion_operator_declarator_return conversion_operator_declarator983 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1784:3: ( ( unary_operator_declarator )=> unary_operator_declarator | binary_operator_declarator | conversion_operator_declarator )
int alt223 = 3;
switch (input.LA(1)) {
case BYTE:
case CHAR:
case INT:
case LONG:
case SBYTE:
case SHORT:
case UINT:
case ULONG:
case USHORT: {
int LA223_1 = input.LA(2);
if ((synpred26_CSharpParser())) {
alt223 = 1;
} else if ((true)) {
alt223 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 223, 1, input);
throw nvae;
}
}
break;
case DOUBLE:
case FLOAT: {
int LA223_2 = input.LA(2);
if ((synpred26_CSharpParser())) {
alt223 = 1;
} else if ((true)) {
alt223 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 223, 2, input);
throw nvae;
}
}
break;
case DECIMAL: {
int LA223_3 = input.LA(2);
if ((synpred26_CSharpParser())) {
alt223 = 1;
} else if ((true)) {
alt223 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 223, 3, input);
throw nvae;
}
}
break;
case BOOL: {
int LA223_4 = input.LA(2);
if ((synpred26_CSharpParser())) {
alt223 = 1;
} else if ((true)) {
alt223 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 223, 4, input);
throw nvae;
}
}
break;
case IDENTIFIER: {
int LA223_5 = input.LA(2);
if ((synpred26_CSharpParser())) {
alt223 = 1;
} else if ((true)) {
alt223 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 223, 5, input);
throw nvae;
}
}
break;
case OBJECT: {
int LA223_6 = input.LA(2);
if ((synpred26_CSharpParser())) {
alt223 = 1;
} else if ((true)) {
alt223 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 223, 6, input);
throw nvae;
}
}
break;
case STRING: {
int LA223_7 = input.LA(2);
if ((synpred26_CSharpParser())) {
alt223 = 1;
} else if ((true)) {
alt223 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 223, 7, input);
throw nvae;
}
}
break;
case VOID: {
int LA223_8 = input.LA(2);
if ((synpred26_CSharpParser())) {
alt223 = 1;
} else if ((true)) {
alt223 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 223, 8, input);
throw nvae;
}
}
break;
case EXPLICIT:
case IMPLICIT: {
alt223 = 3;
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 223, 0, input);
throw nvae;
}
switch (alt223) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1784:5: ( unary_operator_declarator )=> unary_operator_declarator
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_unary_operator_declarator_in_operator_declarator8741);
unary_operator_declarator981 = unary_operator_declarator();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, unary_operator_declarator981.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1785:5: binary_operator_declarator
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_binary_operator_declarator_in_operator_declarator8747);
binary_operator_declarator982 = binary_operator_declarator();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, binary_operator_declarator982.getTree());
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1786:5: conversion_operator_declarator
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_conversion_operator_declarator_in_operator_declarator8753);
conversion_operator_declarator983 = conversion_operator_declarator();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, conversion_operator_declarator983.getTree());
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "operator_declarator"
public static class unary_operator_declarator_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "unary_operator_declarator"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1788:1: unary_operator_declarator : type OPERATOR overloadable_unary_operator OPEN_PARENS type IDENTIFIER CLOSE_PARENS ;
public final CSharpParser.unary_operator_declarator_return unary_operator_declarator() throws RecognitionException {
CSharpParser.unary_operator_declarator_return retval = new CSharpParser.unary_operator_declarator_return();
retval.start = input.LT(1);
Object root_0 = null;
Token OPERATOR985 = null;
Token OPEN_PARENS987 = null;
Token IDENTIFIER989 = null;
Token CLOSE_PARENS990 = null;
CSharpParser.type_return type984 = null;
CSharpParser.overloadable_unary_operator_return overloadable_unary_operator986 = null;
CSharpParser.type_return type988 = null;
Object OPERATOR985_tree = null;
Object OPEN_PARENS987_tree = null;
Object IDENTIFIER989_tree = null;
Object CLOSE_PARENS990_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1789:2: ( type OPERATOR overloadable_unary_operator OPEN_PARENS type IDENTIFIER CLOSE_PARENS )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1789:4: type OPERATOR overloadable_unary_operator OPEN_PARENS type IDENTIFIER CLOSE_PARENS
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_type_in_unary_operator_declarator8765);
type984 = type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type984.getTree());
}
OPERATOR985 = (Token) match(input, OPERATOR, FOLLOW_OPERATOR_in_unary_operator_declarator8767);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPERATOR985_tree =
adaptor.create(OPERATOR985);
adaptor.addChild(root_0, OPERATOR985_tree);
}
pushFollow(FOLLOW_overloadable_unary_operator_in_unary_operator_declarator8769);
overloadable_unary_operator986 = overloadable_unary_operator();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, overloadable_unary_operator986.getTree());
}
OPEN_PARENS987 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_unary_operator_declarator8771);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_PARENS987_tree =
adaptor.create(OPEN_PARENS987);
adaptor.addChild(root_0, OPEN_PARENS987_tree);
}
pushFollow(FOLLOW_type_in_unary_operator_declarator8773);
type988 = type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type988.getTree());
}
IDENTIFIER989 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_unary_operator_declarator8775);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER989_tree =
adaptor.create(IDENTIFIER989);
adaptor.addChild(root_0, IDENTIFIER989_tree);
}
CLOSE_PARENS990 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_unary_operator_declarator8777);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_PARENS990_tree =
adaptor.create(CLOSE_PARENS990);
adaptor.addChild(root_0, CLOSE_PARENS990_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "unary_operator_declarator"
public static class overloadable_unary_operator_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "overloadable_unary_operator"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1791:1: overloadable_unary_operator : ( PLUS | MINUS | BANG | TILDE | OP_INC | OP_DEC | TRUE | FALSE );
public final CSharpParser.overloadable_unary_operator_return overloadable_unary_operator() throws RecognitionException {
CSharpParser.overloadable_unary_operator_return retval = new CSharpParser.overloadable_unary_operator_return();
retval.start = input.LT(1);
Object root_0 = null;
Token set991 = null;
Object set991_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1792:2: ( PLUS | MINUS | BANG | TILDE | OP_INC | OP_DEC | TRUE | FALSE )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:
{
root_0 = adaptor.nil();
set991 = input.LT(1);
if (input.LA(1) == BANG || input.LA(1) == FALSE || input.LA(1) == MINUS || input.LA(1) == OP_DEC || input.LA(1) == OP_INC || input.LA(1) == PLUS || (input.LA(1) >= TILDE && input.LA(1) <= TRUE)) {
input.consume();
if (state.backtracking == 0) {
adaptor.addChild(root_0,
adaptor.create(set991));
}
state.errorRecovery = false;
state.failed = false;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
MismatchedSetException mse = new MismatchedSetException(null, input);
throw mse;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "overloadable_unary_operator"
public static class binary_operator_declarator_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "binary_operator_declarator"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1801:1: binary_operator_declarator : type OPERATOR overloadable_binary_operator OPEN_PARENS type IDENTIFIER COMMA type IDENTIFIER CLOSE_PARENS ;
public final CSharpParser.binary_operator_declarator_return binary_operator_declarator() throws RecognitionException {
CSharpParser.binary_operator_declarator_return retval = new CSharpParser.binary_operator_declarator_return();
retval.start = input.LT(1);
Object root_0 = null;
Token OPERATOR993 = null;
Token OPEN_PARENS995 = null;
Token IDENTIFIER997 = null;
Token COMMA998 = null;
Token IDENTIFIER1000 = null;
Token CLOSE_PARENS1001 = null;
CSharpParser.type_return type992 = null;
CSharpParser.overloadable_binary_operator_return overloadable_binary_operator994 = null;
CSharpParser.type_return type996 = null;
CSharpParser.type_return type999 = null;
Object OPERATOR993_tree = null;
Object OPEN_PARENS995_tree = null;
Object IDENTIFIER997_tree = null;
Object COMMA998_tree = null;
Object IDENTIFIER1000_tree = null;
Object CLOSE_PARENS1001_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1802:2: ( type OPERATOR overloadable_binary_operator OPEN_PARENS type IDENTIFIER COMMA type IDENTIFIER CLOSE_PARENS )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1802:4: type OPERATOR overloadable_binary_operator OPEN_PARENS type IDENTIFIER COMMA type IDENTIFIER CLOSE_PARENS
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_type_in_binary_operator_declarator8834);
type992 = type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type992.getTree());
}
OPERATOR993 = (Token) match(input, OPERATOR, FOLLOW_OPERATOR_in_binary_operator_declarator8836);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPERATOR993_tree =
adaptor.create(OPERATOR993);
adaptor.addChild(root_0, OPERATOR993_tree);
}
pushFollow(FOLLOW_overloadable_binary_operator_in_binary_operator_declarator8838);
overloadable_binary_operator994 = overloadable_binary_operator();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, overloadable_binary_operator994.getTree());
}
OPEN_PARENS995 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_binary_operator_declarator8840);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_PARENS995_tree =
adaptor.create(OPEN_PARENS995);
adaptor.addChild(root_0, OPEN_PARENS995_tree);
}
pushFollow(FOLLOW_type_in_binary_operator_declarator8842);
type996 = type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type996.getTree());
}
IDENTIFIER997 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_binary_operator_declarator8844);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER997_tree =
adaptor.create(IDENTIFIER997);
adaptor.addChild(root_0, IDENTIFIER997_tree);
}
COMMA998 = (Token) match(input, COMMA, FOLLOW_COMMA_in_binary_operator_declarator8846);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
COMMA998_tree =
adaptor.create(COMMA998);
adaptor.addChild(root_0, COMMA998_tree);
}
pushFollow(FOLLOW_type_in_binary_operator_declarator8848);
type999 = type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type999.getTree());
}
IDENTIFIER1000 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_binary_operator_declarator8850);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1000_tree =
adaptor.create(IDENTIFIER1000);
adaptor.addChild(root_0, IDENTIFIER1000_tree);
}
CLOSE_PARENS1001 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_binary_operator_declarator8852);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_PARENS1001_tree =
adaptor.create(CLOSE_PARENS1001);
adaptor.addChild(root_0, CLOSE_PARENS1001_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "binary_operator_declarator"
public static class overloadable_binary_operator_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "overloadable_binary_operator"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1804:1: overloadable_binary_operator : ( PLUS | MINUS | STAR | DIV | PERCENT | AMP | BITWISE_OR | CARET | OP_LEFT_SHIFT | right_shift | OP_EQ | OP_NE | GT | LT | OP_GE | OP_LE );
public final CSharpParser.overloadable_binary_operator_return overloadable_binary_operator() throws RecognitionException {
CSharpParser.overloadable_binary_operator_return retval = new CSharpParser.overloadable_binary_operator_return();
retval.start = input.LT(1);
Object root_0 = null;
Token PLUS1002 = null;
Token MINUS1003 = null;
Token STAR1004 = null;
Token DIV1005 = null;
Token PERCENT1006 = null;
Token AMP1007 = null;
Token BITWISE_OR1008 = null;
Token CARET1009 = null;
Token OP_LEFT_SHIFT1010 = null;
Token OP_EQ1012 = null;
Token OP_NE1013 = null;
Token GT1014 = null;
Token LT1015 = null;
Token OP_GE1016 = null;
Token OP_LE1017 = null;
CSharpParser.right_shift_return right_shift1011 = null;
Object PLUS1002_tree = null;
Object MINUS1003_tree = null;
Object STAR1004_tree = null;
Object DIV1005_tree = null;
Object PERCENT1006_tree = null;
Object AMP1007_tree = null;
Object BITWISE_OR1008_tree = null;
Object CARET1009_tree = null;
Object OP_LEFT_SHIFT1010_tree = null;
Object OP_EQ1012_tree = null;
Object OP_NE1013_tree = null;
Object GT1014_tree = null;
Object LT1015_tree = null;
Object OP_GE1016_tree = null;
Object OP_LE1017_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1805:2: ( PLUS | MINUS | STAR | DIV | PERCENT | AMP | BITWISE_OR | CARET | OP_LEFT_SHIFT | right_shift | OP_EQ | OP_NE | GT | LT | OP_GE | OP_LE )
int alt224 = 16;
switch (input.LA(1)) {
case PLUS: {
alt224 = 1;
}
break;
case MINUS: {
alt224 = 2;
}
break;
case STAR: {
alt224 = 3;
}
break;
case DIV: {
alt224 = 4;
}
break;
case PERCENT: {
alt224 = 5;
}
break;
case AMP: {
alt224 = 6;
}
break;
case BITWISE_OR: {
alt224 = 7;
}
break;
case CARET: {
alt224 = 8;
}
break;
case OP_LEFT_SHIFT: {
alt224 = 9;
}
break;
case GT: {
int LA224_10 = input.LA(2);
if ((LA224_10 == GT)) {
alt224 = 10;
} else if ((LA224_10 == OPEN_PARENS)) {
alt224 = 13;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 224, 10, input);
throw nvae;
}
}
break;
case OP_EQ: {
alt224 = 11;
}
break;
case OP_NE: {
alt224 = 12;
}
break;
case LT: {
alt224 = 14;
}
break;
case OP_GE: {
alt224 = 15;
}
break;
case OP_LE: {
alt224 = 16;
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 224, 0, input);
throw nvae;
}
switch (alt224) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1805:4: PLUS
{
root_0 = adaptor.nil();
PLUS1002 = (Token) match(input, PLUS, FOLLOW_PLUS_in_overloadable_binary_operator8863);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PLUS1002_tree =
adaptor.create(PLUS1002);
adaptor.addChild(root_0, PLUS1002_tree);
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1806:4: MINUS
{
root_0 = adaptor.nil();
MINUS1003 = (Token) match(input, MINUS, FOLLOW_MINUS_in_overloadable_binary_operator8868);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
MINUS1003_tree =
adaptor.create(MINUS1003);
adaptor.addChild(root_0, MINUS1003_tree);
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1807:4: STAR
{
root_0 = adaptor.nil();
STAR1004 = (Token) match(input, STAR, FOLLOW_STAR_in_overloadable_binary_operator8873);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
STAR1004_tree =
adaptor.create(STAR1004);
adaptor.addChild(root_0, STAR1004_tree);
}
}
break;
case 4: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1808:4: DIV
{
root_0 = adaptor.nil();
DIV1005 = (Token) match(input, DIV, FOLLOW_DIV_in_overloadable_binary_operator8878);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
DIV1005_tree =
adaptor.create(DIV1005);
adaptor.addChild(root_0, DIV1005_tree);
}
}
break;
case 5: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1809:4: PERCENT
{
root_0 = adaptor.nil();
PERCENT1006 = (Token) match(input, PERCENT, FOLLOW_PERCENT_in_overloadable_binary_operator8883);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PERCENT1006_tree =
adaptor.create(PERCENT1006);
adaptor.addChild(root_0, PERCENT1006_tree);
}
}
break;
case 6: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1810:4: AMP
{
root_0 = adaptor.nil();
AMP1007 = (Token) match(input, AMP, FOLLOW_AMP_in_overloadable_binary_operator8888);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
AMP1007_tree =
adaptor.create(AMP1007);
adaptor.addChild(root_0, AMP1007_tree);
}
}
break;
case 7: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1811:4: BITWISE_OR
{
root_0 = adaptor.nil();
BITWISE_OR1008 = (Token) match(input, BITWISE_OR, FOLLOW_BITWISE_OR_in_overloadable_binary_operator8893);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
BITWISE_OR1008_tree =
adaptor.create(BITWISE_OR1008);
adaptor.addChild(root_0, BITWISE_OR1008_tree);
}
}
break;
case 8: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1812:4: CARET
{
root_0 = adaptor.nil();
CARET1009 = (Token) match(input, CARET, FOLLOW_CARET_in_overloadable_binary_operator8898);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CARET1009_tree =
adaptor.create(CARET1009);
adaptor.addChild(root_0, CARET1009_tree);
}
}
break;
case 9: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1813:4: OP_LEFT_SHIFT
{
root_0 = adaptor.nil();
OP_LEFT_SHIFT1010 = (Token) match(input, OP_LEFT_SHIFT, FOLLOW_OP_LEFT_SHIFT_in_overloadable_binary_operator8903);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OP_LEFT_SHIFT1010_tree =
adaptor.create(OP_LEFT_SHIFT1010);
adaptor.addChild(root_0, OP_LEFT_SHIFT1010_tree);
}
}
break;
case 10: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1814:4: right_shift
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_right_shift_in_overloadable_binary_operator8908);
right_shift1011 = right_shift();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, right_shift1011.getTree());
}
}
break;
case 11: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1815:4: OP_EQ
{
root_0 = adaptor.nil();
OP_EQ1012 = (Token) match(input, OP_EQ, FOLLOW_OP_EQ_in_overloadable_binary_operator8913);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OP_EQ1012_tree =
adaptor.create(OP_EQ1012);
adaptor.addChild(root_0, OP_EQ1012_tree);
}
}
break;
case 12: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1816:4: OP_NE
{
root_0 = adaptor.nil();
OP_NE1013 = (Token) match(input, OP_NE, FOLLOW_OP_NE_in_overloadable_binary_operator8918);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OP_NE1013_tree =
adaptor.create(OP_NE1013);
adaptor.addChild(root_0, OP_NE1013_tree);
}
}
break;
case 13: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1817:4: GT
{
root_0 = adaptor.nil();
GT1014 = (Token) match(input, GT, FOLLOW_GT_in_overloadable_binary_operator8923);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
GT1014_tree =
adaptor.create(GT1014);
adaptor.addChild(root_0, GT1014_tree);
}
}
break;
case 14: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1818:4: LT
{
root_0 = adaptor.nil();
LT1015 = (Token) match(input, LT, FOLLOW_LT_in_overloadable_binary_operator8928);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
LT1015_tree =
adaptor.create(LT1015);
adaptor.addChild(root_0, LT1015_tree);
}
}
break;
case 15: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1819:4: OP_GE
{
root_0 = adaptor.nil();
OP_GE1016 = (Token) match(input, OP_GE, FOLLOW_OP_GE_in_overloadable_binary_operator8933);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OP_GE1016_tree =
adaptor.create(OP_GE1016);
adaptor.addChild(root_0, OP_GE1016_tree);
}
}
break;
case 16: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1820:4: OP_LE
{
root_0 = adaptor.nil();
OP_LE1017 = (Token) match(input, OP_LE, FOLLOW_OP_LE_in_overloadable_binary_operator8938);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OP_LE1017_tree =
adaptor.create(OP_LE1017);
adaptor.addChild(root_0, OP_LE1017_tree);
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "overloadable_binary_operator"
public static class overloadable_operator_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "overloadable_operator"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1824:1: overloadable_operator : ( PLUS | MINUS | BANG | TILDE | OP_INC | OP_DEC | TRUE | FALSE | STAR | DIV | PERCENT | AMP | BITWISE_OR | CARET | OP_LEFT_SHIFT | right_shift | OP_EQ | OP_NE | GT | LT | OP_GE | OP_LE );
public final CSharpParser.overloadable_operator_return overloadable_operator() throws RecognitionException {
CSharpParser.overloadable_operator_return retval = new CSharpParser.overloadable_operator_return();
retval.start = input.LT(1);
Object root_0 = null;
Token PLUS1018 = null;
Token MINUS1019 = null;
Token BANG1020 = null;
Token TILDE1021 = null;
Token OP_INC1022 = null;
Token OP_DEC1023 = null;
Token TRUE1024 = null;
Token FALSE1025 = null;
Token STAR1026 = null;
Token DIV1027 = null;
Token PERCENT1028 = null;
Token AMP1029 = null;
Token BITWISE_OR1030 = null;
Token CARET1031 = null;
Token OP_LEFT_SHIFT1032 = null;
Token OP_EQ1034 = null;
Token OP_NE1035 = null;
Token GT1036 = null;
Token LT1037 = null;
Token OP_GE1038 = null;
Token OP_LE1039 = null;
CSharpParser.right_shift_return right_shift1033 = null;
Object PLUS1018_tree = null;
Object MINUS1019_tree = null;
Object BANG1020_tree = null;
Object TILDE1021_tree = null;
Object OP_INC1022_tree = null;
Object OP_DEC1023_tree = null;
Object TRUE1024_tree = null;
Object FALSE1025_tree = null;
Object STAR1026_tree = null;
Object DIV1027_tree = null;
Object PERCENT1028_tree = null;
Object AMP1029_tree = null;
Object BITWISE_OR1030_tree = null;
Object CARET1031_tree = null;
Object OP_LEFT_SHIFT1032_tree = null;
Object OP_EQ1034_tree = null;
Object OP_NE1035_tree = null;
Object GT1036_tree = null;
Object LT1037_tree = null;
Object OP_GE1038_tree = null;
Object OP_LE1039_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1825:3: ( PLUS | MINUS | BANG | TILDE | OP_INC | OP_DEC | TRUE | FALSE | STAR | DIV | PERCENT | AMP | BITWISE_OR | CARET | OP_LEFT_SHIFT | right_shift | OP_EQ | OP_NE | GT | LT | OP_GE | OP_LE )
int alt225 = 22;
switch (input.LA(1)) {
case PLUS: {
alt225 = 1;
}
break;
case MINUS: {
alt225 = 2;
}
break;
case BANG: {
alt225 = 3;
}
break;
case TILDE: {
alt225 = 4;
}
break;
case OP_INC: {
alt225 = 5;
}
break;
case OP_DEC: {
alt225 = 6;
}
break;
case TRUE: {
alt225 = 7;
}
break;
case FALSE: {
alt225 = 8;
}
break;
case STAR: {
alt225 = 9;
}
break;
case DIV: {
alt225 = 10;
}
break;
case PERCENT: {
alt225 = 11;
}
break;
case AMP: {
alt225 = 12;
}
break;
case BITWISE_OR: {
alt225 = 13;
}
break;
case CARET: {
alt225 = 14;
}
break;
case OP_LEFT_SHIFT: {
alt225 = 15;
}
break;
case GT: {
int LA225_16 = input.LA(2);
if ((LA225_16 == GT)) {
alt225 = 16;
} else if ((LA225_16 == OPEN_PARENS)) {
alt225 = 19;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 225, 16, input);
throw nvae;
}
}
break;
case OP_EQ: {
alt225 = 17;
}
break;
case OP_NE: {
alt225 = 18;
}
break;
case LT: {
alt225 = 20;
}
break;
case OP_GE: {
alt225 = 21;
}
break;
case OP_LE: {
alt225 = 22;
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 225, 0, input);
throw nvae;
}
switch (alt225) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1825:5: PLUS
{
root_0 = adaptor.nil();
PLUS1018 = (Token) match(input, PLUS, FOLLOW_PLUS_in_overloadable_operator8952);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PLUS1018_tree =
adaptor.create(PLUS1018);
adaptor.addChild(root_0, PLUS1018_tree);
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1826:5: MINUS
{
root_0 = adaptor.nil();
MINUS1019 = (Token) match(input, MINUS, FOLLOW_MINUS_in_overloadable_operator8958);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
MINUS1019_tree =
adaptor.create(MINUS1019);
adaptor.addChild(root_0, MINUS1019_tree);
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1827:5: BANG
{
root_0 = adaptor.nil();
BANG1020 = (Token) match(input, BANG, FOLLOW_BANG_in_overloadable_operator8964);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
BANG1020_tree =
adaptor.create(BANG1020);
adaptor.addChild(root_0, BANG1020_tree);
}
}
break;
case 4: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1828:5: TILDE
{
root_0 = adaptor.nil();
TILDE1021 = (Token) match(input, TILDE, FOLLOW_TILDE_in_overloadable_operator8970);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
TILDE1021_tree =
adaptor.create(TILDE1021);
adaptor.addChild(root_0, TILDE1021_tree);
}
}
break;
case 5: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1829:5: OP_INC
{
root_0 = adaptor.nil();
OP_INC1022 = (Token) match(input, OP_INC, FOLLOW_OP_INC_in_overloadable_operator8976);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OP_INC1022_tree =
adaptor.create(OP_INC1022);
adaptor.addChild(root_0, OP_INC1022_tree);
}
}
break;
case 6: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1830:5: OP_DEC
{
root_0 = adaptor.nil();
OP_DEC1023 = (Token) match(input, OP_DEC, FOLLOW_OP_DEC_in_overloadable_operator8982);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OP_DEC1023_tree =
adaptor.create(OP_DEC1023);
adaptor.addChild(root_0, OP_DEC1023_tree);
}
}
break;
case 7: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1831:5: TRUE
{
root_0 = adaptor.nil();
TRUE1024 = (Token) match(input, TRUE, FOLLOW_TRUE_in_overloadable_operator8988);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
TRUE1024_tree =
adaptor.create(TRUE1024);
adaptor.addChild(root_0, TRUE1024_tree);
}
}
break;
case 8: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1832:5: FALSE
{
root_0 = adaptor.nil();
FALSE1025 = (Token) match(input, FALSE, FOLLOW_FALSE_in_overloadable_operator8994);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
FALSE1025_tree =
adaptor.create(FALSE1025);
adaptor.addChild(root_0, FALSE1025_tree);
}
}
break;
case 9: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1833:5: STAR
{
root_0 = adaptor.nil();
STAR1026 = (Token) match(input, STAR, FOLLOW_STAR_in_overloadable_operator9000);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
STAR1026_tree =
adaptor.create(STAR1026);
adaptor.addChild(root_0, STAR1026_tree);
}
}
break;
case 10: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1834:5: DIV
{
root_0 = adaptor.nil();
DIV1027 = (Token) match(input, DIV, FOLLOW_DIV_in_overloadable_operator9006);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
DIV1027_tree =
adaptor.create(DIV1027);
adaptor.addChild(root_0, DIV1027_tree);
}
}
break;
case 11: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1835:5: PERCENT
{
root_0 = adaptor.nil();
PERCENT1028 = (Token) match(input, PERCENT, FOLLOW_PERCENT_in_overloadable_operator9012);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PERCENT1028_tree =
adaptor.create(PERCENT1028);
adaptor.addChild(root_0, PERCENT1028_tree);
}
}
break;
case 12: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1836:5: AMP
{
root_0 = adaptor.nil();
AMP1029 = (Token) match(input, AMP, FOLLOW_AMP_in_overloadable_operator9018);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
AMP1029_tree =
adaptor.create(AMP1029);
adaptor.addChild(root_0, AMP1029_tree);
}
}
break;
case 13: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1837:5: BITWISE_OR
{
root_0 = adaptor.nil();
BITWISE_OR1030 = (Token) match(input, BITWISE_OR, FOLLOW_BITWISE_OR_in_overloadable_operator9024);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
BITWISE_OR1030_tree =
adaptor.create(BITWISE_OR1030);
adaptor.addChild(root_0, BITWISE_OR1030_tree);
}
}
break;
case 14: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1838:5: CARET
{
root_0 = adaptor.nil();
CARET1031 = (Token) match(input, CARET, FOLLOW_CARET_in_overloadable_operator9030);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CARET1031_tree =
adaptor.create(CARET1031);
adaptor.addChild(root_0, CARET1031_tree);
}
}
break;
case 15: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1839:5: OP_LEFT_SHIFT
{
root_0 = adaptor.nil();
OP_LEFT_SHIFT1032 = (Token) match(input, OP_LEFT_SHIFT, FOLLOW_OP_LEFT_SHIFT_in_overloadable_operator9036);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OP_LEFT_SHIFT1032_tree =
adaptor.create(OP_LEFT_SHIFT1032);
adaptor.addChild(root_0, OP_LEFT_SHIFT1032_tree);
}
}
break;
case 16: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1840:5: right_shift
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_right_shift_in_overloadable_operator9042);
right_shift1033 = right_shift();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, right_shift1033.getTree());
}
}
break;
case 17: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1841:5: OP_EQ
{
root_0 = adaptor.nil();
OP_EQ1034 = (Token) match(input, OP_EQ, FOLLOW_OP_EQ_in_overloadable_operator9048);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OP_EQ1034_tree =
adaptor.create(OP_EQ1034);
adaptor.addChild(root_0, OP_EQ1034_tree);
}
}
break;
case 18: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1842:5: OP_NE
{
root_0 = adaptor.nil();
OP_NE1035 = (Token) match(input, OP_NE, FOLLOW_OP_NE_in_overloadable_operator9054);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OP_NE1035_tree =
adaptor.create(OP_NE1035);
adaptor.addChild(root_0, OP_NE1035_tree);
}
}
break;
case 19: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1843:5: GT
{
root_0 = adaptor.nil();
GT1036 = (Token) match(input, GT, FOLLOW_GT_in_overloadable_operator9060);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
GT1036_tree =
adaptor.create(GT1036);
adaptor.addChild(root_0, GT1036_tree);
}
}
break;
case 20: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1844:5: LT
{
root_0 = adaptor.nil();
LT1037 = (Token) match(input, LT, FOLLOW_LT_in_overloadable_operator9066);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
LT1037_tree =
adaptor.create(LT1037);
adaptor.addChild(root_0, LT1037_tree);
}
}
break;
case 21: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1845:5: OP_GE
{
root_0 = adaptor.nil();
OP_GE1038 = (Token) match(input, OP_GE, FOLLOW_OP_GE_in_overloadable_operator9072);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OP_GE1038_tree =
adaptor.create(OP_GE1038);
adaptor.addChild(root_0, OP_GE1038_tree);
}
}
break;
case 22: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1846:5: OP_LE
{
root_0 = adaptor.nil();
OP_LE1039 = (Token) match(input, OP_LE, FOLLOW_OP_LE_in_overloadable_operator9078);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OP_LE1039_tree =
adaptor.create(OP_LE1039);
adaptor.addChild(root_0, OP_LE1039_tree);
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "overloadable_operator"
public static class conversion_operator_declarator_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "conversion_operator_declarator"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1849:1: conversion_operator_declarator : ( IMPLICIT ^ OPERATOR type OPEN_PARENS type IDENTIFIER CLOSE_PARENS | EXPLICIT ^ OPERATOR type OPEN_PARENS type IDENTIFIER CLOSE_PARENS );
public final CSharpParser.conversion_operator_declarator_return conversion_operator_declarator() throws RecognitionException {
CSharpParser.conversion_operator_declarator_return retval = new CSharpParser.conversion_operator_declarator_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IMPLICIT1040 = null;
Token OPERATOR1041 = null;
Token OPEN_PARENS1043 = null;
Token IDENTIFIER1045 = null;
Token CLOSE_PARENS1046 = null;
Token EXPLICIT1047 = null;
Token OPERATOR1048 = null;
Token OPEN_PARENS1050 = null;
Token IDENTIFIER1052 = null;
Token CLOSE_PARENS1053 = null;
CSharpParser.type_return type1042 = null;
CSharpParser.type_return type1044 = null;
CSharpParser.type_return type1049 = null;
CSharpParser.type_return type1051 = null;
Object IMPLICIT1040_tree = null;
Object OPERATOR1041_tree = null;
Object OPEN_PARENS1043_tree = null;
Object IDENTIFIER1045_tree = null;
Object CLOSE_PARENS1046_tree = null;
Object EXPLICIT1047_tree = null;
Object OPERATOR1048_tree = null;
Object OPEN_PARENS1050_tree = null;
Object IDENTIFIER1052_tree = null;
Object CLOSE_PARENS1053_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1850:2: ( IMPLICIT ^ OPERATOR type OPEN_PARENS type IDENTIFIER CLOSE_PARENS | EXPLICIT ^ OPERATOR type OPEN_PARENS type IDENTIFIER CLOSE_PARENS )
int alt226 = 2;
int LA226_0 = input.LA(1);
if ((LA226_0 == IMPLICIT)) {
alt226 = 1;
} else if ((LA226_0 == EXPLICIT)) {
alt226 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 226, 0, input);
throw nvae;
}
switch (alt226) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1850:4: IMPLICIT ^ OPERATOR type OPEN_PARENS type IDENTIFIER CLOSE_PARENS
{
root_0 = adaptor.nil();
IMPLICIT1040 = (Token) match(input, IMPLICIT, FOLLOW_IMPLICIT_in_conversion_operator_declarator9091);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IMPLICIT1040_tree =
adaptor.create(IMPLICIT1040);
root_0 = adaptor.becomeRoot(IMPLICIT1040_tree, root_0);
}
OPERATOR1041 = (Token) match(input, OPERATOR, FOLLOW_OPERATOR_in_conversion_operator_declarator9094);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPERATOR1041_tree =
adaptor.create(OPERATOR1041);
adaptor.addChild(root_0, OPERATOR1041_tree);
}
pushFollow(FOLLOW_type_in_conversion_operator_declarator9096);
type1042 = type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type1042.getTree());
}
OPEN_PARENS1043 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_conversion_operator_declarator9098);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_PARENS1043_tree =
adaptor.create(OPEN_PARENS1043);
adaptor.addChild(root_0, OPEN_PARENS1043_tree);
}
pushFollow(FOLLOW_type_in_conversion_operator_declarator9100);
type1044 = type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type1044.getTree());
}
IDENTIFIER1045 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_conversion_operator_declarator9102);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1045_tree =
adaptor.create(IDENTIFIER1045);
adaptor.addChild(root_0, IDENTIFIER1045_tree);
}
CLOSE_PARENS1046 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_conversion_operator_declarator9104);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_PARENS1046_tree =
adaptor.create(CLOSE_PARENS1046);
adaptor.addChild(root_0, CLOSE_PARENS1046_tree);
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1851:4: EXPLICIT ^ OPERATOR type OPEN_PARENS type IDENTIFIER CLOSE_PARENS
{
root_0 = adaptor.nil();
EXPLICIT1047 = (Token) match(input, EXPLICIT, FOLLOW_EXPLICIT_in_conversion_operator_declarator9109);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
EXPLICIT1047_tree =
adaptor.create(EXPLICIT1047);
root_0 = adaptor.becomeRoot(EXPLICIT1047_tree, root_0);
}
OPERATOR1048 = (Token) match(input, OPERATOR, FOLLOW_OPERATOR_in_conversion_operator_declarator9112);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPERATOR1048_tree =
adaptor.create(OPERATOR1048);
adaptor.addChild(root_0, OPERATOR1048_tree);
}
pushFollow(FOLLOW_type_in_conversion_operator_declarator9114);
type1049 = type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type1049.getTree());
}
OPEN_PARENS1050 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_conversion_operator_declarator9116);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_PARENS1050_tree =
adaptor.create(OPEN_PARENS1050);
adaptor.addChild(root_0, OPEN_PARENS1050_tree);
}
pushFollow(FOLLOW_type_in_conversion_operator_declarator9118);
type1051 = type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type1051.getTree());
}
IDENTIFIER1052 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_conversion_operator_declarator9120);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1052_tree =
adaptor.create(IDENTIFIER1052);
adaptor.addChild(root_0, IDENTIFIER1052_tree);
}
CLOSE_PARENS1053 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_conversion_operator_declarator9122);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_PARENS1053_tree =
adaptor.create(CLOSE_PARENS1053);
adaptor.addChild(root_0, CLOSE_PARENS1053_tree);
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "conversion_operator_declarator"
public static class operator_body_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "operator_body"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1853:1: operator_body : ( block | SEMICOLON );
public final CSharpParser.operator_body_return operator_body() throws RecognitionException {
CSharpParser.operator_body_return retval = new CSharpParser.operator_body_return();
retval.start = input.LT(1);
Object root_0 = null;
Token SEMICOLON1055 = null;
CSharpParser.block_return block1054 = null;
Object SEMICOLON1055_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1854:2: ( block | SEMICOLON )
int alt227 = 2;
int LA227_0 = input.LA(1);
if ((LA227_0 == OPEN_BRACE)) {
alt227 = 1;
} else if ((LA227_0 == SEMICOLON)) {
alt227 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 227, 0, input);
throw nvae;
}
switch (alt227) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1854:4: block
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_block_in_operator_body9133);
block1054 = block();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, block1054.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1855:4: SEMICOLON
{
root_0 = adaptor.nil();
SEMICOLON1055 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_operator_body9138);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
SEMICOLON1055_tree =
adaptor.create(SEMICOLON1055);
adaptor.addChild(root_0, SEMICOLON1055_tree);
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "operator_body"
public static class constructor_declaration_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "constructor_declaration"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1857:1: constructor_declaration : ( attributes )? ( constructor_modifiers )? constructor_declarator constructor_body ;
public final CSharpParser.constructor_declaration_return constructor_declaration() throws RecognitionException {
CSharpParser.constructor_declaration_return retval = new CSharpParser.constructor_declaration_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.attributes_return attributes1056 = null;
CSharpParser.constructor_modifiers_return constructor_modifiers1057 = null;
CSharpParser.constructor_declarator_return constructor_declarator1058 = null;
CSharpParser.constructor_body_return constructor_body1059 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1858:2: ( ( attributes )? ( constructor_modifiers )? constructor_declarator constructor_body )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1858:4: ( attributes )? ( constructor_modifiers )? constructor_declarator constructor_body
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1858:4: ( attributes )?
int alt228 = 2;
int LA228_0 = input.LA(1);
if ((LA228_0 == OPEN_BRACKET)) {
alt228 = 1;
}
switch (alt228) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1858:4: attributes
{
pushFollow(FOLLOW_attributes_in_constructor_declaration9149);
attributes1056 = attributes();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, attributes1056.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1858:16: ( constructor_modifiers )?
int alt229 = 2;
int LA229_0 = input.LA(1);
if ((LA229_0 == EXTERN || LA229_0 == INTERNAL || (LA229_0 >= PRIVATE && LA229_0 <= PUBLIC) || LA229_0 == UNSAFE)) {
alt229 = 1;
}
switch (alt229) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1858:16: constructor_modifiers
{
pushFollow(FOLLOW_constructor_modifiers_in_constructor_declaration9152);
constructor_modifiers1057 = constructor_modifiers();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, constructor_modifiers1057.getTree());
}
}
break;
}
pushFollow(FOLLOW_constructor_declarator_in_constructor_declaration9155);
constructor_declarator1058 = constructor_declarator();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, constructor_declarator1058.getTree());
}
pushFollow(FOLLOW_constructor_body_in_constructor_declaration9157);
constructor_body1059 = constructor_body();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, constructor_body1059.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "constructor_declaration"
public static class constructor_modifiers_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "constructor_modifiers"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1860:1: constructor_modifiers : ( constructor_modifier )+ ;
public final CSharpParser.constructor_modifiers_return constructor_modifiers() throws RecognitionException {
CSharpParser.constructor_modifiers_return retval = new CSharpParser.constructor_modifiers_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.constructor_modifier_return constructor_modifier1060 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1861:2: ( ( constructor_modifier )+ )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1861:4: ( constructor_modifier )+
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1861:4: ( constructor_modifier )+
int cnt230 = 0;
loop230:
do {
int alt230 = 2;
int LA230_0 = input.LA(1);
if ((LA230_0 == EXTERN || LA230_0 == INTERNAL || (LA230_0 >= PRIVATE && LA230_0 <= PUBLIC) || LA230_0 == UNSAFE)) {
alt230 = 1;
}
switch (alt230) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1861:4: constructor_modifier
{
pushFollow(FOLLOW_constructor_modifier_in_constructor_modifiers9168);
constructor_modifier1060 = constructor_modifier();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, constructor_modifier1060.getTree());
}
}
break;
default:
if (cnt230 >= 1) {
break loop230;
}
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
EarlyExitException eee =
new EarlyExitException(230, input);
throw eee;
}
cnt230++;
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "constructor_modifiers"
public static class constructor_modifier_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "constructor_modifier"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1863:1: constructor_modifier : ( PUBLIC | PROTECTED | INTERNAL | PRIVATE | EXTERN | constructor_modifier_unsafe );
public final CSharpParser.constructor_modifier_return constructor_modifier() throws RecognitionException {
CSharpParser.constructor_modifier_return retval = new CSharpParser.constructor_modifier_return();
retval.start = input.LT(1);
Object root_0 = null;
Token PUBLIC1061 = null;
Token PROTECTED1062 = null;
Token INTERNAL1063 = null;
Token PRIVATE1064 = null;
Token EXTERN1065 = null;
CSharpParser.constructor_modifier_unsafe_return constructor_modifier_unsafe1066 = null;
Object PUBLIC1061_tree = null;
Object PROTECTED1062_tree = null;
Object INTERNAL1063_tree = null;
Object PRIVATE1064_tree = null;
Object EXTERN1065_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1864:2: ( PUBLIC | PROTECTED | INTERNAL | PRIVATE | EXTERN | constructor_modifier_unsafe )
int alt231 = 6;
switch (input.LA(1)) {
case PUBLIC: {
alt231 = 1;
}
break;
case PROTECTED: {
alt231 = 2;
}
break;
case INTERNAL: {
alt231 = 3;
}
break;
case PRIVATE: {
alt231 = 4;
}
break;
case EXTERN: {
alt231 = 5;
}
break;
case UNSAFE: {
alt231 = 6;
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 231, 0, input);
throw nvae;
}
switch (alt231) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1864:4: PUBLIC
{
root_0 = adaptor.nil();
PUBLIC1061 = (Token) match(input, PUBLIC, FOLLOW_PUBLIC_in_constructor_modifier9180);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PUBLIC1061_tree =
adaptor.create(PUBLIC1061);
adaptor.addChild(root_0, PUBLIC1061_tree);
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1865:4: PROTECTED
{
root_0 = adaptor.nil();
PROTECTED1062 = (Token) match(input, PROTECTED, FOLLOW_PROTECTED_in_constructor_modifier9185);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PROTECTED1062_tree =
adaptor.create(PROTECTED1062);
adaptor.addChild(root_0, PROTECTED1062_tree);
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1866:4: INTERNAL
{
root_0 = adaptor.nil();
INTERNAL1063 = (Token) match(input, INTERNAL, FOLLOW_INTERNAL_in_constructor_modifier9190);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
INTERNAL1063_tree =
adaptor.create(INTERNAL1063);
adaptor.addChild(root_0, INTERNAL1063_tree);
}
}
break;
case 4: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1867:4: PRIVATE
{
root_0 = adaptor.nil();
PRIVATE1064 = (Token) match(input, PRIVATE, FOLLOW_PRIVATE_in_constructor_modifier9195);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PRIVATE1064_tree =
adaptor.create(PRIVATE1064);
adaptor.addChild(root_0, PRIVATE1064_tree);
}
}
break;
case 5: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1868:4: EXTERN
{
root_0 = adaptor.nil();
EXTERN1065 = (Token) match(input, EXTERN, FOLLOW_EXTERN_in_constructor_modifier9200);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
EXTERN1065_tree =
adaptor.create(EXTERN1065);
adaptor.addChild(root_0, EXTERN1065_tree);
}
}
break;
case 6: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1869:4: constructor_modifier_unsafe
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_constructor_modifier_unsafe_in_constructor_modifier9205);
constructor_modifier_unsafe1066 = constructor_modifier_unsafe();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, constructor_modifier_unsafe1066.getTree());
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "constructor_modifier"
public static class constructor_declarator_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "constructor_declarator"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1871:1: constructor_declarator : IDENTIFIER OPEN_PARENS ( formal_parameter_list )? CLOSE_PARENS ( constructor_initializer )? ;
public final CSharpParser.constructor_declarator_return constructor_declarator() throws RecognitionException {
CSharpParser.constructor_declarator_return retval = new CSharpParser.constructor_declarator_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER1067 = null;
Token OPEN_PARENS1068 = null;
Token CLOSE_PARENS1070 = null;
CSharpParser.formal_parameter_list_return formal_parameter_list1069 = null;
CSharpParser.constructor_initializer_return constructor_initializer1071 = null;
Object IDENTIFIER1067_tree = null;
Object OPEN_PARENS1068_tree = null;
Object CLOSE_PARENS1070_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1872:2: ( IDENTIFIER OPEN_PARENS ( formal_parameter_list )? CLOSE_PARENS ( constructor_initializer )? )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1872:4: IDENTIFIER OPEN_PARENS ( formal_parameter_list )? CLOSE_PARENS ( constructor_initializer )?
{
root_0 = adaptor.nil();
IDENTIFIER1067 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_constructor_declarator9216);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1067_tree =
adaptor.create(IDENTIFIER1067);
adaptor.addChild(root_0, IDENTIFIER1067_tree);
}
OPEN_PARENS1068 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_constructor_declarator9218);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_PARENS1068_tree =
adaptor.create(OPEN_PARENS1068);
adaptor.addChild(root_0, OPEN_PARENS1068_tree);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1872:27: ( formal_parameter_list )?
int alt232 = 2;
int LA232_0 = input.LA(1);
if ((LA232_0 == BOOL || LA232_0 == BYTE || LA232_0 == CHAR || LA232_0 == DECIMAL || LA232_0 == DOUBLE || LA232_0 == FLOAT || LA232_0 == IDENTIFIER || LA232_0 == INT || LA232_0 == LONG || LA232_0 == OBJECT || LA232_0 == OPEN_BRACKET || LA232_0 == OUT || LA232_0 == PARAMS || LA232_0 == REF || LA232_0 == SBYTE || LA232_0 == SHORT || LA232_0 == STRING || LA232_0 == THIS || (LA232_0 >= UINT && LA232_0 <= ULONG) || LA232_0 == USHORT || LA232_0 == VOID)) {
alt232 = 1;
}
switch (alt232) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1872:27: formal_parameter_list
{
pushFollow(FOLLOW_formal_parameter_list_in_constructor_declarator9220);
formal_parameter_list1069 = formal_parameter_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, formal_parameter_list1069.getTree());
}
}
break;
}
CLOSE_PARENS1070 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_constructor_declarator9223);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_PARENS1070_tree =
adaptor.create(CLOSE_PARENS1070);
adaptor.addChild(root_0, CLOSE_PARENS1070_tree);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1872:63: ( constructor_initializer )?
int alt233 = 2;
int LA233_0 = input.LA(1);
if ((LA233_0 == COLON)) {
alt233 = 1;
}
switch (alt233) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1872:63: constructor_initializer
{
pushFollow(FOLLOW_constructor_initializer_in_constructor_declarator9225);
constructor_initializer1071 = constructor_initializer();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, constructor_initializer1071.getTree());
}
}
break;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "constructor_declarator"
public static class constructor_initializer_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "constructor_initializer"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1874:1: constructor_initializer : ( COLON BASE OPEN_PARENS ( argument_list )? CLOSE_PARENS | COLON THIS OPEN_PARENS ( argument_list )? CLOSE_PARENS );
public final CSharpParser.constructor_initializer_return constructor_initializer() throws RecognitionException {
CSharpParser.constructor_initializer_return retval = new CSharpParser.constructor_initializer_return();
retval.start = input.LT(1);
Object root_0 = null;
Token COLON1072 = null;
Token BASE1073 = null;
Token OPEN_PARENS1074 = null;
Token CLOSE_PARENS1076 = null;
Token COLON1077 = null;
Token THIS1078 = null;
Token OPEN_PARENS1079 = null;
Token CLOSE_PARENS1081 = null;
CSharpParser.argument_list_return argument_list1075 = null;
CSharpParser.argument_list_return argument_list1080 = null;
Object COLON1072_tree = null;
Object BASE1073_tree = null;
Object OPEN_PARENS1074_tree = null;
Object CLOSE_PARENS1076_tree = null;
Object COLON1077_tree = null;
Object THIS1078_tree = null;
Object OPEN_PARENS1079_tree = null;
Object CLOSE_PARENS1081_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1875:2: ( COLON BASE OPEN_PARENS ( argument_list )? CLOSE_PARENS | COLON THIS OPEN_PARENS ( argument_list )? CLOSE_PARENS )
int alt236 = 2;
int LA236_0 = input.LA(1);
if ((LA236_0 == COLON)) {
int LA236_1 = input.LA(2);
if ((LA236_1 == BASE)) {
alt236 = 1;
} else if ((LA236_1 == THIS)) {
alt236 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 236, 1, input);
throw nvae;
}
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 236, 0, input);
throw nvae;
}
switch (alt236) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1875:4: COLON BASE OPEN_PARENS ( argument_list )? CLOSE_PARENS
{
root_0 = adaptor.nil();
COLON1072 = (Token) match(input, COLON, FOLLOW_COLON_in_constructor_initializer9237);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
COLON1072_tree =
adaptor.create(COLON1072);
adaptor.addChild(root_0, COLON1072_tree);
}
BASE1073 = (Token) match(input, BASE, FOLLOW_BASE_in_constructor_initializer9239);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
BASE1073_tree =
adaptor.create(BASE1073);
adaptor.addChild(root_0, BASE1073_tree);
}
OPEN_PARENS1074 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_constructor_initializer9241);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_PARENS1074_tree =
adaptor.create(OPEN_PARENS1074);
adaptor.addChild(root_0, OPEN_PARENS1074_tree);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1875:27: ( argument_list )?
int alt234 = 2;
int LA234_0 = input.LA(1);
if ((LA234_0 == AMP || (LA234_0 >= BANG && LA234_0 <= BASE) || LA234_0 == BOOL || LA234_0 == BYTE || (LA234_0 >= CHAR && LA234_0 <= CHECKED) || LA234_0 == DECIMAL || (LA234_0 >= DEFAULT && LA234_0 <= DELEGATE) || LA234_0 == DOUBLE || LA234_0 == FALSE || LA234_0 == FLOAT || LA234_0 == IDENTIFIER || (LA234_0 >= INT && LA234_0 <= INTEGER_LITERAL) || LA234_0 == LONG || LA234_0 == MINUS || LA234_0 == NEW || LA234_0 == NULL || LA234_0 == OBJECT || LA234_0 == OPEN_PARENS || LA234_0 == OP_DEC || LA234_0 == OP_INC || LA234_0 == OUT || LA234_0 == PLUS || (LA234_0 >= REAL_LITERAL && LA234_0 <= REF) || LA234_0 == SBYTE || LA234_0 == SHORT || LA234_0 == SIZEOF || LA234_0 == STAR || (LA234_0 >= STRING && LA234_0 <= STRING_LITERAL) || LA234_0 == THIS || (LA234_0 >= TILDE && LA234_0 <= TRUE) || (LA234_0 >= TYPEOF && LA234_0 <= UNCHECKED) || LA234_0 == USHORT)) {
alt234 = 1;
}
switch (alt234) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1875:27: argument_list
{
pushFollow(FOLLOW_argument_list_in_constructor_initializer9243);
argument_list1075 = argument_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, argument_list1075.getTree());
}
}
break;
}
CLOSE_PARENS1076 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_constructor_initializer9246);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_PARENS1076_tree =
adaptor.create(CLOSE_PARENS1076);
adaptor.addChild(root_0, CLOSE_PARENS1076_tree);
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1876:4: COLON THIS OPEN_PARENS ( argument_list )? CLOSE_PARENS
{
root_0 = adaptor.nil();
COLON1077 = (Token) match(input, COLON, FOLLOW_COLON_in_constructor_initializer9251);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
COLON1077_tree =
adaptor.create(COLON1077);
adaptor.addChild(root_0, COLON1077_tree);
}
THIS1078 = (Token) match(input, THIS, FOLLOW_THIS_in_constructor_initializer9253);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
THIS1078_tree =
adaptor.create(THIS1078);
adaptor.addChild(root_0, THIS1078_tree);
}
OPEN_PARENS1079 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_constructor_initializer9255);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_PARENS1079_tree =
adaptor.create(OPEN_PARENS1079);
adaptor.addChild(root_0, OPEN_PARENS1079_tree);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1876:27: ( argument_list )?
int alt235 = 2;
int LA235_0 = input.LA(1);
if ((LA235_0 == AMP || (LA235_0 >= BANG && LA235_0 <= BASE) || LA235_0 == BOOL || LA235_0 == BYTE || (LA235_0 >= CHAR && LA235_0 <= CHECKED) || LA235_0 == DECIMAL || (LA235_0 >= DEFAULT && LA235_0 <= DELEGATE) || LA235_0 == DOUBLE || LA235_0 == FALSE || LA235_0 == FLOAT || LA235_0 == IDENTIFIER || (LA235_0 >= INT && LA235_0 <= INTEGER_LITERAL) || LA235_0 == LONG || LA235_0 == MINUS || LA235_0 == NEW || LA235_0 == NULL || LA235_0 == OBJECT || LA235_0 == OPEN_PARENS || LA235_0 == OP_DEC || LA235_0 == OP_INC || LA235_0 == OUT || LA235_0 == PLUS || (LA235_0 >= REAL_LITERAL && LA235_0 <= REF) || LA235_0 == SBYTE || LA235_0 == SHORT || LA235_0 == SIZEOF || LA235_0 == STAR || (LA235_0 >= STRING && LA235_0 <= STRING_LITERAL) || LA235_0 == THIS || (LA235_0 >= TILDE && LA235_0 <= TRUE) || (LA235_0 >= TYPEOF && LA235_0 <= UNCHECKED) || LA235_0 == USHORT)) {
alt235 = 1;
}
switch (alt235) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1876:27: argument_list
{
pushFollow(FOLLOW_argument_list_in_constructor_initializer9257);
argument_list1080 = argument_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, argument_list1080.getTree());
}
}
break;
}
CLOSE_PARENS1081 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_constructor_initializer9260);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_PARENS1081_tree =
adaptor.create(CLOSE_PARENS1081);
adaptor.addChild(root_0, CLOSE_PARENS1081_tree);
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "constructor_initializer"
public static class constructor_body_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "constructor_body"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1878:1: constructor_body : ( block | SEMICOLON );
public final CSharpParser.constructor_body_return constructor_body() throws RecognitionException {
CSharpParser.constructor_body_return retval = new CSharpParser.constructor_body_return();
retval.start = input.LT(1);
Object root_0 = null;
Token SEMICOLON1083 = null;
CSharpParser.block_return block1082 = null;
Object SEMICOLON1083_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1879:2: ( block | SEMICOLON )
int alt237 = 2;
int LA237_0 = input.LA(1);
if ((LA237_0 == OPEN_BRACE)) {
alt237 = 1;
} else if ((LA237_0 == SEMICOLON)) {
alt237 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 237, 0, input);
throw nvae;
}
switch (alt237) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1879:4: block
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_block_in_constructor_body9271);
block1082 = block();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, block1082.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1880:4: SEMICOLON
{
root_0 = adaptor.nil();
SEMICOLON1083 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_constructor_body9276);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
SEMICOLON1083_tree =
adaptor.create(SEMICOLON1083);
adaptor.addChild(root_0, SEMICOLON1083_tree);
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "constructor_body"
public static class static_constructor_declaration_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "static_constructor_declaration"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1882:1: static_constructor_declaration : ( attributes )? static_constructor_modifiers IDENTIFIER OPEN_PARENS CLOSE_PARENS static_constructor_body ;
public final CSharpParser.static_constructor_declaration_return static_constructor_declaration() throws RecognitionException {
CSharpParser.static_constructor_declaration_return retval = new CSharpParser.static_constructor_declaration_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER1086 = null;
Token OPEN_PARENS1087 = null;
Token CLOSE_PARENS1088 = null;
CSharpParser.attributes_return attributes1084 = null;
CSharpParser.static_constructor_modifiers_return static_constructor_modifiers1085 = null;
CSharpParser.static_constructor_body_return static_constructor_body1089 = null;
Object IDENTIFIER1086_tree = null;
Object OPEN_PARENS1087_tree = null;
Object CLOSE_PARENS1088_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1883:2: ( ( attributes )? static_constructor_modifiers IDENTIFIER OPEN_PARENS CLOSE_PARENS static_constructor_body )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1883:4: ( attributes )? static_constructor_modifiers IDENTIFIER OPEN_PARENS CLOSE_PARENS static_constructor_body
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1883:4: ( attributes )?
int alt238 = 2;
int LA238_0 = input.LA(1);
if ((LA238_0 == OPEN_BRACKET)) {
alt238 = 1;
}
switch (alt238) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1883:4: attributes
{
pushFollow(FOLLOW_attributes_in_static_constructor_declaration9287);
attributes1084 = attributes();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, attributes1084.getTree());
}
}
break;
}
pushFollow(FOLLOW_static_constructor_modifiers_in_static_constructor_declaration9290);
static_constructor_modifiers1085 = static_constructor_modifiers();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, static_constructor_modifiers1085.getTree());
}
IDENTIFIER1086 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_static_constructor_declaration9292);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1086_tree =
adaptor.create(IDENTIFIER1086);
adaptor.addChild(root_0, IDENTIFIER1086_tree);
}
OPEN_PARENS1087 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_static_constructor_declaration9294);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_PARENS1087_tree =
adaptor.create(OPEN_PARENS1087);
adaptor.addChild(root_0, OPEN_PARENS1087_tree);
}
CLOSE_PARENS1088 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_static_constructor_declaration9296);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_PARENS1088_tree =
adaptor.create(CLOSE_PARENS1088);
adaptor.addChild(root_0, CLOSE_PARENS1088_tree);
}
pushFollow(FOLLOW_static_constructor_body_in_static_constructor_declaration9298);
static_constructor_body1089 = static_constructor_body();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, static_constructor_body1089.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "static_constructor_declaration"
public static class static_constructor_modifiers_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "static_constructor_modifiers"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1892:1: static_constructor_modifiers : static_constructor_modifiers_unsafe ;
public final CSharpParser.static_constructor_modifiers_return static_constructor_modifiers() throws RecognitionException {
CSharpParser.static_constructor_modifiers_return retval = new CSharpParser.static_constructor_modifiers_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.static_constructor_modifiers_unsafe_return static_constructor_modifiers_unsafe1090 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1893:3: ( static_constructor_modifiers_unsafe )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1893:5: static_constructor_modifiers_unsafe
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_static_constructor_modifiers_unsafe_in_static_constructor_modifiers9312);
static_constructor_modifiers_unsafe1090 = static_constructor_modifiers_unsafe();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, static_constructor_modifiers_unsafe1090.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "static_constructor_modifiers"
public static class static_constructor_body_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "static_constructor_body"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1895:1: static_constructor_body : ( block | SEMICOLON );
public final CSharpParser.static_constructor_body_return static_constructor_body() throws RecognitionException {
CSharpParser.static_constructor_body_return retval = new CSharpParser.static_constructor_body_return();
retval.start = input.LT(1);
Object root_0 = null;
Token SEMICOLON1092 = null;
CSharpParser.block_return block1091 = null;
Object SEMICOLON1092_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1896:2: ( block | SEMICOLON )
int alt239 = 2;
int LA239_0 = input.LA(1);
if ((LA239_0 == OPEN_BRACE)) {
alt239 = 1;
} else if ((LA239_0 == SEMICOLON)) {
alt239 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 239, 0, input);
throw nvae;
}
switch (alt239) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1896:4: block
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_block_in_static_constructor_body9324);
block1091 = block();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, block1091.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1897:4: SEMICOLON
{
root_0 = adaptor.nil();
SEMICOLON1092 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_static_constructor_body9329);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
SEMICOLON1092_tree =
adaptor.create(SEMICOLON1092);
adaptor.addChild(root_0, SEMICOLON1092_tree);
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "static_constructor_body"
public static class destructor_declaration_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "destructor_declaration"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1905:1: destructor_declaration : destructor_declaration_unsafe ;
public final CSharpParser.destructor_declaration_return destructor_declaration() throws RecognitionException {
CSharpParser.destructor_declaration_return retval = new CSharpParser.destructor_declaration_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.destructor_declaration_unsafe_return destructor_declaration_unsafe1093 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1906:2: ( destructor_declaration_unsafe )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1906:4: destructor_declaration_unsafe
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_destructor_declaration_unsafe_in_destructor_declaration9342);
destructor_declaration_unsafe1093 = destructor_declaration_unsafe();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, destructor_declaration_unsafe1093.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "destructor_declaration"
public static class destructor_body_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "destructor_body"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1908:1: destructor_body : ( block | SEMICOLON );
public final CSharpParser.destructor_body_return destructor_body() throws RecognitionException {
CSharpParser.destructor_body_return retval = new CSharpParser.destructor_body_return();
retval.start = input.LT(1);
Object root_0 = null;
Token SEMICOLON1095 = null;
CSharpParser.block_return block1094 = null;
Object SEMICOLON1095_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1909:2: ( block | SEMICOLON )
int alt240 = 2;
int LA240_0 = input.LA(1);
if ((LA240_0 == OPEN_BRACE)) {
alt240 = 1;
} else if ((LA240_0 == SEMICOLON)) {
alt240 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 240, 0, input);
throw nvae;
}
switch (alt240) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1909:4: block
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_block_in_destructor_body9353);
block1094 = block();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, block1094.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1910:4: SEMICOLON
{
root_0 = adaptor.nil();
SEMICOLON1095 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_destructor_body9358);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
SEMICOLON1095_tree =
adaptor.create(SEMICOLON1095);
adaptor.addChild(root_0, SEMICOLON1095_tree);
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "destructor_body"
public static class body_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "body"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1913:1: body : ( block | SEMICOLON );
public final CSharpParser.body_return body() throws RecognitionException {
CSharpParser.body_return retval = new CSharpParser.body_return();
retval.start = input.LT(1);
Object root_0 = null;
Token SEMICOLON1097 = null;
CSharpParser.block_return block1096 = null;
Object SEMICOLON1097_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1914:3: ( block | SEMICOLON )
int alt241 = 2;
int LA241_0 = input.LA(1);
if ((LA241_0 == OPEN_BRACE)) {
alt241 = 1;
} else if ((LA241_0 == SEMICOLON)) {
alt241 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 241, 0, input);
throw nvae;
}
switch (alt241) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1914:5: block
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_block_in_body9370);
block1096 = block();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, block1096.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1915:5: SEMICOLON
{
root_0 = adaptor.nil();
SEMICOLON1097 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_body9376);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
SEMICOLON1097_tree =
adaptor.create(SEMICOLON1097);
adaptor.addChild(root_0, SEMICOLON1097_tree);
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "body"
public static class struct_declaration_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "struct_declaration"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1920:1: struct_declaration : ( attributes )? ( struct_modifiers )? ( partial_contextual_keyword )? STRUCT IDENTIFIER ( type_parameter_list )? ( struct_interfaces )? ( type_parameter_constraints_clauses )? struct_body ( SEMICOLON )? ;
public final CSharpParser.struct_declaration_return struct_declaration() throws RecognitionException {
CSharpParser.struct_declaration_return retval = new CSharpParser.struct_declaration_return();
retval.start = input.LT(1);
Object root_0 = null;
Token STRUCT1101 = null;
Token IDENTIFIER1102 = null;
Token SEMICOLON1107 = null;
CSharpParser.attributes_return attributes1098 = null;
CSharpParser.struct_modifiers_return struct_modifiers1099 = null;
CSharpParser.partial_contextual_keyword_return partial_contextual_keyword1100 = null;
CSharpParser.type_parameter_list_return type_parameter_list1103 = null;
CSharpParser.struct_interfaces_return struct_interfaces1104 = null;
CSharpParser.type_parameter_constraints_clauses_return type_parameter_constraints_clauses1105 = null;
CSharpParser.struct_body_return struct_body1106 = null;
Object STRUCT1101_tree = null;
Object IDENTIFIER1102_tree = null;
Object SEMICOLON1107_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1921:2: ( ( attributes )? ( struct_modifiers )? ( partial_contextual_keyword )? STRUCT IDENTIFIER ( type_parameter_list )? ( struct_interfaces )? ( type_parameter_constraints_clauses )? struct_body ( SEMICOLON )? )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1921:4: ( attributes )? ( struct_modifiers )? ( partial_contextual_keyword )? STRUCT IDENTIFIER ( type_parameter_list )? ( struct_interfaces )? ( type_parameter_constraints_clauses )? struct_body ( SEMICOLON )?
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1921:4: ( attributes )?
int alt242 = 2;
int LA242_0 = input.LA(1);
if ((LA242_0 == OPEN_BRACKET)) {
alt242 = 1;
}
switch (alt242) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1921:4: attributes
{
pushFollow(FOLLOW_attributes_in_struct_declaration9392);
attributes1098 = attributes();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, attributes1098.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1921:16: ( struct_modifiers )?
int alt243 = 2;
int LA243_0 = input.LA(1);
if ((LA243_0 == INTERNAL || LA243_0 == NEW || (LA243_0 >= PRIVATE && LA243_0 <= PUBLIC) || LA243_0 == UNSAFE)) {
alt243 = 1;
}
switch (alt243) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1921:16: struct_modifiers
{
pushFollow(FOLLOW_struct_modifiers_in_struct_declaration9395);
struct_modifiers1099 = struct_modifiers();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, struct_modifiers1099.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1921:34: ( partial_contextual_keyword )?
int alt244 = 2;
int LA244_0 = input.LA(1);
if ((LA244_0 == IDENTIFIER)) {
alt244 = 1;
}
switch (alt244) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1921:34: partial_contextual_keyword
{
pushFollow(FOLLOW_partial_contextual_keyword_in_struct_declaration9398);
partial_contextual_keyword1100 = partial_contextual_keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, partial_contextual_keyword1100.getTree());
}
}
break;
}
STRUCT1101 = (Token) match(input, STRUCT, FOLLOW_STRUCT_in_struct_declaration9405);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
STRUCT1101_tree =
adaptor.create(STRUCT1101);
adaptor.addChild(root_0, STRUCT1101_tree);
}
IDENTIFIER1102 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_struct_declaration9407);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1102_tree =
adaptor.create(IDENTIFIER1102);
adaptor.addChild(root_0, IDENTIFIER1102_tree);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1922:22: ( type_parameter_list )?
int alt245 = 2;
int LA245_0 = input.LA(1);
if ((LA245_0 == LT)) {
alt245 = 1;
}
switch (alt245) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1922:22: type_parameter_list
{
pushFollow(FOLLOW_type_parameter_list_in_struct_declaration9409);
type_parameter_list1103 = type_parameter_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type_parameter_list1103.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1922:43: ( struct_interfaces )?
int alt246 = 2;
int LA246_0 = input.LA(1);
if ((LA246_0 == COLON)) {
alt246 = 1;
}
switch (alt246) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1922:43: struct_interfaces
{
pushFollow(FOLLOW_struct_interfaces_in_struct_declaration9412);
struct_interfaces1104 = struct_interfaces();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, struct_interfaces1104.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1922:62: ( type_parameter_constraints_clauses )?
int alt247 = 2;
int LA247_0 = input.LA(1);
if ((LA247_0 == IDENTIFIER)) {
alt247 = 1;
}
switch (alt247) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1922:62: type_parameter_constraints_clauses
{
pushFollow(FOLLOW_type_parameter_constraints_clauses_in_struct_declaration9415);
type_parameter_constraints_clauses1105 = type_parameter_constraints_clauses();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type_parameter_constraints_clauses1105.getTree());
}
}
break;
}
pushFollow(FOLLOW_struct_body_in_struct_declaration9418);
struct_body1106 = struct_body();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, struct_body1106.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1922:110: ( SEMICOLON )?
int alt248 = 2;
int LA248_0 = input.LA(1);
if ((LA248_0 == SEMICOLON)) {
alt248 = 1;
}
switch (alt248) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1922:110: SEMICOLON
{
SEMICOLON1107 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_struct_declaration9420);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
SEMICOLON1107_tree =
adaptor.create(SEMICOLON1107);
adaptor.addChild(root_0, SEMICOLON1107_tree);
}
}
break;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "struct_declaration"
public static class struct_modifiers_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "struct_modifiers"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1924:1: struct_modifiers : struct_modifier ( struct_modifier )* ;
public final CSharpParser.struct_modifiers_return struct_modifiers() throws RecognitionException {
CSharpParser.struct_modifiers_return retval = new CSharpParser.struct_modifiers_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.struct_modifier_return struct_modifier1108 = null;
CSharpParser.struct_modifier_return struct_modifier1109 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1925:2: ( struct_modifier ( struct_modifier )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1925:4: struct_modifier ( struct_modifier )*
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_struct_modifier_in_struct_modifiers9432);
struct_modifier1108 = struct_modifier();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, struct_modifier1108.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1925:20: ( struct_modifier )*
loop249:
do {
int alt249 = 2;
int LA249_0 = input.LA(1);
if ((LA249_0 == INTERNAL || LA249_0 == NEW || (LA249_0 >= PRIVATE && LA249_0 <= PUBLIC) || LA249_0 == UNSAFE)) {
alt249 = 1;
}
switch (alt249) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1925:22: struct_modifier
{
pushFollow(FOLLOW_struct_modifier_in_struct_modifiers9436);
struct_modifier1109 = struct_modifier();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, struct_modifier1109.getTree());
}
}
break;
default:
break loop249;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "struct_modifiers"
public static class struct_modifier_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "struct_modifier"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1927:1: struct_modifier : ( NEW | PUBLIC | PROTECTED | INTERNAL | PRIVATE | struct_modifier_unsafe );
public final CSharpParser.struct_modifier_return struct_modifier() throws RecognitionException {
CSharpParser.struct_modifier_return retval = new CSharpParser.struct_modifier_return();
retval.start = input.LT(1);
Object root_0 = null;
Token NEW1110 = null;
Token PUBLIC1111 = null;
Token PROTECTED1112 = null;
Token INTERNAL1113 = null;
Token PRIVATE1114 = null;
CSharpParser.struct_modifier_unsafe_return struct_modifier_unsafe1115 = null;
Object NEW1110_tree = null;
Object PUBLIC1111_tree = null;
Object PROTECTED1112_tree = null;
Object INTERNAL1113_tree = null;
Object PRIVATE1114_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1928:2: ( NEW | PUBLIC | PROTECTED | INTERNAL | PRIVATE | struct_modifier_unsafe )
int alt250 = 6;
switch (input.LA(1)) {
case NEW: {
alt250 = 1;
}
break;
case PUBLIC: {
alt250 = 2;
}
break;
case PROTECTED: {
alt250 = 3;
}
break;
case INTERNAL: {
alt250 = 4;
}
break;
case PRIVATE: {
alt250 = 5;
}
break;
case UNSAFE: {
alt250 = 6;
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 250, 0, input);
throw nvae;
}
switch (alt250) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1928:4: NEW
{
root_0 = adaptor.nil();
NEW1110 = (Token) match(input, NEW, FOLLOW_NEW_in_struct_modifier9450);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
NEW1110_tree =
adaptor.create(NEW1110);
adaptor.addChild(root_0, NEW1110_tree);
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1929:4: PUBLIC
{
root_0 = adaptor.nil();
PUBLIC1111 = (Token) match(input, PUBLIC, FOLLOW_PUBLIC_in_struct_modifier9455);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PUBLIC1111_tree =
adaptor.create(PUBLIC1111);
adaptor.addChild(root_0, PUBLIC1111_tree);
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1930:4: PROTECTED
{
root_0 = adaptor.nil();
PROTECTED1112 = (Token) match(input, PROTECTED, FOLLOW_PROTECTED_in_struct_modifier9460);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PROTECTED1112_tree =
adaptor.create(PROTECTED1112);
adaptor.addChild(root_0, PROTECTED1112_tree);
}
}
break;
case 4: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1931:4: INTERNAL
{
root_0 = adaptor.nil();
INTERNAL1113 = (Token) match(input, INTERNAL, FOLLOW_INTERNAL_in_struct_modifier9465);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
INTERNAL1113_tree =
adaptor.create(INTERNAL1113);
adaptor.addChild(root_0, INTERNAL1113_tree);
}
}
break;
case 5: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1932:4: PRIVATE
{
root_0 = adaptor.nil();
PRIVATE1114 = (Token) match(input, PRIVATE, FOLLOW_PRIVATE_in_struct_modifier9470);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PRIVATE1114_tree =
adaptor.create(PRIVATE1114);
adaptor.addChild(root_0, PRIVATE1114_tree);
}
}
break;
case 6: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1933:4: struct_modifier_unsafe
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_struct_modifier_unsafe_in_struct_modifier9475);
struct_modifier_unsafe1115 = struct_modifier_unsafe();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, struct_modifier_unsafe1115.getTree());
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "struct_modifier"
public static class struct_interfaces_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "struct_interfaces"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1935:1: struct_interfaces : COLON ! interface_type_list ;
public final CSharpParser.struct_interfaces_return struct_interfaces() throws RecognitionException {
CSharpParser.struct_interfaces_return retval = new CSharpParser.struct_interfaces_return();
retval.start = input.LT(1);
Object root_0 = null;
Token COLON1116 = null;
CSharpParser.interface_type_list_return interface_type_list1117 = null;
Object COLON1116_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1936:2: ( COLON ! interface_type_list )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1936:4: COLON ! interface_type_list
{
root_0 = adaptor.nil();
COLON1116 = (Token) match(input, COLON, FOLLOW_COLON_in_struct_interfaces9486);
if (state.failed) {
return retval;
}
pushFollow(FOLLOW_interface_type_list_in_struct_interfaces9489);
interface_type_list1117 = interface_type_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, interface_type_list1117.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "struct_interfaces"
public static class struct_body_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "struct_body"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1938:1: struct_body : OPEN_BRACE ! ( struct_member_declarations )? CLOSE_BRACE !;
public final CSharpParser.struct_body_return struct_body() throws RecognitionException {
CSharpParser.struct_body_return retval = new CSharpParser.struct_body_return();
retval.start = input.LT(1);
Object root_0 = null;
Token OPEN_BRACE1118 = null;
Token CLOSE_BRACE1120 = null;
CSharpParser.struct_member_declarations_return struct_member_declarations1119 = null;
Object OPEN_BRACE1118_tree = null;
Object CLOSE_BRACE1120_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1939:2: ( OPEN_BRACE ! ( struct_member_declarations )? CLOSE_BRACE !)
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1939:4: OPEN_BRACE ! ( struct_member_declarations )? CLOSE_BRACE !
{
root_0 = adaptor.nil();
OPEN_BRACE1118 = (Token) match(input, OPEN_BRACE, FOLLOW_OPEN_BRACE_in_struct_body9500);
if (state.failed) {
return retval;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1939:16: ( struct_member_declarations )?
int alt251 = 2;
int LA251_0 = input.LA(1);
if ((LA251_0 == ABSTRACT || LA251_0 == BOOL || LA251_0 == BYTE || LA251_0 == CHAR || LA251_0 == CLASS || LA251_0 == CONST || LA251_0 == DECIMAL || LA251_0 == DELEGATE || LA251_0 == DOUBLE || (LA251_0 >= ENUM && LA251_0 <= EXTERN) || (LA251_0 >= FIXED && LA251_0 <= FLOAT) || LA251_0 == IDENTIFIER || LA251_0 == IMPLICIT || LA251_0 == INT || (LA251_0 >= INTERFACE && LA251_0 <= INTERNAL) || LA251_0 == LONG || LA251_0 == NEW || LA251_0 == OBJECT || LA251_0 == OPEN_BRACKET || LA251_0 == OVERRIDE || (LA251_0 >= PRIVATE && LA251_0 <= PUBLIC) || LA251_0 == READONLY || (LA251_0 >= SBYTE && LA251_0 <= SEALED) || LA251_0 == SHORT || (LA251_0 >= STATIC && LA251_0 <= STRING) || LA251_0 == STRUCT || (LA251_0 >= UINT && LA251_0 <= ULONG) || (LA251_0 >= UNSAFE && LA251_0 <= USHORT) || (LA251_0 >= VIRTUAL && LA251_0 <= VOLATILE))) {
alt251 = 1;
}
switch (alt251) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1939:16: struct_member_declarations
{
pushFollow(FOLLOW_struct_member_declarations_in_struct_body9503);
struct_member_declarations1119 = struct_member_declarations();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, struct_member_declarations1119.getTree());
}
}
break;
}
CLOSE_BRACE1120 = (Token) match(input, CLOSE_BRACE, FOLLOW_CLOSE_BRACE_in_struct_body9506);
if (state.failed) {
return retval;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "struct_body"
public static class struct_member_declarations_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "struct_member_declarations"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1941:1: struct_member_declarations : struct_member_declaration ( struct_member_declaration )* -> ^( STRUCT_MEMBER_DECLARATIONS ( struct_member_declaration )+ ) ;
public final CSharpParser.struct_member_declarations_return struct_member_declarations() throws RecognitionException {
CSharpParser.struct_member_declarations_return retval = new CSharpParser.struct_member_declarations_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.struct_member_declaration_return struct_member_declaration1121 = null;
CSharpParser.struct_member_declaration_return struct_member_declaration1122 = null;
RewriteRuleSubtreeStream stream_struct_member_declaration = new RewriteRuleSubtreeStream(adaptor, "rule struct_member_declaration");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1942:2: ( struct_member_declaration ( struct_member_declaration )* -> ^( STRUCT_MEMBER_DECLARATIONS ( struct_member_declaration )+ ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1942:4: struct_member_declaration ( struct_member_declaration )*
{
pushFollow(FOLLOW_struct_member_declaration_in_struct_member_declarations9518);
struct_member_declaration1121 = struct_member_declaration();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_struct_member_declaration.add(struct_member_declaration1121.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1942:30: ( struct_member_declaration )*
loop252:
do {
int alt252 = 2;
int LA252_0 = input.LA(1);
if ((LA252_0 == ABSTRACT || LA252_0 == BOOL || LA252_0 == BYTE || LA252_0 == CHAR || LA252_0 == CLASS || LA252_0 == CONST || LA252_0 == DECIMAL || LA252_0 == DELEGATE || LA252_0 == DOUBLE || (LA252_0 >= ENUM && LA252_0 <= EXTERN) || (LA252_0 >= FIXED && LA252_0 <= FLOAT) || LA252_0 == IDENTIFIER || LA252_0 == IMPLICIT || LA252_0 == INT || (LA252_0 >= INTERFACE && LA252_0 <= INTERNAL) || LA252_0 == LONG || LA252_0 == NEW || LA252_0 == OBJECT || LA252_0 == OPEN_BRACKET || LA252_0 == OVERRIDE || (LA252_0 >= PRIVATE && LA252_0 <= PUBLIC) || LA252_0 == READONLY || (LA252_0 >= SBYTE && LA252_0 <= SEALED) || LA252_0 == SHORT || (LA252_0 >= STATIC && LA252_0 <= STRING) || LA252_0 == STRUCT || (LA252_0 >= UINT && LA252_0 <= ULONG) || (LA252_0 >= UNSAFE && LA252_0 <= USHORT) || (LA252_0 >= VIRTUAL && LA252_0 <= VOLATILE))) {
alt252 = 1;
}
switch (alt252) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1942:32: struct_member_declaration
{
pushFollow(FOLLOW_struct_member_declaration_in_struct_member_declarations9522);
struct_member_declaration1122 = struct_member_declaration();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_struct_member_declaration.add(struct_member_declaration1122.getTree());
}
}
break;
default:
break loop252;
}
} while (true);
// AST REWRITE
// elements: struct_member_declaration
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 1943:4: -> ^( STRUCT_MEMBER_DECLARATIONS ( struct_member_declaration )+ )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1943:7: ^( STRUCT_MEMBER_DECLARATIONS ( struct_member_declaration )+ )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(STRUCT_MEMBER_DECLARATIONS, "STRUCT_MEMBER_DECLARATIONS"), root_1);
if (!(stream_struct_member_declaration.hasNext())) {
throw new RewriteEarlyExitException();
}
while (stream_struct_member_declaration.hasNext()) {
adaptor.addChild(root_1, stream_struct_member_declaration.nextTree());
}
stream_struct_member_declaration.reset();
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "struct_member_declarations"
public static class struct_member_declaration_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "struct_member_declaration"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1960:1: struct_member_declaration : ( attributes )? ( all_member_modifiers )? ( common_member_declaration ^| FIXED ^ buffer_element_type fixed_size_buffer_declarators SEMICOLON !) ;
public final CSharpParser.struct_member_declaration_return struct_member_declaration() throws RecognitionException {
CSharpParser.struct_member_declaration_return retval = new CSharpParser.struct_member_declaration_return();
retval.start = input.LT(1);
Object root_0 = null;
Token FIXED1126 = null;
Token SEMICOLON1129 = null;
CSharpParser.attributes_return attributes1123 = null;
CSharpParser.all_member_modifiers_return all_member_modifiers1124 = null;
CSharpParser.common_member_declaration_return common_member_declaration1125 = null;
CSharpParser.buffer_element_type_return buffer_element_type1127 = null;
CSharpParser.fixed_size_buffer_declarators_return fixed_size_buffer_declarators1128 = null;
Object FIXED1126_tree = null;
Object SEMICOLON1129_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1961:2: ( ( attributes )? ( all_member_modifiers )? ( common_member_declaration ^| FIXED ^ buffer_element_type fixed_size_buffer_declarators SEMICOLON !) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1961:4: ( attributes )? ( all_member_modifiers )? ( common_member_declaration ^| FIXED ^ buffer_element_type fixed_size_buffer_declarators SEMICOLON !)
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1961:4: ( attributes )?
int alt253 = 2;
int LA253_0 = input.LA(1);
if ((LA253_0 == OPEN_BRACKET)) {
alt253 = 1;
}
switch (alt253) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1961:5: attributes
{
pushFollow(FOLLOW_attributes_in_struct_member_declaration9550);
attributes1123 = attributes();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, attributes1123.getTree());
}
if (state.backtracking == 0) {
attrs = (attributes1123 != null ? ((Object) attributes1123.tree) : null);
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1962:4: ( all_member_modifiers )?
int alt254 = 2;
int LA254_0 = input.LA(1);
if ((LA254_0 == ABSTRACT || LA254_0 == EXTERN || LA254_0 == INTERNAL || LA254_0 == NEW || LA254_0 == OVERRIDE || (LA254_0 >= PRIVATE && LA254_0 <= PUBLIC) || LA254_0 == READONLY || LA254_0 == SEALED || LA254_0 == STATIC || LA254_0 == UNSAFE || LA254_0 == VIRTUAL || LA254_0 == VOLATILE)) {
alt254 = 1;
} else if ((LA254_0 == IDENTIFIER)) {
int LA254_15 = input.LA(2);
if (((input.LT(1).getText().equals("partial")))) {
alt254 = 1;
}
}
switch (alt254) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1962:5: all_member_modifiers
{
pushFollow(FOLLOW_all_member_modifiers_in_struct_member_declaration9560);
all_member_modifiers1124 = all_member_modifiers();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, all_member_modifiers1124.getTree());
}
if (state.backtracking == 0) {
members = (all_member_modifiers1124 != null ? ((Object) all_member_modifiers1124.tree) : null);
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1963:3: ( common_member_declaration ^| FIXED ^ buffer_element_type fixed_size_buffer_declarators SEMICOLON !)
int alt255 = 2;
int LA255_0 = input.LA(1);
if ((LA255_0 == BOOL || LA255_0 == BYTE || LA255_0 == CHAR || LA255_0 == CLASS || LA255_0 == CONST || LA255_0 == DECIMAL || LA255_0 == DELEGATE || LA255_0 == DOUBLE || (LA255_0 >= ENUM && LA255_0 <= EXPLICIT) || LA255_0 == FLOAT || LA255_0 == IDENTIFIER || LA255_0 == IMPLICIT || LA255_0 == INT || LA255_0 == INTERFACE || LA255_0 == LONG || LA255_0 == OBJECT || LA255_0 == SBYTE || LA255_0 == SHORT || LA255_0 == STRING || LA255_0 == STRUCT || (LA255_0 >= UINT && LA255_0 <= ULONG) || LA255_0 == USHORT || LA255_0 == VOID)) {
alt255 = 1;
} else if ((LA255_0 == FIXED)) {
alt255 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 255, 0, input);
throw nvae;
}
switch (alt255) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1963:5: common_member_declaration ^
{
pushFollow(FOLLOW_common_member_declaration_in_struct_member_declaration9570);
common_member_declaration1125 = common_member_declaration();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
root_0 = adaptor.becomeRoot(common_member_declaration1125.getTree(), root_0);
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1964:5: FIXED ^ buffer_element_type fixed_size_buffer_declarators SEMICOLON !
{
FIXED1126 = (Token) match(input, FIXED, FOLLOW_FIXED_in_struct_member_declaration9577);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
FIXED1126_tree =
adaptor.create(FIXED1126);
root_0 = adaptor.becomeRoot(FIXED1126_tree, root_0);
}
pushFollow(FOLLOW_buffer_element_type_in_struct_member_declaration9580);
buffer_element_type1127 = buffer_element_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, buffer_element_type1127.getTree());
}
pushFollow(FOLLOW_fixed_size_buffer_declarators_in_struct_member_declaration9582);
fixed_size_buffer_declarators1128 = fixed_size_buffer_declarators();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, fixed_size_buffer_declarators1128.getTree());
}
SEMICOLON1129 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_struct_member_declaration9584);
if (state.failed) {
return retval;
}
}
break;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "struct_member_declaration"
public static class array_type_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "array_type"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1974:1: array_type : array_type2 -> ^( TYPE array_type2 ) ;
public final CSharpParser.array_type_return array_type() throws RecognitionException {
CSharpParser.array_type_return retval = new CSharpParser.array_type_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.array_type2_return array_type21130 = null;
RewriteRuleSubtreeStream stream_array_type2 = new RewriteRuleSubtreeStream(adaptor, "rule array_type2");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1975:3: ( array_type2 -> ^( TYPE array_type2 ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1975:5: array_type2
{
pushFollow(FOLLOW_array_type2_in_array_type9606);
array_type21130 = array_type2();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_array_type2.add(array_type21130.getTree());
}
// AST REWRITE
// elements: array_type2
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 1975:17: -> ^( TYPE array_type2 )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1975:20: ^( TYPE array_type2 )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(TYPE, "TYPE"), root_1);
adaptor.addChild(root_1, stream_array_type2.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "array_type"
public static class array_type2_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "array_type2"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1977:1: array_type2 : base_type ( ( STAR | INTERR )* rank_specifier )+ ;
public final CSharpParser.array_type2_return array_type2() throws RecognitionException {
CSharpParser.array_type2_return retval = new CSharpParser.array_type2_return();
retval.start = input.LT(1);
Object root_0 = null;
Token set1132 = null;
CSharpParser.base_type_return base_type1131 = null;
CSharpParser.rank_specifier_return rank_specifier1133 = null;
Object set1132_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1978:2: ( base_type ( ( STAR | INTERR )* rank_specifier )+ )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1978:4: base_type ( ( STAR | INTERR )* rank_specifier )+
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_base_type_in_array_type29625);
base_type1131 = base_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, base_type1131.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1978:14: ( ( STAR | INTERR )* rank_specifier )+
int cnt257 = 0;
loop257:
do {
int alt257 = 2;
int LA257_0 = input.LA(1);
if ((LA257_0 == OPEN_BRACKET)) {
int LA257_2 = input.LA(2);
if ((LA257_2 == CLOSE_BRACKET || LA257_2 == COMMA)) {
alt257 = 1;
}
} else if ((LA257_0 == INTERR || LA257_0 == STAR)) {
alt257 = 1;
}
switch (alt257) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1978:15: ( STAR | INTERR )* rank_specifier
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1978:15: ( STAR | INTERR )*
loop256:
do {
int alt256 = 2;
int LA256_0 = input.LA(1);
if ((LA256_0 == INTERR || LA256_0 == STAR)) {
alt256 = 1;
}
switch (alt256) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:
{
set1132 = input.LT(1);
if (input.LA(1) == INTERR || input.LA(1) == STAR) {
input.consume();
if (state.backtracking == 0) {
adaptor.addChild(root_0,
adaptor.create(set1132));
}
state.errorRecovery = false;
state.failed = false;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
MismatchedSetException mse = new MismatchedSetException(null, input);
throw mse;
}
}
break;
default:
break loop256;
}
} while (true);
pushFollow(FOLLOW_rank_specifier_in_array_type29637);
rank_specifier1133 = rank_specifier();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, rank_specifier1133.getTree());
}
}
break;
default:
if (cnt257 >= 1) {
break loop257;
}
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
EarlyExitException eee =
new EarlyExitException(257, input);
throw eee;
}
cnt257++;
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "array_type2"
public static class non_array_type_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "non_array_type"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1986:1: non_array_type : non_array_type2 -> ^( TYPE non_array_type2 ) ;
public final CSharpParser.non_array_type_return non_array_type() throws RecognitionException {
CSharpParser.non_array_type_return retval = new CSharpParser.non_array_type_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.non_array_type2_return non_array_type21134 = null;
RewriteRuleSubtreeStream stream_non_array_type2 = new RewriteRuleSubtreeStream(adaptor, "rule non_array_type2");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1987:3: ( non_array_type2 -> ^( TYPE non_array_type2 ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1987:5: non_array_type2
{
pushFollow(FOLLOW_non_array_type2_in_non_array_type9655);
non_array_type21134 = non_array_type2();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_non_array_type2.add(non_array_type21134.getTree());
}
// AST REWRITE
// elements: non_array_type2
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 1987:21: -> ^( TYPE non_array_type2 )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1987:24: ^( TYPE non_array_type2 )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(TYPE, "TYPE"), root_1);
adaptor.addChild(root_1, stream_non_array_type2.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "non_array_type"
public static class non_array_type2_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "non_array_type2"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1989:1: non_array_type2 : base_type ( rank_specifier | INTERR | STAR )* ;
public final CSharpParser.non_array_type2_return non_array_type2() throws RecognitionException {
CSharpParser.non_array_type2_return retval = new CSharpParser.non_array_type2_return();
retval.start = input.LT(1);
Object root_0 = null;
Token INTERR1137 = null;
Token STAR1138 = null;
CSharpParser.base_type_return base_type1135 = null;
CSharpParser.rank_specifier_return rank_specifier1136 = null;
Object INTERR1137_tree = null;
Object STAR1138_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1990:2: ( base_type ( rank_specifier | INTERR | STAR )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1990:4: base_type ( rank_specifier | INTERR | STAR )*
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_base_type_in_non_array_type29675);
base_type1135 = base_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, base_type1135.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1990:14: ( rank_specifier | INTERR | STAR )*
loop258:
do {
int alt258 = 4;
switch (input.LA(1)) {
case OPEN_BRACKET: {
int LA258_1 = input.LA(2);
if ((LA258_1 == CLOSE_BRACKET || LA258_1 == COMMA)) {
alt258 = 1;
}
}
break;
case INTERR: {
alt258 = 2;
}
break;
case STAR: {
alt258 = 3;
}
break;
}
switch (alt258) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1990:15: rank_specifier
{
pushFollow(FOLLOW_rank_specifier_in_non_array_type29678);
rank_specifier1136 = rank_specifier();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, rank_specifier1136.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1990:32: INTERR
{
INTERR1137 = (Token) match(input, INTERR, FOLLOW_INTERR_in_non_array_type29682);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
INTERR1137_tree =
adaptor.create(INTERR1137);
adaptor.addChild(root_0, INTERR1137_tree);
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1990:41: STAR
{
STAR1138 = (Token) match(input, STAR, FOLLOW_STAR_in_non_array_type29686);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
STAR1138_tree =
adaptor.create(STAR1138);
adaptor.addChild(root_0, STAR1138_tree);
}
}
break;
default:
break loop258;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "non_array_type2"
public static class rank_specifiers_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "rank_specifiers"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1998:1: rank_specifiers : ( rank_specifier )+ ;
public final CSharpParser.rank_specifiers_return rank_specifiers() throws RecognitionException {
CSharpParser.rank_specifiers_return retval = new CSharpParser.rank_specifiers_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.rank_specifier_return rank_specifier1139 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1999:3: ( ( rank_specifier )+ )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1999:5: ( rank_specifier )+
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1999:5: ( rank_specifier )+
int cnt259 = 0;
loop259:
do {
int alt259 = 2;
int LA259_0 = input.LA(1);
if ((LA259_0 == OPEN_BRACKET)) {
int LA259_2 = input.LA(2);
if ((LA259_2 == CLOSE_BRACKET || LA259_2 == COMMA)) {
alt259 = 1;
}
}
switch (alt259) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1999:5: rank_specifier
{
pushFollow(FOLLOW_rank_specifier_in_rank_specifiers9704);
rank_specifier1139 = rank_specifier();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, rank_specifier1139.getTree());
}
}
break;
default:
if (cnt259 >= 1) {
break loop259;
}
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
EarlyExitException eee =
new EarlyExitException(259, input);
throw eee;
}
cnt259++;
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "rank_specifiers"
public static class rank_specifier_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "rank_specifier"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2002:1: rank_specifier : OPEN_BRACKET ( dim_separators )? CLOSE_BRACKET -> ^( RANK_SPECIFIER ( dim_separators )? ) ;
public final CSharpParser.rank_specifier_return rank_specifier() throws RecognitionException {
CSharpParser.rank_specifier_return retval = new CSharpParser.rank_specifier_return();
retval.start = input.LT(1);
Object root_0 = null;
Token OPEN_BRACKET1140 = null;
Token CLOSE_BRACKET1142 = null;
CSharpParser.dim_separators_return dim_separators1141 = null;
Object OPEN_BRACKET1140_tree = null;
Object CLOSE_BRACKET1142_tree = null;
RewriteRuleTokenStream stream_OPEN_BRACKET = new RewriteRuleTokenStream(adaptor, "token OPEN_BRACKET");
RewriteRuleTokenStream stream_CLOSE_BRACKET = new RewriteRuleTokenStream(adaptor, "token CLOSE_BRACKET");
RewriteRuleSubtreeStream stream_dim_separators = new RewriteRuleSubtreeStream(adaptor, "rule dim_separators");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2003:2: ( OPEN_BRACKET ( dim_separators )? CLOSE_BRACKET -> ^( RANK_SPECIFIER ( dim_separators )? ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2003:4: OPEN_BRACKET ( dim_separators )? CLOSE_BRACKET
{
OPEN_BRACKET1140 = (Token) match(input, OPEN_BRACKET, FOLLOW_OPEN_BRACKET_in_rank_specifier9719);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_OPEN_BRACKET.add(OPEN_BRACKET1140);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2003:17: ( dim_separators )?
int alt260 = 2;
int LA260_0 = input.LA(1);
if ((LA260_0 == COMMA)) {
alt260 = 1;
}
switch (alt260) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2003:17: dim_separators
{
pushFollow(FOLLOW_dim_separators_in_rank_specifier9721);
dim_separators1141 = dim_separators();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_dim_separators.add(dim_separators1141.getTree());
}
}
break;
}
CLOSE_BRACKET1142 = (Token) match(input, CLOSE_BRACKET, FOLLOW_CLOSE_BRACKET_in_rank_specifier9724);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_CLOSE_BRACKET.add(CLOSE_BRACKET1142);
}
// AST REWRITE
// elements: dim_separators
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 2004:4: -> ^( RANK_SPECIFIER ( dim_separators )? )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2004:7: ^( RANK_SPECIFIER ( dim_separators )? )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(RANK_SPECIFIER, "RANK_SPECIFIER"), root_1);
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2004:24: ( dim_separators )?
if (stream_dim_separators.hasNext()) {
adaptor.addChild(root_1, stream_dim_separators.nextTree());
}
stream_dim_separators.reset();
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "rank_specifier"
public static class dim_separators_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "dim_separators"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2006:1: dim_separators : ( COMMA )+ ;
public final CSharpParser.dim_separators_return dim_separators() throws RecognitionException {
CSharpParser.dim_separators_return retval = new CSharpParser.dim_separators_return();
retval.start = input.LT(1);
Object root_0 = null;
Token COMMA1143 = null;
Object COMMA1143_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2007:2: ( ( COMMA )+ )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2007:4: ( COMMA )+
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2007:4: ( COMMA )+
int cnt261 = 0;
loop261:
do {
int alt261 = 2;
int LA261_0 = input.LA(1);
if ((LA261_0 == COMMA)) {
alt261 = 1;
}
switch (alt261) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2007:4: COMMA
{
COMMA1143 = (Token) match(input, COMMA, FOLLOW_COMMA_in_dim_separators9747);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
COMMA1143_tree =
adaptor.create(COMMA1143);
adaptor.addChild(root_0, COMMA1143_tree);
}
}
break;
default:
if (cnt261 >= 1) {
break loop261;
}
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
EarlyExitException eee =
new EarlyExitException(261, input);
throw eee;
}
cnt261++;
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "dim_separators"
public static class array_initializer_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "array_initializer"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2016:1: array_initializer : ( OPEN_BRACE CLOSE_BRACE | OPEN_BRACE variable_initializer_list ( COMMA )? CLOSE_BRACE );
public final CSharpParser.array_initializer_return array_initializer() throws RecognitionException {
CSharpParser.array_initializer_return retval = new CSharpParser.array_initializer_return();
retval.start = input.LT(1);
Object root_0 = null;
Token OPEN_BRACE1144 = null;
Token CLOSE_BRACE1145 = null;
Token OPEN_BRACE1146 = null;
Token COMMA1148 = null;
Token CLOSE_BRACE1149 = null;
CSharpParser.variable_initializer_list_return variable_initializer_list1147 = null;
Object OPEN_BRACE1144_tree = null;
Object CLOSE_BRACE1145_tree = null;
Object OPEN_BRACE1146_tree = null;
Object COMMA1148_tree = null;
Object CLOSE_BRACE1149_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2017:3: ( OPEN_BRACE CLOSE_BRACE | OPEN_BRACE variable_initializer_list ( COMMA )? CLOSE_BRACE )
int alt263 = 2;
int LA263_0 = input.LA(1);
if ((LA263_0 == OPEN_BRACE)) {
int LA263_1 = input.LA(2);
if ((LA263_1 == CLOSE_BRACE)) {
alt263 = 1;
} else if ((LA263_1 == AMP || (LA263_1 >= BANG && LA263_1 <= BASE) || LA263_1 == BOOL || LA263_1 == BYTE || (LA263_1 >= CHAR && LA263_1 <= CHECKED) || LA263_1 == DECIMAL || (LA263_1 >= DEFAULT && LA263_1 <= DELEGATE) || LA263_1 == DOUBLE || LA263_1 == FALSE || LA263_1 == FLOAT || LA263_1 == IDENTIFIER || (LA263_1 >= INT && LA263_1 <= INTEGER_LITERAL) || LA263_1 == LONG || LA263_1 == MINUS || LA263_1 == NEW || LA263_1 == NULL || (LA263_1 >= OBJECT && LA263_1 <= OPEN_BRACE) || LA263_1 == OPEN_PARENS || LA263_1 == OP_DEC || LA263_1 == OP_INC || LA263_1 == PLUS || LA263_1 == REAL_LITERAL || LA263_1 == SBYTE || LA263_1 == SHORT || LA263_1 == SIZEOF || LA263_1 == STAR || (LA263_1 >= STRING && LA263_1 <= STRING_LITERAL) || LA263_1 == THIS || (LA263_1 >= TILDE && LA263_1 <= TRUE) || (LA263_1 >= TYPEOF && LA263_1 <= UNCHECKED) || LA263_1 == USHORT)) {
alt263 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 263, 1, input);
throw nvae;
}
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 263, 0, input);
throw nvae;
}
switch (alt263) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2017:5: OPEN_BRACE CLOSE_BRACE
{
root_0 = adaptor.nil();
OPEN_BRACE1144 = (Token) match(input, OPEN_BRACE, FOLLOW_OPEN_BRACE_in_array_initializer9764);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_BRACE1144_tree =
adaptor.create(OPEN_BRACE1144);
adaptor.addChild(root_0, OPEN_BRACE1144_tree);
}
CLOSE_BRACE1145 = (Token) match(input, CLOSE_BRACE, FOLLOW_CLOSE_BRACE_in_array_initializer9766);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_BRACE1145_tree =
adaptor.create(CLOSE_BRACE1145);
adaptor.addChild(root_0, CLOSE_BRACE1145_tree);
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2018:5: OPEN_BRACE variable_initializer_list ( COMMA )? CLOSE_BRACE
{
root_0 = adaptor.nil();
OPEN_BRACE1146 = (Token) match(input, OPEN_BRACE, FOLLOW_OPEN_BRACE_in_array_initializer9772);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_BRACE1146_tree =
adaptor.create(OPEN_BRACE1146);
adaptor.addChild(root_0, OPEN_BRACE1146_tree);
}
pushFollow(FOLLOW_variable_initializer_list_in_array_initializer9774);
variable_initializer_list1147 = variable_initializer_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, variable_initializer_list1147.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2018:42: ( COMMA )?
int alt262 = 2;
int LA262_0 = input.LA(1);
if ((LA262_0 == COMMA)) {
alt262 = 1;
}
switch (alt262) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2018:42: COMMA
{
COMMA1148 = (Token) match(input, COMMA, FOLLOW_COMMA_in_array_initializer9776);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
COMMA1148_tree =
adaptor.create(COMMA1148);
adaptor.addChild(root_0, COMMA1148_tree);
}
}
break;
}
CLOSE_BRACE1149 = (Token) match(input, CLOSE_BRACE, FOLLOW_CLOSE_BRACE_in_array_initializer9779);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_BRACE1149_tree =
adaptor.create(CLOSE_BRACE1149);
adaptor.addChild(root_0, CLOSE_BRACE1149_tree);
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "array_initializer"
public static class variable_initializer_list_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "variable_initializer_list"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2020:1: variable_initializer_list : variable_initializer ( COMMA variable_initializer )* ;
public final CSharpParser.variable_initializer_list_return variable_initializer_list() throws RecognitionException {
CSharpParser.variable_initializer_list_return retval = new CSharpParser.variable_initializer_list_return();
retval.start = input.LT(1);
Object root_0 = null;
Token COMMA1151 = null;
CSharpParser.variable_initializer_return variable_initializer1150 = null;
CSharpParser.variable_initializer_return variable_initializer1152 = null;
Object COMMA1151_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2021:2: ( variable_initializer ( COMMA variable_initializer )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2021:4: variable_initializer ( COMMA variable_initializer )*
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_variable_initializer_in_variable_initializer_list9791);
variable_initializer1150 = variable_initializer();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, variable_initializer1150.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2021:25: ( COMMA variable_initializer )*
loop264:
do {
int alt264 = 2;
int LA264_0 = input.LA(1);
if ((LA264_0 == COMMA)) {
int LA264_1 = input.LA(2);
if ((LA264_1 == AMP || (LA264_1 >= BANG && LA264_1 <= BASE) || LA264_1 == BOOL || LA264_1 == BYTE || (LA264_1 >= CHAR && LA264_1 <= CHECKED) || LA264_1 == DECIMAL || (LA264_1 >= DEFAULT && LA264_1 <= DELEGATE) || LA264_1 == DOUBLE || LA264_1 == FALSE || LA264_1 == FLOAT || LA264_1 == IDENTIFIER || (LA264_1 >= INT && LA264_1 <= INTEGER_LITERAL) || LA264_1 == LONG || LA264_1 == MINUS || LA264_1 == NEW || LA264_1 == NULL || (LA264_1 >= OBJECT && LA264_1 <= OPEN_BRACE) || LA264_1 == OPEN_PARENS || LA264_1 == OP_DEC || LA264_1 == OP_INC || LA264_1 == PLUS || LA264_1 == REAL_LITERAL || LA264_1 == SBYTE || LA264_1 == SHORT || LA264_1 == SIZEOF || LA264_1 == STAR || (LA264_1 >= STRING && LA264_1 <= STRING_LITERAL) || LA264_1 == THIS || (LA264_1 >= TILDE && LA264_1 <= TRUE) || (LA264_1 >= TYPEOF && LA264_1 <= UNCHECKED) || LA264_1 == USHORT)) {
alt264 = 1;
}
}
switch (alt264) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2021:27: COMMA variable_initializer
{
COMMA1151 = (Token) match(input, COMMA, FOLLOW_COMMA_in_variable_initializer_list9795);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
COMMA1151_tree =
adaptor.create(COMMA1151);
adaptor.addChild(root_0, COMMA1151_tree);
}
pushFollow(FOLLOW_variable_initializer_in_variable_initializer_list9798);
variable_initializer1152 = variable_initializer();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, variable_initializer1152.getTree());
}
}
break;
default:
break loop264;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "variable_initializer_list"
public static class interface_declaration_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "interface_declaration"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2024:1: interface_declaration : ( attributes )? ( interface_modifiers )? ( partial_contextual_keyword )? INTERFACE IDENTIFIER ( variant_type_parameter_list )? ( interface_base )? ( type_parameter_constraints_clauses )? interface_body ( SEMICOLON )? ;
public final CSharpParser.interface_declaration_return interface_declaration() throws RecognitionException {
CSharpParser.interface_declaration_return retval = new CSharpParser.interface_declaration_return();
retval.start = input.LT(1);
Object root_0 = null;
Token INTERFACE1156 = null;
Token IDENTIFIER1157 = null;
Token SEMICOLON1162 = null;
CSharpParser.attributes_return attributes1153 = null;
CSharpParser.interface_modifiers_return interface_modifiers1154 = null;
CSharpParser.partial_contextual_keyword_return partial_contextual_keyword1155 = null;
CSharpParser.variant_type_parameter_list_return variant_type_parameter_list1158 = null;
CSharpParser.interface_base_return interface_base1159 = null;
CSharpParser.type_parameter_constraints_clauses_return type_parameter_constraints_clauses1160 = null;
CSharpParser.interface_body_return interface_body1161 = null;
Object INTERFACE1156_tree = null;
Object IDENTIFIER1157_tree = null;
Object SEMICOLON1162_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2025:2: ( ( attributes )? ( interface_modifiers )? ( partial_contextual_keyword )? INTERFACE IDENTIFIER ( variant_type_parameter_list )? ( interface_base )? ( type_parameter_constraints_clauses )? interface_body ( SEMICOLON )? )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2025:4: ( attributes )? ( interface_modifiers )? ( partial_contextual_keyword )? INTERFACE IDENTIFIER ( variant_type_parameter_list )? ( interface_base )? ( type_parameter_constraints_clauses )? interface_body ( SEMICOLON )?
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2025:4: ( attributes )?
int alt265 = 2;
int LA265_0 = input.LA(1);
if ((LA265_0 == OPEN_BRACKET)) {
alt265 = 1;
}
switch (alt265) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2025:4: attributes
{
pushFollow(FOLLOW_attributes_in_interface_declaration9813);
attributes1153 = attributes();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, attributes1153.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2025:16: ( interface_modifiers )?
int alt266 = 2;
int LA266_0 = input.LA(1);
if ((LA266_0 == INTERNAL || LA266_0 == NEW || (LA266_0 >= PRIVATE && LA266_0 <= PUBLIC) || LA266_0 == UNSAFE)) {
alt266 = 1;
}
switch (alt266) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2025:16: interface_modifiers
{
pushFollow(FOLLOW_interface_modifiers_in_interface_declaration9816);
interface_modifiers1154 = interface_modifiers();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, interface_modifiers1154.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2025:37: ( partial_contextual_keyword )?
int alt267 = 2;
int LA267_0 = input.LA(1);
if ((LA267_0 == IDENTIFIER)) {
alt267 = 1;
}
switch (alt267) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2025:37: partial_contextual_keyword
{
pushFollow(FOLLOW_partial_contextual_keyword_in_interface_declaration9819);
partial_contextual_keyword1155 = partial_contextual_keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, partial_contextual_keyword1155.getTree());
}
}
break;
}
INTERFACE1156 = (Token) match(input, INTERFACE, FOLLOW_INTERFACE_in_interface_declaration9822);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
INTERFACE1156_tree =
adaptor.create(INTERFACE1156);
adaptor.addChild(root_0, INTERFACE1156_tree);
}
IDENTIFIER1157 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_interface_declaration9824);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1157_tree =
adaptor.create(IDENTIFIER1157);
adaptor.addChild(root_0, IDENTIFIER1157_tree);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2025:86: ( variant_type_parameter_list )?
int alt268 = 2;
int LA268_0 = input.LA(1);
if ((LA268_0 == LT)) {
alt268 = 1;
}
switch (alt268) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2025:86: variant_type_parameter_list
{
pushFollow(FOLLOW_variant_type_parameter_list_in_interface_declaration9826);
variant_type_parameter_list1158 = variant_type_parameter_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, variant_type_parameter_list1158.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2025:115: ( interface_base )?
int alt269 = 2;
int LA269_0 = input.LA(1);
if ((LA269_0 == COLON)) {
alt269 = 1;
}
switch (alt269) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2025:115: interface_base
{
pushFollow(FOLLOW_interface_base_in_interface_declaration9829);
interface_base1159 = interface_base();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, interface_base1159.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2025:131: ( type_parameter_constraints_clauses )?
int alt270 = 2;
int LA270_0 = input.LA(1);
if ((LA270_0 == IDENTIFIER)) {
alt270 = 1;
}
switch (alt270) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2025:131: type_parameter_constraints_clauses
{
pushFollow(FOLLOW_type_parameter_constraints_clauses_in_interface_declaration9832);
type_parameter_constraints_clauses1160 = type_parameter_constraints_clauses();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type_parameter_constraints_clauses1160.getTree());
}
}
break;
}
pushFollow(FOLLOW_interface_body_in_interface_declaration9835);
interface_body1161 = interface_body();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, interface_body1161.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2025:182: ( SEMICOLON )?
int alt271 = 2;
int LA271_0 = input.LA(1);
if ((LA271_0 == SEMICOLON)) {
alt271 = 1;
}
switch (alt271) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2025:182: SEMICOLON
{
SEMICOLON1162 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_interface_declaration9837);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
SEMICOLON1162_tree =
adaptor.create(SEMICOLON1162);
adaptor.addChild(root_0, SEMICOLON1162_tree);
}
}
break;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "interface_declaration"
public static class interface_modifiers_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "interface_modifiers"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2027:1: interface_modifiers : interface_modifier ( interface_modifier )* ;
public final CSharpParser.interface_modifiers_return interface_modifiers() throws RecognitionException {
CSharpParser.interface_modifiers_return retval = new CSharpParser.interface_modifiers_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.interface_modifier_return interface_modifier1163 = null;
CSharpParser.interface_modifier_return interface_modifier1164 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2028:2: ( interface_modifier ( interface_modifier )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2028:4: interface_modifier ( interface_modifier )*
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_interface_modifier_in_interface_modifiers9849);
interface_modifier1163 = interface_modifier();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, interface_modifier1163.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2028:23: ( interface_modifier )*
loop272:
do {
int alt272 = 2;
int LA272_0 = input.LA(1);
if ((LA272_0 == INTERNAL || LA272_0 == NEW || (LA272_0 >= PRIVATE && LA272_0 <= PUBLIC) || LA272_0 == UNSAFE)) {
alt272 = 1;
}
switch (alt272) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2028:25: interface_modifier
{
pushFollow(FOLLOW_interface_modifier_in_interface_modifiers9853);
interface_modifier1164 = interface_modifier();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, interface_modifier1164.getTree());
}
}
break;
default:
break loop272;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "interface_modifiers"
public static class interface_modifier_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "interface_modifier"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2030:1: interface_modifier : ( NEW | PUBLIC | PROTECTED | INTERNAL | PRIVATE | interface_modifier_unsafe );
public final CSharpParser.interface_modifier_return interface_modifier() throws RecognitionException {
CSharpParser.interface_modifier_return retval = new CSharpParser.interface_modifier_return();
retval.start = input.LT(1);
Object root_0 = null;
Token NEW1165 = null;
Token PUBLIC1166 = null;
Token PROTECTED1167 = null;
Token INTERNAL1168 = null;
Token PRIVATE1169 = null;
CSharpParser.interface_modifier_unsafe_return interface_modifier_unsafe1170 = null;
Object NEW1165_tree = null;
Object PUBLIC1166_tree = null;
Object PROTECTED1167_tree = null;
Object INTERNAL1168_tree = null;
Object PRIVATE1169_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2031:2: ( NEW | PUBLIC | PROTECTED | INTERNAL | PRIVATE | interface_modifier_unsafe )
int alt273 = 6;
switch (input.LA(1)) {
case NEW: {
alt273 = 1;
}
break;
case PUBLIC: {
alt273 = 2;
}
break;
case PROTECTED: {
alt273 = 3;
}
break;
case INTERNAL: {
alt273 = 4;
}
break;
case PRIVATE: {
alt273 = 5;
}
break;
case UNSAFE: {
alt273 = 6;
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 273, 0, input);
throw nvae;
}
switch (alt273) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2031:4: NEW
{
root_0 = adaptor.nil();
NEW1165 = (Token) match(input, NEW, FOLLOW_NEW_in_interface_modifier9867);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
NEW1165_tree =
adaptor.create(NEW1165);
adaptor.addChild(root_0, NEW1165_tree);
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2032:4: PUBLIC
{
root_0 = adaptor.nil();
PUBLIC1166 = (Token) match(input, PUBLIC, FOLLOW_PUBLIC_in_interface_modifier9872);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PUBLIC1166_tree =
adaptor.create(PUBLIC1166);
adaptor.addChild(root_0, PUBLIC1166_tree);
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2033:4: PROTECTED
{
root_0 = adaptor.nil();
PROTECTED1167 = (Token) match(input, PROTECTED, FOLLOW_PROTECTED_in_interface_modifier9877);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PROTECTED1167_tree =
adaptor.create(PROTECTED1167);
adaptor.addChild(root_0, PROTECTED1167_tree);
}
}
break;
case 4: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2034:4: INTERNAL
{
root_0 = adaptor.nil();
INTERNAL1168 = (Token) match(input, INTERNAL, FOLLOW_INTERNAL_in_interface_modifier9882);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
INTERNAL1168_tree =
adaptor.create(INTERNAL1168);
adaptor.addChild(root_0, INTERNAL1168_tree);
}
}
break;
case 5: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2035:4: PRIVATE
{
root_0 = adaptor.nil();
PRIVATE1169 = (Token) match(input, PRIVATE, FOLLOW_PRIVATE_in_interface_modifier9887);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PRIVATE1169_tree =
adaptor.create(PRIVATE1169);
adaptor.addChild(root_0, PRIVATE1169_tree);
}
}
break;
case 6: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2036:4: interface_modifier_unsafe
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_interface_modifier_unsafe_in_interface_modifier9892);
interface_modifier_unsafe1170 = interface_modifier_unsafe();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, interface_modifier_unsafe1170.getTree());
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "interface_modifier"
public static class variant_type_parameter_list_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "variant_type_parameter_list"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2038:1: variant_type_parameter_list : LT ! variant_type_parameters GT !;
public final CSharpParser.variant_type_parameter_list_return variant_type_parameter_list() throws RecognitionException {
CSharpParser.variant_type_parameter_list_return retval = new CSharpParser.variant_type_parameter_list_return();
retval.start = input.LT(1);
Object root_0 = null;
Token LT1171 = null;
Token GT1173 = null;
CSharpParser.variant_type_parameters_return variant_type_parameters1172 = null;
Object LT1171_tree = null;
Object GT1173_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2039:2: ( LT ! variant_type_parameters GT !)
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2039:4: LT ! variant_type_parameters GT !
{
root_0 = adaptor.nil();
LT1171 = (Token) match(input, LT, FOLLOW_LT_in_variant_type_parameter_list9903);
if (state.failed) {
return retval;
}
pushFollow(FOLLOW_variant_type_parameters_in_variant_type_parameter_list9906);
variant_type_parameters1172 = variant_type_parameters();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, variant_type_parameters1172.getTree());
}
GT1173 = (Token) match(input, GT, FOLLOW_GT_in_variant_type_parameter_list9908);
if (state.failed) {
return retval;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "variant_type_parameter_list"
public static class variant_type_parameters_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "variant_type_parameters"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2041:1: variant_type_parameters : attributed_variance_type_parameter ( COMMA attributed_variance_type_parameter )* -> ^( VARIANT_TYPE_PARAMETERS ( attributed_variance_type_parameter )+ ) ;
public final CSharpParser.variant_type_parameters_return variant_type_parameters() throws RecognitionException {
CSharpParser.variant_type_parameters_return retval = new CSharpParser.variant_type_parameters_return();
retval.start = input.LT(1);
Object root_0 = null;
Token COMMA1175 = null;
CSharpParser.attributed_variance_type_parameter_return attributed_variance_type_parameter1174 = null;
CSharpParser.attributed_variance_type_parameter_return attributed_variance_type_parameter1176 = null;
Object COMMA1175_tree = null;
RewriteRuleTokenStream stream_COMMA = new RewriteRuleTokenStream(adaptor, "token COMMA");
RewriteRuleSubtreeStream stream_attributed_variance_type_parameter = new RewriteRuleSubtreeStream(adaptor, "rule attributed_variance_type_parameter");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2042:2: ( attributed_variance_type_parameter ( COMMA attributed_variance_type_parameter )* -> ^( VARIANT_TYPE_PARAMETERS ( attributed_variance_type_parameter )+ ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2042:4: attributed_variance_type_parameter ( COMMA attributed_variance_type_parameter )*
{
pushFollow(FOLLOW_attributed_variance_type_parameter_in_variant_type_parameters9920);
attributed_variance_type_parameter1174 = attributed_variance_type_parameter();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_attributed_variance_type_parameter.add(attributed_variance_type_parameter1174.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2042:39: ( COMMA attributed_variance_type_parameter )*
loop274:
do {
int alt274 = 2;
int LA274_0 = input.LA(1);
if ((LA274_0 == COMMA)) {
alt274 = 1;
}
switch (alt274) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2042:41: COMMA attributed_variance_type_parameter
{
COMMA1175 = (Token) match(input, COMMA, FOLLOW_COMMA_in_variant_type_parameters9924);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_COMMA.add(COMMA1175);
}
pushFollow(FOLLOW_attributed_variance_type_parameter_in_variant_type_parameters9926);
attributed_variance_type_parameter1176 = attributed_variance_type_parameter();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_attributed_variance_type_parameter.add(attributed_variance_type_parameter1176.getTree());
}
}
break;
default:
break loop274;
}
} while (true);
// AST REWRITE
// elements: attributed_variance_type_parameter
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 2043:4: -> ^( VARIANT_TYPE_PARAMETERS ( attributed_variance_type_parameter )+ )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2043:7: ^( VARIANT_TYPE_PARAMETERS ( attributed_variance_type_parameter )+ )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(VARIANT_TYPE_PARAMETERS, "VARIANT_TYPE_PARAMETERS"), root_1);
if (!(stream_attributed_variance_type_parameter.hasNext())) {
throw new RewriteEarlyExitException();
}
while (stream_attributed_variance_type_parameter.hasNext()) {
adaptor.addChild(root_1, stream_attributed_variance_type_parameter.nextTree());
}
stream_attributed_variance_type_parameter.reset();
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "variant_type_parameters"
public static class attributed_variance_type_parameter_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "attributed_variance_type_parameter"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2046:1: attributed_variance_type_parameter : ( attributes )? ( variance_annotation )? type_parameter ;
public final CSharpParser.attributed_variance_type_parameter_return attributed_variance_type_parameter() throws RecognitionException {
CSharpParser.attributed_variance_type_parameter_return retval = new CSharpParser.attributed_variance_type_parameter_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.attributes_return attributes1177 = null;
CSharpParser.variance_annotation_return variance_annotation1178 = null;
CSharpParser.type_parameter_return type_parameter1179 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2047:3: ( ( attributes )? ( variance_annotation )? type_parameter )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2047:5: ( attributes )? ( variance_annotation )? type_parameter
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2047:5: ( attributes )?
int alt275 = 2;
int LA275_0 = input.LA(1);
if ((LA275_0 == OPEN_BRACKET)) {
alt275 = 1;
}
switch (alt275) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2047:5: attributes
{
pushFollow(FOLLOW_attributes_in_attributed_variance_type_parameter9954);
attributes1177 = attributes();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, attributes1177.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2047:17: ( variance_annotation )?
int alt276 = 2;
int LA276_0 = input.LA(1);
if ((LA276_0 == IN || LA276_0 == OUT)) {
alt276 = 1;
}
switch (alt276) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2047:17: variance_annotation
{
pushFollow(FOLLOW_variance_annotation_in_attributed_variance_type_parameter9957);
variance_annotation1178 = variance_annotation();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, variance_annotation1178.getTree());
}
}
break;
}
pushFollow(FOLLOW_type_parameter_in_attributed_variance_type_parameter9960);
type_parameter1179 = type_parameter();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type_parameter1179.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "attributed_variance_type_parameter"
public static class variance_annotation_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "variance_annotation"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2049:1: variance_annotation : ( IN -> ^( VARIANCE_ANNOTATION IN ) | OUT -> ^( VARIANCE_ANNOTATION OUT ) );
public final CSharpParser.variance_annotation_return variance_annotation() throws RecognitionException {
CSharpParser.variance_annotation_return retval = new CSharpParser.variance_annotation_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IN1180 = null;
Token OUT1181 = null;
Object IN1180_tree = null;
Object OUT1181_tree = null;
RewriteRuleTokenStream stream_IN = new RewriteRuleTokenStream(adaptor, "token IN");
RewriteRuleTokenStream stream_OUT = new RewriteRuleTokenStream(adaptor, "token OUT");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2050:2: ( IN -> ^( VARIANCE_ANNOTATION IN ) | OUT -> ^( VARIANCE_ANNOTATION OUT ) )
int alt277 = 2;
int LA277_0 = input.LA(1);
if ((LA277_0 == IN)) {
alt277 = 1;
} else if ((LA277_0 == OUT)) {
alt277 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 277, 0, input);
throw nvae;
}
switch (alt277) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2050:4: IN
{
IN1180 = (Token) match(input, IN, FOLLOW_IN_in_variance_annotation9972);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_IN.add(IN1180);
}
// AST REWRITE
// elements: IN
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 2050:9: -> ^( VARIANCE_ANNOTATION IN )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2050:12: ^( VARIANCE_ANNOTATION IN )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(VARIANCE_ANNOTATION, "VARIANCE_ANNOTATION"), root_1);
adaptor.addChild(root_1,
stream_IN.nextNode());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2051:4: OUT
{
OUT1181 = (Token) match(input, OUT, FOLLOW_OUT_in_variance_annotation9987);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_OUT.add(OUT1181);
}
// AST REWRITE
// elements: OUT
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 2051:9: -> ^( VARIANCE_ANNOTATION OUT )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2051:12: ^( VARIANCE_ANNOTATION OUT )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(VARIANCE_ANNOTATION, "VARIANCE_ANNOTATION"), root_1);
adaptor.addChild(root_1,
stream_OUT.nextNode());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "variance_annotation"
public static class interface_base_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "interface_base"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2053:1: interface_base : COLON ! interface_type_list ;
public final CSharpParser.interface_base_return interface_base() throws RecognitionException {
CSharpParser.interface_base_return retval = new CSharpParser.interface_base_return();
retval.start = input.LT(1);
Object root_0 = null;
Token COLON1182 = null;
CSharpParser.interface_type_list_return interface_type_list1183 = null;
Object COLON1182_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2054:2: ( COLON ! interface_type_list )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2054:4: COLON ! interface_type_list
{
root_0 = adaptor.nil();
COLON1182 = (Token) match(input, COLON, FOLLOW_COLON_in_interface_base10007);
if (state.failed) {
return retval;
}
pushFollow(FOLLOW_interface_type_list_in_interface_base10010);
interface_type_list1183 = interface_type_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, interface_type_list1183.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "interface_base"
public static class interface_body_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "interface_body"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2056:1: interface_body : OPEN_BRACE ! ( interface_member_declarations )? CLOSE_BRACE !;
public final CSharpParser.interface_body_return interface_body() throws RecognitionException {
CSharpParser.interface_body_return retval = new CSharpParser.interface_body_return();
retval.start = input.LT(1);
Object root_0 = null;
Token OPEN_BRACE1184 = null;
Token CLOSE_BRACE1186 = null;
CSharpParser.interface_member_declarations_return interface_member_declarations1185 = null;
Object OPEN_BRACE1184_tree = null;
Object CLOSE_BRACE1186_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2057:2: ( OPEN_BRACE ! ( interface_member_declarations )? CLOSE_BRACE !)
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2057:4: OPEN_BRACE ! ( interface_member_declarations )? CLOSE_BRACE !
{
root_0 = adaptor.nil();
OPEN_BRACE1184 = (Token) match(input, OPEN_BRACE, FOLLOW_OPEN_BRACE_in_interface_body10021);
if (state.failed) {
return retval;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2057:16: ( interface_member_declarations )?
int alt278 = 2;
int LA278_0 = input.LA(1);
if ((LA278_0 == BOOL || LA278_0 == BYTE || LA278_0 == CHAR || LA278_0 == DECIMAL || LA278_0 == DOUBLE || LA278_0 == EVENT || LA278_0 == FLOAT || LA278_0 == IDENTIFIER || LA278_0 == INT || LA278_0 == LONG || LA278_0 == NEW || LA278_0 == OBJECT || LA278_0 == OPEN_BRACKET || LA278_0 == SBYTE || LA278_0 == SHORT || LA278_0 == STRING || (LA278_0 >= UINT && LA278_0 <= ULONG) || LA278_0 == USHORT || LA278_0 == VOID)) {
alt278 = 1;
}
switch (alt278) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2057:16: interface_member_declarations
{
pushFollow(FOLLOW_interface_member_declarations_in_interface_body10024);
interface_member_declarations1185 = interface_member_declarations();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, interface_member_declarations1185.getTree());
}
}
break;
}
CLOSE_BRACE1186 = (Token) match(input, CLOSE_BRACE, FOLLOW_CLOSE_BRACE_in_interface_body10027);
if (state.failed) {
return retval;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "interface_body"
public static class interface_member_declarations_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "interface_member_declarations"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2059:1: interface_member_declarations : ( interface_member_declaration )+ -> ^( INTERFACE_MEMBER_DECLARATIONS ( interface_member_declaration )+ ) ;
public final CSharpParser.interface_member_declarations_return interface_member_declarations() throws RecognitionException {
CSharpParser.interface_member_declarations_return retval = new CSharpParser.interface_member_declarations_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.interface_member_declaration_return interface_member_declaration1187 = null;
RewriteRuleSubtreeStream stream_interface_member_declaration = new RewriteRuleSubtreeStream(adaptor, "rule interface_member_declaration");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2060:2: ( ( interface_member_declaration )+ -> ^( INTERFACE_MEMBER_DECLARATIONS ( interface_member_declaration )+ ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2060:4: ( interface_member_declaration )+
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2060:4: ( interface_member_declaration )+
int cnt279 = 0;
loop279:
do {
int alt279 = 2;
int LA279_0 = input.LA(1);
if ((LA279_0 == BOOL || LA279_0 == BYTE || LA279_0 == CHAR || LA279_0 == DECIMAL || LA279_0 == DOUBLE || LA279_0 == EVENT || LA279_0 == FLOAT || LA279_0 == IDENTIFIER || LA279_0 == INT || LA279_0 == LONG || LA279_0 == NEW || LA279_0 == OBJECT || LA279_0 == OPEN_BRACKET || LA279_0 == SBYTE || LA279_0 == SHORT || LA279_0 == STRING || (LA279_0 >= UINT && LA279_0 <= ULONG) || LA279_0 == USHORT || LA279_0 == VOID)) {
alt279 = 1;
}
switch (alt279) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2060:4: interface_member_declaration
{
pushFollow(FOLLOW_interface_member_declaration_in_interface_member_declarations10039);
interface_member_declaration1187 = interface_member_declaration();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_interface_member_declaration.add(interface_member_declaration1187.getTree());
}
}
break;
default:
if (cnt279 >= 1) {
break loop279;
}
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
EarlyExitException eee =
new EarlyExitException(279, input);
throw eee;
}
cnt279++;
} while (true);
// AST REWRITE
// elements: interface_member_declaration
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 2061:4: -> ^( INTERFACE_MEMBER_DECLARATIONS ( interface_member_declaration )+ )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2061:7: ^( INTERFACE_MEMBER_DECLARATIONS ( interface_member_declaration )+ )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(INTERFACE_MEMBER_DECLARATIONS, "INTERFACE_MEMBER_DECLARATIONS"), root_1);
if (!(stream_interface_member_declaration.hasNext())) {
throw new RewriteEarlyExitException();
}
while (stream_interface_member_declaration.hasNext()) {
adaptor.addChild(root_1, stream_interface_member_declaration.nextTree());
}
stream_interface_member_declaration.reset();
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "interface_member_declarations"
public static class interface_member_declaration_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "interface_member_declaration"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2071:1: interface_member_declaration : ( attributes )? ( NEW )? ( type ( interface_method_declaration2 ^| interface_property_declaration2 ^| interface_indexer_declaration2 ^) | type_void interface_method_declaration2 ^| interface_event_declaration2 ^) ;
public final CSharpParser.interface_member_declaration_return interface_member_declaration() throws RecognitionException {
CSharpParser.interface_member_declaration_return retval = new CSharpParser.interface_member_declaration_return();
retval.start = input.LT(1);
Object root_0 = null;
Token NEW1189 = null;
CSharpParser.attributes_return attributes1188 = null;
CSharpParser.type_return type1190 = null;
CSharpParser.interface_method_declaration2_return interface_method_declaration21191 = null;
CSharpParser.interface_property_declaration2_return interface_property_declaration21192 = null;
CSharpParser.interface_indexer_declaration2_return interface_indexer_declaration21193 = null;
CSharpParser.type_void_return type_void1194 = null;
CSharpParser.interface_method_declaration2_return interface_method_declaration21195 = null;
CSharpParser.interface_event_declaration2_return interface_event_declaration21196 = null;
Object NEW1189_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2072:3: ( ( attributes )? ( NEW )? ( type ( interface_method_declaration2 ^| interface_property_declaration2 ^| interface_indexer_declaration2 ^) | type_void interface_method_declaration2 ^| interface_event_declaration2 ^) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2072:5: ( attributes )? ( NEW )? ( type ( interface_method_declaration2 ^| interface_property_declaration2 ^| interface_indexer_declaration2 ^) | type_void interface_method_declaration2 ^| interface_event_declaration2 ^)
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2072:5: ( attributes )?
int alt280 = 2;
int LA280_0 = input.LA(1);
if ((LA280_0 == OPEN_BRACKET)) {
alt280 = 1;
}
switch (alt280) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2072:5: attributes
{
pushFollow(FOLLOW_attributes_in_interface_member_declaration10067);
attributes1188 = attributes();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, attributes1188.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2072:17: ( NEW )?
int alt281 = 2;
int LA281_0 = input.LA(1);
if ((LA281_0 == NEW)) {
alt281 = 1;
}
switch (alt281) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2072:17: NEW
{
NEW1189 = (Token) match(input, NEW, FOLLOW_NEW_in_interface_member_declaration10070);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
NEW1189_tree =
adaptor.create(NEW1189);
adaptor.addChild(root_0, NEW1189_tree);
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2073:5: ( type ( interface_method_declaration2 ^| interface_property_declaration2 ^| interface_indexer_declaration2 ^) | type_void interface_method_declaration2 ^| interface_event_declaration2 ^)
int alt283 = 3;
switch (input.LA(1)) {
case BOOL:
case BYTE:
case CHAR:
case DECIMAL:
case DOUBLE:
case FLOAT:
case IDENTIFIER:
case INT:
case LONG:
case OBJECT:
case SBYTE:
case SHORT:
case STRING:
case UINT:
case ULONG:
case USHORT: {
alt283 = 1;
}
break;
case VOID: {
int LA283_2 = input.LA(2);
if ((LA283_2 == STAR)) {
alt283 = 1;
} else if ((LA283_2 == IDENTIFIER)) {
alt283 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 283, 2, input);
throw nvae;
}
}
break;
case EVENT: {
alt283 = 3;
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 283, 0, input);
throw nvae;
}
switch (alt283) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2073:7: type ( interface_method_declaration2 ^| interface_property_declaration2 ^| interface_indexer_declaration2 ^)
{
pushFollow(FOLLOW_type_in_interface_member_declaration10079);
type1190 = type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type1190.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2074:7: ( interface_method_declaration2 ^| interface_property_declaration2 ^| interface_indexer_declaration2 ^)
int alt282 = 3;
int LA282_0 = input.LA(1);
if ((LA282_0 == IDENTIFIER)) {
int LA282_1 = input.LA(2);
if ((LA282_1 == OPEN_BRACE)) {
alt282 = 2;
} else if ((LA282_1 == LT || LA282_1 == OPEN_PARENS)) {
alt282 = 1;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 282, 1, input);
throw nvae;
}
} else if ((LA282_0 == THIS)) {
alt282 = 3;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 282, 0, input);
throw nvae;
}
switch (alt282) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2074:9: interface_method_declaration2 ^
{
pushFollow(FOLLOW_interface_method_declaration2_in_interface_member_declaration10089);
interface_method_declaration21191 = interface_method_declaration2();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
root_0 = adaptor.becomeRoot(interface_method_declaration21191.getTree(), root_0);
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2075:9: interface_property_declaration2 ^
{
pushFollow(FOLLOW_interface_property_declaration2_in_interface_member_declaration10100);
interface_property_declaration21192 = interface_property_declaration2();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
root_0 = adaptor.becomeRoot(interface_property_declaration21192.getTree(), root_0);
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2076:9: interface_indexer_declaration2 ^
{
pushFollow(FOLLOW_interface_indexer_declaration2_in_interface_member_declaration10111);
interface_indexer_declaration21193 = interface_indexer_declaration2();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
root_0 = adaptor.becomeRoot(interface_indexer_declaration21193.getTree(), root_0);
}
}
break;
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2078:7: type_void interface_method_declaration2 ^
{
pushFollow(FOLLOW_type_void_in_interface_member_declaration10128);
type_void1194 = type_void();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type_void1194.getTree());
}
pushFollow(FOLLOW_interface_method_declaration2_in_interface_member_declaration10130);
interface_method_declaration21195 = interface_method_declaration2();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
root_0 = adaptor.becomeRoot(interface_method_declaration21195.getTree(), root_0);
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2079:7: interface_event_declaration2 ^
{
pushFollow(FOLLOW_interface_event_declaration2_in_interface_member_declaration10139);
interface_event_declaration21196 = interface_event_declaration2();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
root_0 = adaptor.becomeRoot(interface_event_declaration21196.getTree(), root_0);
}
}
break;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "interface_member_declaration"
public static class interface_method_declaration_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "interface_method_declaration"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2082:1: interface_method_declaration : ( attributes )? ( NEW )? return_type IDENTIFIER ( type_parameter_list )? OPEN_PARENS ( formal_parameter_list )? CLOSE_PARENS ( type_parameter_constraints_clauses )? SEMICOLON ;
public final CSharpParser.interface_method_declaration_return interface_method_declaration() throws RecognitionException {
CSharpParser.interface_method_declaration_return retval = new CSharpParser.interface_method_declaration_return();
retval.start = input.LT(1);
Object root_0 = null;
Token NEW1198 = null;
Token IDENTIFIER1200 = null;
Token OPEN_PARENS1202 = null;
Token CLOSE_PARENS1204 = null;
Token SEMICOLON1206 = null;
CSharpParser.attributes_return attributes1197 = null;
CSharpParser.return_type_return return_type1199 = null;
CSharpParser.type_parameter_list_return type_parameter_list1201 = null;
CSharpParser.formal_parameter_list_return formal_parameter_list1203 = null;
CSharpParser.type_parameter_constraints_clauses_return type_parameter_constraints_clauses1205 = null;
Object NEW1198_tree = null;
Object IDENTIFIER1200_tree = null;
Object OPEN_PARENS1202_tree = null;
Object CLOSE_PARENS1204_tree = null;
Object SEMICOLON1206_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2083:2: ( ( attributes )? ( NEW )? return_type IDENTIFIER ( type_parameter_list )? OPEN_PARENS ( formal_parameter_list )? CLOSE_PARENS ( type_parameter_constraints_clauses )? SEMICOLON )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2083:4: ( attributes )? ( NEW )? return_type IDENTIFIER ( type_parameter_list )? OPEN_PARENS ( formal_parameter_list )? CLOSE_PARENS ( type_parameter_constraints_clauses )? SEMICOLON
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2083:4: ( attributes )?
int alt284 = 2;
int LA284_0 = input.LA(1);
if ((LA284_0 == OPEN_BRACKET)) {
alt284 = 1;
}
switch (alt284) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2083:4: attributes
{
pushFollow(FOLLOW_attributes_in_interface_method_declaration10158);
attributes1197 = attributes();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, attributes1197.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2083:16: ( NEW )?
int alt285 = 2;
int LA285_0 = input.LA(1);
if ((LA285_0 == NEW)) {
alt285 = 1;
}
switch (alt285) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2083:16: NEW
{
NEW1198 = (Token) match(input, NEW, FOLLOW_NEW_in_interface_method_declaration10161);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
NEW1198_tree =
adaptor.create(NEW1198);
adaptor.addChild(root_0, NEW1198_tree);
}
}
break;
}
pushFollow(FOLLOW_return_type_in_interface_method_declaration10164);
return_type1199 = return_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, return_type1199.getTree());
}
IDENTIFIER1200 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_interface_method_declaration10166);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1200_tree =
adaptor.create(IDENTIFIER1200);
adaptor.addChild(root_0, IDENTIFIER1200_tree);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2083:44: ( type_parameter_list )?
int alt286 = 2;
int LA286_0 = input.LA(1);
if ((LA286_0 == LT)) {
alt286 = 1;
}
switch (alt286) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2083:44: type_parameter_list
{
pushFollow(FOLLOW_type_parameter_list_in_interface_method_declaration10168);
type_parameter_list1201 = type_parameter_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type_parameter_list1201.getTree());
}
}
break;
}
OPEN_PARENS1202 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_interface_method_declaration10171);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_PARENS1202_tree =
adaptor.create(OPEN_PARENS1202);
adaptor.addChild(root_0, OPEN_PARENS1202_tree);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2083:77: ( formal_parameter_list )?
int alt287 = 2;
int LA287_0 = input.LA(1);
if ((LA287_0 == BOOL || LA287_0 == BYTE || LA287_0 == CHAR || LA287_0 == DECIMAL || LA287_0 == DOUBLE || LA287_0 == FLOAT || LA287_0 == IDENTIFIER || LA287_0 == INT || LA287_0 == LONG || LA287_0 == OBJECT || LA287_0 == OPEN_BRACKET || LA287_0 == OUT || LA287_0 == PARAMS || LA287_0 == REF || LA287_0 == SBYTE || LA287_0 == SHORT || LA287_0 == STRING || LA287_0 == THIS || (LA287_0 >= UINT && LA287_0 <= ULONG) || LA287_0 == USHORT || LA287_0 == VOID)) {
alt287 = 1;
}
switch (alt287) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2083:77: formal_parameter_list
{
pushFollow(FOLLOW_formal_parameter_list_in_interface_method_declaration10173);
formal_parameter_list1203 = formal_parameter_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, formal_parameter_list1203.getTree());
}
}
break;
}
CLOSE_PARENS1204 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_interface_method_declaration10176);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_PARENS1204_tree =
adaptor.create(CLOSE_PARENS1204);
adaptor.addChild(root_0, CLOSE_PARENS1204_tree);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2083:113: ( type_parameter_constraints_clauses )?
int alt288 = 2;
int LA288_0 = input.LA(1);
if ((LA288_0 == IDENTIFIER)) {
alt288 = 1;
}
switch (alt288) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2083:113: type_parameter_constraints_clauses
{
pushFollow(FOLLOW_type_parameter_constraints_clauses_in_interface_method_declaration10178);
type_parameter_constraints_clauses1205 = type_parameter_constraints_clauses();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type_parameter_constraints_clauses1205.getTree());
}
}
break;
}
SEMICOLON1206 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_interface_method_declaration10181);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
SEMICOLON1206_tree =
adaptor.create(SEMICOLON1206);
adaptor.addChild(root_0, SEMICOLON1206_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "interface_method_declaration"
public static class interface_property_declaration_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "interface_property_declaration"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2085:1: interface_property_declaration : ( attributes )? ( NEW )? type IDENTIFIER OPEN_BRACE interface_accessors CLOSE_BRACE ;
public final CSharpParser.interface_property_declaration_return interface_property_declaration() throws RecognitionException {
CSharpParser.interface_property_declaration_return retval = new CSharpParser.interface_property_declaration_return();
retval.start = input.LT(1);
Object root_0 = null;
Token NEW1208 = null;
Token IDENTIFIER1210 = null;
Token OPEN_BRACE1211 = null;
Token CLOSE_BRACE1213 = null;
CSharpParser.attributes_return attributes1207 = null;
CSharpParser.type_return type1209 = null;
CSharpParser.interface_accessors_return interface_accessors1212 = null;
Object NEW1208_tree = null;
Object IDENTIFIER1210_tree = null;
Object OPEN_BRACE1211_tree = null;
Object CLOSE_BRACE1213_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2086:2: ( ( attributes )? ( NEW )? type IDENTIFIER OPEN_BRACE interface_accessors CLOSE_BRACE )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2086:4: ( attributes )? ( NEW )? type IDENTIFIER OPEN_BRACE interface_accessors CLOSE_BRACE
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2086:4: ( attributes )?
int alt289 = 2;
int LA289_0 = input.LA(1);
if ((LA289_0 == OPEN_BRACKET)) {
alt289 = 1;
}
switch (alt289) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2086:4: attributes
{
pushFollow(FOLLOW_attributes_in_interface_property_declaration10192);
attributes1207 = attributes();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, attributes1207.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2086:16: ( NEW )?
int alt290 = 2;
int LA290_0 = input.LA(1);
if ((LA290_0 == NEW)) {
alt290 = 1;
}
switch (alt290) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2086:16: NEW
{
NEW1208 = (Token) match(input, NEW, FOLLOW_NEW_in_interface_property_declaration10195);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
NEW1208_tree =
adaptor.create(NEW1208);
adaptor.addChild(root_0, NEW1208_tree);
}
}
break;
}
pushFollow(FOLLOW_type_in_interface_property_declaration10198);
type1209 = type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type1209.getTree());
}
IDENTIFIER1210 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_interface_property_declaration10200);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1210_tree =
adaptor.create(IDENTIFIER1210);
adaptor.addChild(root_0, IDENTIFIER1210_tree);
}
OPEN_BRACE1211 = (Token) match(input, OPEN_BRACE, FOLLOW_OPEN_BRACE_in_interface_property_declaration10202);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_BRACE1211_tree =
adaptor.create(OPEN_BRACE1211);
adaptor.addChild(root_0, OPEN_BRACE1211_tree);
}
pushFollow(FOLLOW_interface_accessors_in_interface_property_declaration10204);
interface_accessors1212 = interface_accessors();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, interface_accessors1212.getTree());
}
CLOSE_BRACE1213 = (Token) match(input, CLOSE_BRACE, FOLLOW_CLOSE_BRACE_in_interface_property_declaration10206);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_BRACE1213_tree =
adaptor.create(CLOSE_BRACE1213);
adaptor.addChild(root_0, CLOSE_BRACE1213_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "interface_property_declaration"
public static class interface_accessors_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "interface_accessors"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2096:1: interface_accessors : ( attributes )? ( get_contextual_keyword SEMICOLON ! ( ( attributes )? set_contextual_keyword SEMICOLON !)? | set_contextual_keyword SEMICOLON ! ( ( attributes )? get_contextual_keyword SEMICOLON !)? ) ;
public final CSharpParser.interface_accessors_return interface_accessors() throws RecognitionException {
CSharpParser.interface_accessors_return retval = new CSharpParser.interface_accessors_return();
retval.start = input.LT(1);
Object root_0 = null;
Token SEMICOLON1216 = null;
Token SEMICOLON1219 = null;
Token SEMICOLON1221 = null;
Token SEMICOLON1224 = null;
CSharpParser.attributes_return attributes1214 = null;
CSharpParser.get_contextual_keyword_return get_contextual_keyword1215 = null;
CSharpParser.attributes_return attributes1217 = null;
CSharpParser.set_contextual_keyword_return set_contextual_keyword1218 = null;
CSharpParser.set_contextual_keyword_return set_contextual_keyword1220 = null;
CSharpParser.attributes_return attributes1222 = null;
CSharpParser.get_contextual_keyword_return get_contextual_keyword1223 = null;
Object SEMICOLON1216_tree = null;
Object SEMICOLON1219_tree = null;
Object SEMICOLON1221_tree = null;
Object SEMICOLON1224_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2097:3: ( ( attributes )? ( get_contextual_keyword SEMICOLON ! ( ( attributes )? set_contextual_keyword SEMICOLON !)? | set_contextual_keyword SEMICOLON ! ( ( attributes )? get_contextual_keyword SEMICOLON !)? ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2097:5: ( attributes )? ( get_contextual_keyword SEMICOLON ! ( ( attributes )? set_contextual_keyword SEMICOLON !)? | set_contextual_keyword SEMICOLON ! ( ( attributes )? get_contextual_keyword SEMICOLON !)? )
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2097:5: ( attributes )?
int alt291 = 2;
int LA291_0 = input.LA(1);
if ((LA291_0 == OPEN_BRACKET)) {
alt291 = 1;
}
switch (alt291) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2097:5: attributes
{
pushFollow(FOLLOW_attributes_in_interface_accessors10220);
attributes1214 = attributes();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, attributes1214.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2098:5: ( get_contextual_keyword SEMICOLON ! ( ( attributes )? set_contextual_keyword SEMICOLON !)? | set_contextual_keyword SEMICOLON ! ( ( attributes )? get_contextual_keyword SEMICOLON !)? )
int alt296 = 2;
int LA296_0 = input.LA(1);
if ((LA296_0 == IDENTIFIER)) {
int LA296_1 = input.LA(2);
if ((LA296_1 == SEMICOLON)) {
int LA296_2 = input.LA(3);
if (((input.LT(1).getText().equals("get")))) {
alt296 = 1;
} else if (((input.LT(1).getText().equals("set")))) {
alt296 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 296, 2, input);
throw nvae;
}
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 296, 1, input);
throw nvae;
}
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 296, 0, input);
throw nvae;
}
switch (alt296) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2098:7: get_contextual_keyword SEMICOLON ! ( ( attributes )? set_contextual_keyword SEMICOLON !)?
{
pushFollow(FOLLOW_get_contextual_keyword_in_interface_accessors10229);
get_contextual_keyword1215 = get_contextual_keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, get_contextual_keyword1215.getTree());
}
SEMICOLON1216 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_interface_accessors10231);
if (state.failed) {
return retval;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2098:41: ( ( attributes )? set_contextual_keyword SEMICOLON !)?
int alt293 = 2;
int LA293_0 = input.LA(1);
if ((LA293_0 == IDENTIFIER || LA293_0 == OPEN_BRACKET)) {
alt293 = 1;
}
switch (alt293) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2098:42: ( attributes )? set_contextual_keyword SEMICOLON !
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2098:42: ( attributes )?
int alt292 = 2;
int LA292_0 = input.LA(1);
if ((LA292_0 == OPEN_BRACKET)) {
alt292 = 1;
}
switch (alt292) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2098:42: attributes
{
pushFollow(FOLLOW_attributes_in_interface_accessors10235);
attributes1217 = attributes();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, attributes1217.getTree());
}
}
break;
}
pushFollow(FOLLOW_set_contextual_keyword_in_interface_accessors10238);
set_contextual_keyword1218 = set_contextual_keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, set_contextual_keyword1218.getTree());
}
SEMICOLON1219 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_interface_accessors10240);
if (state.failed) {
return retval;
}
}
break;
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2099:7: set_contextual_keyword SEMICOLON ! ( ( attributes )? get_contextual_keyword SEMICOLON !)?
{
pushFollow(FOLLOW_set_contextual_keyword_in_interface_accessors10251);
set_contextual_keyword1220 = set_contextual_keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, set_contextual_keyword1220.getTree());
}
SEMICOLON1221 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_interface_accessors10253);
if (state.failed) {
return retval;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2099:41: ( ( attributes )? get_contextual_keyword SEMICOLON !)?
int alt295 = 2;
int LA295_0 = input.LA(1);
if ((LA295_0 == IDENTIFIER || LA295_0 == OPEN_BRACKET)) {
alt295 = 1;
}
switch (alt295) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2099:42: ( attributes )? get_contextual_keyword SEMICOLON !
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2099:42: ( attributes )?
int alt294 = 2;
int LA294_0 = input.LA(1);
if ((LA294_0 == OPEN_BRACKET)) {
alt294 = 1;
}
switch (alt294) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2099:42: attributes
{
pushFollow(FOLLOW_attributes_in_interface_accessors10257);
attributes1222 = attributes();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, attributes1222.getTree());
}
}
break;
}
pushFollow(FOLLOW_get_contextual_keyword_in_interface_accessors10260);
get_contextual_keyword1223 = get_contextual_keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, get_contextual_keyword1223.getTree());
}
SEMICOLON1224 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_interface_accessors10262);
if (state.failed) {
return retval;
}
}
break;
}
}
break;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "interface_accessors"
public static class interface_event_declaration_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "interface_event_declaration"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2102:1: interface_event_declaration : ( attributes )? ( NEW )? EVENT type IDENTIFIER SEMICOLON ;
public final CSharpParser.interface_event_declaration_return interface_event_declaration() throws RecognitionException {
CSharpParser.interface_event_declaration_return retval = new CSharpParser.interface_event_declaration_return();
retval.start = input.LT(1);
Object root_0 = null;
Token NEW1226 = null;
Token EVENT1227 = null;
Token IDENTIFIER1229 = null;
Token SEMICOLON1230 = null;
CSharpParser.attributes_return attributes1225 = null;
CSharpParser.type_return type1228 = null;
Object NEW1226_tree = null;
Object EVENT1227_tree = null;
Object IDENTIFIER1229_tree = null;
Object SEMICOLON1230_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2103:2: ( ( attributes )? ( NEW )? EVENT type IDENTIFIER SEMICOLON )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2103:4: ( attributes )? ( NEW )? EVENT type IDENTIFIER SEMICOLON
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2103:4: ( attributes )?
int alt297 = 2;
int LA297_0 = input.LA(1);
if ((LA297_0 == OPEN_BRACKET)) {
alt297 = 1;
}
switch (alt297) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2103:4: attributes
{
pushFollow(FOLLOW_attributes_in_interface_event_declaration10283);
attributes1225 = attributes();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, attributes1225.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2103:16: ( NEW )?
int alt298 = 2;
int LA298_0 = input.LA(1);
if ((LA298_0 == NEW)) {
alt298 = 1;
}
switch (alt298) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2103:16: NEW
{
NEW1226 = (Token) match(input, NEW, FOLLOW_NEW_in_interface_event_declaration10286);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
NEW1226_tree =
adaptor.create(NEW1226);
adaptor.addChild(root_0, NEW1226_tree);
}
}
break;
}
EVENT1227 = (Token) match(input, EVENT, FOLLOW_EVENT_in_interface_event_declaration10289);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
EVENT1227_tree =
adaptor.create(EVENT1227);
adaptor.addChild(root_0, EVENT1227_tree);
}
pushFollow(FOLLOW_type_in_interface_event_declaration10291);
type1228 = type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type1228.getTree());
}
IDENTIFIER1229 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_interface_event_declaration10293);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1229_tree =
adaptor.create(IDENTIFIER1229);
adaptor.addChild(root_0, IDENTIFIER1229_tree);
}
SEMICOLON1230 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_interface_event_declaration10295);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
SEMICOLON1230_tree =
adaptor.create(SEMICOLON1230);
adaptor.addChild(root_0, SEMICOLON1230_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "interface_event_declaration"
public static class interface_indexer_declaration_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "interface_indexer_declaration"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2105:1: interface_indexer_declaration : ( attributes )? ( NEW )? type THIS OPEN_BRACKET formal_parameter_list CLOSE_BRACKET OPEN_BRACE interface_accessors CLOSE_BRACE ;
public final CSharpParser.interface_indexer_declaration_return interface_indexer_declaration() throws RecognitionException {
CSharpParser.interface_indexer_declaration_return retval = new CSharpParser.interface_indexer_declaration_return();
retval.start = input.LT(1);
Object root_0 = null;
Token NEW1232 = null;
Token THIS1234 = null;
Token OPEN_BRACKET1235 = null;
Token CLOSE_BRACKET1237 = null;
Token OPEN_BRACE1238 = null;
Token CLOSE_BRACE1240 = null;
CSharpParser.attributes_return attributes1231 = null;
CSharpParser.type_return type1233 = null;
CSharpParser.formal_parameter_list_return formal_parameter_list1236 = null;
CSharpParser.interface_accessors_return interface_accessors1239 = null;
Object NEW1232_tree = null;
Object THIS1234_tree = null;
Object OPEN_BRACKET1235_tree = null;
Object CLOSE_BRACKET1237_tree = null;
Object OPEN_BRACE1238_tree = null;
Object CLOSE_BRACE1240_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2106:2: ( ( attributes )? ( NEW )? type THIS OPEN_BRACKET formal_parameter_list CLOSE_BRACKET OPEN_BRACE interface_accessors CLOSE_BRACE )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2106:4: ( attributes )? ( NEW )? type THIS OPEN_BRACKET formal_parameter_list CLOSE_BRACKET OPEN_BRACE interface_accessors CLOSE_BRACE
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2106:4: ( attributes )?
int alt299 = 2;
int LA299_0 = input.LA(1);
if ((LA299_0 == OPEN_BRACKET)) {
alt299 = 1;
}
switch (alt299) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2106:4: attributes
{
pushFollow(FOLLOW_attributes_in_interface_indexer_declaration10306);
attributes1231 = attributes();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, attributes1231.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2106:16: ( NEW )?
int alt300 = 2;
int LA300_0 = input.LA(1);
if ((LA300_0 == NEW)) {
alt300 = 1;
}
switch (alt300) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2106:16: NEW
{
NEW1232 = (Token) match(input, NEW, FOLLOW_NEW_in_interface_indexer_declaration10309);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
NEW1232_tree =
adaptor.create(NEW1232);
adaptor.addChild(root_0, NEW1232_tree);
}
}
break;
}
pushFollow(FOLLOW_type_in_interface_indexer_declaration10312);
type1233 = type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type1233.getTree());
}
THIS1234 = (Token) match(input, THIS, FOLLOW_THIS_in_interface_indexer_declaration10314);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
THIS1234_tree =
adaptor.create(THIS1234);
adaptor.addChild(root_0, THIS1234_tree);
}
OPEN_BRACKET1235 = (Token) match(input, OPEN_BRACKET, FOLLOW_OPEN_BRACKET_in_interface_indexer_declaration10316);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_BRACKET1235_tree =
adaptor.create(OPEN_BRACKET1235);
adaptor.addChild(root_0, OPEN_BRACKET1235_tree);
}
pushFollow(FOLLOW_formal_parameter_list_in_interface_indexer_declaration10318);
formal_parameter_list1236 = formal_parameter_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, formal_parameter_list1236.getTree());
}
CLOSE_BRACKET1237 = (Token) match(input, CLOSE_BRACKET, FOLLOW_CLOSE_BRACKET_in_interface_indexer_declaration10320);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_BRACKET1237_tree =
adaptor.create(CLOSE_BRACKET1237);
adaptor.addChild(root_0, CLOSE_BRACKET1237_tree);
}
OPEN_BRACE1238 = (Token) match(input, OPEN_BRACE, FOLLOW_OPEN_BRACE_in_interface_indexer_declaration10322);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_BRACE1238_tree =
adaptor.create(OPEN_BRACE1238);
adaptor.addChild(root_0, OPEN_BRACE1238_tree);
}
pushFollow(FOLLOW_interface_accessors_in_interface_indexer_declaration10324);
interface_accessors1239 = interface_accessors();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, interface_accessors1239.getTree());
}
CLOSE_BRACE1240 = (Token) match(input, CLOSE_BRACE, FOLLOW_CLOSE_BRACE_in_interface_indexer_declaration10326);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_BRACE1240_tree =
adaptor.create(CLOSE_BRACE1240);
adaptor.addChild(root_0, CLOSE_BRACE1240_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "interface_indexer_declaration"
public static class enum_declaration_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "enum_declaration"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2111:1: enum_declaration : ( attributes )? ( enum_modifiers )? ENUM IDENTIFIER ( enum_base )? enum_body ( SEMICOLON )? ;
public final CSharpParser.enum_declaration_return enum_declaration() throws RecognitionException {
CSharpParser.enum_declaration_return retval = new CSharpParser.enum_declaration_return();
retval.start = input.LT(1);
Object root_0 = null;
Token ENUM1243 = null;
Token IDENTIFIER1244 = null;
Token SEMICOLON1247 = null;
CSharpParser.attributes_return attributes1241 = null;
CSharpParser.enum_modifiers_return enum_modifiers1242 = null;
CSharpParser.enum_base_return enum_base1245 = null;
CSharpParser.enum_body_return enum_body1246 = null;
Object ENUM1243_tree = null;
Object IDENTIFIER1244_tree = null;
Object SEMICOLON1247_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2112:2: ( ( attributes )? ( enum_modifiers )? ENUM IDENTIFIER ( enum_base )? enum_body ( SEMICOLON )? )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2112:4: ( attributes )? ( enum_modifiers )? ENUM IDENTIFIER ( enum_base )? enum_body ( SEMICOLON )?
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2112:4: ( attributes )?
int alt301 = 2;
int LA301_0 = input.LA(1);
if ((LA301_0 == OPEN_BRACKET)) {
alt301 = 1;
}
switch (alt301) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2112:4: attributes
{
pushFollow(FOLLOW_attributes_in_enum_declaration10340);
attributes1241 = attributes();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, attributes1241.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2112:16: ( enum_modifiers )?
int alt302 = 2;
int LA302_0 = input.LA(1);
if ((LA302_0 == INTERNAL || LA302_0 == NEW || (LA302_0 >= PRIVATE && LA302_0 <= PUBLIC))) {
alt302 = 1;
}
switch (alt302) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2112:16: enum_modifiers
{
pushFollow(FOLLOW_enum_modifiers_in_enum_declaration10343);
enum_modifiers1242 = enum_modifiers();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, enum_modifiers1242.getTree());
}
}
break;
}
ENUM1243 = (Token) match(input, ENUM, FOLLOW_ENUM_in_enum_declaration10346);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
ENUM1243_tree =
adaptor.create(ENUM1243);
adaptor.addChild(root_0, ENUM1243_tree);
}
IDENTIFIER1244 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_enum_declaration10348);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1244_tree =
adaptor.create(IDENTIFIER1244);
adaptor.addChild(root_0, IDENTIFIER1244_tree);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2112:48: ( enum_base )?
int alt303 = 2;
int LA303_0 = input.LA(1);
if ((LA303_0 == COLON)) {
alt303 = 1;
}
switch (alt303) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2112:48: enum_base
{
pushFollow(FOLLOW_enum_base_in_enum_declaration10350);
enum_base1245 = enum_base();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, enum_base1245.getTree());
}
}
break;
}
pushFollow(FOLLOW_enum_body_in_enum_declaration10353);
enum_body1246 = enum_body();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, enum_body1246.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2112:69: ( SEMICOLON )?
int alt304 = 2;
int LA304_0 = input.LA(1);
if ((LA304_0 == SEMICOLON)) {
alt304 = 1;
}
switch (alt304) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2112:69: SEMICOLON
{
SEMICOLON1247 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_enum_declaration10355);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
SEMICOLON1247_tree =
adaptor.create(SEMICOLON1247);
adaptor.addChild(root_0, SEMICOLON1247_tree);
}
}
break;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "enum_declaration"
public static class enum_base_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "enum_base"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2114:1: enum_base : COLON integral_type -> ^( ENUM_EXTENDS integral_type ) ;
public final CSharpParser.enum_base_return enum_base() throws RecognitionException {
CSharpParser.enum_base_return retval = new CSharpParser.enum_base_return();
retval.start = input.LT(1);
Object root_0 = null;
Token COLON1248 = null;
CSharpParser.integral_type_return integral_type1249 = null;
Object COLON1248_tree = null;
RewriteRuleTokenStream stream_COLON = new RewriteRuleTokenStream(adaptor, "token COLON");
RewriteRuleSubtreeStream stream_integral_type = new RewriteRuleSubtreeStream(adaptor, "rule integral_type");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2115:2: ( COLON integral_type -> ^( ENUM_EXTENDS integral_type ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2115:4: COLON integral_type
{
COLON1248 = (Token) match(input, COLON, FOLLOW_COLON_in_enum_base10367);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_COLON.add(COLON1248);
}
pushFollow(FOLLOW_integral_type_in_enum_base10369);
integral_type1249 = integral_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_integral_type.add(integral_type1249.getTree());
}
// AST REWRITE
// elements: integral_type
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 2116:4: -> ^( ENUM_EXTENDS integral_type )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2116:7: ^( ENUM_EXTENDS integral_type )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(ENUM_EXTENDS, "ENUM_EXTENDS"), root_1);
adaptor.addChild(root_1, stream_integral_type.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "enum_base"
public static class enum_body_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "enum_body"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2124:1: enum_body : ( OPEN_BRACE ! CLOSE_BRACE !| OPEN_BRACE ! enum_member_declarations ( COMMA !)? CLOSE_BRACE !);
public final CSharpParser.enum_body_return enum_body() throws RecognitionException {
CSharpParser.enum_body_return retval = new CSharpParser.enum_body_return();
retval.start = input.LT(1);
Object root_0 = null;
Token OPEN_BRACE1250 = null;
Token CLOSE_BRACE1251 = null;
Token OPEN_BRACE1252 = null;
Token COMMA1254 = null;
Token CLOSE_BRACE1255 = null;
CSharpParser.enum_member_declarations_return enum_member_declarations1253 = null;
Object OPEN_BRACE1250_tree = null;
Object CLOSE_BRACE1251_tree = null;
Object OPEN_BRACE1252_tree = null;
Object COMMA1254_tree = null;
Object CLOSE_BRACE1255_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2125:3: ( OPEN_BRACE ! CLOSE_BRACE !| OPEN_BRACE ! enum_member_declarations ( COMMA !)? CLOSE_BRACE !)
int alt306 = 2;
int LA306_0 = input.LA(1);
if ((LA306_0 == OPEN_BRACE)) {
int LA306_1 = input.LA(2);
if ((LA306_1 == CLOSE_BRACE)) {
alt306 = 1;
} else if ((LA306_1 == IDENTIFIER || LA306_1 == OPEN_BRACKET)) {
alt306 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 306, 1, input);
throw nvae;
}
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 306, 0, input);
throw nvae;
}
switch (alt306) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2125:5: OPEN_BRACE ! CLOSE_BRACE !
{
root_0 = adaptor.nil();
OPEN_BRACE1250 = (Token) match(input, OPEN_BRACE, FOLLOW_OPEN_BRACE_in_enum_body10394);
if (state.failed) {
return retval;
}
CLOSE_BRACE1251 = (Token) match(input, CLOSE_BRACE, FOLLOW_CLOSE_BRACE_in_enum_body10397);
if (state.failed) {
return retval;
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2126:5: OPEN_BRACE ! enum_member_declarations ( COMMA !)? CLOSE_BRACE !
{
root_0 = adaptor.nil();
OPEN_BRACE1252 = (Token) match(input, OPEN_BRACE, FOLLOW_OPEN_BRACE_in_enum_body10404);
if (state.failed) {
return retval;
}
pushFollow(FOLLOW_enum_member_declarations_in_enum_body10407);
enum_member_declarations1253 = enum_member_declarations();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, enum_member_declarations1253.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2126:47: ( COMMA !)?
int alt305 = 2;
int LA305_0 = input.LA(1);
if ((LA305_0 == COMMA)) {
alt305 = 1;
}
switch (alt305) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2126:47: COMMA !
{
COMMA1254 = (Token) match(input, COMMA, FOLLOW_COMMA_in_enum_body10409);
if (state.failed) {
return retval;
}
}
break;
}
CLOSE_BRACE1255 = (Token) match(input, CLOSE_BRACE, FOLLOW_CLOSE_BRACE_in_enum_body10413);
if (state.failed) {
return retval;
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "enum_body"
public static class enum_modifiers_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "enum_modifiers"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2128:1: enum_modifiers : ( enum_modifier )+ ;
public final CSharpParser.enum_modifiers_return enum_modifiers() throws RecognitionException {
CSharpParser.enum_modifiers_return retval = new CSharpParser.enum_modifiers_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.enum_modifier_return enum_modifier1256 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2129:2: ( ( enum_modifier )+ )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2129:4: ( enum_modifier )+
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2129:4: ( enum_modifier )+
int cnt307 = 0;
loop307:
do {
int alt307 = 2;
int LA307_0 = input.LA(1);
if ((LA307_0 == INTERNAL || LA307_0 == NEW || (LA307_0 >= PRIVATE && LA307_0 <= PUBLIC))) {
alt307 = 1;
}
switch (alt307) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2129:4: enum_modifier
{
pushFollow(FOLLOW_enum_modifier_in_enum_modifiers10426);
enum_modifier1256 = enum_modifier();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, enum_modifier1256.getTree());
}
}
break;
default:
if (cnt307 >= 1) {
break loop307;
}
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
EarlyExitException eee =
new EarlyExitException(307, input);
throw eee;
}
cnt307++;
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "enum_modifiers"
public static class enum_modifier_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "enum_modifier"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2131:1: enum_modifier : ( NEW | PUBLIC | PROTECTED | INTERNAL | PRIVATE );
public final CSharpParser.enum_modifier_return enum_modifier() throws RecognitionException {
CSharpParser.enum_modifier_return retval = new CSharpParser.enum_modifier_return();
retval.start = input.LT(1);
Object root_0 = null;
Token set1257 = null;
Object set1257_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2132:2: ( NEW | PUBLIC | PROTECTED | INTERNAL | PRIVATE )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:
{
root_0 = adaptor.nil();
set1257 = input.LT(1);
if (input.LA(1) == INTERNAL || input.LA(1) == NEW || (input.LA(1) >= PRIVATE && input.LA(1) <= PUBLIC)) {
input.consume();
if (state.backtracking == 0) {
adaptor.addChild(root_0,
adaptor.create(set1257));
}
state.errorRecovery = false;
state.failed = false;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
MismatchedSetException mse = new MismatchedSetException(null, input);
throw mse;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "enum_modifier"
public static class enum_member_declarations_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "enum_member_declarations"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2138:1: enum_member_declarations : enum_member_declaration ( COMMA enum_member_declaration )* -> ^( ENUM_MEMBER_DECLARATIONS ( enum_member_declaration )+ ) ;
public final CSharpParser.enum_member_declarations_return enum_member_declarations() throws RecognitionException {
CSharpParser.enum_member_declarations_return retval = new CSharpParser.enum_member_declarations_return();
retval.start = input.LT(1);
Object root_0 = null;
Token COMMA1259 = null;
CSharpParser.enum_member_declaration_return enum_member_declaration1258 = null;
CSharpParser.enum_member_declaration_return enum_member_declaration1260 = null;
Object COMMA1259_tree = null;
RewriteRuleTokenStream stream_COMMA = new RewriteRuleTokenStream(adaptor, "token COMMA");
RewriteRuleSubtreeStream stream_enum_member_declaration = new RewriteRuleSubtreeStream(adaptor, "rule enum_member_declaration");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2139:2: ( enum_member_declaration ( COMMA enum_member_declaration )* -> ^( ENUM_MEMBER_DECLARATIONS ( enum_member_declaration )+ ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2139:4: enum_member_declaration ( COMMA enum_member_declaration )*
{
pushFollow(FOLLOW_enum_member_declaration_in_enum_member_declarations10469);
enum_member_declaration1258 = enum_member_declaration();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_enum_member_declaration.add(enum_member_declaration1258.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2139:28: ( COMMA enum_member_declaration )*
loop308:
do {
int alt308 = 2;
int LA308_0 = input.LA(1);
if ((LA308_0 == COMMA)) {
int LA308_1 = input.LA(2);
if ((LA308_1 == IDENTIFIER || LA308_1 == OPEN_BRACKET)) {
alt308 = 1;
}
}
switch (alt308) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2139:30: COMMA enum_member_declaration
{
COMMA1259 = (Token) match(input, COMMA, FOLLOW_COMMA_in_enum_member_declarations10473);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_COMMA.add(COMMA1259);
}
pushFollow(FOLLOW_enum_member_declaration_in_enum_member_declarations10476);
enum_member_declaration1260 = enum_member_declaration();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_enum_member_declaration.add(enum_member_declaration1260.getTree());
}
}
break;
default:
break loop308;
}
} while (true);
// AST REWRITE
// elements: enum_member_declaration
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 2140:4: -> ^( ENUM_MEMBER_DECLARATIONS ( enum_member_declaration )+ )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2140:7: ^( ENUM_MEMBER_DECLARATIONS ( enum_member_declaration )+ )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(ENUM_MEMBER_DECLARATIONS, "ENUM_MEMBER_DECLARATIONS"), root_1);
if (!(stream_enum_member_declaration.hasNext())) {
throw new RewriteEarlyExitException();
}
while (stream_enum_member_declaration.hasNext()) {
adaptor.addChild(root_1, stream_enum_member_declaration.nextTree());
}
stream_enum_member_declaration.reset();
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "enum_member_declarations"
public static class enum_member_declaration_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "enum_member_declaration"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2148:1: enum_member_declaration : ( attributes )? IDENTIFIER ( ASSIGNMENT constant_expression )? -> ^( ENUM_MEMBER_DECLARATION ( attributes )? IDENTIFIER ( ^( ENUM_MEMBER_INITIALIZER constant_expression ) )? ) ;
public final CSharpParser.enum_member_declaration_return enum_member_declaration() throws RecognitionException {
CSharpParser.enum_member_declaration_return retval = new CSharpParser.enum_member_declaration_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER1262 = null;
Token ASSIGNMENT1263 = null;
CSharpParser.attributes_return attributes1261 = null;
CSharpParser.constant_expression_return constant_expression1264 = null;
Object IDENTIFIER1262_tree = null;
Object ASSIGNMENT1263_tree = null;
RewriteRuleTokenStream stream_ASSIGNMENT = new RewriteRuleTokenStream(adaptor, "token ASSIGNMENT");
RewriteRuleTokenStream stream_IDENTIFIER = new RewriteRuleTokenStream(adaptor, "token IDENTIFIER");
RewriteRuleSubtreeStream stream_constant_expression = new RewriteRuleSubtreeStream(adaptor, "rule constant_expression");
RewriteRuleSubtreeStream stream_attributes = new RewriteRuleSubtreeStream(adaptor, "rule attributes");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2149:3: ( ( attributes )? IDENTIFIER ( ASSIGNMENT constant_expression )? -> ^( ENUM_MEMBER_DECLARATION ( attributes )? IDENTIFIER ( ^( ENUM_MEMBER_INITIALIZER constant_expression ) )? ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2149:5: ( attributes )? IDENTIFIER ( ASSIGNMENT constant_expression )?
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2149:5: ( attributes )?
int alt309 = 2;
int LA309_0 = input.LA(1);
if ((LA309_0 == OPEN_BRACKET)) {
alt309 = 1;
}
switch (alt309) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2149:5: attributes
{
pushFollow(FOLLOW_attributes_in_enum_member_declaration10505);
attributes1261 = attributes();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_attributes.add(attributes1261.getTree());
}
}
break;
}
IDENTIFIER1262 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_enum_member_declaration10508);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_IDENTIFIER.add(IDENTIFIER1262);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2149:28: ( ASSIGNMENT constant_expression )?
int alt310 = 2;
int LA310_0 = input.LA(1);
if ((LA310_0 == ASSIGNMENT)) {
alt310 = 1;
}
switch (alt310) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2149:29: ASSIGNMENT constant_expression
{
ASSIGNMENT1263 = (Token) match(input, ASSIGNMENT, FOLLOW_ASSIGNMENT_in_enum_member_declaration10511);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_ASSIGNMENT.add(ASSIGNMENT1263);
}
pushFollow(FOLLOW_constant_expression_in_enum_member_declaration10513);
constant_expression1264 = constant_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_constant_expression.add(constant_expression1264.getTree());
}
}
break;
}
// AST REWRITE
// elements: attributes, constant_expression, IDENTIFIER
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 2150:5: -> ^( ENUM_MEMBER_DECLARATION ( attributes )? IDENTIFIER ( ^( ENUM_MEMBER_INITIALIZER constant_expression ) )? )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2150:8: ^( ENUM_MEMBER_DECLARATION ( attributes )? IDENTIFIER ( ^( ENUM_MEMBER_INITIALIZER constant_expression ) )? )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(ENUM_MEMBER_DECLARATION, "ENUM_MEMBER_DECLARATION"), root_1);
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2150:34: ( attributes )?
if (stream_attributes.hasNext()) {
adaptor.addChild(root_1, stream_attributes.nextTree());
}
stream_attributes.reset();
adaptor.addChild(root_1,
stream_IDENTIFIER.nextNode());
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2150:57: ( ^( ENUM_MEMBER_INITIALIZER constant_expression ) )?
if (stream_constant_expression.hasNext()) {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2150:57: ^( ENUM_MEMBER_INITIALIZER constant_expression )
{
Object root_2 = adaptor.nil();
root_2 = adaptor.becomeRoot(
adaptor.create(ENUM_MEMBER_INITIALIZER, "ENUM_MEMBER_INITIALIZER"), root_2);
adaptor.addChild(root_2, stream_constant_expression.nextTree());
adaptor.addChild(root_1, root_2);
}
}
stream_constant_expression.reset();
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "enum_member_declaration"
public static class delegate_declaration_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "delegate_declaration"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2155:1: delegate_declaration : ( attributes )? ( delegate_modifiers )? DELEGATE return_type IDENTIFIER ( variant_type_parameter_list )? OPEN_PARENS ( formal_parameter_list )? CLOSE_PARENS ( type_parameter_constraints_clauses )? SEMICOLON ;
public final CSharpParser.delegate_declaration_return delegate_declaration() throws RecognitionException {
CSharpParser.delegate_declaration_return retval = new CSharpParser.delegate_declaration_return();
retval.start = input.LT(1);
Object root_0 = null;
Token DELEGATE1267 = null;
Token IDENTIFIER1269 = null;
Token OPEN_PARENS1271 = null;
Token CLOSE_PARENS1273 = null;
Token SEMICOLON1275 = null;
CSharpParser.attributes_return attributes1265 = null;
CSharpParser.delegate_modifiers_return delegate_modifiers1266 = null;
CSharpParser.return_type_return return_type1268 = null;
CSharpParser.variant_type_parameter_list_return variant_type_parameter_list1270 = null;
CSharpParser.formal_parameter_list_return formal_parameter_list1272 = null;
CSharpParser.type_parameter_constraints_clauses_return type_parameter_constraints_clauses1274 = null;
Object DELEGATE1267_tree = null;
Object IDENTIFIER1269_tree = null;
Object OPEN_PARENS1271_tree = null;
Object CLOSE_PARENS1273_tree = null;
Object SEMICOLON1275_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2156:2: ( ( attributes )? ( delegate_modifiers )? DELEGATE return_type IDENTIFIER ( variant_type_parameter_list )? OPEN_PARENS ( formal_parameter_list )? CLOSE_PARENS ( type_parameter_constraints_clauses )? SEMICOLON )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2156:4: ( attributes )? ( delegate_modifiers )? DELEGATE return_type IDENTIFIER ( variant_type_parameter_list )? OPEN_PARENS ( formal_parameter_list )? CLOSE_PARENS ( type_parameter_constraints_clauses )? SEMICOLON
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2156:4: ( attributes )?
int alt311 = 2;
int LA311_0 = input.LA(1);
if ((LA311_0 == OPEN_BRACKET)) {
alt311 = 1;
}
switch (alt311) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2156:4: attributes
{
pushFollow(FOLLOW_attributes_in_delegate_declaration10554);
attributes1265 = attributes();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, attributes1265.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2156:16: ( delegate_modifiers )?
int alt312 = 2;
int LA312_0 = input.LA(1);
if ((LA312_0 == INTERNAL || LA312_0 == NEW || (LA312_0 >= PRIVATE && LA312_0 <= PUBLIC) || LA312_0 == UNSAFE)) {
alt312 = 1;
}
switch (alt312) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2156:16: delegate_modifiers
{
pushFollow(FOLLOW_delegate_modifiers_in_delegate_declaration10557);
delegate_modifiers1266 = delegate_modifiers();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, delegate_modifiers1266.getTree());
}
}
break;
}
DELEGATE1267 = (Token) match(input, DELEGATE, FOLLOW_DELEGATE_in_delegate_declaration10560);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
DELEGATE1267_tree =
adaptor.create(DELEGATE1267);
adaptor.addChild(root_0, DELEGATE1267_tree);
}
pushFollow(FOLLOW_return_type_in_delegate_declaration10562);
return_type1268 = return_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, return_type1268.getTree());
}
IDENTIFIER1269 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_delegate_declaration10564);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1269_tree =
adaptor.create(IDENTIFIER1269);
adaptor.addChild(root_0, IDENTIFIER1269_tree);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2156:68: ( variant_type_parameter_list )?
int alt313 = 2;
int LA313_0 = input.LA(1);
if ((LA313_0 == LT)) {
alt313 = 1;
}
switch (alt313) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2156:68: variant_type_parameter_list
{
pushFollow(FOLLOW_variant_type_parameter_list_in_delegate_declaration10566);
variant_type_parameter_list1270 = variant_type_parameter_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, variant_type_parameter_list1270.getTree());
}
}
break;
}
OPEN_PARENS1271 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_delegate_declaration10575);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_PARENS1271_tree =
adaptor.create(OPEN_PARENS1271);
adaptor.addChild(root_0, OPEN_PARENS1271_tree);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2157:18: ( formal_parameter_list )?
int alt314 = 2;
int LA314_0 = input.LA(1);
if ((LA314_0 == BOOL || LA314_0 == BYTE || LA314_0 == CHAR || LA314_0 == DECIMAL || LA314_0 == DOUBLE || LA314_0 == FLOAT || LA314_0 == IDENTIFIER || LA314_0 == INT || LA314_0 == LONG || LA314_0 == OBJECT || LA314_0 == OPEN_BRACKET || LA314_0 == OUT || LA314_0 == PARAMS || LA314_0 == REF || LA314_0 == SBYTE || LA314_0 == SHORT || LA314_0 == STRING || LA314_0 == THIS || (LA314_0 >= UINT && LA314_0 <= ULONG) || LA314_0 == USHORT || LA314_0 == VOID)) {
alt314 = 1;
}
switch (alt314) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2157:18: formal_parameter_list
{
pushFollow(FOLLOW_formal_parameter_list_in_delegate_declaration10577);
formal_parameter_list1272 = formal_parameter_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, formal_parameter_list1272.getTree());
}
}
break;
}
CLOSE_PARENS1273 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_delegate_declaration10580);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_PARENS1273_tree =
adaptor.create(CLOSE_PARENS1273);
adaptor.addChild(root_0, CLOSE_PARENS1273_tree);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2157:54: ( type_parameter_constraints_clauses )?
int alt315 = 2;
int LA315_0 = input.LA(1);
if ((LA315_0 == IDENTIFIER)) {
alt315 = 1;
}
switch (alt315) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2157:54: type_parameter_constraints_clauses
{
pushFollow(FOLLOW_type_parameter_constraints_clauses_in_delegate_declaration10582);
type_parameter_constraints_clauses1274 = type_parameter_constraints_clauses();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type_parameter_constraints_clauses1274.getTree());
}
}
break;
}
SEMICOLON1275 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_delegate_declaration10585);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
SEMICOLON1275_tree =
adaptor.create(SEMICOLON1275);
adaptor.addChild(root_0, SEMICOLON1275_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "delegate_declaration"
public static class delegate_modifiers_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "delegate_modifiers"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2159:1: delegate_modifiers : delegate_modifier ( delegate_modifier )* ;
public final CSharpParser.delegate_modifiers_return delegate_modifiers() throws RecognitionException {
CSharpParser.delegate_modifiers_return retval = new CSharpParser.delegate_modifiers_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.delegate_modifier_return delegate_modifier1276 = null;
CSharpParser.delegate_modifier_return delegate_modifier1277 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2160:2: ( delegate_modifier ( delegate_modifier )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2160:4: delegate_modifier ( delegate_modifier )*
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_delegate_modifier_in_delegate_modifiers10596);
delegate_modifier1276 = delegate_modifier();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, delegate_modifier1276.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2160:22: ( delegate_modifier )*
loop316:
do {
int alt316 = 2;
int LA316_0 = input.LA(1);
if ((LA316_0 == INTERNAL || LA316_0 == NEW || (LA316_0 >= PRIVATE && LA316_0 <= PUBLIC) || LA316_0 == UNSAFE)) {
alt316 = 1;
}
switch (alt316) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2160:24: delegate_modifier
{
pushFollow(FOLLOW_delegate_modifier_in_delegate_modifiers10600);
delegate_modifier1277 = delegate_modifier();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, delegate_modifier1277.getTree());
}
}
break;
default:
break loop316;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "delegate_modifiers"
public static class delegate_modifier_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "delegate_modifier"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2162:1: delegate_modifier : ( NEW | PUBLIC | PROTECTED | INTERNAL | PRIVATE | delegate_modifier_unsafe );
public final CSharpParser.delegate_modifier_return delegate_modifier() throws RecognitionException {
CSharpParser.delegate_modifier_return retval = new CSharpParser.delegate_modifier_return();
retval.start = input.LT(1);
Object root_0 = null;
Token NEW1278 = null;
Token PUBLIC1279 = null;
Token PROTECTED1280 = null;
Token INTERNAL1281 = null;
Token PRIVATE1282 = null;
CSharpParser.delegate_modifier_unsafe_return delegate_modifier_unsafe1283 = null;
Object NEW1278_tree = null;
Object PUBLIC1279_tree = null;
Object PROTECTED1280_tree = null;
Object INTERNAL1281_tree = null;
Object PRIVATE1282_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2163:2: ( NEW | PUBLIC | PROTECTED | INTERNAL | PRIVATE | delegate_modifier_unsafe )
int alt317 = 6;
switch (input.LA(1)) {
case NEW: {
alt317 = 1;
}
break;
case PUBLIC: {
alt317 = 2;
}
break;
case PROTECTED: {
alt317 = 3;
}
break;
case INTERNAL: {
alt317 = 4;
}
break;
case PRIVATE: {
alt317 = 5;
}
break;
case UNSAFE: {
alt317 = 6;
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 317, 0, input);
throw nvae;
}
switch (alt317) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2163:4: NEW
{
root_0 = adaptor.nil();
NEW1278 = (Token) match(input, NEW, FOLLOW_NEW_in_delegate_modifier10614);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
NEW1278_tree =
adaptor.create(NEW1278);
adaptor.addChild(root_0, NEW1278_tree);
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2164:4: PUBLIC
{
root_0 = adaptor.nil();
PUBLIC1279 = (Token) match(input, PUBLIC, FOLLOW_PUBLIC_in_delegate_modifier10619);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PUBLIC1279_tree =
adaptor.create(PUBLIC1279);
adaptor.addChild(root_0, PUBLIC1279_tree);
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2165:4: PROTECTED
{
root_0 = adaptor.nil();
PROTECTED1280 = (Token) match(input, PROTECTED, FOLLOW_PROTECTED_in_delegate_modifier10624);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PROTECTED1280_tree =
adaptor.create(PROTECTED1280);
adaptor.addChild(root_0, PROTECTED1280_tree);
}
}
break;
case 4: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2166:4: INTERNAL
{
root_0 = adaptor.nil();
INTERNAL1281 = (Token) match(input, INTERNAL, FOLLOW_INTERNAL_in_delegate_modifier10629);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
INTERNAL1281_tree =
adaptor.create(INTERNAL1281);
adaptor.addChild(root_0, INTERNAL1281_tree);
}
}
break;
case 5: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2167:4: PRIVATE
{
root_0 = adaptor.nil();
PRIVATE1282 = (Token) match(input, PRIVATE, FOLLOW_PRIVATE_in_delegate_modifier10634);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
PRIVATE1282_tree =
adaptor.create(PRIVATE1282);
adaptor.addChild(root_0, PRIVATE1282_tree);
}
}
break;
case 6: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2168:4: delegate_modifier_unsafe
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_delegate_modifier_unsafe_in_delegate_modifier10639);
delegate_modifier_unsafe1283 = delegate_modifier_unsafe();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, delegate_modifier_unsafe1283.getTree());
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "delegate_modifier"
public static class global_attributes_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "global_attributes"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2174:1: global_attributes : global_attribute_sections ;
public final CSharpParser.global_attributes_return global_attributes() throws RecognitionException {
CSharpParser.global_attributes_return retval = new CSharpParser.global_attributes_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.global_attribute_sections_return global_attribute_sections1284 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2175:2: ( global_attribute_sections )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2175:4: global_attribute_sections
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_global_attribute_sections_in_global_attributes10654);
global_attribute_sections1284 = global_attribute_sections();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, global_attribute_sections1284.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "global_attributes"
public static class global_attribute_sections_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "global_attribute_sections"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2177:1: global_attribute_sections : ( global_attribute_section )+ ;
public final CSharpParser.global_attribute_sections_return global_attribute_sections() throws RecognitionException {
CSharpParser.global_attribute_sections_return retval = new CSharpParser.global_attribute_sections_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.global_attribute_section_return global_attribute_section1285 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2178:2: ( ( global_attribute_section )+ )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2178:4: ( global_attribute_section )+
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2178:4: ( global_attribute_section )+
int cnt318 = 0;
loop318:
do {
int alt318 = 2;
int LA318_0 = input.LA(1);
if ((LA318_0 == OPEN_BRACKET)) {
alt318 = 1;
}
switch (alt318) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2178:4: global_attribute_section
{
pushFollow(FOLLOW_global_attribute_section_in_global_attribute_sections10665);
global_attribute_section1285 = global_attribute_section();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, global_attribute_section1285.getTree());
}
}
break;
default:
if (cnt318 >= 1) {
break loop318;
}
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
EarlyExitException eee =
new EarlyExitException(318, input);
throw eee;
}
cnt318++;
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "global_attribute_sections"
public static class global_attribute_section_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "global_attribute_section"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2186:1: global_attribute_section : OPEN_BRACKET ! global_attribute_target_specifier attribute_list ( COMMA !)? CLOSE_BRACKET !;
public final CSharpParser.global_attribute_section_return global_attribute_section() throws RecognitionException {
CSharpParser.global_attribute_section_return retval = new CSharpParser.global_attribute_section_return();
retval.start = input.LT(1);
Object root_0 = null;
Token OPEN_BRACKET1286 = null;
Token COMMA1289 = null;
Token CLOSE_BRACKET1290 = null;
CSharpParser.global_attribute_target_specifier_return global_attribute_target_specifier1287 = null;
CSharpParser.attribute_list_return attribute_list1288 = null;
Object OPEN_BRACKET1286_tree = null;
Object COMMA1289_tree = null;
Object CLOSE_BRACKET1290_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2187:3: ( OPEN_BRACKET ! global_attribute_target_specifier attribute_list ( COMMA !)? CLOSE_BRACKET !)
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2187:5: OPEN_BRACKET ! global_attribute_target_specifier attribute_list ( COMMA !)? CLOSE_BRACKET !
{
root_0 = adaptor.nil();
OPEN_BRACKET1286 = (Token) match(input, OPEN_BRACKET, FOLLOW_OPEN_BRACKET_in_global_attribute_section10680);
if (state.failed) {
return retval;
}
pushFollow(FOLLOW_global_attribute_target_specifier_in_global_attribute_section10683);
global_attribute_target_specifier1287 = global_attribute_target_specifier();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, global_attribute_target_specifier1287.getTree());
}
pushFollow(FOLLOW_attribute_list_in_global_attribute_section10685);
attribute_list1288 = attribute_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, attribute_list1288.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2187:73: ( COMMA !)?
int alt319 = 2;
int LA319_0 = input.LA(1);
if ((LA319_0 == COMMA)) {
alt319 = 1;
}
switch (alt319) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2187:73: COMMA !
{
COMMA1289 = (Token) match(input, COMMA, FOLLOW_COMMA_in_global_attribute_section10687);
if (state.failed) {
return retval;
}
}
break;
}
CLOSE_BRACKET1290 = (Token) match(input, CLOSE_BRACKET, FOLLOW_CLOSE_BRACKET_in_global_attribute_section10691);
if (state.failed) {
return retval;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "global_attribute_section"
public static class global_attribute_target_specifier_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "global_attribute_target_specifier"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2189:1: global_attribute_target_specifier : global_attribute_target COLON !;
public final CSharpParser.global_attribute_target_specifier_return global_attribute_target_specifier() throws RecognitionException {
CSharpParser.global_attribute_target_specifier_return retval = new CSharpParser.global_attribute_target_specifier_return();
retval.start = input.LT(1);
Object root_0 = null;
Token COLON1292 = null;
CSharpParser.global_attribute_target_return global_attribute_target1291 = null;
Object COLON1292_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2190:2: ( global_attribute_target COLON !)
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2190:4: global_attribute_target COLON !
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_global_attribute_target_in_global_attribute_target_specifier10704);
global_attribute_target1291 = global_attribute_target();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, global_attribute_target1291.getTree());
}
COLON1292 = (Token) match(input, COLON, FOLLOW_COLON_in_global_attribute_target_specifier10706);
if (state.failed) {
return retval;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "global_attribute_target_specifier"
public static class global_attribute_target_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "global_attribute_target"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2192:1: global_attribute_target : ( keyword | IDENTIFIER );
public final CSharpParser.global_attribute_target_return global_attribute_target() throws RecognitionException {
CSharpParser.global_attribute_target_return retval = new CSharpParser.global_attribute_target_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER1294 = null;
CSharpParser.keyword_return keyword1293 = null;
Object IDENTIFIER1294_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2193:3: ( keyword | IDENTIFIER )
int alt320 = 2;
int LA320_0 = input.LA(1);
if ((LA320_0 == ABSTRACT || LA320_0 == AS || LA320_0 == BASE || (LA320_0 >= BOOL && LA320_0 <= BYTE) || (LA320_0 >= CASE && LA320_0 <= CHAR) || (LA320_0 >= CHECKED && LA320_0 <= CLASS) || (LA320_0 >= CONST && LA320_0 <= CONTINUE) || LA320_0 == DECIMAL || (LA320_0 >= DEFAULT && LA320_0 <= DELEGATE) || LA320_0 == DO || LA320_0 == DOUBLE || (LA320_0 >= ELSE && LA320_0 <= EXTERN) || (LA320_0 >= FALSE && LA320_0 <= FOREACH) || LA320_0 == GOTO || (LA320_0 >= IF && LA320_0 <= INT) || (LA320_0 >= INTERFACE && LA320_0 <= INTERNAL) || LA320_0 == IS || (LA320_0 >= LOCK && LA320_0 <= LONG) || (LA320_0 >= NAMESPACE && LA320_0 <= NEW) || LA320_0 == NULL || LA320_0 == OBJECT || LA320_0 == OPERATOR || (LA320_0 >= OUT && LA320_0 <= PARAMS) || (LA320_0 >= PRIVATE && LA320_0 <= PUBLIC) || LA320_0 == READONLY || (LA320_0 >= REF && LA320_0 <= RETURN) || (LA320_0 >= SBYTE && LA320_0 <= SEALED) || LA320_0 == SHORT || (LA320_0 >= SIZEOF && LA320_0 <= STACKALLOC) || (LA320_0 >= STATIC && LA320_0 <= STRING) || (LA320_0 >= STRUCT && LA320_0 <= SWITCH) || (LA320_0 >= THIS && LA320_0 <= THROW) || (LA320_0 >= TRUE && LA320_0 <= UNCHECKED) || (LA320_0 >= UNSAFE && LA320_0 <= USING) || (LA320_0 >= VIRTUAL && LA320_0 <= VOLATILE) || LA320_0 == WHILE)) {
alt320 = 1;
} else if ((LA320_0 == IDENTIFIER)) {
alt320 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 320, 0, input);
throw nvae;
}
switch (alt320) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2193:5: keyword
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_keyword_in_global_attribute_target10719);
keyword1293 = keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, keyword1293.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2194:5: IDENTIFIER
{
root_0 = adaptor.nil();
IDENTIFIER1294 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_global_attribute_target10725);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1294_tree =
adaptor.create(IDENTIFIER1294);
adaptor.addChild(root_0, IDENTIFIER1294_tree);
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "global_attribute_target"
public static class attributes_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "attributes"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2202:1: attributes : attribute_sections ;
public final CSharpParser.attributes_return attributes() throws RecognitionException {
CSharpParser.attributes_return retval = new CSharpParser.attributes_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.attribute_sections_return attribute_sections1295 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2203:2: ( attribute_sections )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2203:4: attribute_sections
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_attribute_sections_in_attributes10739);
attribute_sections1295 = attribute_sections();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, attribute_sections1295.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "attributes"
public static class attribute_sections_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "attribute_sections"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2205:1: attribute_sections : ( attribute_section )+ -> ^( ATTRIBUTES ( attribute_section )+ ) ;
public final CSharpParser.attribute_sections_return attribute_sections() throws RecognitionException {
CSharpParser.attribute_sections_return retval = new CSharpParser.attribute_sections_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.attribute_section_return attribute_section1296 = null;
RewriteRuleSubtreeStream stream_attribute_section = new RewriteRuleSubtreeStream(adaptor, "rule attribute_section");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2206:2: ( ( attribute_section )+ -> ^( ATTRIBUTES ( attribute_section )+ ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2206:4: ( attribute_section )+
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2206:4: ( attribute_section )+
int cnt321 = 0;
loop321:
do {
int alt321 = 2;
int LA321_0 = input.LA(1);
if ((LA321_0 == OPEN_BRACKET)) {
alt321 = 1;
}
switch (alt321) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2206:4: attribute_section
{
pushFollow(FOLLOW_attribute_section_in_attribute_sections10750);
attribute_section1296 = attribute_section();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_attribute_section.add(attribute_section1296.getTree());
}
}
break;
default:
if (cnt321 >= 1) {
break loop321;
}
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
EarlyExitException eee =
new EarlyExitException(321, input);
throw eee;
}
cnt321++;
} while (true);
// AST REWRITE
// elements: attribute_section
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 2207:4: -> ^( ATTRIBUTES ( attribute_section )+ )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2207:7: ^( ATTRIBUTES ( attribute_section )+ )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(ATTRIBUTES, "ATTRIBUTES"), root_1);
if (!(stream_attribute_section.hasNext())) {
throw new RewriteEarlyExitException();
}
while (stream_attribute_section.hasNext()) {
adaptor.addChild(root_1, stream_attribute_section.nextTree());
}
stream_attribute_section.reset();
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "attribute_sections"
public static class attribute_section_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "attribute_section"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2215:1: attribute_section : OPEN_BRACKET ! ( attribute_target_specifier )? attribute_list ( COMMA !)? CLOSE_BRACKET !;
public final CSharpParser.attribute_section_return attribute_section() throws RecognitionException {
CSharpParser.attribute_section_return retval = new CSharpParser.attribute_section_return();
retval.start = input.LT(1);
Object root_0 = null;
Token OPEN_BRACKET1297 = null;
Token COMMA1300 = null;
Token CLOSE_BRACKET1301 = null;
CSharpParser.attribute_target_specifier_return attribute_target_specifier1298 = null;
CSharpParser.attribute_list_return attribute_list1299 = null;
Object OPEN_BRACKET1297_tree = null;
Object COMMA1300_tree = null;
Object CLOSE_BRACKET1301_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2216:3: ( OPEN_BRACKET ! ( attribute_target_specifier )? attribute_list ( COMMA !)? CLOSE_BRACKET !)
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2216:5: OPEN_BRACKET ! ( attribute_target_specifier )? attribute_list ( COMMA !)? CLOSE_BRACKET !
{
root_0 = adaptor.nil();
OPEN_BRACKET1297 = (Token) match(input, OPEN_BRACKET, FOLLOW_OPEN_BRACKET_in_attribute_section10777);
if (state.failed) {
return retval;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2216:19: ( attribute_target_specifier )?
int alt322 = 2;
int LA322_0 = input.LA(1);
if ((LA322_0 == ABSTRACT || LA322_0 == AS || LA322_0 == BASE || (LA322_0 >= BOOL && LA322_0 <= BYTE) || (LA322_0 >= CASE && LA322_0 <= CHAR) || (LA322_0 >= CHECKED && LA322_0 <= CLASS) || (LA322_0 >= CONST && LA322_0 <= CONTINUE) || LA322_0 == DECIMAL || (LA322_0 >= DEFAULT && LA322_0 <= DELEGATE) || LA322_0 == DO || LA322_0 == DOUBLE || (LA322_0 >= ELSE && LA322_0 <= EXTERN) || (LA322_0 >= FALSE && LA322_0 <= FOREACH) || LA322_0 == GOTO || (LA322_0 >= IF && LA322_0 <= INT) || (LA322_0 >= INTERFACE && LA322_0 <= INTERNAL) || LA322_0 == IS || (LA322_0 >= LOCK && LA322_0 <= LONG) || (LA322_0 >= NAMESPACE && LA322_0 <= NEW) || LA322_0 == NULL || LA322_0 == OBJECT || LA322_0 == OPERATOR || (LA322_0 >= OUT && LA322_0 <= PARAMS) || (LA322_0 >= PRIVATE && LA322_0 <= PUBLIC) || LA322_0 == READONLY || (LA322_0 >= REF && LA322_0 <= RETURN) || (LA322_0 >= SBYTE && LA322_0 <= SEALED) || LA322_0 == SHORT || (LA322_0 >= SIZEOF && LA322_0 <= STACKALLOC) || (LA322_0 >= STATIC && LA322_0 <= STRING) || (LA322_0 >= STRUCT && LA322_0 <= SWITCH) || (LA322_0 >= THIS && LA322_0 <= THROW) || (LA322_0 >= TRUE && LA322_0 <= UNCHECKED) || (LA322_0 >= UNSAFE && LA322_0 <= USING) || (LA322_0 >= VIRTUAL && LA322_0 <= VOLATILE) || LA322_0 == WHILE)) {
alt322 = 1;
} else if ((LA322_0 == IDENTIFIER)) {
int LA322_2 = input.LA(2);
if ((LA322_2 == COLON)) {
alt322 = 1;
}
}
switch (alt322) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2216:19: attribute_target_specifier
{
pushFollow(FOLLOW_attribute_target_specifier_in_attribute_section10780);
attribute_target_specifier1298 = attribute_target_specifier();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, attribute_target_specifier1298.getTree());
}
}
break;
}
pushFollow(FOLLOW_attribute_list_in_attribute_section10783);
attribute_list1299 = attribute_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, attribute_list1299.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2216:67: ( COMMA !)?
int alt323 = 2;
int LA323_0 = input.LA(1);
if ((LA323_0 == COMMA)) {
alt323 = 1;
}
switch (alt323) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2216:67: COMMA !
{
COMMA1300 = (Token) match(input, COMMA, FOLLOW_COMMA_in_attribute_section10785);
if (state.failed) {
return retval;
}
}
break;
}
CLOSE_BRACKET1301 = (Token) match(input, CLOSE_BRACKET, FOLLOW_CLOSE_BRACKET_in_attribute_section10789);
if (state.failed) {
return retval;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "attribute_section"
public static class attribute_target_specifier_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "attribute_target_specifier"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2218:1: attribute_target_specifier : attribute_target COLON -> ^( ATTRIBUTE_TARGET attribute_target ) ;
public final CSharpParser.attribute_target_specifier_return attribute_target_specifier() throws RecognitionException {
CSharpParser.attribute_target_specifier_return retval = new CSharpParser.attribute_target_specifier_return();
retval.start = input.LT(1);
Object root_0 = null;
Token COLON1303 = null;
CSharpParser.attribute_target_return attribute_target1302 = null;
Object COLON1303_tree = null;
RewriteRuleTokenStream stream_COLON = new RewriteRuleTokenStream(adaptor, "token COLON");
RewriteRuleSubtreeStream stream_attribute_target = new RewriteRuleSubtreeStream(adaptor, "rule attribute_target");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2219:2: ( attribute_target COLON -> ^( ATTRIBUTE_TARGET attribute_target ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2219:4: attribute_target COLON
{
pushFollow(FOLLOW_attribute_target_in_attribute_target_specifier10802);
attribute_target1302 = attribute_target();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_attribute_target.add(attribute_target1302.getTree());
}
COLON1303 = (Token) match(input, COLON, FOLLOW_COLON_in_attribute_target_specifier10804);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_COLON.add(COLON1303);
}
// AST REWRITE
// elements: attribute_target
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 2220:4: -> ^( ATTRIBUTE_TARGET attribute_target )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2220:7: ^( ATTRIBUTE_TARGET attribute_target )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(ATTRIBUTE_TARGET, "ATTRIBUTE_TARGET"), root_1);
adaptor.addChild(root_1, stream_attribute_target.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "attribute_target_specifier"
public static class attribute_target_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "attribute_target"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2222:1: attribute_target : ( keyword | IDENTIFIER );
public final CSharpParser.attribute_target_return attribute_target() throws RecognitionException {
CSharpParser.attribute_target_return retval = new CSharpParser.attribute_target_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER1305 = null;
CSharpParser.keyword_return keyword1304 = null;
Object IDENTIFIER1305_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2223:3: ( keyword | IDENTIFIER )
int alt324 = 2;
int LA324_0 = input.LA(1);
if ((LA324_0 == ABSTRACT || LA324_0 == AS || LA324_0 == BASE || (LA324_0 >= BOOL && LA324_0 <= BYTE) || (LA324_0 >= CASE && LA324_0 <= CHAR) || (LA324_0 >= CHECKED && LA324_0 <= CLASS) || (LA324_0 >= CONST && LA324_0 <= CONTINUE) || LA324_0 == DECIMAL || (LA324_0 >= DEFAULT && LA324_0 <= DELEGATE) || LA324_0 == DO || LA324_0 == DOUBLE || (LA324_0 >= ELSE && LA324_0 <= EXTERN) || (LA324_0 >= FALSE && LA324_0 <= FOREACH) || LA324_0 == GOTO || (LA324_0 >= IF && LA324_0 <= INT) || (LA324_0 >= INTERFACE && LA324_0 <= INTERNAL) || LA324_0 == IS || (LA324_0 >= LOCK && LA324_0 <= LONG) || (LA324_0 >= NAMESPACE && LA324_0 <= NEW) || LA324_0 == NULL || LA324_0 == OBJECT || LA324_0 == OPERATOR || (LA324_0 >= OUT && LA324_0 <= PARAMS) || (LA324_0 >= PRIVATE && LA324_0 <= PUBLIC) || LA324_0 == READONLY || (LA324_0 >= REF && LA324_0 <= RETURN) || (LA324_0 >= SBYTE && LA324_0 <= SEALED) || LA324_0 == SHORT || (LA324_0 >= SIZEOF && LA324_0 <= STACKALLOC) || (LA324_0 >= STATIC && LA324_0 <= STRING) || (LA324_0 >= STRUCT && LA324_0 <= SWITCH) || (LA324_0 >= THIS && LA324_0 <= THROW) || (LA324_0 >= TRUE && LA324_0 <= UNCHECKED) || (LA324_0 >= UNSAFE && LA324_0 <= USING) || (LA324_0 >= VIRTUAL && LA324_0 <= VOLATILE) || LA324_0 == WHILE)) {
alt324 = 1;
} else if ((LA324_0 == IDENTIFIER)) {
alt324 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 324, 0, input);
throw nvae;
}
switch (alt324) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2223:5: keyword
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_keyword_in_attribute_target10827);
keyword1304 = keyword();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, keyword1304.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2223:15: IDENTIFIER
{
root_0 = adaptor.nil();
IDENTIFIER1305 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_attribute_target10831);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1305_tree =
adaptor.create(IDENTIFIER1305);
adaptor.addChild(root_0, IDENTIFIER1305_tree);
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "attribute_target"
public static class attribute_list_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "attribute_list"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2236:1: attribute_list : attribute ( COMMA attribute )* -> ^( ATTRIBUTE_LIST ( attribute )+ ) ;
public final CSharpParser.attribute_list_return attribute_list() throws RecognitionException {
CSharpParser.attribute_list_return retval = new CSharpParser.attribute_list_return();
retval.start = input.LT(1);
Object root_0 = null;
Token COMMA1307 = null;
CSharpParser.attribute_return attribute1306 = null;
CSharpParser.attribute_return attribute1308 = null;
Object COMMA1307_tree = null;
RewriteRuleTokenStream stream_COMMA = new RewriteRuleTokenStream(adaptor, "token COMMA");
RewriteRuleSubtreeStream stream_attribute = new RewriteRuleSubtreeStream(adaptor, "rule attribute");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2237:2: ( attribute ( COMMA attribute )* -> ^( ATTRIBUTE_LIST ( attribute )+ ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2237:4: attribute ( COMMA attribute )*
{
pushFollow(FOLLOW_attribute_in_attribute_list10845);
attribute1306 = attribute();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_attribute.add(attribute1306.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2237:14: ( COMMA attribute )*
loop325:
do {
int alt325 = 2;
int LA325_0 = input.LA(1);
if ((LA325_0 == COMMA)) {
int LA325_1 = input.LA(2);
if ((LA325_1 == IDENTIFIER)) {
alt325 = 1;
}
}
switch (alt325) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2237:16: COMMA attribute
{
COMMA1307 = (Token) match(input, COMMA, FOLLOW_COMMA_in_attribute_list10849);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_COMMA.add(COMMA1307);
}
pushFollow(FOLLOW_attribute_in_attribute_list10852);
attribute1308 = attribute();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_attribute.add(attribute1308.getTree());
}
}
break;
default:
break loop325;
}
} while (true);
// AST REWRITE
// elements: attribute
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 2238:4: -> ^( ATTRIBUTE_LIST ( attribute )+ )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2238:7: ^( ATTRIBUTE_LIST ( attribute )+ )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(ATTRIBUTE_LIST, "ATTRIBUTE_LIST"), root_1);
if (!(stream_attribute.hasNext())) {
throw new RewriteEarlyExitException();
}
while (stream_attribute.hasNext()) {
adaptor.addChild(root_1, stream_attribute.nextTree());
}
stream_attribute.reset();
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "attribute_list"
public static class attribute_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "attribute"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2240:1: attribute : attribute_name ( attribute_arguments )? -> ^( ATTRIBUTE attribute_name ( attribute_arguments )? ) ;
public final CSharpParser.attribute_return attribute() throws RecognitionException {
CSharpParser.attribute_return retval = new CSharpParser.attribute_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.attribute_name_return attribute_name1309 = null;
CSharpParser.attribute_arguments_return attribute_arguments1310 = null;
RewriteRuleSubtreeStream stream_attribute_arguments = new RewriteRuleSubtreeStream(adaptor, "rule attribute_arguments");
RewriteRuleSubtreeStream stream_attribute_name = new RewriteRuleSubtreeStream(adaptor, "rule attribute_name");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2241:2: ( attribute_name ( attribute_arguments )? -> ^( ATTRIBUTE attribute_name ( attribute_arguments )? ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2241:4: attribute_name ( attribute_arguments )?
{
pushFollow(FOLLOW_attribute_name_in_attribute10879);
attribute_name1309 = attribute_name();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_attribute_name.add(attribute_name1309.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2241:19: ( attribute_arguments )?
int alt326 = 2;
int LA326_0 = input.LA(1);
if ((LA326_0 == OPEN_PARENS)) {
alt326 = 1;
}
switch (alt326) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2241:19: attribute_arguments
{
pushFollow(FOLLOW_attribute_arguments_in_attribute10881);
attribute_arguments1310 = attribute_arguments();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_attribute_arguments.add(attribute_arguments1310.getTree());
}
}
break;
}
// AST REWRITE
// elements: attribute_name, attribute_arguments
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 2242:4: -> ^( ATTRIBUTE attribute_name ( attribute_arguments )? )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2242:7: ^( ATTRIBUTE attribute_name ( attribute_arguments )? )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(ATTRIBUTE, "ATTRIBUTE"), root_1);
adaptor.addChild(root_1, stream_attribute_name.nextTree());
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2242:38: ( attribute_arguments )?
if (stream_attribute_arguments.hasNext()) {
adaptor.addChild(root_1, stream_attribute_arguments.nextTree());
}
stream_attribute_arguments.reset();
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "attribute"
public static class attribute_name_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "attribute_name"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2244:1: attribute_name : type_name -> ^( ATTRIBUTE_NAME type_name ) ;
public final CSharpParser.attribute_name_return attribute_name() throws RecognitionException {
CSharpParser.attribute_name_return retval = new CSharpParser.attribute_name_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.type_name_return type_name1311 = null;
RewriteRuleSubtreeStream stream_type_name = new RewriteRuleSubtreeStream(adaptor, "rule type_name");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2245:2: ( type_name -> ^( ATTRIBUTE_NAME type_name ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2245:4: type_name
{
pushFollow(FOLLOW_type_name_in_attribute_name10911);
type_name1311 = type_name();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_type_name.add(type_name1311.getTree());
}
// AST REWRITE
// elements: type_name
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 2246:4: -> ^( ATTRIBUTE_NAME type_name )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2246:7: ^( ATTRIBUTE_NAME type_name )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(ATTRIBUTE_NAME, "ATTRIBUTE_NAME"), root_1);
adaptor.addChild(root_1, stream_type_name.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "attribute_name"
public static class attribute_arguments_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "attribute_arguments"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2256:1: attribute_arguments : OPEN_PARENS ! ( positional_argument_list )? CLOSE_PARENS !;
public final CSharpParser.attribute_arguments_return attribute_arguments() throws RecognitionException {
CSharpParser.attribute_arguments_return retval = new CSharpParser.attribute_arguments_return();
retval.start = input.LT(1);
Object root_0 = null;
Token OPEN_PARENS1312 = null;
Token CLOSE_PARENS1314 = null;
CSharpParser.positional_argument_list_return positional_argument_list1313 = null;
Object OPEN_PARENS1312_tree = null;
Object CLOSE_PARENS1314_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2257:3: ( OPEN_PARENS ! ( positional_argument_list )? CLOSE_PARENS !)
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2257:5: OPEN_PARENS ! ( positional_argument_list )? CLOSE_PARENS !
{
root_0 = adaptor.nil();
OPEN_PARENS1312 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_attribute_arguments10940);
if (state.failed) {
return retval;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2257:18: ( positional_argument_list )?
int alt327 = 2;
int LA327_0 = input.LA(1);
if ((LA327_0 == AMP || (LA327_0 >= BANG && LA327_0 <= BASE) || LA327_0 == BOOL || LA327_0 == BYTE || (LA327_0 >= CHAR && LA327_0 <= CHECKED) || LA327_0 == DECIMAL || (LA327_0 >= DEFAULT && LA327_0 <= DELEGATE) || LA327_0 == DOUBLE || LA327_0 == FALSE || LA327_0 == FLOAT || LA327_0 == IDENTIFIER || (LA327_0 >= INT && LA327_0 <= INTEGER_LITERAL) || LA327_0 == LONG || LA327_0 == MINUS || LA327_0 == NEW || LA327_0 == NULL || LA327_0 == OBJECT || LA327_0 == OPEN_PARENS || LA327_0 == OP_DEC || LA327_0 == OP_INC || LA327_0 == PLUS || LA327_0 == REAL_LITERAL || LA327_0 == SBYTE || LA327_0 == SHORT || LA327_0 == SIZEOF || LA327_0 == STAR || (LA327_0 >= STRING && LA327_0 <= STRING_LITERAL) || LA327_0 == THIS || (LA327_0 >= TILDE && LA327_0 <= TRUE) || (LA327_0 >= TYPEOF && LA327_0 <= UNCHECKED) || LA327_0 == USHORT)) {
alt327 = 1;
}
switch (alt327) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2257:18: positional_argument_list
{
pushFollow(FOLLOW_positional_argument_list_in_attribute_arguments10943);
positional_argument_list1313 = positional_argument_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, positional_argument_list1313.getTree());
}
}
break;
}
CLOSE_PARENS1314 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_attribute_arguments10946);
if (state.failed) {
return retval;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "attribute_arguments"
public static class positional_argument_list_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "positional_argument_list"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2259:1: positional_argument_list : positional_argument ( COMMA positional_argument )* -> ^( POSITIONAL_ARGUMENT_LIST ( positional_argument )+ ) ;
public final CSharpParser.positional_argument_list_return positional_argument_list() throws RecognitionException {
CSharpParser.positional_argument_list_return retval = new CSharpParser.positional_argument_list_return();
retval.start = input.LT(1);
Object root_0 = null;
Token COMMA1316 = null;
CSharpParser.positional_argument_return positional_argument1315 = null;
CSharpParser.positional_argument_return positional_argument1317 = null;
Object COMMA1316_tree = null;
RewriteRuleTokenStream stream_COMMA = new RewriteRuleTokenStream(adaptor, "token COMMA");
RewriteRuleSubtreeStream stream_positional_argument = new RewriteRuleSubtreeStream(adaptor, "rule positional_argument");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2260:2: ( positional_argument ( COMMA positional_argument )* -> ^( POSITIONAL_ARGUMENT_LIST ( positional_argument )+ ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2260:4: positional_argument ( COMMA positional_argument )*
{
pushFollow(FOLLOW_positional_argument_in_positional_argument_list10959);
positional_argument1315 = positional_argument();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_positional_argument.add(positional_argument1315.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2260:24: ( COMMA positional_argument )*
loop328:
do {
int alt328 = 2;
int LA328_0 = input.LA(1);
if ((LA328_0 == COMMA)) {
alt328 = 1;
}
switch (alt328) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2260:25: COMMA positional_argument
{
COMMA1316 = (Token) match(input, COMMA, FOLLOW_COMMA_in_positional_argument_list10962);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_COMMA.add(COMMA1316);
}
pushFollow(FOLLOW_positional_argument_in_positional_argument_list10964);
positional_argument1317 = positional_argument();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_positional_argument.add(positional_argument1317.getTree());
}
}
break;
default:
break loop328;
}
} while (true);
// AST REWRITE
// elements: positional_argument
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 2261:4: -> ^( POSITIONAL_ARGUMENT_LIST ( positional_argument )+ )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2261:7: ^( POSITIONAL_ARGUMENT_LIST ( positional_argument )+ )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(POSITIONAL_ARGUMENT_LIST, "POSITIONAL_ARGUMENT_LIST"), root_1);
if (!(stream_positional_argument.hasNext())) {
throw new RewriteEarlyExitException();
}
while (stream_positional_argument.hasNext()) {
adaptor.addChild(root_1, stream_positional_argument.nextTree());
}
stream_positional_argument.reset();
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "positional_argument_list"
public static class positional_argument_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "positional_argument"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2264:1: positional_argument : attribute_argument_expression ;
public final CSharpParser.positional_argument_return positional_argument() throws RecognitionException {
CSharpParser.positional_argument_return retval = new CSharpParser.positional_argument_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.attribute_argument_expression_return attribute_argument_expression1318 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2265:2: ( attribute_argument_expression )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2265:4: attribute_argument_expression
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_attribute_argument_expression_in_positional_argument10993);
attribute_argument_expression1318 = attribute_argument_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, attribute_argument_expression1318.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "positional_argument"
public static class named_argument_list_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "named_argument_list"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2268:1: named_argument_list : named_argument ( COMMA named_argument )* ;
public final CSharpParser.named_argument_list_return named_argument_list() throws RecognitionException {
CSharpParser.named_argument_list_return retval = new CSharpParser.named_argument_list_return();
retval.start = input.LT(1);
Object root_0 = null;
Token COMMA1320 = null;
CSharpParser.named_argument_return named_argument1319 = null;
CSharpParser.named_argument_return named_argument1321 = null;
Object COMMA1320_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2269:2: ( named_argument ( COMMA named_argument )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2269:4: named_argument ( COMMA named_argument )*
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_named_argument_in_named_argument_list11006);
named_argument1319 = named_argument();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, named_argument1319.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2269:19: ( COMMA named_argument )*
loop329:
do {
int alt329 = 2;
int LA329_0 = input.LA(1);
if ((LA329_0 == COMMA)) {
alt329 = 1;
}
switch (alt329) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2269:21: COMMA named_argument
{
COMMA1320 = (Token) match(input, COMMA, FOLLOW_COMMA_in_named_argument_list11010);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
COMMA1320_tree =
adaptor.create(COMMA1320);
adaptor.addChild(root_0, COMMA1320_tree);
}
pushFollow(FOLLOW_named_argument_in_named_argument_list11013);
named_argument1321 = named_argument();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, named_argument1321.getTree());
}
}
break;
default:
break loop329;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "named_argument_list"
public static class named_argument_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "named_argument"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2272:1: named_argument : IDENTIFIER ASSIGNMENT attribute_argument_expression ;
public final CSharpParser.named_argument_return named_argument() throws RecognitionException {
CSharpParser.named_argument_return retval = new CSharpParser.named_argument_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER1322 = null;
Token ASSIGNMENT1323 = null;
CSharpParser.attribute_argument_expression_return attribute_argument_expression1324 = null;
Object IDENTIFIER1322_tree = null;
Object ASSIGNMENT1323_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2273:2: ( IDENTIFIER ASSIGNMENT attribute_argument_expression )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2273:4: IDENTIFIER ASSIGNMENT attribute_argument_expression
{
root_0 = adaptor.nil();
IDENTIFIER1322 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_named_argument11029);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1322_tree =
adaptor.create(IDENTIFIER1322);
adaptor.addChild(root_0, IDENTIFIER1322_tree);
}
ASSIGNMENT1323 = (Token) match(input, ASSIGNMENT, FOLLOW_ASSIGNMENT_in_named_argument11031);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
ASSIGNMENT1323_tree =
adaptor.create(ASSIGNMENT1323);
adaptor.addChild(root_0, ASSIGNMENT1323_tree);
}
pushFollow(FOLLOW_attribute_argument_expression_in_named_argument11033);
attribute_argument_expression1324 = attribute_argument_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, attribute_argument_expression1324.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "named_argument"
public static class attribute_argument_expression_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "attribute_argument_expression"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2275:1: attribute_argument_expression : expression ;
public final CSharpParser.attribute_argument_expression_return attribute_argument_expression() throws RecognitionException {
CSharpParser.attribute_argument_expression_return retval = new CSharpParser.attribute_argument_expression_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.expression_return expression1325 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2276:2: ( expression )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2276:4: expression
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_expression_in_attribute_argument_expression11044);
expression1325 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression1325.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "attribute_argument_expression"
public static class class_modifier_unsafe_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "class_modifier_unsafe"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2281:1: class_modifier_unsafe : UNSAFE ;
public final CSharpParser.class_modifier_unsafe_return class_modifier_unsafe() throws RecognitionException {
CSharpParser.class_modifier_unsafe_return retval = new CSharpParser.class_modifier_unsafe_return();
retval.start = input.LT(1);
Object root_0 = null;
Token UNSAFE1326 = null;
Object UNSAFE1326_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2282:2: ( UNSAFE )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2282:4: UNSAFE
{
root_0 = adaptor.nil();
UNSAFE1326 = (Token) match(input, UNSAFE, FOLLOW_UNSAFE_in_class_modifier_unsafe11058);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
UNSAFE1326_tree =
adaptor.create(UNSAFE1326);
adaptor.addChild(root_0, UNSAFE1326_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "class_modifier_unsafe"
public static class struct_modifier_unsafe_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "struct_modifier_unsafe"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2284:1: struct_modifier_unsafe : UNSAFE ;
public final CSharpParser.struct_modifier_unsafe_return struct_modifier_unsafe() throws RecognitionException {
CSharpParser.struct_modifier_unsafe_return retval = new CSharpParser.struct_modifier_unsafe_return();
retval.start = input.LT(1);
Object root_0 = null;
Token UNSAFE1327 = null;
Object UNSAFE1327_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2285:2: ( UNSAFE )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2285:4: UNSAFE
{
root_0 = adaptor.nil();
UNSAFE1327 = (Token) match(input, UNSAFE, FOLLOW_UNSAFE_in_struct_modifier_unsafe11069);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
UNSAFE1327_tree =
adaptor.create(UNSAFE1327);
adaptor.addChild(root_0, UNSAFE1327_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "struct_modifier_unsafe"
public static class interface_modifier_unsafe_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "interface_modifier_unsafe"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2287:1: interface_modifier_unsafe : UNSAFE ;
public final CSharpParser.interface_modifier_unsafe_return interface_modifier_unsafe() throws RecognitionException {
CSharpParser.interface_modifier_unsafe_return retval = new CSharpParser.interface_modifier_unsafe_return();
retval.start = input.LT(1);
Object root_0 = null;
Token UNSAFE1328 = null;
Object UNSAFE1328_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2288:2: ( UNSAFE )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2288:4: UNSAFE
{
root_0 = adaptor.nil();
UNSAFE1328 = (Token) match(input, UNSAFE, FOLLOW_UNSAFE_in_interface_modifier_unsafe11080);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
UNSAFE1328_tree =
adaptor.create(UNSAFE1328);
adaptor.addChild(root_0, UNSAFE1328_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "interface_modifier_unsafe"
public static class delegate_modifier_unsafe_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "delegate_modifier_unsafe"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2290:1: delegate_modifier_unsafe : UNSAFE ;
public final CSharpParser.delegate_modifier_unsafe_return delegate_modifier_unsafe() throws RecognitionException {
CSharpParser.delegate_modifier_unsafe_return retval = new CSharpParser.delegate_modifier_unsafe_return();
retval.start = input.LT(1);
Object root_0 = null;
Token UNSAFE1329 = null;
Object UNSAFE1329_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2291:2: ( UNSAFE )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2291:4: UNSAFE
{
root_0 = adaptor.nil();
UNSAFE1329 = (Token) match(input, UNSAFE, FOLLOW_UNSAFE_in_delegate_modifier_unsafe11091);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
UNSAFE1329_tree =
adaptor.create(UNSAFE1329);
adaptor.addChild(root_0, UNSAFE1329_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "delegate_modifier_unsafe"
public static class field_modifier_unsafe_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "field_modifier_unsafe"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2293:1: field_modifier_unsafe : UNSAFE ;
public final CSharpParser.field_modifier_unsafe_return field_modifier_unsafe() throws RecognitionException {
CSharpParser.field_modifier_unsafe_return retval = new CSharpParser.field_modifier_unsafe_return();
retval.start = input.LT(1);
Object root_0 = null;
Token UNSAFE1330 = null;
Object UNSAFE1330_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2294:2: ( UNSAFE )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2294:4: UNSAFE
{
root_0 = adaptor.nil();
UNSAFE1330 = (Token) match(input, UNSAFE, FOLLOW_UNSAFE_in_field_modifier_unsafe11102);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
UNSAFE1330_tree =
adaptor.create(UNSAFE1330);
adaptor.addChild(root_0, UNSAFE1330_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "field_modifier_unsafe"
public static class method_modifier_unsafe_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "method_modifier_unsafe"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2296:1: method_modifier_unsafe : UNSAFE ;
public final CSharpParser.method_modifier_unsafe_return method_modifier_unsafe() throws RecognitionException {
CSharpParser.method_modifier_unsafe_return retval = new CSharpParser.method_modifier_unsafe_return();
retval.start = input.LT(1);
Object root_0 = null;
Token UNSAFE1331 = null;
Object UNSAFE1331_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2297:2: ( UNSAFE )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2297:4: UNSAFE
{
root_0 = adaptor.nil();
UNSAFE1331 = (Token) match(input, UNSAFE, FOLLOW_UNSAFE_in_method_modifier_unsafe11113);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
UNSAFE1331_tree =
adaptor.create(UNSAFE1331);
adaptor.addChild(root_0, UNSAFE1331_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "method_modifier_unsafe"
public static class property_modifier_unsafe_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "property_modifier_unsafe"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2299:1: property_modifier_unsafe : UNSAFE ;
public final CSharpParser.property_modifier_unsafe_return property_modifier_unsafe() throws RecognitionException {
CSharpParser.property_modifier_unsafe_return retval = new CSharpParser.property_modifier_unsafe_return();
retval.start = input.LT(1);
Object root_0 = null;
Token UNSAFE1332 = null;
Object UNSAFE1332_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2300:2: ( UNSAFE )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2300:4: UNSAFE
{
root_0 = adaptor.nil();
UNSAFE1332 = (Token) match(input, UNSAFE, FOLLOW_UNSAFE_in_property_modifier_unsafe11124);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
UNSAFE1332_tree =
adaptor.create(UNSAFE1332);
adaptor.addChild(root_0, UNSAFE1332_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "property_modifier_unsafe"
public static class event_modifier_unsafe_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "event_modifier_unsafe"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2302:1: event_modifier_unsafe : UNSAFE ;
public final CSharpParser.event_modifier_unsafe_return event_modifier_unsafe() throws RecognitionException {
CSharpParser.event_modifier_unsafe_return retval = new CSharpParser.event_modifier_unsafe_return();
retval.start = input.LT(1);
Object root_0 = null;
Token UNSAFE1333 = null;
Object UNSAFE1333_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2303:2: ( UNSAFE )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2303:4: UNSAFE
{
root_0 = adaptor.nil();
UNSAFE1333 = (Token) match(input, UNSAFE, FOLLOW_UNSAFE_in_event_modifier_unsafe11135);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
UNSAFE1333_tree =
adaptor.create(UNSAFE1333);
adaptor.addChild(root_0, UNSAFE1333_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "event_modifier_unsafe"
public static class indexer_modifier_unsafe_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "indexer_modifier_unsafe"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2305:1: indexer_modifier_unsafe : UNSAFE ;
public final CSharpParser.indexer_modifier_unsafe_return indexer_modifier_unsafe() throws RecognitionException {
CSharpParser.indexer_modifier_unsafe_return retval = new CSharpParser.indexer_modifier_unsafe_return();
retval.start = input.LT(1);
Object root_0 = null;
Token UNSAFE1334 = null;
Object UNSAFE1334_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2306:2: ( UNSAFE )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2306:4: UNSAFE
{
root_0 = adaptor.nil();
UNSAFE1334 = (Token) match(input, UNSAFE, FOLLOW_UNSAFE_in_indexer_modifier_unsafe11146);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
UNSAFE1334_tree =
adaptor.create(UNSAFE1334);
adaptor.addChild(root_0, UNSAFE1334_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "indexer_modifier_unsafe"
public static class operator_modifier_unsafe_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "operator_modifier_unsafe"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2308:1: operator_modifier_unsafe : UNSAFE ;
public final CSharpParser.operator_modifier_unsafe_return operator_modifier_unsafe() throws RecognitionException {
CSharpParser.operator_modifier_unsafe_return retval = new CSharpParser.operator_modifier_unsafe_return();
retval.start = input.LT(1);
Object root_0 = null;
Token UNSAFE1335 = null;
Object UNSAFE1335_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2309:2: ( UNSAFE )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2309:4: UNSAFE
{
root_0 = adaptor.nil();
UNSAFE1335 = (Token) match(input, UNSAFE, FOLLOW_UNSAFE_in_operator_modifier_unsafe11157);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
UNSAFE1335_tree =
adaptor.create(UNSAFE1335);
adaptor.addChild(root_0, UNSAFE1335_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "operator_modifier_unsafe"
public static class constructor_modifier_unsafe_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "constructor_modifier_unsafe"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2311:1: constructor_modifier_unsafe : UNSAFE ;
public final CSharpParser.constructor_modifier_unsafe_return constructor_modifier_unsafe() throws RecognitionException {
CSharpParser.constructor_modifier_unsafe_return retval = new CSharpParser.constructor_modifier_unsafe_return();
retval.start = input.LT(1);
Object root_0 = null;
Token UNSAFE1336 = null;
Object UNSAFE1336_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2312:2: ( UNSAFE )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2312:4: UNSAFE
{
root_0 = adaptor.nil();
UNSAFE1336 = (Token) match(input, UNSAFE, FOLLOW_UNSAFE_in_constructor_modifier_unsafe11168);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
UNSAFE1336_tree =
adaptor.create(UNSAFE1336);
adaptor.addChild(root_0, UNSAFE1336_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "constructor_modifier_unsafe"
public static class destructor_declaration_unsafe_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "destructor_declaration_unsafe"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2320:1: destructor_declaration_unsafe : ( attributes )? ( ( EXTERN )? ( UNSAFE )? | UNSAFE EXTERN ) TILDE ^ IDENTIFIER OPEN_PARENS CLOSE_PARENS destructor_body ;
public final CSharpParser.destructor_declaration_unsafe_return destructor_declaration_unsafe() throws RecognitionException {
CSharpParser.destructor_declaration_unsafe_return retval = new CSharpParser.destructor_declaration_unsafe_return();
retval.start = input.LT(1);
Object root_0 = null;
Token EXTERN1338 = null;
Token UNSAFE1339 = null;
Token UNSAFE1340 = null;
Token EXTERN1341 = null;
Token TILDE1342 = null;
Token IDENTIFIER1343 = null;
Token OPEN_PARENS1344 = null;
Token CLOSE_PARENS1345 = null;
CSharpParser.attributes_return attributes1337 = null;
CSharpParser.destructor_body_return destructor_body1346 = null;
Object EXTERN1338_tree = null;
Object UNSAFE1339_tree = null;
Object UNSAFE1340_tree = null;
Object EXTERN1341_tree = null;
Object TILDE1342_tree = null;
Object IDENTIFIER1343_tree = null;
Object OPEN_PARENS1344_tree = null;
Object CLOSE_PARENS1345_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2321:3: ( ( attributes )? ( ( EXTERN )? ( UNSAFE )? | UNSAFE EXTERN ) TILDE ^ IDENTIFIER OPEN_PARENS CLOSE_PARENS destructor_body )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2321:5: ( attributes )? ( ( EXTERN )? ( UNSAFE )? | UNSAFE EXTERN ) TILDE ^ IDENTIFIER OPEN_PARENS CLOSE_PARENS destructor_body
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2321:5: ( attributes )?
int alt330 = 2;
int LA330_0 = input.LA(1);
if ((LA330_0 == OPEN_BRACKET)) {
alt330 = 1;
}
switch (alt330) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2321:5: attributes
{
pushFollow(FOLLOW_attributes_in_destructor_declaration_unsafe11182);
attributes1337 = attributes();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, attributes1337.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2322:5: ( ( EXTERN )? ( UNSAFE )? | UNSAFE EXTERN )
int alt333 = 2;
int LA333_0 = input.LA(1);
if ((LA333_0 == EXTERN || LA333_0 == TILDE)) {
alt333 = 1;
} else if ((LA333_0 == UNSAFE)) {
int LA333_2 = input.LA(2);
if ((LA333_2 == EXTERN)) {
alt333 = 2;
} else if ((LA333_2 == TILDE)) {
alt333 = 1;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 333, 2, input);
throw nvae;
}
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 333, 0, input);
throw nvae;
}
switch (alt333) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2322:7: ( EXTERN )? ( UNSAFE )?
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2322:7: ( EXTERN )?
int alt331 = 2;
int LA331_0 = input.LA(1);
if ((LA331_0 == EXTERN)) {
alt331 = 1;
}
switch (alt331) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2322:7: EXTERN
{
EXTERN1338 = (Token) match(input, EXTERN, FOLLOW_EXTERN_in_destructor_declaration_unsafe11191);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
EXTERN1338_tree =
adaptor.create(EXTERN1338);
adaptor.addChild(root_0, EXTERN1338_tree);
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2322:15: ( UNSAFE )?
int alt332 = 2;
int LA332_0 = input.LA(1);
if ((LA332_0 == UNSAFE)) {
alt332 = 1;
}
switch (alt332) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2322:15: UNSAFE
{
UNSAFE1339 = (Token) match(input, UNSAFE, FOLLOW_UNSAFE_in_destructor_declaration_unsafe11194);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
UNSAFE1339_tree =
adaptor.create(UNSAFE1339);
adaptor.addChild(root_0, UNSAFE1339_tree);
}
}
break;
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2323:7: UNSAFE EXTERN
{
UNSAFE1340 = (Token) match(input, UNSAFE, FOLLOW_UNSAFE_in_destructor_declaration_unsafe11203);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
UNSAFE1340_tree =
adaptor.create(UNSAFE1340);
adaptor.addChild(root_0, UNSAFE1340_tree);
}
EXTERN1341 = (Token) match(input, EXTERN, FOLLOW_EXTERN_in_destructor_declaration_unsafe11205);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
EXTERN1341_tree =
adaptor.create(EXTERN1341);
adaptor.addChild(root_0, EXTERN1341_tree);
}
}
break;
}
TILDE1342 = (Token) match(input, TILDE, FOLLOW_TILDE_in_destructor_declaration_unsafe11219);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
TILDE1342_tree =
adaptor.create(TILDE1342);
root_0 = adaptor.becomeRoot(TILDE1342_tree, root_0);
}
IDENTIFIER1343 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_destructor_declaration_unsafe11222);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1343_tree =
adaptor.create(IDENTIFIER1343);
adaptor.addChild(root_0, IDENTIFIER1343_tree);
}
OPEN_PARENS1344 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_destructor_declaration_unsafe11224);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_PARENS1344_tree =
adaptor.create(OPEN_PARENS1344);
adaptor.addChild(root_0, OPEN_PARENS1344_tree);
}
CLOSE_PARENS1345 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_destructor_declaration_unsafe11226);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_PARENS1345_tree =
adaptor.create(CLOSE_PARENS1345);
adaptor.addChild(root_0, CLOSE_PARENS1345_tree);
}
pushFollow(FOLLOW_destructor_body_in_destructor_declaration_unsafe11228);
destructor_body1346 = destructor_body();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, destructor_body1346.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "destructor_declaration_unsafe"
public static class static_constructor_modifiers_unsafe_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "static_constructor_modifiers_unsafe"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2337:1: static_constructor_modifiers_unsafe : ( ( EXTERN | UNSAFE )? STATIC | EXTERN UNSAFE STATIC | UNSAFE EXTERN STATIC | EXTERN STATIC UNSAFE | UNSAFE STATIC EXTERN | STATIC ( EXTERN | UNSAFE ) | STATIC EXTERN UNSAFE | STATIC UNSAFE EXTERN );
public final CSharpParser.static_constructor_modifiers_unsafe_return static_constructor_modifiers_unsafe() throws RecognitionException {
CSharpParser.static_constructor_modifiers_unsafe_return retval = new CSharpParser.static_constructor_modifiers_unsafe_return();
retval.start = input.LT(1);
Object root_0 = null;
Token set1347 = null;
Token STATIC1348 = null;
Token EXTERN1349 = null;
Token UNSAFE1350 = null;
Token STATIC1351 = null;
Token UNSAFE1352 = null;
Token EXTERN1353 = null;
Token STATIC1354 = null;
Token EXTERN1355 = null;
Token STATIC1356 = null;
Token UNSAFE1357 = null;
Token UNSAFE1358 = null;
Token STATIC1359 = null;
Token EXTERN1360 = null;
Token STATIC1361 = null;
Token set1362 = null;
Token STATIC1363 = null;
Token EXTERN1364 = null;
Token UNSAFE1365 = null;
Token STATIC1366 = null;
Token UNSAFE1367 = null;
Token EXTERN1368 = null;
Object set1347_tree = null;
Object STATIC1348_tree = null;
Object EXTERN1349_tree = null;
Object UNSAFE1350_tree = null;
Object STATIC1351_tree = null;
Object UNSAFE1352_tree = null;
Object EXTERN1353_tree = null;
Object STATIC1354_tree = null;
Object EXTERN1355_tree = null;
Object STATIC1356_tree = null;
Object UNSAFE1357_tree = null;
Object UNSAFE1358_tree = null;
Object STATIC1359_tree = null;
Object EXTERN1360_tree = null;
Object STATIC1361_tree = null;
Object set1362_tree = null;
Object STATIC1363_tree = null;
Object EXTERN1364_tree = null;
Object UNSAFE1365_tree = null;
Object STATIC1366_tree = null;
Object UNSAFE1367_tree = null;
Object EXTERN1368_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2338:3: ( ( EXTERN | UNSAFE )? STATIC | EXTERN UNSAFE STATIC | UNSAFE EXTERN STATIC | EXTERN STATIC UNSAFE | UNSAFE STATIC EXTERN | STATIC ( EXTERN | UNSAFE ) | STATIC EXTERN UNSAFE | STATIC UNSAFE EXTERN )
int alt335 = 8;
switch (input.LA(1)) {
case EXTERN: {
int LA335_1 = input.LA(2);
if ((LA335_1 == UNSAFE)) {
alt335 = 2;
} else if ((LA335_1 == STATIC)) {
int LA335_5 = input.LA(3);
if ((LA335_5 == UNSAFE)) {
alt335 = 4;
} else if ((LA335_5 == IDENTIFIER)) {
alt335 = 1;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 335, 5, input);
throw nvae;
}
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 335, 1, input);
throw nvae;
}
}
break;
case STATIC: {
switch (input.LA(2)) {
case EXTERN: {
int LA335_6 = input.LA(3);
if ((LA335_6 == UNSAFE)) {
alt335 = 7;
} else if ((LA335_6 == IDENTIFIER)) {
alt335 = 6;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 335, 6, input);
throw nvae;
}
}
break;
case UNSAFE: {
int LA335_7 = input.LA(3);
if ((LA335_7 == EXTERN)) {
alt335 = 8;
} else if ((LA335_7 == IDENTIFIER)) {
alt335 = 6;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 335, 7, input);
throw nvae;
}
}
break;
case IDENTIFIER: {
alt335 = 1;
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 335, 2, input);
throw nvae;
}
}
break;
case UNSAFE: {
int LA335_3 = input.LA(2);
if ((LA335_3 == EXTERN)) {
alt335 = 3;
} else if ((LA335_3 == STATIC)) {
int LA335_10 = input.LA(3);
if ((LA335_10 == EXTERN)) {
alt335 = 5;
} else if ((LA335_10 == IDENTIFIER)) {
alt335 = 1;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 335, 10, input);
throw nvae;
}
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 335, 3, input);
throw nvae;
}
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 335, 0, input);
throw nvae;
}
switch (alt335) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2338:5: ( EXTERN | UNSAFE )? STATIC
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2338:5: ( EXTERN | UNSAFE )?
int alt334 = 2;
int LA334_0 = input.LA(1);
if ((LA334_0 == EXTERN || LA334_0 == UNSAFE)) {
alt334 = 1;
}
switch (alt334) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:
{
set1347 = input.LT(1);
if (input.LA(1) == EXTERN || input.LA(1) == UNSAFE) {
input.consume();
if (state.backtracking == 0) {
adaptor.addChild(root_0,
adaptor.create(set1347));
}
state.errorRecovery = false;
state.failed = false;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
MismatchedSetException mse = new MismatchedSetException(null, input);
throw mse;
}
}
break;
}
STATIC1348 = (Token) match(input, STATIC, FOLLOW_STATIC_in_static_constructor_modifiers_unsafe11252);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
STATIC1348_tree =
adaptor.create(STATIC1348);
adaptor.addChild(root_0, STATIC1348_tree);
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2339:5: EXTERN UNSAFE STATIC
{
root_0 = adaptor.nil();
EXTERN1349 = (Token) match(input, EXTERN, FOLLOW_EXTERN_in_static_constructor_modifiers_unsafe11258);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
EXTERN1349_tree =
adaptor.create(EXTERN1349);
adaptor.addChild(root_0, EXTERN1349_tree);
}
UNSAFE1350 = (Token) match(input, UNSAFE, FOLLOW_UNSAFE_in_static_constructor_modifiers_unsafe11260);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
UNSAFE1350_tree =
adaptor.create(UNSAFE1350);
adaptor.addChild(root_0, UNSAFE1350_tree);
}
STATIC1351 = (Token) match(input, STATIC, FOLLOW_STATIC_in_static_constructor_modifiers_unsafe11262);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
STATIC1351_tree =
adaptor.create(STATIC1351);
adaptor.addChild(root_0, STATIC1351_tree);
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2340:5: UNSAFE EXTERN STATIC
{
root_0 = adaptor.nil();
UNSAFE1352 = (Token) match(input, UNSAFE, FOLLOW_UNSAFE_in_static_constructor_modifiers_unsafe11268);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
UNSAFE1352_tree =
adaptor.create(UNSAFE1352);
adaptor.addChild(root_0, UNSAFE1352_tree);
}
EXTERN1353 = (Token) match(input, EXTERN, FOLLOW_EXTERN_in_static_constructor_modifiers_unsafe11270);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
EXTERN1353_tree =
adaptor.create(EXTERN1353);
adaptor.addChild(root_0, EXTERN1353_tree);
}
STATIC1354 = (Token) match(input, STATIC, FOLLOW_STATIC_in_static_constructor_modifiers_unsafe11272);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
STATIC1354_tree =
adaptor.create(STATIC1354);
adaptor.addChild(root_0, STATIC1354_tree);
}
}
break;
case 4: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2341:5: EXTERN STATIC UNSAFE
{
root_0 = adaptor.nil();
EXTERN1355 = (Token) match(input, EXTERN, FOLLOW_EXTERN_in_static_constructor_modifiers_unsafe11278);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
EXTERN1355_tree =
adaptor.create(EXTERN1355);
adaptor.addChild(root_0, EXTERN1355_tree);
}
STATIC1356 = (Token) match(input, STATIC, FOLLOW_STATIC_in_static_constructor_modifiers_unsafe11280);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
STATIC1356_tree =
adaptor.create(STATIC1356);
adaptor.addChild(root_0, STATIC1356_tree);
}
UNSAFE1357 = (Token) match(input, UNSAFE, FOLLOW_UNSAFE_in_static_constructor_modifiers_unsafe11282);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
UNSAFE1357_tree =
adaptor.create(UNSAFE1357);
adaptor.addChild(root_0, UNSAFE1357_tree);
}
}
break;
case 5: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2342:5: UNSAFE STATIC EXTERN
{
root_0 = adaptor.nil();
UNSAFE1358 = (Token) match(input, UNSAFE, FOLLOW_UNSAFE_in_static_constructor_modifiers_unsafe11288);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
UNSAFE1358_tree =
adaptor.create(UNSAFE1358);
adaptor.addChild(root_0, UNSAFE1358_tree);
}
STATIC1359 = (Token) match(input, STATIC, FOLLOW_STATIC_in_static_constructor_modifiers_unsafe11290);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
STATIC1359_tree =
adaptor.create(STATIC1359);
adaptor.addChild(root_0, STATIC1359_tree);
}
EXTERN1360 = (Token) match(input, EXTERN, FOLLOW_EXTERN_in_static_constructor_modifiers_unsafe11292);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
EXTERN1360_tree =
adaptor.create(EXTERN1360);
adaptor.addChild(root_0, EXTERN1360_tree);
}
}
break;
case 6: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2343:5: STATIC ( EXTERN | UNSAFE )
{
root_0 = adaptor.nil();
STATIC1361 = (Token) match(input, STATIC, FOLLOW_STATIC_in_static_constructor_modifiers_unsafe11298);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
STATIC1361_tree =
adaptor.create(STATIC1361);
adaptor.addChild(root_0, STATIC1361_tree);
}
set1362 = input.LT(1);
if (input.LA(1) == EXTERN || input.LA(1) == UNSAFE) {
input.consume();
if (state.backtracking == 0) {
adaptor.addChild(root_0,
adaptor.create(set1362));
}
state.errorRecovery = false;
state.failed = false;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
MismatchedSetException mse = new MismatchedSetException(null, input);
throw mse;
}
}
break;
case 7: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2344:5: STATIC EXTERN UNSAFE
{
root_0 = adaptor.nil();
STATIC1363 = (Token) match(input, STATIC, FOLLOW_STATIC_in_static_constructor_modifiers_unsafe11312);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
STATIC1363_tree =
adaptor.create(STATIC1363);
adaptor.addChild(root_0, STATIC1363_tree);
}
EXTERN1364 = (Token) match(input, EXTERN, FOLLOW_EXTERN_in_static_constructor_modifiers_unsafe11314);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
EXTERN1364_tree =
adaptor.create(EXTERN1364);
adaptor.addChild(root_0, EXTERN1364_tree);
}
UNSAFE1365 = (Token) match(input, UNSAFE, FOLLOW_UNSAFE_in_static_constructor_modifiers_unsafe11316);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
UNSAFE1365_tree =
adaptor.create(UNSAFE1365);
adaptor.addChild(root_0, UNSAFE1365_tree);
}
}
break;
case 8: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2345:5: STATIC UNSAFE EXTERN
{
root_0 = adaptor.nil();
STATIC1366 = (Token) match(input, STATIC, FOLLOW_STATIC_in_static_constructor_modifiers_unsafe11322);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
STATIC1366_tree =
adaptor.create(STATIC1366);
adaptor.addChild(root_0, STATIC1366_tree);
}
UNSAFE1367 = (Token) match(input, UNSAFE, FOLLOW_UNSAFE_in_static_constructor_modifiers_unsafe11324);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
UNSAFE1367_tree =
adaptor.create(UNSAFE1367);
adaptor.addChild(root_0, UNSAFE1367_tree);
}
EXTERN1368 = (Token) match(input, EXTERN, FOLLOW_EXTERN_in_static_constructor_modifiers_unsafe11326);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
EXTERN1368_tree =
adaptor.create(EXTERN1368);
adaptor.addChild(root_0, EXTERN1368_tree);
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "static_constructor_modifiers_unsafe"
public static class embedded_statement_unsafe_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "embedded_statement_unsafe"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2348:1: embedded_statement_unsafe : ( unsafe_statement | fixed_statement );
public final CSharpParser.embedded_statement_unsafe_return embedded_statement_unsafe() throws RecognitionException {
CSharpParser.embedded_statement_unsafe_return retval = new CSharpParser.embedded_statement_unsafe_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.unsafe_statement_return unsafe_statement1369 = null;
CSharpParser.fixed_statement_return fixed_statement1370 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2349:2: ( unsafe_statement | fixed_statement )
int alt336 = 2;
int LA336_0 = input.LA(1);
if ((LA336_0 == UNSAFE)) {
alt336 = 1;
} else if ((LA336_0 == FIXED)) {
alt336 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 336, 0, input);
throw nvae;
}
switch (alt336) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2349:4: unsafe_statement
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_unsafe_statement_in_embedded_statement_unsafe11340);
unsafe_statement1369 = unsafe_statement();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, unsafe_statement1369.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2350:4: fixed_statement
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_fixed_statement_in_embedded_statement_unsafe11345);
fixed_statement1370 = fixed_statement();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, fixed_statement1370.getTree());
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "embedded_statement_unsafe"
public static class unsafe_statement_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "unsafe_statement"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2352:1: unsafe_statement : UNSAFE block ;
public final CSharpParser.unsafe_statement_return unsafe_statement() throws RecognitionException {
CSharpParser.unsafe_statement_return retval = new CSharpParser.unsafe_statement_return();
retval.start = input.LT(1);
Object root_0 = null;
Token UNSAFE1371 = null;
CSharpParser.block_return block1372 = null;
Object UNSAFE1371_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2353:2: ( UNSAFE block )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2353:4: UNSAFE block
{
root_0 = adaptor.nil();
UNSAFE1371 = (Token) match(input, UNSAFE, FOLLOW_UNSAFE_in_unsafe_statement11356);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
UNSAFE1371_tree =
adaptor.create(UNSAFE1371);
adaptor.addChild(root_0, UNSAFE1371_tree);
}
pushFollow(FOLLOW_block_in_unsafe_statement11358);
block1372 = block();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, block1372.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "unsafe_statement"
public static class type_unsafe_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "type_unsafe"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2355:1: type_unsafe : pointer_type ;
public final CSharpParser.type_unsafe_return type_unsafe() throws RecognitionException {
CSharpParser.type_unsafe_return retval = new CSharpParser.type_unsafe_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.pointer_type_return pointer_type1373 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2356:2: ( pointer_type )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2356:4: pointer_type
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_pointer_type_in_type_unsafe11369);
pointer_type1373 = pointer_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, pointer_type1373.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "type_unsafe"
public static class pointer_type_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "pointer_type"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2365:1: pointer_type : ( simple_type | class_type | VOID ) ({...}? => rank_specifier |{...}? => INTERR | STAR )* STAR ;
public final CSharpParser.pointer_type_return pointer_type() throws RecognitionException {
CSharpParser.pointer_type_return retval = new CSharpParser.pointer_type_return();
retval.start = input.LT(1);
Object root_0 = null;
Token VOID1376 = null;
Token INTERR1378 = null;
Token STAR1379 = null;
Token STAR1380 = null;
CSharpParser.simple_type_return simple_type1374 = null;
CSharpParser.class_type_return class_type1375 = null;
CSharpParser.rank_specifier_return rank_specifier1377 = null;
Object VOID1376_tree = null;
Object INTERR1378_tree = null;
Object STAR1379_tree = null;
Object STAR1380_tree = null;
boolean allowAll = true;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2369:3: ( ( simple_type | class_type | VOID ) ({...}? => rank_specifier |{...}? => INTERR | STAR )* STAR )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2369:5: ( simple_type | class_type | VOID ) ({...}? => rank_specifier |{...}? => INTERR | STAR )* STAR
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2369:5: ( simple_type | class_type | VOID )
int alt337 = 3;
switch (input.LA(1)) {
case BOOL:
case BYTE:
case CHAR:
case DECIMAL:
case DOUBLE:
case FLOAT:
case INT:
case LONG:
case SBYTE:
case SHORT:
case UINT:
case ULONG:
case USHORT: {
alt337 = 1;
}
break;
case IDENTIFIER:
case OBJECT:
case STRING: {
alt337 = 2;
}
break;
case VOID: {
alt337 = 3;
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 337, 0, input);
throw nvae;
}
switch (alt337) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2369:7: simple_type
{
pushFollow(FOLLOW_simple_type_in_pointer_type11391);
simple_type1374 = simple_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, simple_type1374.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2370:6: class_type
{
pushFollow(FOLLOW_class_type_in_pointer_type11398);
class_type1375 = class_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, class_type1375.getTree());
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2371:6: VOID
{
VOID1376 = (Token) match(input, VOID, FOLLOW_VOID_in_pointer_type11405);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
VOID1376_tree =
adaptor.create(VOID1376);
adaptor.addChild(root_0, VOID1376_tree);
}
if (state.backtracking == 0) {
allowAll = false;
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2372:5: ({...}? => rank_specifier |{...}? => INTERR | STAR )*
loop338:
do {
int alt338 = 4;
int LA338_0 = input.LA(1);
if ((LA338_0 == STAR)) {
int LA338_1 = input.LA(2);
if ((LA338_1 == INTERR || LA338_1 == OPEN_BRACKET || LA338_1 == STAR)) {
alt338 = 3;
}
} else if ((LA338_0 == OPEN_BRACKET) && ((allowAll))) {
alt338 = 1;
} else if ((LA338_0 == INTERR) && ((allowAll))) {
alt338 = 2;
}
switch (alt338) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2372:7: {...}? => rank_specifier
{
if (!((allowAll))) {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
throw new FailedPredicateException(input, "pointer_type", "allowAll");
}
pushFollow(FOLLOW_rank_specifier_in_pointer_type11419);
rank_specifier1377 = rank_specifier();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, rank_specifier1377.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2373:7: {...}? => INTERR
{
if (!((allowAll))) {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
throw new FailedPredicateException(input, "pointer_type", "allowAll");
}
INTERR1378 = (Token) match(input, INTERR, FOLLOW_INTERR_in_pointer_type11431);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
INTERR1378_tree =
adaptor.create(INTERR1378);
adaptor.addChild(root_0, INTERR1378_tree);
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2374:7: STAR
{
STAR1379 = (Token) match(input, STAR, FOLLOW_STAR_in_pointer_type11439);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
STAR1379_tree =
adaptor.create(STAR1379);
adaptor.addChild(root_0, STAR1379_tree);
}
if (state.backtracking == 0) {
allowAll = true;
}
}
break;
default:
break loop338;
}
} while (true);
STAR1380 = (Token) match(input, STAR, FOLLOW_STAR_in_pointer_type11450);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
STAR1380_tree =
adaptor.create(STAR1380);
adaptor.addChild(root_0, STAR1380_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "pointer_type"
public static class unmanaged_type_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "unmanaged_type"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2388:1: unmanaged_type : type ;
public final CSharpParser.unmanaged_type_return unmanaged_type() throws RecognitionException {
CSharpParser.unmanaged_type_return retval = new CSharpParser.unmanaged_type_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.type_return type1381 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2389:2: ( type )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2389:4: type
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_type_in_unmanaged_type11473);
type1381 = type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type1381.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "unmanaged_type"
public static class primary_no_array_creation_expression_unsafe_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "primary_no_array_creation_expression_unsafe"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2398:1: primary_no_array_creation_expression_unsafe : primary_expression ;
public final CSharpParser.primary_no_array_creation_expression_unsafe_return primary_no_array_creation_expression_unsafe() throws RecognitionException {
CSharpParser.primary_no_array_creation_expression_unsafe_return retval = new CSharpParser.primary_no_array_creation_expression_unsafe_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.primary_expression_return primary_expression1382 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2399:2: ( primary_expression )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2399:4: primary_expression
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_primary_expression_in_primary_no_array_creation_expression_unsafe11486);
primary_expression1382 = primary_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, primary_expression1382.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "primary_no_array_creation_expression_unsafe"
public static class unary_expression_unsafe_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "unary_expression_unsafe"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2402:1: unary_expression_unsafe : ( pointer_indirection_expression | addressof_expression );
public final CSharpParser.unary_expression_unsafe_return unary_expression_unsafe() throws RecognitionException {
CSharpParser.unary_expression_unsafe_return retval = new CSharpParser.unary_expression_unsafe_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.pointer_indirection_expression_return pointer_indirection_expression1383 = null;
CSharpParser.addressof_expression_return addressof_expression1384 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2403:2: ( pointer_indirection_expression | addressof_expression )
int alt339 = 2;
int LA339_0 = input.LA(1);
if ((LA339_0 == STAR)) {
alt339 = 1;
} else if ((LA339_0 == AMP)) {
alt339 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 339, 0, input);
throw nvae;
}
switch (alt339) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2403:4: pointer_indirection_expression
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_pointer_indirection_expression_in_unary_expression_unsafe11499);
pointer_indirection_expression1383 = pointer_indirection_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, pointer_indirection_expression1383.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2404:4: addressof_expression
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_addressof_expression_in_unary_expression_unsafe11504);
addressof_expression1384 = addressof_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, addressof_expression1384.getTree());
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "unary_expression_unsafe"
public static class pointer_indirection_expression_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "pointer_indirection_expression"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2406:1: pointer_indirection_expression : STAR unary_expression ;
public final CSharpParser.pointer_indirection_expression_return pointer_indirection_expression() throws RecognitionException {
CSharpParser.pointer_indirection_expression_return retval = new CSharpParser.pointer_indirection_expression_return();
retval.start = input.LT(1);
Object root_0 = null;
Token STAR1385 = null;
CSharpParser.unary_expression_return unary_expression1386 = null;
Object STAR1385_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2407:2: ( STAR unary_expression )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2407:4: STAR unary_expression
{
root_0 = adaptor.nil();
STAR1385 = (Token) match(input, STAR, FOLLOW_STAR_in_pointer_indirection_expression11515);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
STAR1385_tree =
adaptor.create(STAR1385);
adaptor.addChild(root_0, STAR1385_tree);
}
pushFollow(FOLLOW_unary_expression_in_pointer_indirection_expression11517);
unary_expression1386 = unary_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, unary_expression1386.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "pointer_indirection_expression"
public static class addressof_expression_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "addressof_expression"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2420:1: addressof_expression : AMP unary_expression ;
public final CSharpParser.addressof_expression_return addressof_expression() throws RecognitionException {
CSharpParser.addressof_expression_return retval = new CSharpParser.addressof_expression_return();
retval.start = input.LT(1);
Object root_0 = null;
Token AMP1387 = null;
CSharpParser.unary_expression_return unary_expression1388 = null;
Object AMP1387_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2421:2: ( AMP unary_expression )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2421:4: AMP unary_expression
{
root_0 = adaptor.nil();
AMP1387 = (Token) match(input, AMP, FOLLOW_AMP_in_addressof_expression11534);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
AMP1387_tree =
adaptor.create(AMP1387);
adaptor.addChild(root_0, AMP1387_tree);
}
pushFollow(FOLLOW_unary_expression_in_addressof_expression11536);
unary_expression1388 = unary_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, unary_expression1388.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "addressof_expression"
public static class sizeof_expression_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "sizeof_expression"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2423:1: sizeof_expression : SIZEOF OPEN_PARENS unmanaged_type CLOSE_PARENS ;
public final CSharpParser.sizeof_expression_return sizeof_expression() throws RecognitionException {
CSharpParser.sizeof_expression_return retval = new CSharpParser.sizeof_expression_return();
retval.start = input.LT(1);
Object root_0 = null;
Token SIZEOF1389 = null;
Token OPEN_PARENS1390 = null;
Token CLOSE_PARENS1392 = null;
CSharpParser.unmanaged_type_return unmanaged_type1391 = null;
Object SIZEOF1389_tree = null;
Object OPEN_PARENS1390_tree = null;
Object CLOSE_PARENS1392_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2424:2: ( SIZEOF OPEN_PARENS unmanaged_type CLOSE_PARENS )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2424:4: SIZEOF OPEN_PARENS unmanaged_type CLOSE_PARENS
{
root_0 = adaptor.nil();
SIZEOF1389 = (Token) match(input, SIZEOF, FOLLOW_SIZEOF_in_sizeof_expression11547);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
SIZEOF1389_tree =
adaptor.create(SIZEOF1389);
adaptor.addChild(root_0, SIZEOF1389_tree);
}
OPEN_PARENS1390 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_sizeof_expression11549);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_PARENS1390_tree =
adaptor.create(OPEN_PARENS1390);
adaptor.addChild(root_0, OPEN_PARENS1390_tree);
}
pushFollow(FOLLOW_unmanaged_type_in_sizeof_expression11551);
unmanaged_type1391 = unmanaged_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, unmanaged_type1391.getTree());
}
CLOSE_PARENS1392 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_sizeof_expression11553);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_PARENS1392_tree =
adaptor.create(CLOSE_PARENS1392);
adaptor.addChild(root_0, CLOSE_PARENS1392_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "sizeof_expression"
public static class fixed_statement_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "fixed_statement"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2426:1: fixed_statement : FIXED OPEN_PARENS pointer_type fixed_pointer_declarators CLOSE_PARENS embedded_statement ;
public final CSharpParser.fixed_statement_return fixed_statement() throws RecognitionException {
CSharpParser.fixed_statement_return retval = new CSharpParser.fixed_statement_return();
retval.start = input.LT(1);
Object root_0 = null;
Token FIXED1393 = null;
Token OPEN_PARENS1394 = null;
Token CLOSE_PARENS1397 = null;
CSharpParser.pointer_type_return pointer_type1395 = null;
CSharpParser.fixed_pointer_declarators_return fixed_pointer_declarators1396 = null;
CSharpParser.embedded_statement_return embedded_statement1398 = null;
Object FIXED1393_tree = null;
Object OPEN_PARENS1394_tree = null;
Object CLOSE_PARENS1397_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2427:2: ( FIXED OPEN_PARENS pointer_type fixed_pointer_declarators CLOSE_PARENS embedded_statement )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2427:4: FIXED OPEN_PARENS pointer_type fixed_pointer_declarators CLOSE_PARENS embedded_statement
{
root_0 = adaptor.nil();
FIXED1393 = (Token) match(input, FIXED, FOLLOW_FIXED_in_fixed_statement11564);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
FIXED1393_tree =
adaptor.create(FIXED1393);
adaptor.addChild(root_0, FIXED1393_tree);
}
OPEN_PARENS1394 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_fixed_statement11566);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_PARENS1394_tree =
adaptor.create(OPEN_PARENS1394);
adaptor.addChild(root_0, OPEN_PARENS1394_tree);
}
pushFollow(FOLLOW_pointer_type_in_fixed_statement11568);
pointer_type1395 = pointer_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, pointer_type1395.getTree());
}
pushFollow(FOLLOW_fixed_pointer_declarators_in_fixed_statement11570);
fixed_pointer_declarators1396 = fixed_pointer_declarators();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, fixed_pointer_declarators1396.getTree());
}
CLOSE_PARENS1397 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_fixed_statement11572);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_PARENS1397_tree =
adaptor.create(CLOSE_PARENS1397);
adaptor.addChild(root_0, CLOSE_PARENS1397_tree);
}
pushFollow(FOLLOW_embedded_statement_in_fixed_statement11574);
embedded_statement1398 = embedded_statement();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, embedded_statement1398.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "fixed_statement"
public static class fixed_pointer_declarators_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "fixed_pointer_declarators"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2429:1: fixed_pointer_declarators : fixed_pointer_declarator ( COMMA fixed_pointer_declarator )* ;
public final CSharpParser.fixed_pointer_declarators_return fixed_pointer_declarators() throws RecognitionException {
CSharpParser.fixed_pointer_declarators_return retval = new CSharpParser.fixed_pointer_declarators_return();
retval.start = input.LT(1);
Object root_0 = null;
Token COMMA1400 = null;
CSharpParser.fixed_pointer_declarator_return fixed_pointer_declarator1399 = null;
CSharpParser.fixed_pointer_declarator_return fixed_pointer_declarator1401 = null;
Object COMMA1400_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2430:2: ( fixed_pointer_declarator ( COMMA fixed_pointer_declarator )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2430:4: fixed_pointer_declarator ( COMMA fixed_pointer_declarator )*
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_fixed_pointer_declarator_in_fixed_pointer_declarators11585);
fixed_pointer_declarator1399 = fixed_pointer_declarator();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, fixed_pointer_declarator1399.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2430:29: ( COMMA fixed_pointer_declarator )*
loop340:
do {
int alt340 = 2;
int LA340_0 = input.LA(1);
if ((LA340_0 == COMMA)) {
alt340 = 1;
}
switch (alt340) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2430:31: COMMA fixed_pointer_declarator
{
COMMA1400 = (Token) match(input, COMMA, FOLLOW_COMMA_in_fixed_pointer_declarators11589);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
COMMA1400_tree =
adaptor.create(COMMA1400);
adaptor.addChild(root_0, COMMA1400_tree);
}
pushFollow(FOLLOW_fixed_pointer_declarator_in_fixed_pointer_declarators11592);
fixed_pointer_declarator1401 = fixed_pointer_declarator();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, fixed_pointer_declarator1401.getTree());
}
}
break;
default:
break loop340;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "fixed_pointer_declarators"
public static class fixed_pointer_declarator_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "fixed_pointer_declarator"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2432:1: fixed_pointer_declarator : IDENTIFIER ASSIGNMENT fixed_pointer_initializer ;
public final CSharpParser.fixed_pointer_declarator_return fixed_pointer_declarator() throws RecognitionException {
CSharpParser.fixed_pointer_declarator_return retval = new CSharpParser.fixed_pointer_declarator_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER1402 = null;
Token ASSIGNMENT1403 = null;
CSharpParser.fixed_pointer_initializer_return fixed_pointer_initializer1404 = null;
Object IDENTIFIER1402_tree = null;
Object ASSIGNMENT1403_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2433:2: ( IDENTIFIER ASSIGNMENT fixed_pointer_initializer )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2433:4: IDENTIFIER ASSIGNMENT fixed_pointer_initializer
{
root_0 = adaptor.nil();
IDENTIFIER1402 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_fixed_pointer_declarator11606);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1402_tree =
adaptor.create(IDENTIFIER1402);
adaptor.addChild(root_0, IDENTIFIER1402_tree);
}
ASSIGNMENT1403 = (Token) match(input, ASSIGNMENT, FOLLOW_ASSIGNMENT_in_fixed_pointer_declarator11608);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
ASSIGNMENT1403_tree =
adaptor.create(ASSIGNMENT1403);
adaptor.addChild(root_0, ASSIGNMENT1403_tree);
}
pushFollow(FOLLOW_fixed_pointer_initializer_in_fixed_pointer_declarator11610);
fixed_pointer_initializer1404 = fixed_pointer_initializer();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, fixed_pointer_initializer1404.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "fixed_pointer_declarator"
public static class fixed_pointer_initializer_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "fixed_pointer_initializer"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2441:1: fixed_pointer_initializer : ( ( AMP )=> AMP variable_reference | expression );
public final CSharpParser.fixed_pointer_initializer_return fixed_pointer_initializer() throws RecognitionException {
CSharpParser.fixed_pointer_initializer_return retval = new CSharpParser.fixed_pointer_initializer_return();
retval.start = input.LT(1);
Object root_0 = null;
Token AMP1405 = null;
CSharpParser.variable_reference_return variable_reference1406 = null;
CSharpParser.expression_return expression1407 = null;
Object AMP1405_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2442:3: ( ( AMP )=> AMP variable_reference | expression )
int alt341 = 2;
int LA341_0 = input.LA(1);
if ((LA341_0 == AMP)) {
int LA341_1 = input.LA(2);
if ((synpred27_CSharpParser())) {
alt341 = 1;
} else if ((true)) {
alt341 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 341, 1, input);
throw nvae;
}
} else if (((LA341_0 >= BANG && LA341_0 <= BASE) || LA341_0 == BOOL || LA341_0 == BYTE || (LA341_0 >= CHAR && LA341_0 <= CHECKED) || LA341_0 == DECIMAL || (LA341_0 >= DEFAULT && LA341_0 <= DELEGATE) || LA341_0 == DOUBLE || LA341_0 == FALSE || LA341_0 == FLOAT || LA341_0 == IDENTIFIER || (LA341_0 >= INT && LA341_0 <= INTEGER_LITERAL) || LA341_0 == LONG || LA341_0 == MINUS || LA341_0 == NEW || LA341_0 == NULL || LA341_0 == OBJECT || LA341_0 == OPEN_PARENS || LA341_0 == OP_DEC || LA341_0 == OP_INC || LA341_0 == PLUS || LA341_0 == REAL_LITERAL || LA341_0 == SBYTE || LA341_0 == SHORT || LA341_0 == SIZEOF || LA341_0 == STAR || (LA341_0 >= STRING && LA341_0 <= STRING_LITERAL) || LA341_0 == THIS || (LA341_0 >= TILDE && LA341_0 <= TRUE) || (LA341_0 >= TYPEOF && LA341_0 <= UNCHECKED) || LA341_0 == USHORT)) {
alt341 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 341, 0, input);
throw nvae;
}
switch (alt341) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2442:5: ( AMP )=> AMP variable_reference
{
root_0 = adaptor.nil();
AMP1405 = (Token) match(input, AMP, FOLLOW_AMP_in_fixed_pointer_initializer11630);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
AMP1405_tree =
adaptor.create(AMP1405);
adaptor.addChild(root_0, AMP1405_tree);
}
pushFollow(FOLLOW_variable_reference_in_fixed_pointer_initializer11632);
variable_reference1406 = variable_reference();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, variable_reference1406.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2443:5: expression
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_expression_in_fixed_pointer_initializer11638);
expression1407 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression1407.getTree());
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "fixed_pointer_initializer"
public static class struct_member_declaration_unsafe_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "struct_member_declaration_unsafe"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2445:1: struct_member_declaration_unsafe : fixed_size_buffer_declaration ;
public final CSharpParser.struct_member_declaration_unsafe_return struct_member_declaration_unsafe() throws RecognitionException {
CSharpParser.struct_member_declaration_unsafe_return retval = new CSharpParser.struct_member_declaration_unsafe_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.fixed_size_buffer_declaration_return fixed_size_buffer_declaration1408 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2446:2: ( fixed_size_buffer_declaration )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2446:4: fixed_size_buffer_declaration
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_fixed_size_buffer_declaration_in_struct_member_declaration_unsafe11650);
fixed_size_buffer_declaration1408 = fixed_size_buffer_declaration();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, fixed_size_buffer_declaration1408.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "struct_member_declaration_unsafe"
public static class fixed_size_buffer_declaration_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "fixed_size_buffer_declaration"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2448:1: fixed_size_buffer_declaration : ( attributes )? ( fixed_size_buffer_modifiers )? FIXED buffer_element_type fixed_size_buffer_declarators SEMICOLON ;
public final CSharpParser.fixed_size_buffer_declaration_return fixed_size_buffer_declaration() throws RecognitionException {
CSharpParser.fixed_size_buffer_declaration_return retval = new CSharpParser.fixed_size_buffer_declaration_return();
retval.start = input.LT(1);
Object root_0 = null;
Token FIXED1411 = null;
Token SEMICOLON1414 = null;
CSharpParser.attributes_return attributes1409 = null;
CSharpParser.fixed_size_buffer_modifiers_return fixed_size_buffer_modifiers1410 = null;
CSharpParser.buffer_element_type_return buffer_element_type1412 = null;
CSharpParser.fixed_size_buffer_declarators_return fixed_size_buffer_declarators1413 = null;
Object FIXED1411_tree = null;
Object SEMICOLON1414_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2449:2: ( ( attributes )? ( fixed_size_buffer_modifiers )? FIXED buffer_element_type fixed_size_buffer_declarators SEMICOLON )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2449:4: ( attributes )? ( fixed_size_buffer_modifiers )? FIXED buffer_element_type fixed_size_buffer_declarators SEMICOLON
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2449:4: ( attributes )?
int alt342 = 2;
int LA342_0 = input.LA(1);
if ((LA342_0 == OPEN_BRACKET)) {
alt342 = 1;
}
switch (alt342) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2449:4: attributes
{
pushFollow(FOLLOW_attributes_in_fixed_size_buffer_declaration11661);
attributes1409 = attributes();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, attributes1409.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2449:16: ( fixed_size_buffer_modifiers )?
int alt343 = 2;
int LA343_0 = input.LA(1);
if ((LA343_0 == INTERNAL || LA343_0 == NEW || (LA343_0 >= PRIVATE && LA343_0 <= PUBLIC) || LA343_0 == UNSAFE)) {
alt343 = 1;
}
switch (alt343) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2449:16: fixed_size_buffer_modifiers
{
pushFollow(FOLLOW_fixed_size_buffer_modifiers_in_fixed_size_buffer_declaration11664);
fixed_size_buffer_modifiers1410 = fixed_size_buffer_modifiers();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, fixed_size_buffer_modifiers1410.getTree());
}
}
break;
}
FIXED1411 = (Token) match(input, FIXED, FOLLOW_FIXED_in_fixed_size_buffer_declaration11667);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
FIXED1411_tree =
adaptor.create(FIXED1411);
adaptor.addChild(root_0, FIXED1411_tree);
}
pushFollow(FOLLOW_buffer_element_type_in_fixed_size_buffer_declaration11669);
buffer_element_type1412 = buffer_element_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, buffer_element_type1412.getTree());
}
pushFollow(FOLLOW_fixed_size_buffer_declarators_in_fixed_size_buffer_declaration11671);
fixed_size_buffer_declarators1413 = fixed_size_buffer_declarators();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, fixed_size_buffer_declarators1413.getTree());
}
SEMICOLON1414 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_fixed_size_buffer_declaration11673);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
SEMICOLON1414_tree =
adaptor.create(SEMICOLON1414);
adaptor.addChild(root_0, SEMICOLON1414_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "fixed_size_buffer_declaration"
public static class fixed_size_buffer_modifiers_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "fixed_size_buffer_modifiers"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2451:1: fixed_size_buffer_modifiers : ( fixed_size_buffer_modifier )+ ;
public final CSharpParser.fixed_size_buffer_modifiers_return fixed_size_buffer_modifiers() throws RecognitionException {
CSharpParser.fixed_size_buffer_modifiers_return retval = new CSharpParser.fixed_size_buffer_modifiers_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.fixed_size_buffer_modifier_return fixed_size_buffer_modifier1415 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2452:2: ( ( fixed_size_buffer_modifier )+ )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2452:4: ( fixed_size_buffer_modifier )+
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2452:4: ( fixed_size_buffer_modifier )+
int cnt344 = 0;
loop344:
do {
int alt344 = 2;
int LA344_0 = input.LA(1);
if ((LA344_0 == INTERNAL || LA344_0 == NEW || (LA344_0 >= PRIVATE && LA344_0 <= PUBLIC) || LA344_0 == UNSAFE)) {
alt344 = 1;
}
switch (alt344) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2452:4: fixed_size_buffer_modifier
{
pushFollow(FOLLOW_fixed_size_buffer_modifier_in_fixed_size_buffer_modifiers11684);
fixed_size_buffer_modifier1415 = fixed_size_buffer_modifier();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, fixed_size_buffer_modifier1415.getTree());
}
}
break;
default:
if (cnt344 >= 1) {
break loop344;
}
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
EarlyExitException eee =
new EarlyExitException(344, input);
throw eee;
}
cnt344++;
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "fixed_size_buffer_modifiers"
public static class fixed_size_buffer_modifier_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "fixed_size_buffer_modifier"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2454:1: fixed_size_buffer_modifier : ( NEW | PUBLIC | PROTECTED | INTERNAL | PRIVATE | UNSAFE );
public final CSharpParser.fixed_size_buffer_modifier_return fixed_size_buffer_modifier() throws RecognitionException {
CSharpParser.fixed_size_buffer_modifier_return retval = new CSharpParser.fixed_size_buffer_modifier_return();
retval.start = input.LT(1);
Object root_0 = null;
Token set1416 = null;
Object set1416_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2455:2: ( NEW | PUBLIC | PROTECTED | INTERNAL | PRIVATE | UNSAFE )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:
{
root_0 = adaptor.nil();
set1416 = input.LT(1);
if (input.LA(1) == INTERNAL || input.LA(1) == NEW || (input.LA(1) >= PRIVATE && input.LA(1) <= PUBLIC) || input.LA(1) == UNSAFE) {
input.consume();
if (state.backtracking == 0) {
adaptor.addChild(root_0,
adaptor.create(set1416));
}
state.errorRecovery = false;
state.failed = false;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
MismatchedSetException mse = new MismatchedSetException(null, input);
throw mse;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "fixed_size_buffer_modifier"
public static class buffer_element_type_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "buffer_element_type"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2462:1: buffer_element_type : type ;
public final CSharpParser.buffer_element_type_return buffer_element_type() throws RecognitionException {
CSharpParser.buffer_element_type_return retval = new CSharpParser.buffer_element_type_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.type_return type1417 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2463:2: ( type )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2463:4: type
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_type_in_buffer_element_type11732);
type1417 = type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type1417.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "buffer_element_type"
public static class fixed_size_buffer_declarators_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "fixed_size_buffer_declarators"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2465:1: fixed_size_buffer_declarators : ( fixed_size_buffer_declarator )+ ;
public final CSharpParser.fixed_size_buffer_declarators_return fixed_size_buffer_declarators() throws RecognitionException {
CSharpParser.fixed_size_buffer_declarators_return retval = new CSharpParser.fixed_size_buffer_declarators_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.fixed_size_buffer_declarator_return fixed_size_buffer_declarator1418 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2466:2: ( ( fixed_size_buffer_declarator )+ )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2466:4: ( fixed_size_buffer_declarator )+
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2466:4: ( fixed_size_buffer_declarator )+
int cnt345 = 0;
loop345:
do {
int alt345 = 2;
int LA345_0 = input.LA(1);
if ((LA345_0 == IDENTIFIER)) {
alt345 = 1;
}
switch (alt345) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2466:4: fixed_size_buffer_declarator
{
pushFollow(FOLLOW_fixed_size_buffer_declarator_in_fixed_size_buffer_declarators11743);
fixed_size_buffer_declarator1418 = fixed_size_buffer_declarator();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, fixed_size_buffer_declarator1418.getTree());
}
}
break;
default:
if (cnt345 >= 1) {
break loop345;
}
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
EarlyExitException eee =
new EarlyExitException(345, input);
throw eee;
}
cnt345++;
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "fixed_size_buffer_declarators"
public static class fixed_size_buffer_declarator_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "fixed_size_buffer_declarator"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2468:1: fixed_size_buffer_declarator : IDENTIFIER OPEN_BRACKET constant_expression CLOSE_BRACKET ;
public final CSharpParser.fixed_size_buffer_declarator_return fixed_size_buffer_declarator() throws RecognitionException {
CSharpParser.fixed_size_buffer_declarator_return retval = new CSharpParser.fixed_size_buffer_declarator_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER1419 = null;
Token OPEN_BRACKET1420 = null;
Token CLOSE_BRACKET1422 = null;
CSharpParser.constant_expression_return constant_expression1421 = null;
Object IDENTIFIER1419_tree = null;
Object OPEN_BRACKET1420_tree = null;
Object CLOSE_BRACKET1422_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2469:2: ( IDENTIFIER OPEN_BRACKET constant_expression CLOSE_BRACKET )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2469:4: IDENTIFIER OPEN_BRACKET constant_expression CLOSE_BRACKET
{
root_0 = adaptor.nil();
IDENTIFIER1419 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_fixed_size_buffer_declarator11755);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1419_tree =
adaptor.create(IDENTIFIER1419);
adaptor.addChild(root_0, IDENTIFIER1419_tree);
}
OPEN_BRACKET1420 = (Token) match(input, OPEN_BRACKET, FOLLOW_OPEN_BRACKET_in_fixed_size_buffer_declarator11757);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_BRACKET1420_tree =
adaptor.create(OPEN_BRACKET1420);
adaptor.addChild(root_0, OPEN_BRACKET1420_tree);
}
pushFollow(FOLLOW_constant_expression_in_fixed_size_buffer_declarator11759);
constant_expression1421 = constant_expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, constant_expression1421.getTree());
}
CLOSE_BRACKET1422 = (Token) match(input, CLOSE_BRACKET, FOLLOW_CLOSE_BRACKET_in_fixed_size_buffer_declarator11761);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_BRACKET1422_tree =
adaptor.create(CLOSE_BRACKET1422);
adaptor.addChild(root_0, CLOSE_BRACKET1422_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "fixed_size_buffer_declarator"
public static class local_variable_initializer_unsafe_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "local_variable_initializer_unsafe"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2472:1: local_variable_initializer_unsafe : stackalloc_initializer ;
public final CSharpParser.local_variable_initializer_unsafe_return local_variable_initializer_unsafe() throws RecognitionException {
CSharpParser.local_variable_initializer_unsafe_return retval = new CSharpParser.local_variable_initializer_unsafe_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.stackalloc_initializer_return stackalloc_initializer1423 = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2473:2: ( stackalloc_initializer )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2473:4: stackalloc_initializer
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_stackalloc_initializer_in_local_variable_initializer_unsafe11774);
stackalloc_initializer1423 = stackalloc_initializer();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, stackalloc_initializer1423.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "local_variable_initializer_unsafe"
public static class stackalloc_initializer_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "stackalloc_initializer"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2475:1: stackalloc_initializer : STACKALLOC unmanaged_type OPEN_BRACKET expression CLOSE_BRACKET ;
public final CSharpParser.stackalloc_initializer_return stackalloc_initializer() throws RecognitionException {
CSharpParser.stackalloc_initializer_return retval = new CSharpParser.stackalloc_initializer_return();
retval.start = input.LT(1);
Object root_0 = null;
Token STACKALLOC1424 = null;
Token OPEN_BRACKET1426 = null;
Token CLOSE_BRACKET1428 = null;
CSharpParser.unmanaged_type_return unmanaged_type1425 = null;
CSharpParser.expression_return expression1427 = null;
Object STACKALLOC1424_tree = null;
Object OPEN_BRACKET1426_tree = null;
Object CLOSE_BRACKET1428_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2476:2: ( STACKALLOC unmanaged_type OPEN_BRACKET expression CLOSE_BRACKET )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2476:4: STACKALLOC unmanaged_type OPEN_BRACKET expression CLOSE_BRACKET
{
root_0 = adaptor.nil();
STACKALLOC1424 = (Token) match(input, STACKALLOC, FOLLOW_STACKALLOC_in_stackalloc_initializer11785);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
STACKALLOC1424_tree =
adaptor.create(STACKALLOC1424);
adaptor.addChild(root_0, STACKALLOC1424_tree);
}
pushFollow(FOLLOW_unmanaged_type_in_stackalloc_initializer11787);
unmanaged_type1425 = unmanaged_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, unmanaged_type1425.getTree());
}
OPEN_BRACKET1426 = (Token) match(input, OPEN_BRACKET, FOLLOW_OPEN_BRACKET_in_stackalloc_initializer11789);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_BRACKET1426_tree =
adaptor.create(OPEN_BRACKET1426);
adaptor.addChild(root_0, OPEN_BRACKET1426_tree);
}
pushFollow(FOLLOW_expression_in_stackalloc_initializer11791);
expression1427 = expression();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, expression1427.getTree());
}
CLOSE_BRACKET1428 = (Token) match(input, CLOSE_BRACKET, FOLLOW_CLOSE_BRACKET_in_stackalloc_initializer11793);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_BRACKET1428_tree =
adaptor.create(CLOSE_BRACKET1428);
adaptor.addChild(root_0, CLOSE_BRACKET1428_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "stackalloc_initializer"
public static class from_contextual_keyword_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "from_contextual_keyword"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2486:1: from_contextual_keyword :{...}? IDENTIFIER ;
public final CSharpParser.from_contextual_keyword_return from_contextual_keyword() throws RecognitionException {
CSharpParser.from_contextual_keyword_return retval = new CSharpParser.from_contextual_keyword_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER1429 = null;
Object IDENTIFIER1429_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2487:3: ({...}? IDENTIFIER )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2487:5: {...}? IDENTIFIER
{
root_0 = adaptor.nil();
if (!((input.LT(1).getText().equals("from")))) {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
throw new FailedPredicateException(input, "from_contextual_keyword", "input.LT(1).getText().equals(\"from\")");
}
IDENTIFIER1429 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_from_contextual_keyword11815);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1429_tree =
adaptor.create(IDENTIFIER1429);
adaptor.addChild(root_0, IDENTIFIER1429_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "from_contextual_keyword"
public static class let_contextual_keyword_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "let_contextual_keyword"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2489:1: let_contextual_keyword :{...}? IDENTIFIER ;
public final CSharpParser.let_contextual_keyword_return let_contextual_keyword() throws RecognitionException {
CSharpParser.let_contextual_keyword_return retval = new CSharpParser.let_contextual_keyword_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER1430 = null;
Object IDENTIFIER1430_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2490:3: ({...}? IDENTIFIER )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2490:5: {...}? IDENTIFIER
{
root_0 = adaptor.nil();
if (!((input.LT(1).getText().equals("let")))) {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
throw new FailedPredicateException(input, "let_contextual_keyword", "input.LT(1).getText().equals(\"let\")");
}
IDENTIFIER1430 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_let_contextual_keyword11829);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1430_tree =
adaptor.create(IDENTIFIER1430);
adaptor.addChild(root_0, IDENTIFIER1430_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "let_contextual_keyword"
public static class where_contextual_keyword_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "where_contextual_keyword"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2492:1: where_contextual_keyword :{...}? IDENTIFIER ;
public final CSharpParser.where_contextual_keyword_return where_contextual_keyword() throws RecognitionException {
CSharpParser.where_contextual_keyword_return retval = new CSharpParser.where_contextual_keyword_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER1431 = null;
Object IDENTIFIER1431_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2493:3: ({...}? IDENTIFIER )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2493:5: {...}? IDENTIFIER
{
root_0 = adaptor.nil();
if (!((input.LT(1).getText().equals("where")))) {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
throw new FailedPredicateException(input, "where_contextual_keyword", "input.LT(1).getText().equals(\"where\")");
}
IDENTIFIER1431 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_where_contextual_keyword11843);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1431_tree =
adaptor.create(IDENTIFIER1431);
adaptor.addChild(root_0, IDENTIFIER1431_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "where_contextual_keyword"
public static class join_contextual_keyword_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "join_contextual_keyword"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2495:1: join_contextual_keyword :{...}? IDENTIFIER ;
public final CSharpParser.join_contextual_keyword_return join_contextual_keyword() throws RecognitionException {
CSharpParser.join_contextual_keyword_return retval = new CSharpParser.join_contextual_keyword_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER1432 = null;
Object IDENTIFIER1432_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2496:3: ({...}? IDENTIFIER )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2496:5: {...}? IDENTIFIER
{
root_0 = adaptor.nil();
if (!((input.LT(1).getText().equals("join")))) {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
throw new FailedPredicateException(input, "join_contextual_keyword", "input.LT(1).getText().equals(\"join\")");
}
IDENTIFIER1432 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_join_contextual_keyword11857);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1432_tree =
adaptor.create(IDENTIFIER1432);
adaptor.addChild(root_0, IDENTIFIER1432_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "join_contextual_keyword"
public static class on_contextual_keyword_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "on_contextual_keyword"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2498:1: on_contextual_keyword :{...}? IDENTIFIER ;
public final CSharpParser.on_contextual_keyword_return on_contextual_keyword() throws RecognitionException {
CSharpParser.on_contextual_keyword_return retval = new CSharpParser.on_contextual_keyword_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER1433 = null;
Object IDENTIFIER1433_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2499:3: ({...}? IDENTIFIER )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2499:5: {...}? IDENTIFIER
{
root_0 = adaptor.nil();
if (!((input.LT(1).getText().equals("on")))) {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
throw new FailedPredicateException(input, "on_contextual_keyword", "input.LT(1).getText().equals(\"on\")");
}
IDENTIFIER1433 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_on_contextual_keyword11871);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1433_tree =
adaptor.create(IDENTIFIER1433);
adaptor.addChild(root_0, IDENTIFIER1433_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "on_contextual_keyword"
public static class equals_contextual_keyword_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "equals_contextual_keyword"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2501:1: equals_contextual_keyword :{...}? IDENTIFIER ;
public final CSharpParser.equals_contextual_keyword_return equals_contextual_keyword() throws RecognitionException {
CSharpParser.equals_contextual_keyword_return retval = new CSharpParser.equals_contextual_keyword_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER1434 = null;
Object IDENTIFIER1434_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2502:3: ({...}? IDENTIFIER )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2502:5: {...}? IDENTIFIER
{
root_0 = adaptor.nil();
if (!((input.LT(1).getText().equals("equals")))) {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
throw new FailedPredicateException(input, "equals_contextual_keyword", "input.LT(1).getText().equals(\"equals\")");
}
IDENTIFIER1434 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_equals_contextual_keyword11885);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1434_tree =
adaptor.create(IDENTIFIER1434);
adaptor.addChild(root_0, IDENTIFIER1434_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "equals_contextual_keyword"
public static class into_contextual_keyword_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "into_contextual_keyword"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2504:1: into_contextual_keyword :{...}? IDENTIFIER ;
public final CSharpParser.into_contextual_keyword_return into_contextual_keyword() throws RecognitionException {
CSharpParser.into_contextual_keyword_return retval = new CSharpParser.into_contextual_keyword_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER1435 = null;
Object IDENTIFIER1435_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2505:3: ({...}? IDENTIFIER )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2505:5: {...}? IDENTIFIER
{
root_0 = adaptor.nil();
if (!((input.LT(1).getText().equals("into")))) {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
throw new FailedPredicateException(input, "into_contextual_keyword", "input.LT(1).getText().equals(\"into\")");
}
IDENTIFIER1435 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_into_contextual_keyword11899);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1435_tree =
adaptor.create(IDENTIFIER1435);
adaptor.addChild(root_0, IDENTIFIER1435_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "into_contextual_keyword"
public static class orderby_contextual_keyword_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "orderby_contextual_keyword"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2507:1: orderby_contextual_keyword :{...}? IDENTIFIER ;
public final CSharpParser.orderby_contextual_keyword_return orderby_contextual_keyword() throws RecognitionException {
CSharpParser.orderby_contextual_keyword_return retval = new CSharpParser.orderby_contextual_keyword_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER1436 = null;
Object IDENTIFIER1436_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2508:3: ({...}? IDENTIFIER )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2508:5: {...}? IDENTIFIER
{
root_0 = adaptor.nil();
if (!((input.LT(1).getText().equals("orderby")))) {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
throw new FailedPredicateException(input, "orderby_contextual_keyword", "input.LT(1).getText().equals(\"orderby\")");
}
IDENTIFIER1436 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_orderby_contextual_keyword11913);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1436_tree =
adaptor.create(IDENTIFIER1436);
adaptor.addChild(root_0, IDENTIFIER1436_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "orderby_contextual_keyword"
public static class ascending_contextual_keyword_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "ascending_contextual_keyword"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2510:1: ascending_contextual_keyword :{...}? IDENTIFIER ;
public final CSharpParser.ascending_contextual_keyword_return ascending_contextual_keyword() throws RecognitionException {
CSharpParser.ascending_contextual_keyword_return retval = new CSharpParser.ascending_contextual_keyword_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER1437 = null;
Object IDENTIFIER1437_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2511:3: ({...}? IDENTIFIER )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2511:5: {...}? IDENTIFIER
{
root_0 = adaptor.nil();
if (!((input.LT(1).getText().equals("ascending")))) {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
throw new FailedPredicateException(input, "ascending_contextual_keyword", "input.LT(1).getText().equals(\"ascending\")");
}
IDENTIFIER1437 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_ascending_contextual_keyword11927);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1437_tree =
adaptor.create(IDENTIFIER1437);
adaptor.addChild(root_0, IDENTIFIER1437_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "ascending_contextual_keyword"
public static class descending_contextual_keyword_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "descending_contextual_keyword"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2513:1: descending_contextual_keyword :{...}? IDENTIFIER ;
public final CSharpParser.descending_contextual_keyword_return descending_contextual_keyword() throws RecognitionException {
CSharpParser.descending_contextual_keyword_return retval = new CSharpParser.descending_contextual_keyword_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER1438 = null;
Object IDENTIFIER1438_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2514:3: ({...}? IDENTIFIER )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2514:5: {...}? IDENTIFIER
{
root_0 = adaptor.nil();
if (!((input.LT(1).getText().equals("descending")))) {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
throw new FailedPredicateException(input, "descending_contextual_keyword", "input.LT(1).getText().equals(\"descending\")");
}
IDENTIFIER1438 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_descending_contextual_keyword11941);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1438_tree =
adaptor.create(IDENTIFIER1438);
adaptor.addChild(root_0, IDENTIFIER1438_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "descending_contextual_keyword"
public static class select_contextual_keyword_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "select_contextual_keyword"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2516:1: select_contextual_keyword :{...}? IDENTIFIER ;
public final CSharpParser.select_contextual_keyword_return select_contextual_keyword() throws RecognitionException {
CSharpParser.select_contextual_keyword_return retval = new CSharpParser.select_contextual_keyword_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER1439 = null;
Object IDENTIFIER1439_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2517:3: ({...}? IDENTIFIER )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2517:5: {...}? IDENTIFIER
{
root_0 = adaptor.nil();
if (!((input.LT(1).getText().equals("select")))) {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
throw new FailedPredicateException(input, "select_contextual_keyword", "input.LT(1).getText().equals(\"select\")");
}
IDENTIFIER1439 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_select_contextual_keyword11955);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1439_tree =
adaptor.create(IDENTIFIER1439);
adaptor.addChild(root_0, IDENTIFIER1439_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "select_contextual_keyword"
public static class group_contextual_keyword_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "group_contextual_keyword"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2519:1: group_contextual_keyword :{...}? IDENTIFIER ;
public final CSharpParser.group_contextual_keyword_return group_contextual_keyword() throws RecognitionException {
CSharpParser.group_contextual_keyword_return retval = new CSharpParser.group_contextual_keyword_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER1440 = null;
Object IDENTIFIER1440_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2520:3: ({...}? IDENTIFIER )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2520:5: {...}? IDENTIFIER
{
root_0 = adaptor.nil();
if (!((input.LT(1).getText().equals("group")))) {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
throw new FailedPredicateException(input, "group_contextual_keyword", "input.LT(1).getText().equals(\"group\")");
}
IDENTIFIER1440 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_group_contextual_keyword11969);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1440_tree =
adaptor.create(IDENTIFIER1440);
adaptor.addChild(root_0, IDENTIFIER1440_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "group_contextual_keyword"
public static class by_contextual_keyword_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "by_contextual_keyword"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2522:1: by_contextual_keyword :{...}? IDENTIFIER ;
public final CSharpParser.by_contextual_keyword_return by_contextual_keyword() throws RecognitionException {
CSharpParser.by_contextual_keyword_return retval = new CSharpParser.by_contextual_keyword_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER1441 = null;
Object IDENTIFIER1441_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2523:3: ({...}? IDENTIFIER )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2523:5: {...}? IDENTIFIER
{
root_0 = adaptor.nil();
if (!((input.LT(1).getText().equals("by")))) {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
throw new FailedPredicateException(input, "by_contextual_keyword", "input.LT(1).getText().equals(\"by\")");
}
IDENTIFIER1441 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_by_contextual_keyword11983);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1441_tree =
adaptor.create(IDENTIFIER1441);
adaptor.addChild(root_0, IDENTIFIER1441_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "by_contextual_keyword"
public static class partial_contextual_keyword_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "partial_contextual_keyword"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2525:1: partial_contextual_keyword :{...}? IDENTIFIER ;
public final CSharpParser.partial_contextual_keyword_return partial_contextual_keyword() throws RecognitionException {
CSharpParser.partial_contextual_keyword_return retval = new CSharpParser.partial_contextual_keyword_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER1442 = null;
Object IDENTIFIER1442_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2526:3: ({...}? IDENTIFIER )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2526:5: {...}? IDENTIFIER
{
root_0 = adaptor.nil();
if (!((input.LT(1).getText().equals("partial")))) {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
throw new FailedPredicateException(input, "partial_contextual_keyword", "input.LT(1).getText().equals(\"partial\")");
}
IDENTIFIER1442 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_partial_contextual_keyword11997);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1442_tree =
adaptor.create(IDENTIFIER1442);
adaptor.addChild(root_0, IDENTIFIER1442_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "partial_contextual_keyword"
public static class alias_contextual_keyword_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "alias_contextual_keyword"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2528:1: alias_contextual_keyword :{...}? IDENTIFIER ;
public final CSharpParser.alias_contextual_keyword_return alias_contextual_keyword() throws RecognitionException {
CSharpParser.alias_contextual_keyword_return retval = new CSharpParser.alias_contextual_keyword_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER1443 = null;
Object IDENTIFIER1443_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2529:3: ({...}? IDENTIFIER )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2529:5: {...}? IDENTIFIER
{
root_0 = adaptor.nil();
if (!((input.LT(1).getText().equals("alias")))) {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
throw new FailedPredicateException(input, "alias_contextual_keyword", "input.LT(1).getText().equals(\"alias\")");
}
IDENTIFIER1443 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_alias_contextual_keyword12011);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1443_tree =
adaptor.create(IDENTIFIER1443);
adaptor.addChild(root_0, IDENTIFIER1443_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "alias_contextual_keyword"
public static class yield_contextual_keyword_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "yield_contextual_keyword"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2531:1: yield_contextual_keyword :{...}? IDENTIFIER ;
public final CSharpParser.yield_contextual_keyword_return yield_contextual_keyword() throws RecognitionException {
CSharpParser.yield_contextual_keyword_return retval = new CSharpParser.yield_contextual_keyword_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER1444 = null;
Object IDENTIFIER1444_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2532:3: ({...}? IDENTIFIER )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2532:5: {...}? IDENTIFIER
{
root_0 = adaptor.nil();
if (!((input.LT(1).getText().equals("yield")))) {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
throw new FailedPredicateException(input, "yield_contextual_keyword", "input.LT(1).getText().equals(\"yield\")");
}
IDENTIFIER1444 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_yield_contextual_keyword12025);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1444_tree =
adaptor.create(IDENTIFIER1444);
adaptor.addChild(root_0, IDENTIFIER1444_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "yield_contextual_keyword"
public static class get_contextual_keyword_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "get_contextual_keyword"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2534:1: get_contextual_keyword :{...}? IDENTIFIER ;
public final CSharpParser.get_contextual_keyword_return get_contextual_keyword() throws RecognitionException {
CSharpParser.get_contextual_keyword_return retval = new CSharpParser.get_contextual_keyword_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER1445 = null;
Object IDENTIFIER1445_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2535:3: ({...}? IDENTIFIER )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2535:5: {...}? IDENTIFIER
{
root_0 = adaptor.nil();
if (!((input.LT(1).getText().equals("get")))) {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
throw new FailedPredicateException(input, "get_contextual_keyword", "input.LT(1).getText().equals(\"get\")");
}
IDENTIFIER1445 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_get_contextual_keyword12039);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1445_tree =
adaptor.create(IDENTIFIER1445);
adaptor.addChild(root_0, IDENTIFIER1445_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "get_contextual_keyword"
public static class set_contextual_keyword_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "set_contextual_keyword"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2537:1: set_contextual_keyword :{...}? IDENTIFIER ;
public final CSharpParser.set_contextual_keyword_return set_contextual_keyword() throws RecognitionException {
CSharpParser.set_contextual_keyword_return retval = new CSharpParser.set_contextual_keyword_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER1446 = null;
Object IDENTIFIER1446_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2538:3: ({...}? IDENTIFIER )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2538:5: {...}? IDENTIFIER
{
root_0 = adaptor.nil();
if (!((input.LT(1).getText().equals("set")))) {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
throw new FailedPredicateException(input, "set_contextual_keyword", "input.LT(1).getText().equals(\"set\")");
}
IDENTIFIER1446 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_set_contextual_keyword12053);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1446_tree =
adaptor.create(IDENTIFIER1446);
adaptor.addChild(root_0, IDENTIFIER1446_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "set_contextual_keyword"
public static class add_contextual_keyword_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "add_contextual_keyword"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2540:1: add_contextual_keyword :{...}? IDENTIFIER ;
public final CSharpParser.add_contextual_keyword_return add_contextual_keyword() throws RecognitionException {
CSharpParser.add_contextual_keyword_return retval = new CSharpParser.add_contextual_keyword_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER1447 = null;
Object IDENTIFIER1447_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2541:3: ({...}? IDENTIFIER )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2541:5: {...}? IDENTIFIER
{
root_0 = adaptor.nil();
if (!((input.LT(1).getText().equals("add")))) {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
throw new FailedPredicateException(input, "add_contextual_keyword", "input.LT(1).getText().equals(\"add\")");
}
IDENTIFIER1447 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_add_contextual_keyword12067);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1447_tree =
adaptor.create(IDENTIFIER1447);
adaptor.addChild(root_0, IDENTIFIER1447_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "add_contextual_keyword"
public static class remove_contextual_keyword_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "remove_contextual_keyword"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2543:1: remove_contextual_keyword :{...}? IDENTIFIER ;
public final CSharpParser.remove_contextual_keyword_return remove_contextual_keyword() throws RecognitionException {
CSharpParser.remove_contextual_keyword_return retval = new CSharpParser.remove_contextual_keyword_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER1448 = null;
Object IDENTIFIER1448_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2544:3: ({...}? IDENTIFIER )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2544:5: {...}? IDENTIFIER
{
root_0 = adaptor.nil();
if (!((input.LT(1).getText().equals("remove")))) {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
throw new FailedPredicateException(input, "remove_contextual_keyword", "input.LT(1).getText().equals(\"remove\")");
}
IDENTIFIER1448 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_remove_contextual_keyword12081);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1448_tree =
adaptor.create(IDENTIFIER1448);
adaptor.addChild(root_0, IDENTIFIER1448_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "remove_contextual_keyword"
public static class dynamic_contextual_keyword_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "dynamic_contextual_keyword"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2546:1: dynamic_contextual_keyword :{...}? IDENTIFIER ;
public final CSharpParser.dynamic_contextual_keyword_return dynamic_contextual_keyword() throws RecognitionException {
CSharpParser.dynamic_contextual_keyword_return retval = new CSharpParser.dynamic_contextual_keyword_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER1449 = null;
Object IDENTIFIER1449_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2547:3: ({...}? IDENTIFIER )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2547:5: {...}? IDENTIFIER
{
root_0 = adaptor.nil();
if (!((input.LT(1).getText().equals("dynamic")))) {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
throw new FailedPredicateException(input, "dynamic_contextual_keyword", "input.LT(1).getText().equals(\"dynamic\")");
}
IDENTIFIER1449 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_dynamic_contextual_keyword12095);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1449_tree =
adaptor.create(IDENTIFIER1449);
adaptor.addChild(root_0, IDENTIFIER1449_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "dynamic_contextual_keyword"
public static class arglist_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "arglist"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2549:1: arglist :{...}? IDENTIFIER ;
public final CSharpParser.arglist_return arglist() throws RecognitionException {
CSharpParser.arglist_return retval = new CSharpParser.arglist_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER1450 = null;
Object IDENTIFIER1450_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2550:3: ({...}? IDENTIFIER )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2550:5: {...}? IDENTIFIER
{
root_0 = adaptor.nil();
if (!((input.LT(1).getText().equals("__arglist")))) {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
throw new FailedPredicateException(input, "arglist", "input.LT(1).getText().equals(\"__arglist\")");
}
IDENTIFIER1450 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_arglist12109);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1450_tree =
adaptor.create(IDENTIFIER1450);
adaptor.addChild(root_0, IDENTIFIER1450_tree);
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "arglist"
public static class right_arrow_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "right_arrow"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2552:1: right_arrow : first= ASSIGNMENT second= GT {...}?;
public final CSharpParser.right_arrow_return right_arrow() throws RecognitionException {
CSharpParser.right_arrow_return retval = new CSharpParser.right_arrow_return();
retval.start = input.LT(1);
Object root_0 = null;
Token first = null;
Token second = null;
Object first_tree = null;
Object second_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2553:3: (first= ASSIGNMENT second= GT {...}?)
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2553:5: first= ASSIGNMENT second= GT {...}?
{
root_0 = adaptor.nil();
first = (Token) match(input, ASSIGNMENT, FOLLOW_ASSIGNMENT_in_right_arrow12123);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
first_tree =
adaptor.create(first);
adaptor.addChild(root_0, first_tree);
}
second = (Token) match(input, GT, FOLLOW_GT_in_right_arrow12127);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
second_tree =
adaptor.create(second);
adaptor.addChild(root_0, second_tree);
}
if (!(((first != null ? first.getTokenIndex() : 0) + 1 == (second != null ? second.getTokenIndex() : 0)))) {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
throw new FailedPredicateException(input, "right_arrow", "$first.index + 1 == $second.index");
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "right_arrow"
public static class right_shift_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "right_shift"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2555:1: right_shift : first= GT second= GT {...}? -> OP_RIGHT_SHIFT ;
public final CSharpParser.right_shift_return right_shift() throws RecognitionException {
CSharpParser.right_shift_return retval = new CSharpParser.right_shift_return();
retval.start = input.LT(1);
Object root_0 = null;
Token first = null;
Token second = null;
Object first_tree = null;
Object second_tree = null;
RewriteRuleTokenStream stream_GT = new RewriteRuleTokenStream(adaptor, "token GT");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2556:3: (first= GT second= GT {...}? -> OP_RIGHT_SHIFT )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2556:5: first= GT second= GT {...}?
{
first = (Token) match(input, GT, FOLLOW_GT_in_right_shift12144);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_GT.add(first);
}
second = (Token) match(input, GT, FOLLOW_GT_in_right_shift12148);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_GT.add(second);
}
if (!(((first != null ? first.getTokenIndex() : 0) + 1 == (second != null ? second.getTokenIndex() : 0)))) {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
throw new FailedPredicateException(input, "right_shift", "$first.index + 1 == $second.index");
}
// AST REWRITE
// elements:
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 2557:5: -> OP_RIGHT_SHIFT
{
adaptor.addChild(root_0,
adaptor.create(OP_RIGHT_SHIFT, "OP_RIGHT_SHIFT"));
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "right_shift"
public static class right_shift_assignment_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "right_shift_assignment"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2559:1: right_shift_assignment : first= GT second= OP_GE {...}? -> OP_RIGHT_SHIFT_ASSIGNMENT ;
public final CSharpParser.right_shift_assignment_return right_shift_assignment() throws RecognitionException {
CSharpParser.right_shift_assignment_return retval = new CSharpParser.right_shift_assignment_return();
retval.start = input.LT(1);
Object root_0 = null;
Token first = null;
Token second = null;
Object first_tree = null;
Object second_tree = null;
RewriteRuleTokenStream stream_GT = new RewriteRuleTokenStream(adaptor, "token GT");
RewriteRuleTokenStream stream_OP_GE = new RewriteRuleTokenStream(adaptor, "token OP_GE");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2560:3: (first= GT second= OP_GE {...}? -> OP_RIGHT_SHIFT_ASSIGNMENT )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2560:5: first= GT second= OP_GE {...}?
{
first = (Token) match(input, GT, FOLLOW_GT_in_right_shift_assignment12173);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_GT.add(first);
}
second = (Token) match(input, OP_GE, FOLLOW_OP_GE_in_right_shift_assignment12177);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_OP_GE.add(second);
}
if (!(((first != null ? first.getTokenIndex() : 0) + 1 == (second != null ? second.getTokenIndex() : 0)))) {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
throw new FailedPredicateException(input, "right_shift_assignment", "$first.index + 1 == $second.index");
}
// AST REWRITE
// elements:
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 2561:5: -> OP_RIGHT_SHIFT_ASSIGNMENT
{
adaptor.addChild(root_0,
adaptor.create(OP_RIGHT_SHIFT_ASSIGNMENT, "OP_RIGHT_SHIFT_ASSIGNMENT"));
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "right_shift_assignment"
public static class literal_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "literal"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2563:1: literal : ( boolean_literal | INTEGER_LITERAL | REAL_LITERAL | CHARACTER_LITERAL | STRING_LITERAL | NULL );
public final CSharpParser.literal_return literal() throws RecognitionException {
CSharpParser.literal_return retval = new CSharpParser.literal_return();
retval.start = input.LT(1);
Object root_0 = null;
Token INTEGER_LITERAL1452 = null;
Token REAL_LITERAL1453 = null;
Token CHARACTER_LITERAL1454 = null;
Token STRING_LITERAL1455 = null;
Token NULL1456 = null;
CSharpParser.boolean_literal_return boolean_literal1451 = null;
Object INTEGER_LITERAL1452_tree = null;
Object REAL_LITERAL1453_tree = null;
Object CHARACTER_LITERAL1454_tree = null;
Object STRING_LITERAL1455_tree = null;
Object NULL1456_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2564:3: ( boolean_literal | INTEGER_LITERAL | REAL_LITERAL | CHARACTER_LITERAL | STRING_LITERAL | NULL )
int alt346 = 6;
switch (input.LA(1)) {
case FALSE:
case TRUE: {
alt346 = 1;
}
break;
case INTEGER_LITERAL: {
alt346 = 2;
}
break;
case REAL_LITERAL: {
alt346 = 3;
}
break;
case CHARACTER_LITERAL: {
alt346 = 4;
}
break;
case STRING_LITERAL: {
alt346 = 5;
}
break;
case NULL: {
alt346 = 6;
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 346, 0, input);
throw nvae;
}
switch (alt346) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2564:5: boolean_literal
{
root_0 = adaptor.nil();
pushFollow(FOLLOW_boolean_literal_in_literal12200);
boolean_literal1451 = boolean_literal();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, boolean_literal1451.getTree());
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2565:5: INTEGER_LITERAL
{
root_0 = adaptor.nil();
INTEGER_LITERAL1452 = (Token) match(input, INTEGER_LITERAL, FOLLOW_INTEGER_LITERAL_in_literal12206);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
INTEGER_LITERAL1452_tree =
adaptor.create(INTEGER_LITERAL1452);
adaptor.addChild(root_0, INTEGER_LITERAL1452_tree);
}
}
break;
case 3: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2566:5: REAL_LITERAL
{
root_0 = adaptor.nil();
REAL_LITERAL1453 = (Token) match(input, REAL_LITERAL, FOLLOW_REAL_LITERAL_in_literal12212);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
REAL_LITERAL1453_tree =
adaptor.create(REAL_LITERAL1453);
adaptor.addChild(root_0, REAL_LITERAL1453_tree);
}
}
break;
case 4: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2567:5: CHARACTER_LITERAL
{
root_0 = adaptor.nil();
CHARACTER_LITERAL1454 = (Token) match(input, CHARACTER_LITERAL, FOLLOW_CHARACTER_LITERAL_in_literal12218);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CHARACTER_LITERAL1454_tree =
adaptor.create(CHARACTER_LITERAL1454);
adaptor.addChild(root_0, CHARACTER_LITERAL1454_tree);
}
}
break;
case 5: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2568:5: STRING_LITERAL
{
root_0 = adaptor.nil();
STRING_LITERAL1455 = (Token) match(input, STRING_LITERAL, FOLLOW_STRING_LITERAL_in_literal12224);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
STRING_LITERAL1455_tree =
adaptor.create(STRING_LITERAL1455);
adaptor.addChild(root_0, STRING_LITERAL1455_tree);
}
}
break;
case 6: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2569:5: NULL
{
root_0 = adaptor.nil();
NULL1456 = (Token) match(input, NULL, FOLLOW_NULL_in_literal12230);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
NULL1456_tree =
adaptor.create(NULL1456);
adaptor.addChild(root_0, NULL1456_tree);
}
}
break;
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "literal"
public static class boolean_literal_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "boolean_literal"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2571:1: boolean_literal : ( TRUE | FALSE );
public final CSharpParser.boolean_literal_return boolean_literal() throws RecognitionException {
CSharpParser.boolean_literal_return retval = new CSharpParser.boolean_literal_return();
retval.start = input.LT(1);
Object root_0 = null;
Token set1457 = null;
Object set1457_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2572:3: ( TRUE | FALSE )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:
{
root_0 = adaptor.nil();
set1457 = input.LT(1);
if (input.LA(1) == FALSE || input.LA(1) == TRUE) {
input.consume();
if (state.backtracking == 0) {
adaptor.addChild(root_0,
adaptor.create(set1457));
}
state.errorRecovery = false;
state.failed = false;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
MismatchedSetException mse = new MismatchedSetException(null, input);
throw mse;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "boolean_literal"
public static class keyword_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "keyword"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2576:1: keyword : ( ABSTRACT | AS | BASE | BOOL | BREAK | BYTE | CASE | CATCH | CHAR | CHECKED | CLASS | CONST | CONTINUE | DECIMAL | DEFAULT | DELEGATE | DO | DOUBLE | ELSE | ENUM | EVENT | EXPLICIT | EXTERN | FALSE | FINALLY | FIXED | FLOAT | FOR | FOREACH | GOTO | IF | IMPLICIT | IN | INT | INTERFACE | INTERNAL | IS | LOCK | LONG | NAMESPACE | NEW | NULL | OBJECT | OPERATOR | OUT | OVERRIDE | PARAMS | PRIVATE | PROTECTED | PUBLIC | READONLY | REF | RETURN | SBYTE | SEALED | SHORT | SIZEOF | STACKALLOC | STATIC | STRING | STRUCT | SWITCH | THIS | THROW | TRUE | TRY | TYPEOF | UINT | ULONG | UNCHECKED | UNSAFE | USHORT | USING | VIRTUAL | VOID | VOLATILE | WHILE );
public final CSharpParser.keyword_return keyword() throws RecognitionException {
CSharpParser.keyword_return retval = new CSharpParser.keyword_return();
retval.start = input.LT(1);
Object root_0 = null;
Token set1458 = null;
Object set1458_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2577:3: ( ABSTRACT | AS | BASE | BOOL | BREAK | BYTE | CASE | CATCH | CHAR | CHECKED | CLASS | CONST | CONTINUE | DECIMAL | DEFAULT | DELEGATE | DO | DOUBLE | ELSE | ENUM | EVENT | EXPLICIT | EXTERN | FALSE | FINALLY | FIXED | FLOAT | FOR | FOREACH | GOTO | IF | IMPLICIT | IN | INT | INTERFACE | INTERNAL | IS | LOCK | LONG | NAMESPACE | NEW | NULL | OBJECT | OPERATOR | OUT | OVERRIDE | PARAMS | PRIVATE | PROTECTED | PUBLIC | READONLY | REF | RETURN | SBYTE | SEALED | SHORT | SIZEOF | STACKALLOC | STATIC | STRING | STRUCT | SWITCH | THIS | THROW | TRUE | TRY | TYPEOF | UINT | ULONG | UNCHECKED | UNSAFE | USHORT | USING | VIRTUAL | VOID | VOLATILE | WHILE )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:
{
root_0 = adaptor.nil();
set1458 = input.LT(1);
if (input.LA(1) == ABSTRACT || input.LA(1) == AS || input.LA(1) == BASE || (input.LA(1) >= BOOL && input.LA(1) <= BYTE) || (input.LA(1) >= CASE && input.LA(1) <= CHAR) || (input.LA(1) >= CHECKED && input.LA(1) <= CLASS) || (input.LA(1) >= CONST && input.LA(1) <= CONTINUE) || input.LA(1) == DECIMAL || (input.LA(1) >= DEFAULT && input.LA(1) <= DELEGATE) || input.LA(1) == DO || input.LA(1) == DOUBLE || (input.LA(1) >= ELSE && input.LA(1) <= EXTERN) || (input.LA(1) >= FALSE && input.LA(1) <= FOREACH) || input.LA(1) == GOTO || (input.LA(1) >= IF && input.LA(1) <= INT) || (input.LA(1) >= INTERFACE && input.LA(1) <= INTERNAL) || input.LA(1) == IS || (input.LA(1) >= LOCK && input.LA(1) <= LONG) || (input.LA(1) >= NAMESPACE && input.LA(1) <= NEW) || input.LA(1) == NULL || input.LA(1) == OBJECT || input.LA(1) == OPERATOR || (input.LA(1) >= OUT && input.LA(1) <= PARAMS) || (input.LA(1) >= PRIVATE && input.LA(1) <= PUBLIC) || input.LA(1) == READONLY || (input.LA(1) >= REF && input.LA(1) <= RETURN) || (input.LA(1) >= SBYTE && input.LA(1) <= SEALED) || input.LA(1) == SHORT || (input.LA(1) >= SIZEOF && input.LA(1) <= STACKALLOC) || (input.LA(1) >= STATIC && input.LA(1) <= STRING) || (input.LA(1) >= STRUCT && input.LA(1) <= SWITCH) || (input.LA(1) >= THIS && input.LA(1) <= THROW) || (input.LA(1) >= TRUE && input.LA(1) <= UNCHECKED) || (input.LA(1) >= UNSAFE && input.LA(1) <= USING) || (input.LA(1) >= VIRTUAL && input.LA(1) <= VOLATILE) || input.LA(1) == WHILE) {
input.consume();
if (state.backtracking == 0) {
adaptor.addChild(root_0,
adaptor.create(set1458));
}
state.errorRecovery = false;
state.failed = false;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
MismatchedSetException mse = new MismatchedSetException(null, input);
throw mse;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "keyword"
public static class class_definition_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "class_definition"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2658:1: class_definition : CLASS ^ IDENTIFIER ( type_parameter_list )? ( class_base )? ( type_parameter_constraints_clauses )? class_body ( SEMICOLON !)? ;
public final CSharpParser.class_definition_return class_definition() throws RecognitionException {
CSharpParser.class_definition_return retval = new CSharpParser.class_definition_return();
retval.start = input.LT(1);
Object root_0 = null;
Token CLASS1459 = null;
Token IDENTIFIER1460 = null;
Token SEMICOLON1465 = null;
CSharpParser.type_parameter_list_return type_parameter_list1461 = null;
CSharpParser.class_base_return class_base1462 = null;
CSharpParser.type_parameter_constraints_clauses_return type_parameter_constraints_clauses1463 = null;
CSharpParser.class_body_return class_body1464 = null;
Object CLASS1459_tree = null;
Object IDENTIFIER1460_tree = null;
Object SEMICOLON1465_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2659:3: ( CLASS ^ IDENTIFIER ( type_parameter_list )? ( class_base )? ( type_parameter_constraints_clauses )? class_body ( SEMICOLON !)? )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2659:5: CLASS ^ IDENTIFIER ( type_parameter_list )? ( class_base )? ( type_parameter_constraints_clauses )? class_body ( SEMICOLON !)?
{
root_0 = adaptor.nil();
CLASS1459 = (Token) match(input, CLASS, FOLLOW_CLASS_in_class_definition12732);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLASS1459_tree =
adaptor.create(CLASS1459);
root_0 = adaptor.becomeRoot(CLASS1459_tree, root_0);
}
IDENTIFIER1460 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_class_definition12735);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1460_tree =
adaptor.create(IDENTIFIER1460);
adaptor.addChild(root_0, IDENTIFIER1460_tree);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2659:23: ( type_parameter_list )?
int alt347 = 2;
int LA347_0 = input.LA(1);
if ((LA347_0 == LT)) {
alt347 = 1;
}
switch (alt347) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2659:23: type_parameter_list
{
pushFollow(FOLLOW_type_parameter_list_in_class_definition12737);
type_parameter_list1461 = type_parameter_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type_parameter_list1461.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2659:44: ( class_base )?
int alt348 = 2;
int LA348_0 = input.LA(1);
if ((LA348_0 == COLON)) {
alt348 = 1;
}
switch (alt348) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2659:44: class_base
{
pushFollow(FOLLOW_class_base_in_class_definition12740);
class_base1462 = class_base();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, class_base1462.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2659:56: ( type_parameter_constraints_clauses )?
int alt349 = 2;
int LA349_0 = input.LA(1);
if ((LA349_0 == IDENTIFIER)) {
alt349 = 1;
}
switch (alt349) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2659:56: type_parameter_constraints_clauses
{
pushFollow(FOLLOW_type_parameter_constraints_clauses_in_class_definition12743);
type_parameter_constraints_clauses1463 = type_parameter_constraints_clauses();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type_parameter_constraints_clauses1463.getTree());
}
}
break;
}
pushFollow(FOLLOW_class_body_in_class_definition12752);
class_body1464 = class_body();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, class_body1464.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2660:27: ( SEMICOLON !)?
int alt350 = 2;
int LA350_0 = input.LA(1);
if ((LA350_0 == SEMICOLON)) {
alt350 = 1;
}
switch (alt350) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2660:27: SEMICOLON !
{
SEMICOLON1465 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_class_definition12754);
if (state.failed) {
return retval;
}
}
break;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "class_definition"
public static class struct_definition_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "struct_definition"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2662:1: struct_definition : STRUCT ^ IDENTIFIER ( type_parameter_list )? ( struct_interfaces )? ( type_parameter_constraints_clauses )? struct_body ( SEMICOLON !)? ;
public final CSharpParser.struct_definition_return struct_definition() throws RecognitionException {
CSharpParser.struct_definition_return retval = new CSharpParser.struct_definition_return();
retval.start = input.LT(1);
Object root_0 = null;
Token STRUCT1466 = null;
Token IDENTIFIER1467 = null;
Token SEMICOLON1472 = null;
CSharpParser.type_parameter_list_return type_parameter_list1468 = null;
CSharpParser.struct_interfaces_return struct_interfaces1469 = null;
CSharpParser.type_parameter_constraints_clauses_return type_parameter_constraints_clauses1470 = null;
CSharpParser.struct_body_return struct_body1471 = null;
Object STRUCT1466_tree = null;
Object IDENTIFIER1467_tree = null;
Object SEMICOLON1472_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2663:3: ( STRUCT ^ IDENTIFIER ( type_parameter_list )? ( struct_interfaces )? ( type_parameter_constraints_clauses )? struct_body ( SEMICOLON !)? )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2663:5: STRUCT ^ IDENTIFIER ( type_parameter_list )? ( struct_interfaces )? ( type_parameter_constraints_clauses )? struct_body ( SEMICOLON !)?
{
root_0 = adaptor.nil();
STRUCT1466 = (Token) match(input, STRUCT, FOLLOW_STRUCT_in_struct_definition12768);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
STRUCT1466_tree =
adaptor.create(STRUCT1466);
root_0 = adaptor.becomeRoot(STRUCT1466_tree, root_0);
}
IDENTIFIER1467 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_struct_definition12771);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1467_tree =
adaptor.create(IDENTIFIER1467);
adaptor.addChild(root_0, IDENTIFIER1467_tree);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2663:24: ( type_parameter_list )?
int alt351 = 2;
int LA351_0 = input.LA(1);
if ((LA351_0 == LT)) {
alt351 = 1;
}
switch (alt351) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2663:24: type_parameter_list
{
pushFollow(FOLLOW_type_parameter_list_in_struct_definition12773);
type_parameter_list1468 = type_parameter_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type_parameter_list1468.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2663:45: ( struct_interfaces )?
int alt352 = 2;
int LA352_0 = input.LA(1);
if ((LA352_0 == COLON)) {
alt352 = 1;
}
switch (alt352) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2663:45: struct_interfaces
{
pushFollow(FOLLOW_struct_interfaces_in_struct_definition12776);
struct_interfaces1469 = struct_interfaces();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, struct_interfaces1469.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2663:64: ( type_parameter_constraints_clauses )?
int alt353 = 2;
int LA353_0 = input.LA(1);
if ((LA353_0 == IDENTIFIER)) {
alt353 = 1;
}
switch (alt353) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2663:64: type_parameter_constraints_clauses
{
pushFollow(FOLLOW_type_parameter_constraints_clauses_in_struct_definition12779);
type_parameter_constraints_clauses1470 = type_parameter_constraints_clauses();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type_parameter_constraints_clauses1470.getTree());
}
}
break;
}
pushFollow(FOLLOW_struct_body_in_struct_definition12788);
struct_body1471 = struct_body();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, struct_body1471.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2664:28: ( SEMICOLON !)?
int alt354 = 2;
int LA354_0 = input.LA(1);
if ((LA354_0 == SEMICOLON)) {
alt354 = 1;
}
switch (alt354) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2664:28: SEMICOLON !
{
SEMICOLON1472 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_struct_definition12790);
if (state.failed) {
return retval;
}
}
break;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "struct_definition"
public static class interface_definition_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "interface_definition"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2666:1: interface_definition : INTERFACE ^ IDENTIFIER ( variant_type_parameter_list )? ( interface_base )? ( type_parameter_constraints_clauses )? interface_body ( SEMICOLON !)? ;
public final CSharpParser.interface_definition_return interface_definition() throws RecognitionException {
CSharpParser.interface_definition_return retval = new CSharpParser.interface_definition_return();
retval.start = input.LT(1);
Object root_0 = null;
Token INTERFACE1473 = null;
Token IDENTIFIER1474 = null;
Token SEMICOLON1479 = null;
CSharpParser.variant_type_parameter_list_return variant_type_parameter_list1475 = null;
CSharpParser.interface_base_return interface_base1476 = null;
CSharpParser.type_parameter_constraints_clauses_return type_parameter_constraints_clauses1477 = null;
CSharpParser.interface_body_return interface_body1478 = null;
Object INTERFACE1473_tree = null;
Object IDENTIFIER1474_tree = null;
Object SEMICOLON1479_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2667:3: ( INTERFACE ^ IDENTIFIER ( variant_type_parameter_list )? ( interface_base )? ( type_parameter_constraints_clauses )? interface_body ( SEMICOLON !)? )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2667:5: INTERFACE ^ IDENTIFIER ( variant_type_parameter_list )? ( interface_base )? ( type_parameter_constraints_clauses )? interface_body ( SEMICOLON !)?
{
root_0 = adaptor.nil();
INTERFACE1473 = (Token) match(input, INTERFACE, FOLLOW_INTERFACE_in_interface_definition12804);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
INTERFACE1473_tree =
adaptor.create(INTERFACE1473);
root_0 = adaptor.becomeRoot(INTERFACE1473_tree, root_0);
}
IDENTIFIER1474 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_interface_definition12807);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1474_tree =
adaptor.create(IDENTIFIER1474);
adaptor.addChild(root_0, IDENTIFIER1474_tree);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2667:27: ( variant_type_parameter_list )?
int alt355 = 2;
int LA355_0 = input.LA(1);
if ((LA355_0 == LT)) {
alt355 = 1;
}
switch (alt355) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2667:27: variant_type_parameter_list
{
pushFollow(FOLLOW_variant_type_parameter_list_in_interface_definition12809);
variant_type_parameter_list1475 = variant_type_parameter_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, variant_type_parameter_list1475.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2667:56: ( interface_base )?
int alt356 = 2;
int LA356_0 = input.LA(1);
if ((LA356_0 == COLON)) {
alt356 = 1;
}
switch (alt356) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2667:56: interface_base
{
pushFollow(FOLLOW_interface_base_in_interface_definition12812);
interface_base1476 = interface_base();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, interface_base1476.getTree());
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2668:7: ( type_parameter_constraints_clauses )?
int alt357 = 2;
int LA357_0 = input.LA(1);
if ((LA357_0 == IDENTIFIER)) {
alt357 = 1;
}
switch (alt357) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2668:7: type_parameter_constraints_clauses
{
pushFollow(FOLLOW_type_parameter_constraints_clauses_in_interface_definition12821);
type_parameter_constraints_clauses1477 = type_parameter_constraints_clauses();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type_parameter_constraints_clauses1477.getTree());
}
}
break;
}
pushFollow(FOLLOW_interface_body_in_interface_definition12824);
interface_body1478 = interface_body();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, interface_body1478.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2668:67: ( SEMICOLON !)?
int alt358 = 2;
int LA358_0 = input.LA(1);
if ((LA358_0 == SEMICOLON)) {
alt358 = 1;
}
switch (alt358) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2668:67: SEMICOLON !
{
SEMICOLON1479 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_interface_definition12826);
if (state.failed) {
return retval;
}
}
break;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "interface_definition"
public static class enum_definition_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "enum_definition"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2670:1: enum_definition : ENUM ^ IDENTIFIER ( enum_base )? enum_body ( SEMICOLON !)? ;
public final CSharpParser.enum_definition_return enum_definition() throws RecognitionException {
CSharpParser.enum_definition_return retval = new CSharpParser.enum_definition_return();
retval.start = input.LT(1);
Object root_0 = null;
Token ENUM1480 = null;
Token IDENTIFIER1481 = null;
Token SEMICOLON1484 = null;
CSharpParser.enum_base_return enum_base1482 = null;
CSharpParser.enum_body_return enum_body1483 = null;
Object ENUM1480_tree = null;
Object IDENTIFIER1481_tree = null;
Object SEMICOLON1484_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2671:3: ( ENUM ^ IDENTIFIER ( enum_base )? enum_body ( SEMICOLON !)? )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2671:5: ENUM ^ IDENTIFIER ( enum_base )? enum_body ( SEMICOLON !)?
{
root_0 = adaptor.nil();
ENUM1480 = (Token) match(input, ENUM, FOLLOW_ENUM_in_enum_definition12840);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
ENUM1480_tree =
adaptor.create(ENUM1480);
root_0 = adaptor.becomeRoot(ENUM1480_tree, root_0);
}
IDENTIFIER1481 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_enum_definition12843);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1481_tree =
adaptor.create(IDENTIFIER1481);
adaptor.addChild(root_0, IDENTIFIER1481_tree);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2671:22: ( enum_base )?
int alt359 = 2;
int LA359_0 = input.LA(1);
if ((LA359_0 == COLON)) {
alt359 = 1;
}
switch (alt359) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2671:22: enum_base
{
pushFollow(FOLLOW_enum_base_in_enum_definition12845);
enum_base1482 = enum_base();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, enum_base1482.getTree());
}
}
break;
}
pushFollow(FOLLOW_enum_body_in_enum_definition12848);
enum_body1483 = enum_body();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, enum_body1483.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2671:52: ( SEMICOLON !)?
int alt360 = 2;
int LA360_0 = input.LA(1);
if ((LA360_0 == SEMICOLON)) {
alt360 = 1;
}
switch (alt360) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2671:52: SEMICOLON !
{
SEMICOLON1484 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_enum_definition12850);
if (state.failed) {
return retval;
}
}
break;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "enum_definition"
public static class delegate_definition_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "delegate_definition"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2673:1: delegate_definition : DELEGATE ^ return_type IDENTIFIER ( variant_type_parameter_list )? OPEN_PARENS ( formal_parameter_list )? CLOSE_PARENS ( type_parameter_constraints_clauses )? SEMICOLON !;
public final CSharpParser.delegate_definition_return delegate_definition() throws RecognitionException {
CSharpParser.delegate_definition_return retval = new CSharpParser.delegate_definition_return();
retval.start = input.LT(1);
Object root_0 = null;
Token DELEGATE1485 = null;
Token IDENTIFIER1487 = null;
Token OPEN_PARENS1489 = null;
Token CLOSE_PARENS1491 = null;
Token SEMICOLON1493 = null;
CSharpParser.return_type_return return_type1486 = null;
CSharpParser.variant_type_parameter_list_return variant_type_parameter_list1488 = null;
CSharpParser.formal_parameter_list_return formal_parameter_list1490 = null;
CSharpParser.type_parameter_constraints_clauses_return type_parameter_constraints_clauses1492 = null;
Object DELEGATE1485_tree = null;
Object IDENTIFIER1487_tree = null;
Object OPEN_PARENS1489_tree = null;
Object CLOSE_PARENS1491_tree = null;
Object SEMICOLON1493_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2674:3: ( DELEGATE ^ return_type IDENTIFIER ( variant_type_parameter_list )? OPEN_PARENS ( formal_parameter_list )? CLOSE_PARENS ( type_parameter_constraints_clauses )? SEMICOLON !)
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2674:5: DELEGATE ^ return_type IDENTIFIER ( variant_type_parameter_list )? OPEN_PARENS ( formal_parameter_list )? CLOSE_PARENS ( type_parameter_constraints_clauses )? SEMICOLON !
{
root_0 = adaptor.nil();
DELEGATE1485 = (Token) match(input, DELEGATE, FOLLOW_DELEGATE_in_delegate_definition12864);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
DELEGATE1485_tree =
adaptor.create(DELEGATE1485);
root_0 = adaptor.becomeRoot(DELEGATE1485_tree, root_0);
}
pushFollow(FOLLOW_return_type_in_delegate_definition12867);
return_type1486 = return_type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, return_type1486.getTree());
}
IDENTIFIER1487 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_delegate_definition12869);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1487_tree =
adaptor.create(IDENTIFIER1487);
adaptor.addChild(root_0, IDENTIFIER1487_tree);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2674:38: ( variant_type_parameter_list )?
int alt361 = 2;
int LA361_0 = input.LA(1);
if ((LA361_0 == LT)) {
alt361 = 1;
}
switch (alt361) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2674:38: variant_type_parameter_list
{
pushFollow(FOLLOW_variant_type_parameter_list_in_delegate_definition12871);
variant_type_parameter_list1488 = variant_type_parameter_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, variant_type_parameter_list1488.getTree());
}
}
break;
}
OPEN_PARENS1489 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_delegate_definition12874);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
OPEN_PARENS1489_tree =
adaptor.create(OPEN_PARENS1489);
adaptor.addChild(root_0, OPEN_PARENS1489_tree);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2675:7: ( formal_parameter_list )?
int alt362 = 2;
int LA362_0 = input.LA(1);
if ((LA362_0 == BOOL || LA362_0 == BYTE || LA362_0 == CHAR || LA362_0 == DECIMAL || LA362_0 == DOUBLE || LA362_0 == FLOAT || LA362_0 == IDENTIFIER || LA362_0 == INT || LA362_0 == LONG || LA362_0 == OBJECT || LA362_0 == OPEN_BRACKET || LA362_0 == OUT || LA362_0 == PARAMS || LA362_0 == REF || LA362_0 == SBYTE || LA362_0 == SHORT || LA362_0 == STRING || LA362_0 == THIS || (LA362_0 >= UINT && LA362_0 <= ULONG) || LA362_0 == USHORT || LA362_0 == VOID)) {
alt362 = 1;
}
switch (alt362) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2675:7: formal_parameter_list
{
pushFollow(FOLLOW_formal_parameter_list_in_delegate_definition12882);
formal_parameter_list1490 = formal_parameter_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, formal_parameter_list1490.getTree());
}
}
break;
}
CLOSE_PARENS1491 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_delegate_definition12885);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
CLOSE_PARENS1491_tree =
adaptor.create(CLOSE_PARENS1491);
adaptor.addChild(root_0, CLOSE_PARENS1491_tree);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2675:43: ( type_parameter_constraints_clauses )?
int alt363 = 2;
int LA363_0 = input.LA(1);
if ((LA363_0 == IDENTIFIER)) {
alt363 = 1;
}
switch (alt363) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2675:43: type_parameter_constraints_clauses
{
pushFollow(FOLLOW_type_parameter_constraints_clauses_in_delegate_definition12887);
type_parameter_constraints_clauses1492 = type_parameter_constraints_clauses();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type_parameter_constraints_clauses1492.getTree());
}
}
break;
}
SEMICOLON1493 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_delegate_definition12890);
if (state.failed) {
return retval;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "delegate_definition"
public static class event_declaration2_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "event_declaration2"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2677:1: event_declaration2 : EVENT type ( variable_declarators SEMICOLON -> ^( EVENT_VARS_DECL variable_declarators ) | member_name OPEN_BRACE event_accessor_declarations CLOSE_BRACE -> ^( EVENT_PROP_DECL type member_name event_accessor_declarations ) ) ;
public final CSharpParser.event_declaration2_return event_declaration2() throws RecognitionException {
CSharpParser.event_declaration2_return retval = new CSharpParser.event_declaration2_return();
retval.start = input.LT(1);
Object root_0 = null;
Token EVENT1494 = null;
Token SEMICOLON1497 = null;
Token OPEN_BRACE1499 = null;
Token CLOSE_BRACE1501 = null;
CSharpParser.type_return type1495 = null;
CSharpParser.variable_declarators_return variable_declarators1496 = null;
CSharpParser.member_name_return member_name1498 = null;
CSharpParser.event_accessor_declarations_return event_accessor_declarations1500 = null;
Object EVENT1494_tree = null;
Object SEMICOLON1497_tree = null;
Object OPEN_BRACE1499_tree = null;
Object CLOSE_BRACE1501_tree = null;
RewriteRuleTokenStream stream_SEMICOLON = new RewriteRuleTokenStream(adaptor, "token SEMICOLON");
RewriteRuleTokenStream stream_CLOSE_BRACE = new RewriteRuleTokenStream(adaptor, "token CLOSE_BRACE");
RewriteRuleTokenStream stream_EVENT = new RewriteRuleTokenStream(adaptor, "token EVENT");
RewriteRuleTokenStream stream_OPEN_BRACE = new RewriteRuleTokenStream(adaptor, "token OPEN_BRACE");
RewriteRuleSubtreeStream stream_event_accessor_declarations = new RewriteRuleSubtreeStream(adaptor, "rule event_accessor_declarations");
RewriteRuleSubtreeStream stream_variable_declarators = new RewriteRuleSubtreeStream(adaptor, "rule variable_declarators");
RewriteRuleSubtreeStream stream_type = new RewriteRuleSubtreeStream(adaptor, "rule type");
RewriteRuleSubtreeStream stream_member_name = new RewriteRuleSubtreeStream(adaptor, "rule member_name");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2678:3: ( EVENT type ( variable_declarators SEMICOLON -> ^( EVENT_VARS_DECL variable_declarators ) | member_name OPEN_BRACE event_accessor_declarations CLOSE_BRACE -> ^( EVENT_PROP_DECL type member_name event_accessor_declarations ) ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2678:5: EVENT type ( variable_declarators SEMICOLON -> ^( EVENT_VARS_DECL variable_declarators ) | member_name OPEN_BRACE event_accessor_declarations CLOSE_BRACE -> ^( EVENT_PROP_DECL type member_name event_accessor_declarations ) )
{
EVENT1494 = (Token) match(input, EVENT, FOLLOW_EVENT_in_event_declaration212903);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_EVENT.add(EVENT1494);
}
pushFollow(FOLLOW_type_in_event_declaration212905);
type1495 = type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_type.add(type1495.getTree());
}
if (state.backtracking == 0) {
((common_member_declaration_scope) common_member_declaration_stack.peek()).type = (type1495 != null ? ((Object) type1495.tree) : null);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2679:7: ( variable_declarators SEMICOLON -> ^( EVENT_VARS_DECL variable_declarators ) | member_name OPEN_BRACE event_accessor_declarations CLOSE_BRACE -> ^( EVENT_PROP_DECL type member_name event_accessor_declarations ) )
int alt364 = 2;
int LA364_0 = input.LA(1);
if ((LA364_0 == IDENTIFIER)) {
int LA364_1 = input.LA(2);
if ((LA364_1 == DOT || LA364_1 == DOUBLE_COLON || LA364_1 == LT || LA364_1 == OPEN_BRACE)) {
alt364 = 2;
} else if ((LA364_1 == ASSIGNMENT || LA364_1 == COMMA || LA364_1 == SEMICOLON)) {
alt364 = 1;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 364, 1, input);
throw nvae;
}
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 364, 0, input);
throw nvae;
}
switch (alt364) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2679:9: variable_declarators SEMICOLON
{
pushFollow(FOLLOW_variable_declarators_in_event_declaration212917);
variable_declarators1496 = variable_declarators();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_variable_declarators.add(variable_declarators1496.getTree());
}
SEMICOLON1497 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_event_declaration212919);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_SEMICOLON.add(SEMICOLON1497);
}
// AST REWRITE
// elements: variable_declarators
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 2680:9: -> ^( EVENT_VARS_DECL variable_declarators )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2680:12: ^( EVENT_VARS_DECL variable_declarators )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(EVENT_VARS_DECL, "EVENT_VARS_DECL"), root_1);
adaptor.addChild(root_1, stream_variable_declarators.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2681:9: member_name OPEN_BRACE event_accessor_declarations CLOSE_BRACE
{
pushFollow(FOLLOW_member_name_in_event_declaration212945);
member_name1498 = member_name();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_member_name.add(member_name1498.getTree());
}
OPEN_BRACE1499 = (Token) match(input, OPEN_BRACE, FOLLOW_OPEN_BRACE_in_event_declaration212947);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_OPEN_BRACE.add(OPEN_BRACE1499);
}
pushFollow(FOLLOW_event_accessor_declarations_in_event_declaration212949);
event_accessor_declarations1500 = event_accessor_declarations();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_event_accessor_declarations.add(event_accessor_declarations1500.getTree());
}
CLOSE_BRACE1501 = (Token) match(input, CLOSE_BRACE, FOLLOW_CLOSE_BRACE_in_event_declaration212951);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_CLOSE_BRACE.add(CLOSE_BRACE1501);
}
// AST REWRITE
// elements: event_accessor_declarations, member_name, type
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 2682:9: -> ^( EVENT_PROP_DECL type member_name event_accessor_declarations )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2682:12: ^( EVENT_PROP_DECL type member_name event_accessor_declarations )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(EVENT_PROP_DECL, "EVENT_PROP_DECL"), root_1);
adaptor.addChild(root_1, stream_type.nextTree());
adaptor.addChild(root_1, stream_member_name.nextTree());
adaptor.addChild(root_1, stream_event_accessor_declarations.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
break;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "event_declaration2"
public static class field_declaration2_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "field_declaration2"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2685:1: field_declaration2 : variable_declarators SEMICOLON -> ^( FIELD_DECL variable_declarators ) ;
public final CSharpParser.field_declaration2_return field_declaration2() throws RecognitionException {
CSharpParser.field_declaration2_return retval = new CSharpParser.field_declaration2_return();
retval.start = input.LT(1);
Object root_0 = null;
Token SEMICOLON1503 = null;
CSharpParser.variable_declarators_return variable_declarators1502 = null;
Object SEMICOLON1503_tree = null;
RewriteRuleTokenStream stream_SEMICOLON = new RewriteRuleTokenStream(adaptor, "token SEMICOLON");
RewriteRuleSubtreeStream stream_variable_declarators = new RewriteRuleSubtreeStream(adaptor, "rule variable_declarators");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2686:3: ( variable_declarators SEMICOLON -> ^( FIELD_DECL variable_declarators ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2686:5: variable_declarators SEMICOLON
{
pushFollow(FOLLOW_variable_declarators_in_field_declaration212991);
variable_declarators1502 = variable_declarators();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_variable_declarators.add(variable_declarators1502.getTree());
}
SEMICOLON1503 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_field_declaration212993);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_SEMICOLON.add(SEMICOLON1503);
}
// AST REWRITE
// elements: variable_declarators
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 2687:5: -> ^( FIELD_DECL variable_declarators )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2687:8: ^( FIELD_DECL variable_declarators )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(FIELD_DECL, "FIELD_DECL"), root_1);
adaptor.addChild(root_1, stream_variable_declarators.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "field_declaration2"
public static class property_declaration2_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "property_declaration2"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2689:1: property_declaration2 : member_name OPEN_BRACE accessor_declarations CLOSE_BRACE -> ^( PROPERTY_DECL member_name accessor_declarations ) ;
public final CSharpParser.property_declaration2_return property_declaration2() throws RecognitionException {
CSharpParser.property_declaration2_return retval = new CSharpParser.property_declaration2_return();
retval.start = input.LT(1);
Object root_0 = null;
Token OPEN_BRACE1505 = null;
Token CLOSE_BRACE1507 = null;
CSharpParser.member_name_return member_name1504 = null;
CSharpParser.accessor_declarations_return accessor_declarations1506 = null;
Object OPEN_BRACE1505_tree = null;
Object CLOSE_BRACE1507_tree = null;
RewriteRuleTokenStream stream_CLOSE_BRACE = new RewriteRuleTokenStream(adaptor, "token CLOSE_BRACE");
RewriteRuleTokenStream stream_OPEN_BRACE = new RewriteRuleTokenStream(adaptor, "token OPEN_BRACE");
RewriteRuleSubtreeStream stream_accessor_declarations = new RewriteRuleSubtreeStream(adaptor, "rule accessor_declarations");
RewriteRuleSubtreeStream stream_member_name = new RewriteRuleSubtreeStream(adaptor, "rule member_name");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2690:3: ( member_name OPEN_BRACE accessor_declarations CLOSE_BRACE -> ^( PROPERTY_DECL member_name accessor_declarations ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2690:5: member_name OPEN_BRACE accessor_declarations CLOSE_BRACE
{
pushFollow(FOLLOW_member_name_in_property_declaration213017);
member_name1504 = member_name();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_member_name.add(member_name1504.getTree());
}
OPEN_BRACE1505 = (Token) match(input, OPEN_BRACE, FOLLOW_OPEN_BRACE_in_property_declaration213019);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_OPEN_BRACE.add(OPEN_BRACE1505);
}
pushFollow(FOLLOW_accessor_declarations_in_property_declaration213021);
accessor_declarations1506 = accessor_declarations();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_accessor_declarations.add(accessor_declarations1506.getTree());
}
CLOSE_BRACE1507 = (Token) match(input, CLOSE_BRACE, FOLLOW_CLOSE_BRACE_in_property_declaration213023);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_CLOSE_BRACE.add(CLOSE_BRACE1507);
}
// AST REWRITE
// elements: accessor_declarations, member_name
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 2691:5: -> ^( PROPERTY_DECL member_name accessor_declarations )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2691:8: ^( PROPERTY_DECL member_name accessor_declarations )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(PROPERTY_DECL, "PROPERTY_DECL"), root_1);
adaptor.addChild(root_1, stream_member_name.nextTree());
adaptor.addChild(root_1, stream_accessor_declarations.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "property_declaration2"
public static class constant_declaration2_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "constant_declaration2"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2693:1: constant_declaration2 : CONST !t= type ! constant_declarators[t.tree] SEMICOLON !;
public final CSharpParser.constant_declaration2_return constant_declaration2() throws RecognitionException {
CSharpParser.constant_declaration2_return retval = new CSharpParser.constant_declaration2_return();
retval.start = input.LT(1);
Object root_0 = null;
Token CONST1508 = null;
Token SEMICOLON1510 = null;
CSharpParser.type_return t = null;
CSharpParser.constant_declarators_return constant_declarators1509 = null;
Object CONST1508_tree = null;
Object SEMICOLON1510_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2694:3: ( CONST !t= type ! constant_declarators[t.tree] SEMICOLON !)
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2694:5: CONST !t= type ! constant_declarators[t.tree] SEMICOLON !
{
root_0 = adaptor.nil();
CONST1508 = (Token) match(input, CONST, FOLLOW_CONST_in_constant_declaration213051);
if (state.failed) {
return retval;
}
pushFollow(FOLLOW_type_in_constant_declaration213056);
t = type();
state._fsp--;
if (state.failed) {
return retval;
}
pushFollow(FOLLOW_constant_declarators_in_constant_declaration213059);
constant_declarators1509 = constant_declarators(t.tree);
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, constant_declarators1509.getTree());
}
SEMICOLON1510 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_constant_declaration213062);
if (state.failed) {
return retval;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "constant_declaration2"
public static class indexer_declaration2_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "indexer_declaration2"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2696:1: indexer_declaration2 : THIS OPEN_BRACKET formal_parameter_list CLOSE_BRACKET OPEN_BRACE accessor_declarations CLOSE_BRACE -> ^( INDEXER_DECL formal_parameter_list accessor_declarations ) ;
public final CSharpParser.indexer_declaration2_return indexer_declaration2() throws RecognitionException {
CSharpParser.indexer_declaration2_return retval = new CSharpParser.indexer_declaration2_return();
retval.start = input.LT(1);
Object root_0 = null;
Token THIS1511 = null;
Token OPEN_BRACKET1512 = null;
Token CLOSE_BRACKET1514 = null;
Token OPEN_BRACE1515 = null;
Token CLOSE_BRACE1517 = null;
CSharpParser.formal_parameter_list_return formal_parameter_list1513 = null;
CSharpParser.accessor_declarations_return accessor_declarations1516 = null;
Object THIS1511_tree = null;
Object OPEN_BRACKET1512_tree = null;
Object CLOSE_BRACKET1514_tree = null;
Object OPEN_BRACE1515_tree = null;
Object CLOSE_BRACE1517_tree = null;
RewriteRuleTokenStream stream_OPEN_BRACKET = new RewriteRuleTokenStream(adaptor, "token OPEN_BRACKET");
RewriteRuleTokenStream stream_CLOSE_BRACE = new RewriteRuleTokenStream(adaptor, "token CLOSE_BRACE");
RewriteRuleTokenStream stream_OPEN_BRACE = new RewriteRuleTokenStream(adaptor, "token OPEN_BRACE");
RewriteRuleTokenStream stream_THIS = new RewriteRuleTokenStream(adaptor, "token THIS");
RewriteRuleTokenStream stream_CLOSE_BRACKET = new RewriteRuleTokenStream(adaptor, "token CLOSE_BRACKET");
RewriteRuleSubtreeStream stream_accessor_declarations = new RewriteRuleSubtreeStream(adaptor, "rule accessor_declarations");
RewriteRuleSubtreeStream stream_formal_parameter_list = new RewriteRuleSubtreeStream(adaptor, "rule formal_parameter_list");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2697:3: ( THIS OPEN_BRACKET formal_parameter_list CLOSE_BRACKET OPEN_BRACE accessor_declarations CLOSE_BRACE -> ^( INDEXER_DECL formal_parameter_list accessor_declarations ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2697:5: THIS OPEN_BRACKET formal_parameter_list CLOSE_BRACKET OPEN_BRACE accessor_declarations CLOSE_BRACE
{
THIS1511 = (Token) match(input, THIS, FOLLOW_THIS_in_indexer_declaration213075);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_THIS.add(THIS1511);
}
OPEN_BRACKET1512 = (Token) match(input, OPEN_BRACKET, FOLLOW_OPEN_BRACKET_in_indexer_declaration213077);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_OPEN_BRACKET.add(OPEN_BRACKET1512);
}
pushFollow(FOLLOW_formal_parameter_list_in_indexer_declaration213079);
formal_parameter_list1513 = formal_parameter_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_formal_parameter_list.add(formal_parameter_list1513.getTree());
}
CLOSE_BRACKET1514 = (Token) match(input, CLOSE_BRACKET, FOLLOW_CLOSE_BRACKET_in_indexer_declaration213081);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_CLOSE_BRACKET.add(CLOSE_BRACKET1514);
}
OPEN_BRACE1515 = (Token) match(input, OPEN_BRACE, FOLLOW_OPEN_BRACE_in_indexer_declaration213089);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_OPEN_BRACE.add(OPEN_BRACE1515);
}
pushFollow(FOLLOW_accessor_declarations_in_indexer_declaration213091);
accessor_declarations1516 = accessor_declarations();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_accessor_declarations.add(accessor_declarations1516.getTree());
}
CLOSE_BRACE1517 = (Token) match(input, CLOSE_BRACE, FOLLOW_CLOSE_BRACE_in_indexer_declaration213093);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_CLOSE_BRACE.add(CLOSE_BRACE1517);
}
// AST REWRITE
// elements: formal_parameter_list, accessor_declarations
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 2699:5: -> ^( INDEXER_DECL formal_parameter_list accessor_declarations )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2699:8: ^( INDEXER_DECL formal_parameter_list accessor_declarations )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(INDEXER_DECL, "INDEXER_DECL"), root_1);
adaptor.addChild(root_1, stream_formal_parameter_list.nextTree());
adaptor.addChild(root_1, stream_accessor_declarations.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "indexer_declaration2"
public static class destructor_definition_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "destructor_definition"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2701:1: destructor_definition : TILDE ^ IDENTIFIER OPEN_PARENS ! CLOSE_PARENS ! destructor_body ;
public final CSharpParser.destructor_definition_return destructor_definition() throws RecognitionException {
CSharpParser.destructor_definition_return retval = new CSharpParser.destructor_definition_return();
retval.start = input.LT(1);
Object root_0 = null;
Token TILDE1518 = null;
Token IDENTIFIER1519 = null;
Token OPEN_PARENS1520 = null;
Token CLOSE_PARENS1521 = null;
CSharpParser.destructor_body_return destructor_body1522 = null;
Object TILDE1518_tree = null;
Object IDENTIFIER1519_tree = null;
Object OPEN_PARENS1520_tree = null;
Object CLOSE_PARENS1521_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2702:3: ( TILDE ^ IDENTIFIER OPEN_PARENS ! CLOSE_PARENS ! destructor_body )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2702:5: TILDE ^ IDENTIFIER OPEN_PARENS ! CLOSE_PARENS ! destructor_body
{
root_0 = adaptor.nil();
TILDE1518 = (Token) match(input, TILDE, FOLLOW_TILDE_in_destructor_definition13120);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
TILDE1518_tree =
adaptor.create(TILDE1518);
root_0 = adaptor.becomeRoot(TILDE1518_tree, root_0);
}
IDENTIFIER1519 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_destructor_definition13123);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1519_tree =
adaptor.create(IDENTIFIER1519);
adaptor.addChild(root_0, IDENTIFIER1519_tree);
}
OPEN_PARENS1520 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_destructor_definition13125);
if (state.failed) {
return retval;
}
CLOSE_PARENS1521 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_destructor_definition13128);
if (state.failed) {
return retval;
}
pushFollow(FOLLOW_destructor_body_in_destructor_definition13131);
destructor_body1522 = destructor_body();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, destructor_body1522.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "destructor_definition"
public static class constructor_declaration2_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "constructor_declaration2"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2704:1: constructor_declaration2 : IDENTIFIER OPEN_PARENS ( formal_parameter_list )? CLOSE_PARENS ( constructor_initializer )? body -> ^( CONSTRUCTOR_DECL IDENTIFIER ( formal_parameter_list )? ( constructor_initializer )? body ) ;
public final CSharpParser.constructor_declaration2_return constructor_declaration2() throws RecognitionException {
CSharpParser.constructor_declaration2_return retval = new CSharpParser.constructor_declaration2_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER1523 = null;
Token OPEN_PARENS1524 = null;
Token CLOSE_PARENS1526 = null;
CSharpParser.formal_parameter_list_return formal_parameter_list1525 = null;
CSharpParser.constructor_initializer_return constructor_initializer1527 = null;
CSharpParser.body_return body1528 = null;
Object IDENTIFIER1523_tree = null;
Object OPEN_PARENS1524_tree = null;
Object CLOSE_PARENS1526_tree = null;
RewriteRuleTokenStream stream_IDENTIFIER = new RewriteRuleTokenStream(adaptor, "token IDENTIFIER");
RewriteRuleTokenStream stream_OPEN_PARENS = new RewriteRuleTokenStream(adaptor, "token OPEN_PARENS");
RewriteRuleTokenStream stream_CLOSE_PARENS = new RewriteRuleTokenStream(adaptor, "token CLOSE_PARENS");
RewriteRuleSubtreeStream stream_body = new RewriteRuleSubtreeStream(adaptor, "rule body");
RewriteRuleSubtreeStream stream_constructor_initializer = new RewriteRuleSubtreeStream(adaptor, "rule constructor_initializer");
RewriteRuleSubtreeStream stream_formal_parameter_list = new RewriteRuleSubtreeStream(adaptor, "rule formal_parameter_list");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2705:3: ( IDENTIFIER OPEN_PARENS ( formal_parameter_list )? CLOSE_PARENS ( constructor_initializer )? body -> ^( CONSTRUCTOR_DECL IDENTIFIER ( formal_parameter_list )? ( constructor_initializer )? body ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2705:5: IDENTIFIER OPEN_PARENS ( formal_parameter_list )? CLOSE_PARENS ( constructor_initializer )? body
{
IDENTIFIER1523 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_constructor_declaration213143);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_IDENTIFIER.add(IDENTIFIER1523);
}
OPEN_PARENS1524 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_constructor_declaration213145);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_OPEN_PARENS.add(OPEN_PARENS1524);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2705:28: ( formal_parameter_list )?
int alt365 = 2;
int LA365_0 = input.LA(1);
if ((LA365_0 == BOOL || LA365_0 == BYTE || LA365_0 == CHAR || LA365_0 == DECIMAL || LA365_0 == DOUBLE || LA365_0 == FLOAT || LA365_0 == IDENTIFIER || LA365_0 == INT || LA365_0 == LONG || LA365_0 == OBJECT || LA365_0 == OPEN_BRACKET || LA365_0 == OUT || LA365_0 == PARAMS || LA365_0 == REF || LA365_0 == SBYTE || LA365_0 == SHORT || LA365_0 == STRING || LA365_0 == THIS || (LA365_0 >= UINT && LA365_0 <= ULONG) || LA365_0 == USHORT || LA365_0 == VOID)) {
alt365 = 1;
}
switch (alt365) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2705:28: formal_parameter_list
{
pushFollow(FOLLOW_formal_parameter_list_in_constructor_declaration213147);
formal_parameter_list1525 = formal_parameter_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_formal_parameter_list.add(formal_parameter_list1525.getTree());
}
}
break;
}
CLOSE_PARENS1526 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_constructor_declaration213150);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_CLOSE_PARENS.add(CLOSE_PARENS1526);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2705:64: ( constructor_initializer )?
int alt366 = 2;
int LA366_0 = input.LA(1);
if ((LA366_0 == COLON)) {
alt366 = 1;
}
switch (alt366) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2705:64: constructor_initializer
{
pushFollow(FOLLOW_constructor_initializer_in_constructor_declaration213152);
constructor_initializer1527 = constructor_initializer();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_constructor_initializer.add(constructor_initializer1527.getTree());
}
}
break;
}
pushFollow(FOLLOW_body_in_constructor_declaration213155);
body1528 = body();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_body.add(body1528.getTree());
}
// AST REWRITE
// elements: IDENTIFIER, constructor_initializer, body, formal_parameter_list
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 2706:5: -> ^( CONSTRUCTOR_DECL IDENTIFIER ( formal_parameter_list )? ( constructor_initializer )? body )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2706:8: ^( CONSTRUCTOR_DECL IDENTIFIER ( formal_parameter_list )? ( constructor_initializer )? body )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(CONSTRUCTOR_DECL, "CONSTRUCTOR_DECL"), root_1);
adaptor.addChild(root_1,
stream_IDENTIFIER.nextNode());
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2706:40: ( formal_parameter_list )?
if (stream_formal_parameter_list.hasNext()) {
adaptor.addChild(root_1, stream_formal_parameter_list.nextTree());
}
stream_formal_parameter_list.reset();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2706:63: ( constructor_initializer )?
if (stream_constructor_initializer.hasNext()) {
adaptor.addChild(root_1, stream_constructor_initializer.nextTree());
}
stream_constructor_initializer.reset();
adaptor.addChild(root_1, stream_body.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "constructor_declaration2"
public static class method_declaration2_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "method_declaration2"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2708:1: method_declaration2 : method_member_name ( type_parameter_list )? OPEN_PARENS ( formal_parameter_list )? CLOSE_PARENS ( type_parameter_constraints_clauses )? method_body -> ^( METHOD_DECL method_member_name ( type_parameter_list )? ( formal_parameter_list )? ( type_parameter_constraints_clauses )? ( method_body )? ) ;
public final CSharpParser.method_declaration2_return method_declaration2() throws RecognitionException {
CSharpParser.method_declaration2_return retval = new CSharpParser.method_declaration2_return();
retval.start = input.LT(1);
Object root_0 = null;
Token OPEN_PARENS1531 = null;
Token CLOSE_PARENS1533 = null;
CSharpParser.method_member_name_return method_member_name1529 = null;
CSharpParser.type_parameter_list_return type_parameter_list1530 = null;
CSharpParser.formal_parameter_list_return formal_parameter_list1532 = null;
CSharpParser.type_parameter_constraints_clauses_return type_parameter_constraints_clauses1534 = null;
CSharpParser.method_body_return method_body1535 = null;
Object OPEN_PARENS1531_tree = null;
Object CLOSE_PARENS1533_tree = null;
RewriteRuleTokenStream stream_OPEN_PARENS = new RewriteRuleTokenStream(adaptor, "token OPEN_PARENS");
RewriteRuleTokenStream stream_CLOSE_PARENS = new RewriteRuleTokenStream(adaptor, "token CLOSE_PARENS");
RewriteRuleSubtreeStream stream_type_parameter_list = new RewriteRuleSubtreeStream(adaptor, "rule type_parameter_list");
RewriteRuleSubtreeStream stream_type_parameter_constraints_clauses = new RewriteRuleSubtreeStream(adaptor, "rule type_parameter_constraints_clauses");
RewriteRuleSubtreeStream stream_formal_parameter_list = new RewriteRuleSubtreeStream(adaptor, "rule formal_parameter_list");
RewriteRuleSubtreeStream stream_method_body = new RewriteRuleSubtreeStream(adaptor, "rule method_body");
RewriteRuleSubtreeStream stream_method_member_name = new RewriteRuleSubtreeStream(adaptor, "rule method_member_name");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2709:3: ( method_member_name ( type_parameter_list )? OPEN_PARENS ( formal_parameter_list )? CLOSE_PARENS ( type_parameter_constraints_clauses )? method_body -> ^( METHOD_DECL method_member_name ( type_parameter_list )? ( formal_parameter_list )? ( type_parameter_constraints_clauses )? ( method_body )? ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2709:5: method_member_name ( type_parameter_list )? OPEN_PARENS ( formal_parameter_list )? CLOSE_PARENS ( type_parameter_constraints_clauses )? method_body
{
pushFollow(FOLLOW_method_member_name_in_method_declaration213190);
method_member_name1529 = method_member_name();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_method_member_name.add(method_member_name1529.getTree());
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2709:24: ( type_parameter_list )?
int alt367 = 2;
int LA367_0 = input.LA(1);
if ((LA367_0 == LT)) {
alt367 = 1;
}
switch (alt367) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2709:24: type_parameter_list
{
pushFollow(FOLLOW_type_parameter_list_in_method_declaration213192);
type_parameter_list1530 = type_parameter_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_type_parameter_list.add(type_parameter_list1530.getTree());
}
}
break;
}
OPEN_PARENS1531 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_method_declaration213195);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_OPEN_PARENS.add(OPEN_PARENS1531);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2709:57: ( formal_parameter_list )?
int alt368 = 2;
int LA368_0 = input.LA(1);
if ((LA368_0 == BOOL || LA368_0 == BYTE || LA368_0 == CHAR || LA368_0 == DECIMAL || LA368_0 == DOUBLE || LA368_0 == FLOAT || LA368_0 == IDENTIFIER || LA368_0 == INT || LA368_0 == LONG || LA368_0 == OBJECT || LA368_0 == OPEN_BRACKET || LA368_0 == OUT || LA368_0 == PARAMS || LA368_0 == REF || LA368_0 == SBYTE || LA368_0 == SHORT || LA368_0 == STRING || LA368_0 == THIS || (LA368_0 >= UINT && LA368_0 <= ULONG) || LA368_0 == USHORT || LA368_0 == VOID)) {
alt368 = 1;
}
switch (alt368) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2709:57: formal_parameter_list
{
pushFollow(FOLLOW_formal_parameter_list_in_method_declaration213197);
formal_parameter_list1532 = formal_parameter_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_formal_parameter_list.add(formal_parameter_list1532.getTree());
}
}
break;
}
CLOSE_PARENS1533 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_method_declaration213200);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_CLOSE_PARENS.add(CLOSE_PARENS1533);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2710:7: ( type_parameter_constraints_clauses )?
int alt369 = 2;
int LA369_0 = input.LA(1);
if ((LA369_0 == IDENTIFIER)) {
alt369 = 1;
}
switch (alt369) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2710:7: type_parameter_constraints_clauses
{
pushFollow(FOLLOW_type_parameter_constraints_clauses_in_method_declaration213208);
type_parameter_constraints_clauses1534 = type_parameter_constraints_clauses();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_type_parameter_constraints_clauses.add(type_parameter_constraints_clauses1534.getTree());
}
}
break;
}
pushFollow(FOLLOW_method_body_in_method_declaration213211);
method_body1535 = method_body();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_method_body.add(method_body1535.getTree());
}
// AST REWRITE
// elements: type_parameter_list, method_member_name, formal_parameter_list, method_body, type_parameter_constraints_clauses
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 2711:5: -> ^( METHOD_DECL method_member_name ( type_parameter_list )? ( formal_parameter_list )? ( type_parameter_constraints_clauses )? ( method_body )? )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2711:8: ^( METHOD_DECL method_member_name ( type_parameter_list )? ( formal_parameter_list )? ( type_parameter_constraints_clauses )? ( method_body )? )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(METHOD_DECL, "METHOD_DECL"), root_1);
adaptor.addChild(root_1, stream_method_member_name.nextTree());
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2711:43: ( type_parameter_list )?
if (stream_type_parameter_list.hasNext()) {
adaptor.addChild(root_1, stream_type_parameter_list.nextTree());
}
stream_type_parameter_list.reset();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2711:65: ( formal_parameter_list )?
if (stream_formal_parameter_list.hasNext()) {
adaptor.addChild(root_1, stream_formal_parameter_list.nextTree());
}
stream_formal_parameter_list.reset();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2712:13: ( type_parameter_constraints_clauses )?
if (stream_type_parameter_constraints_clauses.hasNext()) {
adaptor.addChild(root_1, stream_type_parameter_constraints_clauses.nextTree());
}
stream_type_parameter_constraints_clauses.reset();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2712:51: ( method_body )?
if (stream_method_body.hasNext()) {
adaptor.addChild(root_1, stream_method_body.nextTree());
}
stream_method_body.reset();
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "method_declaration2"
public static class method_member_name_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "method_member_name"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2715:1: method_member_name : method_member_name2 -> ^( MEMBER_NAME ^( NAMESPACE_OR_TYPE_NAME method_member_name2 ) ) ;
public final CSharpParser.method_member_name_return method_member_name() throws RecognitionException {
CSharpParser.method_member_name_return retval = new CSharpParser.method_member_name_return();
retval.start = input.LT(1);
Object root_0 = null;
CSharpParser.method_member_name2_return method_member_name21536 = null;
RewriteRuleSubtreeStream stream_method_member_name2 = new RewriteRuleSubtreeStream(adaptor, "rule method_member_name2");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2716:3: ( method_member_name2 -> ^( MEMBER_NAME ^( NAMESPACE_OR_TYPE_NAME method_member_name2 ) ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2716:5: method_member_name2
{
pushFollow(FOLLOW_method_member_name2_in_method_member_name13268);
method_member_name21536 = method_member_name2();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_method_member_name2.add(method_member_name21536.getTree());
}
// AST REWRITE
// elements: method_member_name2
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 2716:25: -> ^( MEMBER_NAME ^( NAMESPACE_OR_TYPE_NAME method_member_name2 ) )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2716:28: ^( MEMBER_NAME ^( NAMESPACE_OR_TYPE_NAME method_member_name2 ) )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(MEMBER_NAME, "MEMBER_NAME"), root_1);
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2716:42: ^( NAMESPACE_OR_TYPE_NAME method_member_name2 )
{
Object root_2 = adaptor.nil();
root_2 = adaptor.becomeRoot(
adaptor.create(NAMESPACE_OR_TYPE_NAME, "NAMESPACE_OR_TYPE_NAME"), root_2);
adaptor.addChild(root_2, stream_method_member_name2.nextTree());
adaptor.addChild(root_1, root_2);
}
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "method_member_name"
public static class method_member_name2_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "method_member_name2"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2718:1: method_member_name2 : ( IDENTIFIER | IDENTIFIER DOUBLE_COLON IDENTIFIER ) ( type_argument_list_opt DOT IDENTIFIER )* ;
public final CSharpParser.method_member_name2_return method_member_name2() throws RecognitionException {
CSharpParser.method_member_name2_return retval = new CSharpParser.method_member_name2_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER1537 = null;
Token IDENTIFIER1538 = null;
Token DOUBLE_COLON1539 = null;
Token IDENTIFIER1540 = null;
Token DOT1542 = null;
Token IDENTIFIER1543 = null;
CSharpParser.type_argument_list_opt_return type_argument_list_opt1541 = null;
Object IDENTIFIER1537_tree = null;
Object IDENTIFIER1538_tree = null;
Object DOUBLE_COLON1539_tree = null;
Object IDENTIFIER1540_tree = null;
Object DOT1542_tree = null;
Object IDENTIFIER1543_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2719:3: ( ( IDENTIFIER | IDENTIFIER DOUBLE_COLON IDENTIFIER ) ( type_argument_list_opt DOT IDENTIFIER )* )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2719:5: ( IDENTIFIER | IDENTIFIER DOUBLE_COLON IDENTIFIER ) ( type_argument_list_opt DOT IDENTIFIER )*
{
root_0 = adaptor.nil();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2719:5: ( IDENTIFIER | IDENTIFIER DOUBLE_COLON IDENTIFIER )
int alt370 = 2;
int LA370_0 = input.LA(1);
if ((LA370_0 == IDENTIFIER)) {
int LA370_1 = input.LA(2);
if ((LA370_1 == DOUBLE_COLON)) {
alt370 = 2;
} else if ((LA370_1 == DOT || LA370_1 == LT || LA370_1 == OPEN_PARENS)) {
alt370 = 1;
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 370, 1, input);
throw nvae;
}
} else {
if (state.backtracking > 0) {
state.failed = true;
return retval;
}
NoViableAltException nvae =
new NoViableAltException("", 370, 0, input);
throw nvae;
}
switch (alt370) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2719:7: IDENTIFIER
{
IDENTIFIER1537 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_method_member_name213294);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1537_tree =
adaptor.create(IDENTIFIER1537);
adaptor.addChild(root_0, IDENTIFIER1537_tree);
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2720:7: IDENTIFIER DOUBLE_COLON IDENTIFIER
{
IDENTIFIER1538 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_method_member_name213302);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1538_tree =
adaptor.create(IDENTIFIER1538);
adaptor.addChild(root_0, IDENTIFIER1538_tree);
}
DOUBLE_COLON1539 = (Token) match(input, DOUBLE_COLON, FOLLOW_DOUBLE_COLON_in_method_member_name213304);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
DOUBLE_COLON1539_tree =
adaptor.create(DOUBLE_COLON1539);
adaptor.addChild(root_0, DOUBLE_COLON1539_tree);
}
IDENTIFIER1540 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_method_member_name213306);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1540_tree =
adaptor.create(IDENTIFIER1540);
adaptor.addChild(root_0, IDENTIFIER1540_tree);
}
}
break;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2721:7: ( type_argument_list_opt DOT IDENTIFIER )*
loop371:
do {
int alt371 = 2;
alt371 = dfa371.predict(input);
switch (alt371) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2721:8: type_argument_list_opt DOT IDENTIFIER
{
pushFollow(FOLLOW_type_argument_list_opt_in_method_member_name213315);
type_argument_list_opt1541 = type_argument_list_opt();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type_argument_list_opt1541.getTree());
}
DOT1542 = (Token) match(input, DOT, FOLLOW_DOT_in_method_member_name213317);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
DOT1542_tree =
adaptor.create(DOT1542);
adaptor.addChild(root_0, DOT1542_tree);
}
IDENTIFIER1543 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_method_member_name213319);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1543_tree =
adaptor.create(IDENTIFIER1543);
adaptor.addChild(root_0, IDENTIFIER1543_tree);
}
}
break;
default:
break loop371;
}
} while (true);
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "method_member_name2"
public static class operator_declaration2_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "operator_declaration2"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2723:1: operator_declaration2 : OPERATOR overloadable_operator OPEN_PARENS t1= type id1= IDENTIFIER ( COMMA t2= type id2= IDENTIFIER )? CLOSE_PARENS operator_body -> ^( OPERATOR overloadable_operator ^( FIRST_OP $t1 $id1) ^( SECOND_OP ( $t2)? ( $id2)? ) operator_body ) ;
public final CSharpParser.operator_declaration2_return operator_declaration2() throws RecognitionException {
CSharpParser.operator_declaration2_return retval = new CSharpParser.operator_declaration2_return();
retval.start = input.LT(1);
Object root_0 = null;
Token id1 = null;
Token id2 = null;
Token OPERATOR1544 = null;
Token OPEN_PARENS1546 = null;
Token COMMA1547 = null;
Token CLOSE_PARENS1548 = null;
CSharpParser.type_return t1 = null;
CSharpParser.type_return t2 = null;
CSharpParser.overloadable_operator_return overloadable_operator1545 = null;
CSharpParser.operator_body_return operator_body1549 = null;
Object id1_tree = null;
Object id2_tree = null;
Object OPERATOR1544_tree = null;
Object OPEN_PARENS1546_tree = null;
Object COMMA1547_tree = null;
Object CLOSE_PARENS1548_tree = null;
RewriteRuleTokenStream stream_COMMA = new RewriteRuleTokenStream(adaptor, "token COMMA");
RewriteRuleTokenStream stream_OPERATOR = new RewriteRuleTokenStream(adaptor, "token OPERATOR");
RewriteRuleTokenStream stream_IDENTIFIER = new RewriteRuleTokenStream(adaptor, "token IDENTIFIER");
RewriteRuleTokenStream stream_OPEN_PARENS = new RewriteRuleTokenStream(adaptor, "token OPEN_PARENS");
RewriteRuleTokenStream stream_CLOSE_PARENS = new RewriteRuleTokenStream(adaptor, "token CLOSE_PARENS");
RewriteRuleSubtreeStream stream_operator_body = new RewriteRuleSubtreeStream(adaptor, "rule operator_body");
RewriteRuleSubtreeStream stream_type = new RewriteRuleSubtreeStream(adaptor, "rule type");
RewriteRuleSubtreeStream stream_overloadable_operator = new RewriteRuleSubtreeStream(adaptor, "rule overloadable_operator");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2724:3: ( OPERATOR overloadable_operator OPEN_PARENS t1= type id1= IDENTIFIER ( COMMA t2= type id2= IDENTIFIER )? CLOSE_PARENS operator_body -> ^( OPERATOR overloadable_operator ^( FIRST_OP $t1 $id1) ^( SECOND_OP ( $t2)? ( $id2)? ) operator_body ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2724:5: OPERATOR overloadable_operator OPEN_PARENS t1= type id1= IDENTIFIER ( COMMA t2= type id2= IDENTIFIER )? CLOSE_PARENS operator_body
{
OPERATOR1544 = (Token) match(input, OPERATOR, FOLLOW_OPERATOR_in_operator_declaration213333);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_OPERATOR.add(OPERATOR1544);
}
pushFollow(FOLLOW_overloadable_operator_in_operator_declaration213335);
overloadable_operator1545 = overloadable_operator();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_overloadable_operator.add(overloadable_operator1545.getTree());
}
OPEN_PARENS1546 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_operator_declaration213337);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_OPEN_PARENS.add(OPEN_PARENS1546);
}
pushFollow(FOLLOW_type_in_operator_declaration213341);
t1 = type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_type.add(t1.getTree());
}
id1 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_operator_declaration213345);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_IDENTIFIER.add(id1);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2725:10: ( COMMA t2= type id2= IDENTIFIER )?
int alt372 = 2;
int LA372_0 = input.LA(1);
if ((LA372_0 == COMMA)) {
alt372 = 1;
}
switch (alt372) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2725:11: COMMA t2= type id2= IDENTIFIER
{
COMMA1547 = (Token) match(input, COMMA, FOLLOW_COMMA_in_operator_declaration213357);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_COMMA.add(COMMA1547);
}
pushFollow(FOLLOW_type_in_operator_declaration213361);
t2 = type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_type.add(t2.getTree());
}
id2 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_operator_declaration213365);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_IDENTIFIER.add(id2);
}
}
break;
}
CLOSE_PARENS1548 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_operator_declaration213369);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_CLOSE_PARENS.add(CLOSE_PARENS1548);
}
pushFollow(FOLLOW_operator_body_in_operator_declaration213371);
operator_body1549 = operator_body();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_operator_body.add(operator_body1549.getTree());
}
// AST REWRITE
// elements: t1, overloadable_operator, OPERATOR, t2, operator_body, id2, id1
// token labels: id2, id1
// rule labels: t2, retval, t1
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleTokenStream stream_id2 = new RewriteRuleTokenStream(adaptor, "token id2", id2);
RewriteRuleTokenStream stream_id1 = new RewriteRuleTokenStream(adaptor, "token id1", id1);
RewriteRuleSubtreeStream stream_t2 = new RewriteRuleSubtreeStream(adaptor, "rule t2", t2 != null ? t2.tree : null);
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
RewriteRuleSubtreeStream stream_t1 = new RewriteRuleSubtreeStream(adaptor, "rule t1", t1 != null ? t1.tree : null);
root_0 = adaptor.nil();
// 2726:5: -> ^( OPERATOR overloadable_operator ^( FIRST_OP $t1 $id1) ^( SECOND_OP ( $t2)? ( $id2)? ) operator_body )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2726:8: ^( OPERATOR overloadable_operator ^( FIRST_OP $t1 $id1) ^( SECOND_OP ( $t2)? ( $id2)? ) operator_body )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
stream_OPERATOR.nextNode(), root_1);
adaptor.addChild(root_1, stream_overloadable_operator.nextTree());
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2726:41: ^( FIRST_OP $t1 $id1)
{
Object root_2 = adaptor.nil();
root_2 = adaptor.becomeRoot(
adaptor.create(FIRST_OP, "FIRST_OP"), root_2);
adaptor.addChild(root_2, stream_t1.nextTree());
adaptor.addChild(root_2, stream_id1.nextNode());
adaptor.addChild(root_1, root_2);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2726:62: ^( SECOND_OP ( $t2)? ( $id2)? )
{
Object root_2 = adaptor.nil();
root_2 = adaptor.becomeRoot(
adaptor.create(SECOND_OP, "SECOND_OP"), root_2);
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2726:75: ( $t2)?
if (stream_t2.hasNext()) {
adaptor.addChild(root_2, stream_t2.nextTree());
}
stream_t2.reset();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2726:80: ( $id2)?
if (stream_id2.hasNext()) {
adaptor.addChild(root_2, stream_id2.nextNode());
}
stream_id2.reset();
adaptor.addChild(root_1, root_2);
}
adaptor.addChild(root_1, stream_operator_body.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "operator_declaration2"
public static class interface_method_declaration2_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "interface_method_declaration2"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2729:1: interface_method_declaration2 : IDENTIFIER ( type_parameter_list )? OPEN_PARENS ( formal_parameter_list )? CLOSE_PARENS ( type_parameter_constraints_clauses )? SEMICOLON -> ^( METHOD_DECL ^( MEMBER_NAME ^( NAMESPACE_OR_TYPE_NAME IDENTIFIER ) ) ( type_parameter_list )? ( formal_parameter_list )? ( type_parameter_constraints_clauses )? ) ;
public final CSharpParser.interface_method_declaration2_return interface_method_declaration2() throws RecognitionException {
CSharpParser.interface_method_declaration2_return retval = new CSharpParser.interface_method_declaration2_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER1550 = null;
Token OPEN_PARENS1552 = null;
Token CLOSE_PARENS1554 = null;
Token SEMICOLON1556 = null;
CSharpParser.type_parameter_list_return type_parameter_list1551 = null;
CSharpParser.formal_parameter_list_return formal_parameter_list1553 = null;
CSharpParser.type_parameter_constraints_clauses_return type_parameter_constraints_clauses1555 = null;
Object IDENTIFIER1550_tree = null;
Object OPEN_PARENS1552_tree = null;
Object CLOSE_PARENS1554_tree = null;
Object SEMICOLON1556_tree = null;
RewriteRuleTokenStream stream_SEMICOLON = new RewriteRuleTokenStream(adaptor, "token SEMICOLON");
RewriteRuleTokenStream stream_IDENTIFIER = new RewriteRuleTokenStream(adaptor, "token IDENTIFIER");
RewriteRuleTokenStream stream_OPEN_PARENS = new RewriteRuleTokenStream(adaptor, "token OPEN_PARENS");
RewriteRuleTokenStream stream_CLOSE_PARENS = new RewriteRuleTokenStream(adaptor, "token CLOSE_PARENS");
RewriteRuleSubtreeStream stream_type_parameter_list = new RewriteRuleSubtreeStream(adaptor, "rule type_parameter_list");
RewriteRuleSubtreeStream stream_type_parameter_constraints_clauses = new RewriteRuleSubtreeStream(adaptor, "rule type_parameter_constraints_clauses");
RewriteRuleSubtreeStream stream_formal_parameter_list = new RewriteRuleSubtreeStream(adaptor, "rule formal_parameter_list");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2730:3: ( IDENTIFIER ( type_parameter_list )? OPEN_PARENS ( formal_parameter_list )? CLOSE_PARENS ( type_parameter_constraints_clauses )? SEMICOLON -> ^( METHOD_DECL ^( MEMBER_NAME ^( NAMESPACE_OR_TYPE_NAME IDENTIFIER ) ) ( type_parameter_list )? ( formal_parameter_list )? ( type_parameter_constraints_clauses )? ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2730:5: IDENTIFIER ( type_parameter_list )? OPEN_PARENS ( formal_parameter_list )? CLOSE_PARENS ( type_parameter_constraints_clauses )? SEMICOLON
{
IDENTIFIER1550 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_interface_method_declaration213420);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_IDENTIFIER.add(IDENTIFIER1550);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2730:16: ( type_parameter_list )?
int alt373 = 2;
int LA373_0 = input.LA(1);
if ((LA373_0 == LT)) {
alt373 = 1;
}
switch (alt373) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2730:16: type_parameter_list
{
pushFollow(FOLLOW_type_parameter_list_in_interface_method_declaration213422);
type_parameter_list1551 = type_parameter_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_type_parameter_list.add(type_parameter_list1551.getTree());
}
}
break;
}
OPEN_PARENS1552 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_interface_method_declaration213425);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_OPEN_PARENS.add(OPEN_PARENS1552);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2730:49: ( formal_parameter_list )?
int alt374 = 2;
int LA374_0 = input.LA(1);
if ((LA374_0 == BOOL || LA374_0 == BYTE || LA374_0 == CHAR || LA374_0 == DECIMAL || LA374_0 == DOUBLE || LA374_0 == FLOAT || LA374_0 == IDENTIFIER || LA374_0 == INT || LA374_0 == LONG || LA374_0 == OBJECT || LA374_0 == OPEN_BRACKET || LA374_0 == OUT || LA374_0 == PARAMS || LA374_0 == REF || LA374_0 == SBYTE || LA374_0 == SHORT || LA374_0 == STRING || LA374_0 == THIS || (LA374_0 >= UINT && LA374_0 <= ULONG) || LA374_0 == USHORT || LA374_0 == VOID)) {
alt374 = 1;
}
switch (alt374) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2730:49: formal_parameter_list
{
pushFollow(FOLLOW_formal_parameter_list_in_interface_method_declaration213427);
formal_parameter_list1553 = formal_parameter_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_formal_parameter_list.add(formal_parameter_list1553.getTree());
}
}
break;
}
CLOSE_PARENS1554 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_interface_method_declaration213430);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_CLOSE_PARENS.add(CLOSE_PARENS1554);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2730:85: ( type_parameter_constraints_clauses )?
int alt375 = 2;
int LA375_0 = input.LA(1);
if ((LA375_0 == IDENTIFIER)) {
alt375 = 1;
}
switch (alt375) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2730:85: type_parameter_constraints_clauses
{
pushFollow(FOLLOW_type_parameter_constraints_clauses_in_interface_method_declaration213432);
type_parameter_constraints_clauses1555 = type_parameter_constraints_clauses();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_type_parameter_constraints_clauses.add(type_parameter_constraints_clauses1555.getTree());
}
}
break;
}
SEMICOLON1556 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_interface_method_declaration213435);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_SEMICOLON.add(SEMICOLON1556);
}
// AST REWRITE
// elements: type_parameter_constraints_clauses, formal_parameter_list, IDENTIFIER, type_parameter_list
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 2731:5: -> ^( METHOD_DECL ^( MEMBER_NAME ^( NAMESPACE_OR_TYPE_NAME IDENTIFIER ) ) ( type_parameter_list )? ( formal_parameter_list )? ( type_parameter_constraints_clauses )? )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2731:8: ^( METHOD_DECL ^( MEMBER_NAME ^( NAMESPACE_OR_TYPE_NAME IDENTIFIER ) ) ( type_parameter_list )? ( formal_parameter_list )? ( type_parameter_constraints_clauses )? )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(METHOD_DECL, "METHOD_DECL"), root_1);
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2731:22: ^( MEMBER_NAME ^( NAMESPACE_OR_TYPE_NAME IDENTIFIER ) )
{
Object root_2 = adaptor.nil();
root_2 = adaptor.becomeRoot(
adaptor.create(MEMBER_NAME, "MEMBER_NAME"), root_2);
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2731:36: ^( NAMESPACE_OR_TYPE_NAME IDENTIFIER )
{
Object root_3 = adaptor.nil();
root_3 = adaptor.becomeRoot(
adaptor.create(NAMESPACE_OR_TYPE_NAME, "NAMESPACE_OR_TYPE_NAME"), root_3);
adaptor.addChild(root_3,
stream_IDENTIFIER.nextNode());
adaptor.addChild(root_2, root_3);
}
adaptor.addChild(root_1, root_2);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2731:75: ( type_parameter_list )?
if (stream_type_parameter_list.hasNext()) {
adaptor.addChild(root_1, stream_type_parameter_list.nextTree());
}
stream_type_parameter_list.reset();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2731:97: ( formal_parameter_list )?
if (stream_formal_parameter_list.hasNext()) {
adaptor.addChild(root_1, stream_formal_parameter_list.nextTree());
}
stream_formal_parameter_list.reset();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2731:122: ( type_parameter_constraints_clauses )?
if (stream_type_parameter_constraints_clauses.hasNext()) {
adaptor.addChild(root_1, stream_type_parameter_constraints_clauses.nextTree());
}
stream_type_parameter_constraints_clauses.reset();
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "interface_method_declaration2"
public static class interface_property_declaration2_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "interface_property_declaration2"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2733:1: interface_property_declaration2 : IDENTIFIER OPEN_BRACE interface_accessors CLOSE_BRACE -> ^( PROPERTY_DECL ^( MEMBER_NAME ^( NAMESPACE_OR_TYPE_NAME IDENTIFIER ) ) interface_accessors ) ;
public final CSharpParser.interface_property_declaration2_return interface_property_declaration2() throws RecognitionException {
CSharpParser.interface_property_declaration2_return retval = new CSharpParser.interface_property_declaration2_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER1557 = null;
Token OPEN_BRACE1558 = null;
Token CLOSE_BRACE1560 = null;
CSharpParser.interface_accessors_return interface_accessors1559 = null;
Object IDENTIFIER1557_tree = null;
Object OPEN_BRACE1558_tree = null;
Object CLOSE_BRACE1560_tree = null;
RewriteRuleTokenStream stream_CLOSE_BRACE = new RewriteRuleTokenStream(adaptor, "token CLOSE_BRACE");
RewriteRuleTokenStream stream_OPEN_BRACE = new RewriteRuleTokenStream(adaptor, "token OPEN_BRACE");
RewriteRuleTokenStream stream_IDENTIFIER = new RewriteRuleTokenStream(adaptor, "token IDENTIFIER");
RewriteRuleSubtreeStream stream_interface_accessors = new RewriteRuleSubtreeStream(adaptor, "rule interface_accessors");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2734:3: ( IDENTIFIER OPEN_BRACE interface_accessors CLOSE_BRACE -> ^( PROPERTY_DECL ^( MEMBER_NAME ^( NAMESPACE_OR_TYPE_NAME IDENTIFIER ) ) interface_accessors ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2734:5: IDENTIFIER OPEN_BRACE interface_accessors CLOSE_BRACE
{
IDENTIFIER1557 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_interface_property_declaration213480);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_IDENTIFIER.add(IDENTIFIER1557);
}
OPEN_BRACE1558 = (Token) match(input, OPEN_BRACE, FOLLOW_OPEN_BRACE_in_interface_property_declaration213482);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_OPEN_BRACE.add(OPEN_BRACE1558);
}
pushFollow(FOLLOW_interface_accessors_in_interface_property_declaration213484);
interface_accessors1559 = interface_accessors();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_interface_accessors.add(interface_accessors1559.getTree());
}
CLOSE_BRACE1560 = (Token) match(input, CLOSE_BRACE, FOLLOW_CLOSE_BRACE_in_interface_property_declaration213486);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_CLOSE_BRACE.add(CLOSE_BRACE1560);
}
// AST REWRITE
// elements: interface_accessors, IDENTIFIER
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 2735:5: -> ^( PROPERTY_DECL ^( MEMBER_NAME ^( NAMESPACE_OR_TYPE_NAME IDENTIFIER ) ) interface_accessors )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2735:8: ^( PROPERTY_DECL ^( MEMBER_NAME ^( NAMESPACE_OR_TYPE_NAME IDENTIFIER ) ) interface_accessors )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(PROPERTY_DECL, "PROPERTY_DECL"), root_1);
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2735:24: ^( MEMBER_NAME ^( NAMESPACE_OR_TYPE_NAME IDENTIFIER ) )
{
Object root_2 = adaptor.nil();
root_2 = adaptor.becomeRoot(
adaptor.create(MEMBER_NAME, "MEMBER_NAME"), root_2);
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2735:38: ^( NAMESPACE_OR_TYPE_NAME IDENTIFIER )
{
Object root_3 = adaptor.nil();
root_3 = adaptor.becomeRoot(
adaptor.create(NAMESPACE_OR_TYPE_NAME, "NAMESPACE_OR_TYPE_NAME"), root_3);
adaptor.addChild(root_3,
stream_IDENTIFIER.nextNode());
adaptor.addChild(root_2, root_3);
}
adaptor.addChild(root_1, root_2);
}
adaptor.addChild(root_1, stream_interface_accessors.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "interface_property_declaration2"
public static class interface_event_declaration2_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "interface_event_declaration2"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2737:1: interface_event_declaration2 : EVENT type IDENTIFIER SEMICOLON -> ^( EVENT_INTERFACE_DECL type IDENTIFIER ) ;
public final CSharpParser.interface_event_declaration2_return interface_event_declaration2() throws RecognitionException {
CSharpParser.interface_event_declaration2_return retval = new CSharpParser.interface_event_declaration2_return();
retval.start = input.LT(1);
Object root_0 = null;
Token EVENT1561 = null;
Token IDENTIFIER1563 = null;
Token SEMICOLON1564 = null;
CSharpParser.type_return type1562 = null;
Object EVENT1561_tree = null;
Object IDENTIFIER1563_tree = null;
Object SEMICOLON1564_tree = null;
RewriteRuleTokenStream stream_SEMICOLON = new RewriteRuleTokenStream(adaptor, "token SEMICOLON");
RewriteRuleTokenStream stream_EVENT = new RewriteRuleTokenStream(adaptor, "token EVENT");
RewriteRuleTokenStream stream_IDENTIFIER = new RewriteRuleTokenStream(adaptor, "token IDENTIFIER");
RewriteRuleSubtreeStream stream_type = new RewriteRuleSubtreeStream(adaptor, "rule type");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2738:3: ( EVENT type IDENTIFIER SEMICOLON -> ^( EVENT_INTERFACE_DECL type IDENTIFIER ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2738:5: EVENT type IDENTIFIER SEMICOLON
{
EVENT1561 = (Token) match(input, EVENT, FOLLOW_EVENT_in_interface_event_declaration213521);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_EVENT.add(EVENT1561);
}
pushFollow(FOLLOW_type_in_interface_event_declaration213523);
type1562 = type();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_type.add(type1562.getTree());
}
IDENTIFIER1563 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_interface_event_declaration213525);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_IDENTIFIER.add(IDENTIFIER1563);
}
SEMICOLON1564 = (Token) match(input, SEMICOLON, FOLLOW_SEMICOLON_in_interface_event_declaration213527);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_SEMICOLON.add(SEMICOLON1564);
}
// AST REWRITE
// elements: IDENTIFIER, type
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 2738:37: -> ^( EVENT_INTERFACE_DECL type IDENTIFIER )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2738:40: ^( EVENT_INTERFACE_DECL type IDENTIFIER )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(EVENT_INTERFACE_DECL, "EVENT_INTERFACE_DECL"), root_1);
adaptor.addChild(root_1, stream_type.nextTree());
adaptor.addChild(root_1,
stream_IDENTIFIER.nextNode());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "interface_event_declaration2"
public static class interface_indexer_declaration2_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "interface_indexer_declaration2"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2740:1: interface_indexer_declaration2 : THIS OPEN_BRACKET formal_parameter_list CLOSE_BRACKET OPEN_BRACE interface_accessors CLOSE_BRACE -> ^( INDEXER_DECL formal_parameter_list interface_accessors ) ;
public final CSharpParser.interface_indexer_declaration2_return interface_indexer_declaration2() throws RecognitionException {
CSharpParser.interface_indexer_declaration2_return retval = new CSharpParser.interface_indexer_declaration2_return();
retval.start = input.LT(1);
Object root_0 = null;
Token THIS1565 = null;
Token OPEN_BRACKET1566 = null;
Token CLOSE_BRACKET1568 = null;
Token OPEN_BRACE1569 = null;
Token CLOSE_BRACE1571 = null;
CSharpParser.formal_parameter_list_return formal_parameter_list1567 = null;
CSharpParser.interface_accessors_return interface_accessors1570 = null;
Object THIS1565_tree = null;
Object OPEN_BRACKET1566_tree = null;
Object CLOSE_BRACKET1568_tree = null;
Object OPEN_BRACE1569_tree = null;
Object CLOSE_BRACE1571_tree = null;
RewriteRuleTokenStream stream_OPEN_BRACKET = new RewriteRuleTokenStream(adaptor, "token OPEN_BRACKET");
RewriteRuleTokenStream stream_CLOSE_BRACE = new RewriteRuleTokenStream(adaptor, "token CLOSE_BRACE");
RewriteRuleTokenStream stream_OPEN_BRACE = new RewriteRuleTokenStream(adaptor, "token OPEN_BRACE");
RewriteRuleTokenStream stream_THIS = new RewriteRuleTokenStream(adaptor, "token THIS");
RewriteRuleTokenStream stream_CLOSE_BRACKET = new RewriteRuleTokenStream(adaptor, "token CLOSE_BRACKET");
RewriteRuleSubtreeStream stream_formal_parameter_list = new RewriteRuleSubtreeStream(adaptor, "rule formal_parameter_list");
RewriteRuleSubtreeStream stream_interface_accessors = new RewriteRuleSubtreeStream(adaptor, "rule interface_accessors");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2741:3: ( THIS OPEN_BRACKET formal_parameter_list CLOSE_BRACKET OPEN_BRACE interface_accessors CLOSE_BRACE -> ^( INDEXER_DECL formal_parameter_list interface_accessors ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2741:5: THIS OPEN_BRACKET formal_parameter_list CLOSE_BRACKET OPEN_BRACE interface_accessors CLOSE_BRACE
{
THIS1565 = (Token) match(input, THIS, FOLLOW_THIS_in_interface_indexer_declaration213549);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_THIS.add(THIS1565);
}
OPEN_BRACKET1566 = (Token) match(input, OPEN_BRACKET, FOLLOW_OPEN_BRACKET_in_interface_indexer_declaration213551);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_OPEN_BRACKET.add(OPEN_BRACKET1566);
}
pushFollow(FOLLOW_formal_parameter_list_in_interface_indexer_declaration213553);
formal_parameter_list1567 = formal_parameter_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_formal_parameter_list.add(formal_parameter_list1567.getTree());
}
CLOSE_BRACKET1568 = (Token) match(input, CLOSE_BRACKET, FOLLOW_CLOSE_BRACKET_in_interface_indexer_declaration213555);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_CLOSE_BRACKET.add(CLOSE_BRACKET1568);
}
OPEN_BRACE1569 = (Token) match(input, OPEN_BRACE, FOLLOW_OPEN_BRACE_in_interface_indexer_declaration213557);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_OPEN_BRACE.add(OPEN_BRACE1569);
}
pushFollow(FOLLOW_interface_accessors_in_interface_indexer_declaration213559);
interface_accessors1570 = interface_accessors();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_interface_accessors.add(interface_accessors1570.getTree());
}
CLOSE_BRACE1571 = (Token) match(input, CLOSE_BRACE, FOLLOW_CLOSE_BRACE_in_interface_indexer_declaration213561);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_CLOSE_BRACE.add(CLOSE_BRACE1571);
}
// AST REWRITE
// elements: formal_parameter_list, interface_accessors
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 2742:5: -> ^( INDEXER_DECL formal_parameter_list interface_accessors )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2742:8: ^( INDEXER_DECL formal_parameter_list interface_accessors )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(INDEXER_DECL, "INDEXER_DECL"), root_1);
adaptor.addChild(root_1, stream_formal_parameter_list.nextTree());
adaptor.addChild(root_1, stream_interface_accessors.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "interface_indexer_declaration2"
public static class member_access2_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "member_access2"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2745:1: member_access2 : DOT ! IDENTIFIER type_argument_list_opt ;
public final CSharpParser.member_access2_return member_access2() throws RecognitionException {
CSharpParser.member_access2_return retval = new CSharpParser.member_access2_return();
retval.start = input.LT(1);
Object root_0 = null;
Token DOT1572 = null;
Token IDENTIFIER1573 = null;
CSharpParser.type_argument_list_opt_return type_argument_list_opt1574 = null;
Object DOT1572_tree = null;
Object IDENTIFIER1573_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2746:3: ( DOT ! IDENTIFIER type_argument_list_opt )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2746:5: DOT ! IDENTIFIER type_argument_list_opt
{
root_0 = adaptor.nil();
DOT1572 = (Token) match(input, DOT, FOLLOW_DOT_in_member_access213589);
if (state.failed) {
return retval;
}
IDENTIFIER1573 = (Token) match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_member_access213592);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
IDENTIFIER1573_tree =
adaptor.create(IDENTIFIER1573);
adaptor.addChild(root_0, IDENTIFIER1573_tree);
}
pushFollow(FOLLOW_type_argument_list_opt_in_member_access213594);
type_argument_list_opt1574 = type_argument_list_opt();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, type_argument_list_opt1574.getTree());
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "member_access2"
public static class method_invocation2_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "method_invocation2"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2748:1: method_invocation2 : OPEN_PARENS ! ( argument_list )? CLOSE_PARENS !;
public final CSharpParser.method_invocation2_return method_invocation2() throws RecognitionException {
CSharpParser.method_invocation2_return retval = new CSharpParser.method_invocation2_return();
retval.start = input.LT(1);
Object root_0 = null;
Token OPEN_PARENS1575 = null;
Token CLOSE_PARENS1577 = null;
CSharpParser.argument_list_return argument_list1576 = null;
Object OPEN_PARENS1575_tree = null;
Object CLOSE_PARENS1577_tree = null;
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2749:3: ( OPEN_PARENS ! ( argument_list )? CLOSE_PARENS !)
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2749:5: OPEN_PARENS ! ( argument_list )? CLOSE_PARENS !
{
root_0 = adaptor.nil();
OPEN_PARENS1575 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_method_invocation213606);
if (state.failed) {
return retval;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2749:18: ( argument_list )?
int alt376 = 2;
int LA376_0 = input.LA(1);
if ((LA376_0 == AMP || (LA376_0 >= BANG && LA376_0 <= BASE) || LA376_0 == BOOL || LA376_0 == BYTE || (LA376_0 >= CHAR && LA376_0 <= CHECKED) || LA376_0 == DECIMAL || (LA376_0 >= DEFAULT && LA376_0 <= DELEGATE) || LA376_0 == DOUBLE || LA376_0 == FALSE || LA376_0 == FLOAT || LA376_0 == IDENTIFIER || (LA376_0 >= INT && LA376_0 <= INTEGER_LITERAL) || LA376_0 == LONG || LA376_0 == MINUS || LA376_0 == NEW || LA376_0 == NULL || LA376_0 == OBJECT || LA376_0 == OPEN_PARENS || LA376_0 == OP_DEC || LA376_0 == OP_INC || LA376_0 == OUT || LA376_0 == PLUS || (LA376_0 >= REAL_LITERAL && LA376_0 <= REF) || LA376_0 == SBYTE || LA376_0 == SHORT || LA376_0 == SIZEOF || LA376_0 == STAR || (LA376_0 >= STRING && LA376_0 <= STRING_LITERAL) || LA376_0 == THIS || (LA376_0 >= TILDE && LA376_0 <= TRUE) || (LA376_0 >= TYPEOF && LA376_0 <= UNCHECKED) || LA376_0 == USHORT)) {
alt376 = 1;
}
switch (alt376) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2749:18: argument_list
{
pushFollow(FOLLOW_argument_list_in_method_invocation213609);
argument_list1576 = argument_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
adaptor.addChild(root_0, argument_list1576.getTree());
}
}
break;
}
CLOSE_PARENS1577 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_method_invocation213612);
if (state.failed) {
return retval;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "method_invocation2"
public static class object_creation_expression2_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() {
return tree;
}
};
// $ANTLR start "object_creation_expression2"
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2751:1: object_creation_expression2 : OPEN_PARENS ( argument_list )? CLOSE_PARENS ( object_or_collection_initializer )? -> ^( OBJECT_CREATION_EXPRESSION ( argument_list )? ( object_or_collection_initializer )? ) ;
public final CSharpParser.object_creation_expression2_return object_creation_expression2() throws RecognitionException {
CSharpParser.object_creation_expression2_return retval = new CSharpParser.object_creation_expression2_return();
retval.start = input.LT(1);
Object root_0 = null;
Token OPEN_PARENS1578 = null;
Token CLOSE_PARENS1580 = null;
CSharpParser.argument_list_return argument_list1579 = null;
CSharpParser.object_or_collection_initializer_return object_or_collection_initializer1581 = null;
Object OPEN_PARENS1578_tree = null;
Object CLOSE_PARENS1580_tree = null;
RewriteRuleTokenStream stream_OPEN_PARENS = new RewriteRuleTokenStream(adaptor, "token OPEN_PARENS");
RewriteRuleTokenStream stream_CLOSE_PARENS = new RewriteRuleTokenStream(adaptor, "token CLOSE_PARENS");
RewriteRuleSubtreeStream stream_argument_list = new RewriteRuleSubtreeStream(adaptor, "rule argument_list");
RewriteRuleSubtreeStream stream_object_or_collection_initializer = new RewriteRuleSubtreeStream(adaptor, "rule object_or_collection_initializer");
try {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2752:3: ( OPEN_PARENS ( argument_list )? CLOSE_PARENS ( object_or_collection_initializer )? -> ^( OBJECT_CREATION_EXPRESSION ( argument_list )? ( object_or_collection_initializer )? ) )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2752:5: OPEN_PARENS ( argument_list )? CLOSE_PARENS ( object_or_collection_initializer )?
{
OPEN_PARENS1578 = (Token) match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_object_creation_expression213625);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_OPEN_PARENS.add(OPEN_PARENS1578);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2752:17: ( argument_list )?
int alt377 = 2;
int LA377_0 = input.LA(1);
if ((LA377_0 == AMP || (LA377_0 >= BANG && LA377_0 <= BASE) || LA377_0 == BOOL || LA377_0 == BYTE || (LA377_0 >= CHAR && LA377_0 <= CHECKED) || LA377_0 == DECIMAL || (LA377_0 >= DEFAULT && LA377_0 <= DELEGATE) || LA377_0 == DOUBLE || LA377_0 == FALSE || LA377_0 == FLOAT || LA377_0 == IDENTIFIER || (LA377_0 >= INT && LA377_0 <= INTEGER_LITERAL) || LA377_0 == LONG || LA377_0 == MINUS || LA377_0 == NEW || LA377_0 == NULL || LA377_0 == OBJECT || LA377_0 == OPEN_PARENS || LA377_0 == OP_DEC || LA377_0 == OP_INC || LA377_0 == OUT || LA377_0 == PLUS || (LA377_0 >= REAL_LITERAL && LA377_0 <= REF) || LA377_0 == SBYTE || LA377_0 == SHORT || LA377_0 == SIZEOF || LA377_0 == STAR || (LA377_0 >= STRING && LA377_0 <= STRING_LITERAL) || LA377_0 == THIS || (LA377_0 >= TILDE && LA377_0 <= TRUE) || (LA377_0 >= TYPEOF && LA377_0 <= UNCHECKED) || LA377_0 == USHORT)) {
alt377 = 1;
}
switch (alt377) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2752:17: argument_list
{
pushFollow(FOLLOW_argument_list_in_object_creation_expression213627);
argument_list1579 = argument_list();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_argument_list.add(argument_list1579.getTree());
}
}
break;
}
CLOSE_PARENS1580 = (Token) match(input, CLOSE_PARENS, FOLLOW_CLOSE_PARENS_in_object_creation_expression213630);
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_CLOSE_PARENS.add(CLOSE_PARENS1580);
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2752:45: ( object_or_collection_initializer )?
int alt378 = 2;
int LA378_0 = input.LA(1);
if ((LA378_0 == OPEN_BRACE)) {
alt378 = 1;
}
switch (alt378) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2752:45: object_or_collection_initializer
{
pushFollow(FOLLOW_object_or_collection_initializer_in_object_creation_expression213632);
object_or_collection_initializer1581 = object_or_collection_initializer();
state._fsp--;
if (state.failed) {
return retval;
}
if (state.backtracking == 0) {
stream_object_or_collection_initializer.add(object_or_collection_initializer1581.getTree());
}
}
break;
}
// AST REWRITE
// elements: argument_list, object_or_collection_initializer
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if (state.backtracking == 0) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.tree : null);
root_0 = adaptor.nil();
// 2753:5: -> ^( OBJECT_CREATION_EXPRESSION ( argument_list )? ( object_or_collection_initializer )? )
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2753:8: ^( OBJECT_CREATION_EXPRESSION ( argument_list )? ( object_or_collection_initializer )? )
{
Object root_1 = adaptor.nil();
root_1 = adaptor.becomeRoot(
adaptor.create(OBJECT_CREATION_EXPRESSION, "OBJECT_CREATION_EXPRESSION"), root_1);
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2753:38: ( argument_list )?
if (stream_argument_list.hasNext()) {
adaptor.addChild(root_1, stream_argument_list.nextTree());
}
stream_argument_list.reset();
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2753:53: ( object_or_collection_initializer )?
if (stream_object_or_collection_initializer.hasNext()) {
adaptor.addChild(root_1, stream_object_or_collection_initializer.nextTree());
}
stream_object_or_collection_initializer.reset();
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
}
retval.stop = input.LT(-1);
if (state.backtracking == 0) {
retval.tree = adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
} catch (RecognitionException re) {
reportError(re);
recover(input, re);
retval.tree = adaptor.errorNode(input, retval.start, input.LT(-1), re);
} finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "object_creation_expression2"
// $ANTLR start synpred1_CSharpParser
public final void synpred1_CSharpParser_fragment() throws RecognitionException {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:181:5: ( type_argument_list )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:181:6: type_argument_list
{
pushFollow(FOLLOW_type_argument_list_in_synpred1_CSharpParser697);
type_argument_list();
state._fsp--;
if (state.failed) {
return;
}
}
}
// $ANTLR end synpred1_CSharpParser
// $ANTLR start synpred2_CSharpParser
public final void synpred2_CSharpParser_fragment() throws RecognitionException {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:200:7: ( INTERR )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:200:8: INTERR
{
match(input, INTERR, FOLLOW_INTERR_in_synpred2_CSharpParser760);
if (state.failed) {
return;
}
}
}
// $ANTLR end synpred2_CSharpParser
// $ANTLR start synpred3_CSharpParser
public final void synpred3_CSharpParser_fragment() throws RecognitionException {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:201:7: ( rank_specifier )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:201:8: rank_specifier
{
pushFollow(FOLLOW_rank_specifier_in_synpred3_CSharpParser794);
rank_specifier();
state._fsp--;
if (state.failed) {
return;
}
}
}
// $ANTLR end synpred3_CSharpParser
// $ANTLR start synpred4_CSharpParser
public final void synpred4_CSharpParser_fragment() throws RecognitionException {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:258:7: ( rank_specifier )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:258:8: rank_specifier
{
pushFollow(FOLLOW_rank_specifier_in_synpred4_CSharpParser1025);
rank_specifier();
state._fsp--;
if (state.failed) {
return;
}
}
}
// $ANTLR end synpred4_CSharpParser
// $ANTLR start synpred5_CSharpParser
public final void synpred5_CSharpParser_fragment() throws RecognitionException {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:593:11: ( array_type OPEN_BRACKET )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:593:12: array_type OPEN_BRACKET
{
pushFollow(FOLLOW_array_type_in_synpred5_CSharpParser2277);
array_type();
state._fsp--;
if (state.failed) {
return;
}
match(input, OPEN_BRACKET, FOLLOW_OPEN_BRACKET_in_synpred5_CSharpParser2279);
if (state.failed) {
return;
}
}
}
// $ANTLR end synpred5_CSharpParser
// $ANTLR start synpred6_CSharpParser
public final void synpred6_CSharpParser_fragment() throws RecognitionException {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:634:6: ( unbound_type_name )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:634:7: unbound_type_name
{
pushFollow(FOLLOW_unbound_type_name_in_synpred6_CSharpParser2468);
unbound_type_name();
state._fsp--;
if (state.failed) {
return;
}
}
}
// $ANTLR end synpred6_CSharpParser
// $ANTLR start synpred7_CSharpParser
public final void synpred7_CSharpParser_fragment() throws RecognitionException {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:684:4: ( scan_for_cast_generic_precedence | OPEN_PARENS predefined_type )
int alt379 = 2;
int LA379_0 = input.LA(1);
if ((LA379_0 == OPEN_PARENS)) {
switch (input.LA(2)) {
case BYTE:
case CHAR:
case INT:
case LONG:
case SBYTE:
case SHORT:
case UINT:
case ULONG:
case USHORT: {
int LA379_2 = input.LA(3);
if ((LA379_2 == CLOSE_PARENS || LA379_2 == INTERR || LA379_2 == OPEN_BRACKET || LA379_2 == STAR)) {
alt379 = 1;
} else if ((LA379_2 == EOF)) {
alt379 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return;
}
NoViableAltException nvae =
new NoViableAltException("", 379, 2, input);
throw nvae;
}
}
break;
case DOUBLE:
case FLOAT: {
int LA379_3 = input.LA(3);
if ((LA379_3 == CLOSE_PARENS || LA379_3 == INTERR || LA379_3 == OPEN_BRACKET || LA379_3 == STAR)) {
alt379 = 1;
} else if ((LA379_3 == EOF)) {
alt379 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return;
}
NoViableAltException nvae =
new NoViableAltException("", 379, 3, input);
throw nvae;
}
}
break;
case DECIMAL: {
int LA379_4 = input.LA(3);
if ((LA379_4 == CLOSE_PARENS || LA379_4 == INTERR || LA379_4 == OPEN_BRACKET || LA379_4 == STAR)) {
alt379 = 1;
} else if ((LA379_4 == EOF)) {
alt379 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return;
}
NoViableAltException nvae =
new NoViableAltException("", 379, 4, input);
throw nvae;
}
}
break;
case BOOL: {
int LA379_5 = input.LA(3);
if ((LA379_5 == CLOSE_PARENS || LA379_5 == INTERR || LA379_5 == OPEN_BRACKET || LA379_5 == STAR)) {
alt379 = 1;
} else if ((LA379_5 == EOF)) {
alt379 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return;
}
NoViableAltException nvae =
new NoViableAltException("", 379, 5, input);
throw nvae;
}
}
break;
case IDENTIFIER:
case VOID: {
alt379 = 1;
}
break;
case OBJECT: {
int LA379_7 = input.LA(3);
if ((LA379_7 == CLOSE_PARENS || LA379_7 == INTERR || LA379_7 == OPEN_BRACKET || LA379_7 == STAR)) {
alt379 = 1;
} else if ((LA379_7 == EOF)) {
alt379 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return;
}
NoViableAltException nvae =
new NoViableAltException("", 379, 7, input);
throw nvae;
}
}
break;
case STRING: {
int LA379_8 = input.LA(3);
if ((LA379_8 == CLOSE_PARENS || LA379_8 == INTERR || LA379_8 == OPEN_BRACKET || LA379_8 == STAR)) {
alt379 = 1;
} else if ((LA379_8 == EOF)) {
alt379 = 2;
} else {
if (state.backtracking > 0) {
state.failed = true;
return;
}
NoViableAltException nvae =
new NoViableAltException("", 379, 8, input);
throw nvae;
}
}
break;
default:
if (state.backtracking > 0) {
state.failed = true;
return;
}
NoViableAltException nvae =
new NoViableAltException("", 379, 1, input);
throw nvae;
}
} else {
if (state.backtracking > 0) {
state.failed = true;
return;
}
NoViableAltException nvae =
new NoViableAltException("", 379, 0, input);
throw nvae;
}
switch (alt379) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:684:5: scan_for_cast_generic_precedence
{
pushFollow(FOLLOW_scan_for_cast_generic_precedence_in_synpred7_CSharpParser2701);
scan_for_cast_generic_precedence();
state._fsp--;
if (state.failed) {
return;
}
}
break;
case 2: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:684:40: OPEN_PARENS predefined_type
{
match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_synpred7_CSharpParser2705);
if (state.failed) {
return;
}
pushFollow(FOLLOW_predefined_type_in_synpred7_CSharpParser2707);
predefined_type();
state._fsp--;
if (state.failed) {
return;
}
}
break;
}
}
// $ANTLR end synpred7_CSharpParser
// $ANTLR start synpred8_CSharpParser
public final void synpred8_CSharpParser_fragment() throws RecognitionException {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:755:31: ( INTERR is_disambiguation_token )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:755:32: INTERR is_disambiguation_token
{
match(input, INTERR, FOLLOW_INTERR_in_synpred8_CSharpParser3665);
if (state.failed) {
return;
}
pushFollow(FOLLOW_is_disambiguation_token_in_synpred8_CSharpParser3667);
is_disambiguation_token();
state._fsp--;
if (state.failed) {
return;
}
}
}
// $ANTLR end synpred8_CSharpParser
// $ANTLR start synpred9_CSharpParser
public final void synpred9_CSharpParser_fragment() throws RecognitionException {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:866:29: ( type IDENTIFIER IN )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:866:30: type IDENTIFIER IN
{
pushFollow(FOLLOW_type_in_synpred9_CSharpParser4378);
type();
state._fsp--;
if (state.failed) {
return;
}
match(input, IDENTIFIER, FOLLOW_IDENTIFIER_in_synpred9_CSharpParser4380);
if (state.failed) {
return;
}
match(input, IN, FOLLOW_IN_in_synpred9_CSharpParser4382);
if (state.failed) {
return;
}
}
}
// $ANTLR end synpred9_CSharpParser
// $ANTLR start synpred10_CSharpParser
public final void synpred10_CSharpParser_fragment() throws RecognitionException {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:874:49: ( into_contextual_keyword )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:874:50: into_contextual_keyword
{
pushFollow(FOLLOW_into_contextual_keyword_in_synpred10_CSharpParser4416);
into_contextual_keyword();
state._fsp--;
if (state.failed) {
return;
}
}
}
// $ANTLR end synpred10_CSharpParser
// $ANTLR start synpred11_CSharpParser
public final void synpred11_CSharpParser_fragment() throws RecognitionException {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:960:4: ( assignment )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:960:5: assignment
{
pushFollow(FOLLOW_assignment_in_synpred11_CSharpParser4846);
assignment();
state._fsp--;
if (state.failed) {
return;
}
}
}
// $ANTLR end synpred11_CSharpParser
// $ANTLR start synpred12_CSharpParser
public final void synpred12_CSharpParser_fragment() throws RecognitionException {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:964:4: ( lambda_expression )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:964:5: lambda_expression
{
pushFollow(FOLLOW_lambda_expression_in_synpred12_CSharpParser4871);
lambda_expression();
state._fsp--;
if (state.failed) {
return;
}
}
}
// $ANTLR end synpred12_CSharpParser
// $ANTLR start synpred13_CSharpParser
public final void synpred13_CSharpParser_fragment() throws RecognitionException {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:965:4: ( query_expression )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:965:5: query_expression
{
pushFollow(FOLLOW_query_expression_in_synpred13_CSharpParser4882);
query_expression();
state._fsp--;
if (state.failed) {
return;
}
}
}
// $ANTLR end synpred13_CSharpParser
// $ANTLR start synpred14_CSharpParser
public final void synpred14_CSharpParser_fragment() throws RecognitionException {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:977:4: ( labeled_statement )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:977:5: labeled_statement
{
pushFollow(FOLLOW_labeled_statement_in_synpred14_CSharpParser4930);
labeled_statement();
state._fsp--;
if (state.failed) {
return;
}
}
}
// $ANTLR end synpred14_CSharpParser
// $ANTLR start synpred15_CSharpParser
public final void synpred15_CSharpParser_fragment() throws RecognitionException {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:978:4: ( declaration_statement )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:978:5: declaration_statement
{
pushFollow(FOLLOW_declaration_statement_in_synpred15_CSharpParser4941);
declaration_statement();
state._fsp--;
if (state.failed) {
return;
}
}
}
// $ANTLR end synpred15_CSharpParser
// $ANTLR start synpred16_CSharpParser
public final void synpred16_CSharpParser_fragment() throws RecognitionException {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1089:9: ( ELSE )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1089:10: ELSE
{
match(input, ELSE, FOLLOW_ELSE_in_synpred16_CSharpParser5381);
if (state.failed) {
return;
}
}
}
// $ANTLR end synpred16_CSharpParser
// $ANTLR start synpred17_CSharpParser
public final void synpred17_CSharpParser_fragment() throws RecognitionException {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1132:4: ( local_variable_declaration )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1132:5: local_variable_declaration
{
pushFollow(FOLLOW_local_variable_declaration_in_synpred17_CSharpParser5740);
local_variable_declaration();
state._fsp--;
if (state.failed) {
return;
}
}
}
// $ANTLR end synpred17_CSharpParser
// $ANTLR start synpred18_CSharpParser
public final void synpred18_CSharpParser_fragment() throws RecognitionException {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1223:4: ( local_variable_declaration )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1223:5: local_variable_declaration
{
pushFollow(FOLLOW_local_variable_declaration_in_synpred18_CSharpParser6175);
local_variable_declaration();
state._fsp--;
if (state.failed) {
return;
}
}
}
// $ANTLR end synpred18_CSharpParser
// $ANTLR start synpred19_CSharpParser
public final void synpred19_CSharpParser_fragment() throws RecognitionException {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1242:7: ( global_attribute_section )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1242:8: global_attribute_section
{
pushFollow(FOLLOW_global_attribute_section_in_synpred19_CSharpParser6243);
global_attribute_section();
state._fsp--;
if (state.failed) {
return;
}
}
}
// $ANTLR end synpred19_CSharpParser
// $ANTLR start synpred20_CSharpParser
public final void synpred20_CSharpParser_fragment() throws RecognitionException {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1490:7: ( interface_type DOT THIS )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1490:8: interface_type DOT THIS
{
pushFollow(FOLLOW_interface_type_in_synpred20_CSharpParser7401);
interface_type();
state._fsp--;
if (state.failed) {
return;
}
match(input, DOT, FOLLOW_DOT_in_synpred20_CSharpParser7403);
if (state.failed) {
return;
}
match(input, THIS, FOLLOW_THIS_in_synpred20_CSharpParser7405);
if (state.failed) {
return;
}
}
}
// $ANTLR end synpred20_CSharpParser
// $ANTLR start synpred21_CSharpParser
public final void synpred21_CSharpParser_fragment() throws RecognitionException {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1491:7: ( member_name ( type_parameter_list )? OPEN_PARENS )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1491:8: member_name ( type_parameter_list )? OPEN_PARENS
{
pushFollow(FOLLOW_member_name_in_synpred21_CSharpParser7425);
member_name();
state._fsp--;
if (state.failed) {
return;
}
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1491:20: ( type_parameter_list )?
int alt380 = 2;
int LA380_0 = input.LA(1);
if ((LA380_0 == LT)) {
alt380 = 1;
}
switch (alt380) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1491:20: type_parameter_list
{
pushFollow(FOLLOW_type_parameter_list_in_synpred21_CSharpParser7427);
type_parameter_list();
state._fsp--;
if (state.failed) {
return;
}
}
break;
}
match(input, OPEN_PARENS, FOLLOW_OPEN_PARENS_in_synpred21_CSharpParser7430);
if (state.failed) {
return;
}
}
}
// $ANTLR end synpred21_CSharpParser
// $ANTLR start synpred22_CSharpParser
public final void synpred22_CSharpParser_fragment() throws RecognitionException {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1492:7: ( member_name OPEN_BRACE )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1492:8: member_name OPEN_BRACE
{
pushFollow(FOLLOW_member_name_in_synpred22_CSharpParser7445);
member_name();
state._fsp--;
if (state.failed) {
return;
}
match(input, OPEN_BRACE, FOLLOW_OPEN_BRACE_in_synpred22_CSharpParser7447);
if (state.failed) {
return;
}
}
}
// $ANTLR end synpred22_CSharpParser
// $ANTLR start synpred23_CSharpParser
public final void synpred23_CSharpParser_fragment() throws RecognitionException {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1608:5: ( ( attributes )? PARAMS )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1608:6: ( attributes )? PARAMS
{
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1608:6: ( attributes )?
int alt381 = 2;
int LA381_0 = input.LA(1);
if ((LA381_0 == OPEN_BRACKET)) {
alt381 = 1;
}
switch (alt381) {
case 1: // C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1608:6: attributes
{
pushFollow(FOLLOW_attributes_in_synpred23_CSharpParser7874);
attributes();
state._fsp--;
if (state.failed) {
return;
}
}
break;
}
match(input, PARAMS, FOLLOW_PARAMS_in_synpred23_CSharpParser7877);
if (state.failed) {
return;
}
}
}
// $ANTLR end synpred23_CSharpParser
// $ANTLR start synpred24_CSharpParser
public final void synpred24_CSharpParser_fragment() throws RecognitionException {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1610:24: ( COMMA parameter_array )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1610:25: COMMA parameter_array
{
match(input, COMMA, FOLLOW_COMMA_in_synpred24_CSharpParser7906);
if (state.failed) {
return;
}
pushFollow(FOLLOW_parameter_array_in_synpred24_CSharpParser7908);
parameter_array();
state._fsp--;
if (state.failed) {
return;
}
}
}
// $ANTLR end synpred24_CSharpParser
// $ANTLR start synpred25_CSharpParser
public final void synpred25_CSharpParser_fragment() throws RecognitionException {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1614:23: ( COMMA fixed_parameter )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1614:24: COMMA fixed_parameter
{
match(input, COMMA, FOLLOW_COMMA_in_synpred25_CSharpParser7952);
if (state.failed) {
return;
}
pushFollow(FOLLOW_fixed_parameter_in_synpred25_CSharpParser7954);
fixed_parameter();
state._fsp--;
if (state.failed) {
return;
}
}
}
// $ANTLR end synpred25_CSharpParser
// $ANTLR start synpred26_CSharpParser
public final void synpred26_CSharpParser_fragment() throws RecognitionException {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1784:5: ( unary_operator_declarator )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:1784:6: unary_operator_declarator
{
pushFollow(FOLLOW_unary_operator_declarator_in_synpred26_CSharpParser8736);
unary_operator_declarator();
state._fsp--;
if (state.failed) {
return;
}
}
}
// $ANTLR end synpred26_CSharpParser
// $ANTLR start synpred27_CSharpParser
public final void synpred27_CSharpParser_fragment() throws RecognitionException {
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2442:5: ( AMP )
// C:\\Users\\chw\\workspace-cloudmig\\CSharpKDMDiscoverer\\grammars\\CSharpParser.g:2442:6: AMP
{
match(input, AMP, FOLLOW_AMP_in_synpred27_CSharpParser11625);
if (state.failed) {
return;
}
}
}
// $ANTLR end synpred27_CSharpParser
// Delegated rules
public final boolean synpred27_CSharpParser() {
state.backtracking++;
int start = input.mark();
try {
synpred27_CSharpParser_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: " + re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed = false;
return success;
}
public final boolean synpred1_CSharpParser() {
state.backtracking++;
int start = input.mark();
try {
synpred1_CSharpParser_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: " + re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed = false;
return success;
}
public final boolean synpred15_CSharpParser() {
state.backtracking++;
int start = input.mark();
try {
synpred15_CSharpParser_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: " + re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed = false;
return success;
}
public final boolean synpred16_CSharpParser() {
state.backtracking++;
int start = input.mark();
try {
synpred16_CSharpParser_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: " + re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed = false;
return success;
}
public final boolean synpred24_CSharpParser() {
state.backtracking++;
int start = input.mark();
try {
synpred24_CSharpParser_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: " + re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed = false;
return success;
}
public final boolean synpred26_CSharpParser() {
state.backtracking++;
int start = input.mark();
try {
synpred26_CSharpParser_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: " + re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed = false;
return success;
}
public final boolean synpred20_CSharpParser() {
state.backtracking++;
int start = input.mark();
try {
synpred20_CSharpParser_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: " + re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed = false;
return success;
}
public final boolean synpred8_CSharpParser() {
state.backtracking++;
int start = input.mark();
try {
synpred8_CSharpParser_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: " + re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed = false;
return success;
}
public final boolean synpred13_CSharpParser() {
state.backtracking++;
int start = input.mark();
try {
synpred13_CSharpParser_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: " + re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed = false;
return success;
}
public final boolean synpred10_CSharpParser() {
state.backtracking++;
int start = input.mark();
try {
synpred10_CSharpParser_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: " + re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed = false;
return success;
}
public final boolean synpred23_CSharpParser() {
state.backtracking++;
int start = input.mark();
try {
synpred23_CSharpParser_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: " + re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed = false;
return success;
}
public final boolean synpred19_CSharpParser() {
state.backtracking++;
int start = input.mark();
try {
synpred19_CSharpParser_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: " + re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed = false;
return success;
}
public final boolean synpred3_CSharpParser() {
state.backtracking++;
int start = input.mark();
try {
synpred3_CSharpParser_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: " + re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed = false;
return success;
}
public final boolean synpred21_CSharpParser() {
state.backtracking++;
int start = input.mark();
try {
synpred21_CSharpParser_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: " + re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed = false;
return success;
}
public final boolean synpred9_CSharpParser() {
state.backtracking++;
int start = input.mark();
try {
synpred9_CSharpParser_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: " + re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed = false;
return success;
}
public final boolean synpred7_CSharpParser() {
state.backtracking++;
int start = input.mark();
try {
synpred7_CSharpParser_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: " + re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed = false;
return success;
}
public final boolean synpred25_CSharpParser() {
state.backtracking++;
int start = input.mark();
try {
synpred25_CSharpParser_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: " + re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed = false;
return success;
}
public final boolean synpred14_CSharpParser() {
state.backtracking++;
int start = input.mark();
try {
synpred14_CSharpParser_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: " + re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed = false;
return success;
}
public final boolean synpred12_CSharpParser() {
state.backtracking++;
int start = input.mark();
try {
synpred12_CSharpParser_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: " + re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed = false;
return success;
}
public final boolean synpred11_CSharpParser() {
state.backtracking++;
int start = input.mark();
try {
synpred11_CSharpParser_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: " + re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed = false;
return success;
}
public final boolean synpred5_CSharpParser() {
state.backtracking++;
int start = input.mark();
try {
synpred5_CSharpParser_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: " + re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed = false;
return success;
}
public final boolean synpred2_CSharpParser() {
state.backtracking++;
int start = input.mark();
try {
synpred2_CSharpParser_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: " + re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed = false;
return success;
}
public final boolean synpred4_CSharpParser() {
state.backtracking++;
int start = input.mark();
try {
synpred4_CSharpParser_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: " + re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed = false;
return success;
}
public final boolean synpred18_CSharpParser() {
state.backtracking++;
int start = input.mark();
try {
synpred18_CSharpParser_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: " + re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed = false;
return success;
}
public final boolean synpred6_CSharpParser() {
state.backtracking++;
int start = input.mark();
try {
synpred6_CSharpParser_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: " + re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed = false;
return success;
}
public final boolean synpred17_CSharpParser() {
state.backtracking++;
int start = input.mark();
try {
synpred17_CSharpParser_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: " + re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed = false;
return success;
}
public final boolean synpred22_CSharpParser() {
state.backtracking++;
int start = input.mark();
try {
synpred22_CSharpParser_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: " + re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed = false;
return success;
}
protected DFA11 dfa11 = new DFA11(this);
protected DFA47 dfa47 = new DFA47(this);
protected DFA371 dfa371 = new DFA371(this);
static final String DFA11_eotS =
"\7\uffff";
static final String DFA11_eofS =
"\4\uffff\1\5\2\uffff";
static final String DFA11_minS =
"\2\122\2\31\1\122\2\uffff";
static final String DFA11_maxS =
"\2\u00b1\2\34\1\u00b1\2\uffff";
static final String DFA11_acceptS =
"\5\uffff\1\2\1\1";
static final String DFA11_specialS =
"\7\uffff}>";
static final String[] DFA11_transitionS = {
"\1\1\27\uffff\1\2\106\uffff\1\1",
"\1\1\27\uffff\1\2\106\uffff\1\1",
"\1\4\2\uffff\1\3",
"\1\4\2\uffff\1\3",
"\1\6\27\uffff\1\6\106\uffff\1\6",
"",
""
};
static final short[] DFA11_eot = DFA.unpackEncodedString(DFA11_eotS);
static final short[] DFA11_eof = DFA.unpackEncodedString(DFA11_eofS);
static final char[] DFA11_min = DFA.unpackEncodedStringToUnsignedChars(DFA11_minS);
static final char[] DFA11_max = DFA.unpackEncodedStringToUnsignedChars(DFA11_maxS);
static final short[] DFA11_accept = DFA.unpackEncodedString(DFA11_acceptS);
static final short[] DFA11_special = DFA.unpackEncodedString(DFA11_specialS);
static final short[][] DFA11_transition;
static {
int numStates = DFA11_transitionS.length;
DFA11_transition = new short[numStates][];
for (int i = 0; i < numStates; i++) {
DFA11_transition[i] = DFA.unpackEncodedString(DFA11_transitionS[i]);
}
}
class DFA11 extends DFA {
public DFA11(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 11;
this.eot = DFA11_eot;
this.eof = DFA11_eof;
this.min = DFA11_min;
this.max = DFA11_max;
this.accept = DFA11_accept;
this.special = DFA11_special;
this.transition = DFA11_transition;
}
@Override
public String getDescription() {
return "()* loopback of 280:5: ( ( STAR | INTERR )* rank_specifier )*";
}
}
static final String DFA47_eotS =
"\25\uffff";
static final String DFA47_eofS =
"\25\uffff";
static final String DFA47_minS =
"\1\16\1\32\1\uffff\1\32\1\112\1\16\1\112\1\0\1\uffff\1\32\2\uffff"
+ "\1\32\1\16\1\0\1\16\1\0\4\uffff";
static final String DFA47_maxS =
"\1\u00d8\1\u00b1\1\uffff\1\u00b1\1\112\1\u00d8\1\112\1\0\1\uffff"
+ "\1\u00b1\2\uffff\1\u00b1\1\u00d8\1\0\1\u00d8\1\0\4\uffff";
static final String DFA47_acceptS =
"\2\uffff\1\2\5\uffff\1\3\1\uffff\2\1\5\uffff\4\1";
static final String DFA47_specialS =
"\5\uffff\1\2\1\uffff\1\3\5\uffff\1\1\1\5\1\0\1\4\4\uffff}>";
static final String[] DFA47_transitionS = {
"\1\2\1\uffff\1\2\3\uffff\1\2\16\uffff\1\2\10\uffff\1\2\20\uffff"
+ "\1\2\14\uffff\1\1\3\uffff\1\2\14\uffff\1\2\14\uffff\1\2\77\uffff"
+ "\1\2\3\uffff\1\2\6\uffff\1\2\20\uffff\2\2\16\uffff\1\2\3\uffff"
+ "\1\3",
"\1\7\20\uffff\1\6\2\uffff\1\4\43\uffff\1\2\11\uffff\1\5\15"
+ "\uffff\1\2\106\uffff\1\2",
"",
"\1\10\u0096\uffff\1\2",
"\1\11",
"\1\2\1\uffff\1\2\3\uffff\1\2\7\uffff\1\12\6\uffff\1\2\10\uffff"
+ "\1\2\20\uffff\1\2\7\uffff\1\13\4\uffff\1\2\3\uffff\1\2\14\uffff"
+ "\1\2\14\uffff\1\2\77\uffff\1\2\3\uffff\1\2\6\uffff\1\2\20\uffff"
+ "\2\2\16\uffff\1\2\3\uffff\1\2",
"\1\14",
"\1\uffff",
"",
"\1\16\20\uffff\1\6\46\uffff\1\2\11\uffff\1\15\15\uffff\1\2"
+ "\106\uffff\1\2",
"",
"",
"\1\20\20\uffff\1\6\46\uffff\1\2\11\uffff\1\17\15\uffff\1\2"
+ "\106\uffff\1\2",
"\1\2\1\uffff\1\2\3\uffff\1\2\7\uffff\1\21\6\uffff\1\2\10\uffff"
+ "\1\2\20\uffff\1\2\7\uffff\1\22\4\uffff\1\2\3\uffff\1\2\14\uffff"
+ "\1\2\14\uffff\1\2\77\uffff\1\2\3\uffff\1\2\6\uffff\1\2\20\uffff"
+ "\2\2\16\uffff\1\2\3\uffff\1\2",
"\1\uffff",
"\1\2\1\uffff\1\2\3\uffff\1\2\7\uffff\1\23\6\uffff\1\2\10\uffff"
+ "\1\2\20\uffff\1\2\7\uffff\1\24\4\uffff\1\2\3\uffff\1\2\14\uffff"
+ "\1\2\14\uffff\1\2\77\uffff\1\2\3\uffff\1\2\6\uffff\1\2\20\uffff"
+ "\2\2\16\uffff\1\2\3\uffff\1\2",
"\1\uffff",
"",
"",
"",
""
};
static final short[] DFA47_eot = DFA.unpackEncodedString(DFA47_eotS);
static final short[] DFA47_eof = DFA.unpackEncodedString(DFA47_eofS);
static final char[] DFA47_min = DFA.unpackEncodedStringToUnsignedChars(DFA47_minS);
static final char[] DFA47_max = DFA.unpackEncodedStringToUnsignedChars(DFA47_maxS);
static final short[] DFA47_accept = DFA.unpackEncodedString(DFA47_acceptS);
static final short[] DFA47_special = DFA.unpackEncodedString(DFA47_specialS);
static final short[][] DFA47_transition;
static {
int numStates = DFA47_transitionS.length;
DFA47_transition = new short[numStates][];
for (int i = 0; i < numStates; i++) {
DFA47_transition[i] = DFA.unpackEncodedString(DFA47_transitionS[i]);
}
}
class DFA47 extends DFA {
public DFA47(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 47;
this.eot = DFA47_eot;
this.eof = DFA47_eof;
this.min = DFA47_min;
this.max = DFA47_max;
this.accept = DFA47_accept;
this.special = DFA47_special;
this.transition = DFA47_transition;
}
@Override
public String getDescription() {
return "634:4: ( ( unbound_type_name )=> unbound_type_name CLOSE_PARENS | type CLOSE_PARENS | VOID CLOSE_PARENS )";
}
@Override
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream) _input;
int _s = s;
switch (s) {
case 0:
int LA47_15 = input.LA(1);
int index47_15 = input.index();
input.rewind();
s = -1;
if ((LA47_15 == COMMA) && (synpred6_CSharpParser())) {
s = 19;
} else if ((LA47_15 == GT) && (synpred6_CSharpParser())) {
s = 20;
} else if ((LA47_15 == BOOL || LA47_15 == BYTE || LA47_15 == CHAR || LA47_15 == DECIMAL || LA47_15 == DOUBLE || LA47_15 == FLOAT || LA47_15 == IDENTIFIER || LA47_15 == INT || LA47_15 == LONG || LA47_15 == OBJECT || LA47_15 == SBYTE || LA47_15 == SHORT || LA47_15 == STRING || (LA47_15 >= UINT && LA47_15 <= ULONG) || LA47_15 == USHORT || LA47_15 == VOID)) {
s = 2;
}
input.seek(index47_15);
if (s >= 0) {
return s;
}
break;
case 1:
int LA47_13 = input.LA(1);
int index47_13 = input.index();
input.rewind();
s = -1;
if ((LA47_13 == BOOL || LA47_13 == BYTE || LA47_13 == CHAR || LA47_13 == DECIMAL || LA47_13 == DOUBLE || LA47_13 == FLOAT || LA47_13 == IDENTIFIER || LA47_13 == INT || LA47_13 == LONG || LA47_13 == OBJECT || LA47_13 == SBYTE || LA47_13 == SHORT || LA47_13 == STRING || (LA47_13 >= UINT && LA47_13 <= ULONG) || LA47_13 == USHORT || LA47_13 == VOID)) {
s = 2;
} else if ((LA47_13 == COMMA) && (synpred6_CSharpParser())) {
s = 17;
} else if ((LA47_13 == GT) && (synpred6_CSharpParser())) {
s = 18;
}
input.seek(index47_13);
if (s >= 0) {
return s;
}
break;
case 2:
int LA47_5 = input.LA(1);
int index47_5 = input.index();
input.rewind();
s = -1;
if ((LA47_5 == COMMA) && (synpred6_CSharpParser())) {
s = 10;
} else if ((LA47_5 == GT) && (synpred6_CSharpParser())) {
s = 11;
} else if ((LA47_5 == BOOL || LA47_5 == BYTE || LA47_5 == CHAR || LA47_5 == DECIMAL || LA47_5 == DOUBLE || LA47_5 == FLOAT || LA47_5 == IDENTIFIER || LA47_5 == INT || LA47_5 == LONG || LA47_5 == OBJECT || LA47_5 == SBYTE || LA47_5 == SHORT || LA47_5 == STRING || (LA47_5 >= UINT && LA47_5 <= ULONG) || LA47_5 == USHORT || LA47_5 == VOID)) {
s = 2;
}
input.seek(index47_5);
if (s >= 0) {
return s;
}
break;
case 3:
int LA47_7 = input.LA(1);
int index47_7 = input.index();
input.rewind();
s = -1;
if ((synpred6_CSharpParser())) {
s = 11;
} else if ((true)) {
s = 2;
}
input.seek(index47_7);
if (s >= 0) {
return s;
}
break;
case 4:
int LA47_16 = input.LA(1);
int index47_16 = input.index();
input.rewind();
s = -1;
if ((synpred6_CSharpParser())) {
s = 20;
} else if ((true)) {
s = 2;
}
input.seek(index47_16);
if (s >= 0) {
return s;
}
break;
case 5:
int LA47_14 = input.LA(1);
int index47_14 = input.index();
input.rewind();
s = -1;
if ((synpred6_CSharpParser())) {
s = 18;
} else if ((true)) {
s = 2;
}
input.seek(index47_14);
if (s >= 0) {
return s;
}
break;
}
if (state.backtracking > 0) {
state.failed = true;
return -1;
}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 47, _s, input);
error(nvae);
throw nvae;
}
}
static final String DFA371_eotS =
"\10\uffff";
static final String DFA371_eofS =
"\10\uffff";
static final String DFA371_minS =
"\1\53\1\16\2\uffff\1\34\1\16\1\53\1\34";
static final String DFA371_maxS =
"\1\153\1\u00d8\2\uffff\1\u00b1\1\u00d8\1\153\1\u00b1";
static final String DFA371_acceptS =
"\2\uffff\1\2\1\1\4\uffff";
static final String DFA371_specialS =
"\10\uffff}>";
static final String[] DFA371_transitionS = {
"\1\3\60\uffff\1\1\16\uffff\1\2",
"\1\3\1\uffff\1\3\3\uffff\1\3\16\uffff\1\3\10\uffff\1\3\20\uffff"
+ "\1\3\14\uffff\1\4\3\uffff\1\3\14\uffff\1\3\14\uffff\1\3\1\uffff"
+ "\1\2\75\uffff\1\3\3\uffff\1\3\6\uffff\1\3\20\uffff\2\3\16\uffff"
+ "\1\3\3\uffff\1\3",
"",
"",
"\1\5\16\uffff\1\3\2\uffff\1\3\26\uffff\1\6\14\uffff\1\3\11"
+ "\uffff\1\3\15\uffff\1\3\106\uffff\1\3",
"\1\3\1\uffff\1\3\3\uffff\1\3\16\uffff\1\3\10\uffff\1\3\20\uffff"
+ "\1\3\14\uffff\1\7\3\uffff\1\3\14\uffff\1\3\14\uffff\1\3\1\uffff"
+ "\1\2\75\uffff\1\3\3\uffff\1\3\6\uffff\1\3\20\uffff\2\3\16\uffff"
+ "\1\3\3\uffff\1\3",
"\1\3\77\uffff\1\2",
"\1\5\16\uffff\1\3\2\uffff\1\3\26\uffff\1\6\14\uffff\1\3\11"
+ "\uffff\1\3\15\uffff\1\3\106\uffff\1\3"
};
static final short[] DFA371_eot = DFA.unpackEncodedString(DFA371_eotS);
static final short[] DFA371_eof = DFA.unpackEncodedString(DFA371_eofS);
static final char[] DFA371_min = DFA.unpackEncodedStringToUnsignedChars(DFA371_minS);
static final char[] DFA371_max = DFA.unpackEncodedStringToUnsignedChars(DFA371_maxS);
static final short[] DFA371_accept = DFA.unpackEncodedString(DFA371_acceptS);
static final short[] DFA371_special = DFA.unpackEncodedString(DFA371_specialS);
static final short[][] DFA371_transition;
static {
int numStates = DFA371_transitionS.length;
DFA371_transition = new short[numStates][];
for (int i = 0; i < numStates; i++) {
DFA371_transition[i] = DFA.unpackEncodedString(DFA371_transitionS[i]);
}
}
class DFA371 extends DFA {
public DFA371(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 371;
this.eot = DFA371_eot;
this.eof = DFA371_eof;
this.min = DFA371_min;
this.max = DFA371_max;
this.accept = DFA371_accept;
this.special = DFA371_special;
this.transition = DFA371_transition;
}
@Override
public String getDescription() {
return "()* loopback of 2721:7: ( type_argument_list_opt DOT IDENTIFIER )*";
}
}
public static final BitSet FOLLOW_namespace_or_type_name_in_namespace_name578 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_namespace_or_type_name_in_type_name589 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_namespace_or_type_name2_in_namespace_or_type_name603 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_namespace_or_type_name2626 = new BitSet(new long[]{0x0000080000000000L, 0x0000000010000000L});
public static final BitSet FOLLOW_type_argument_list_opt_in_namespace_or_type_name2628 = new BitSet(new long[]{0x0000080000000002L});
public static final BitSet FOLLOW_qualified_alias_member_in_namespace_or_type_name2636 = new BitSet(new long[]{0x0000080000000002L});
public static final BitSet FOLLOW_namespace_part_in_namespace_or_type_name2644 = new BitSet(new long[]{0x0000080000000002L});
public static final BitSet FOLLOW_DOT_in_namespace_part659 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_namespace_part663 = new BitSet(new long[]{0x0000000000000000L, 0x0000000010000000L});
public static final BitSet FOLLOW_type_argument_list_opt_in_namespace_part665 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_type_argument_list_in_type_argument_list_opt702 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_type2_in_type726 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_base_type_in_type2751 = new BitSet(new long[]{0x0000000000000002L, 0x0000040000040000L, 0x0002000000000000L});
public static final BitSet FOLLOW_INTERR_in_type2765 = new BitSet(new long[]{0x0000000000000002L, 0x0000040000040000L, 0x0002000000000000L});
public static final BitSet FOLLOW_rank_specifier_in_type2799 = new BitSet(new long[]{0x0000000000000002L, 0x0000040000040000L, 0x0002000000000000L});
public static final BitSet FOLLOW_STAR_in_type2810 = new BitSet(new long[]{0x0000000000000002L, 0x0000040000040000L, 0x0002000000000000L});
public static final BitSet FOLLOW_simple_type_in_base_type864 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_class_type_in_base_type870 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_VOID_in_base_type878 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0002000000000000L});
public static final BitSet FOLLOW_STAR_in_base_type880 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_numeric_type_in_simple_type896 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_BOOL_in_simple_type901 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_integral_type_in_numeric_type912 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_floating_point_type_in_numeric_type917 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_DECIMAL_in_numeric_type922 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_non_nullable_value_type_in_nullable_type1000 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000040000L});
public static final BitSet FOLLOW_INTERR_in_nullable_type1002 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_base_type_in_non_nullable_value_type1016 = new BitSet(new long[]{0x0000000000000002L, 0x0000040000000000L, 0x0002000000000000L});
public static final BitSet FOLLOW_rank_specifier_in_non_nullable_value_type1030 = new BitSet(new long[]{0x0000000000000002L, 0x0000040000000000L, 0x0002000000000000L});
public static final BitSet FOLLOW_STAR_in_non_nullable_value_type1038 = new BitSet(new long[]{0x0000000000000002L, 0x0000040000000000L, 0x0002000000000000L});
public static final BitSet FOLLOW_simple_type_in_reference_type1068 = new BitSet(new long[]{0x0000000000000000L, 0x0000040000040000L, 0x0002000000000000L});
public static final BitSet FOLLOW_class_type_in_reference_type1078 = new BitSet(new long[]{0x0000000000000000L, 0x0000040000040000L, 0x0002000000000000L});
public static final BitSet FOLLOW_VOID_in_reference_type1086 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0002000000000000L});
public static final BitSet FOLLOW_STAR_in_reference_type1088 = new BitSet(new long[]{0x0000000000000000L, 0x0000040000040000L, 0x0002000000000000L});
public static final BitSet FOLLOW_rank_specifier_in_reference_type1106 = new BitSet(new long[]{0x0000000000000000L, 0x0000040000040000L, 0x0002000000000000L});
public static final BitSet FOLLOW_rank_specifier_in_reference_type1126 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_type_name_in_class_type1141 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OBJECT_in_class_type1146 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_dynamic_contextual_keyword_in_class_type1151 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_STRING_in_class_type1156 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_type_name_in_interface_type1169 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_type_name_in_delegate_type1182 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_LT_in_type_argument_list1193 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_type_arguments_in_type_argument_list1195 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000020L});
public static final BitSet FOLLOW_GT_in_type_argument_list1197 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_type_argument_in_type_arguments1219 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_COMMA_in_type_arguments1223 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_type_argument_in_type_arguments1226 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_type_in_type_argument1239 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_VOID_in_type_void1251 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_expression_in_variable_reference1275 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_argument_in_argument_list1288 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_COMMA_in_argument_list1292 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910C00000022L, 0x000000000010007BL});
public static final BitSet FOLLOW_argument_in_argument_list1295 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_argument_name_in_argument1307 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910C00000022L, 0x000000000010007BL});
public static final BitSet FOLLOW_argument_value_in_argument1310 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_argument_name1334 = new BitSet(new long[]{0x0000000008000000L});
public static final BitSet FOLLOW_COLON_in_argument_name1336 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_argument_value2_in_argument_value1349 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_expression_in_argument_value21368 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_REF_in_argument_value21373 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_variable_reference_in_argument_value21375 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OUT_in_argument_value21380 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_variable_reference_in_argument_value21382 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_primary_expression_start_in_primary_expression1399 = new BitSet(new long[]{0x0000080000000002L, 0x40220C0000000000L});
public static final BitSet FOLLOW_bracket_expression_in_primary_expression1412 = new BitSet(new long[]{0x0000080000000002L, 0x40220C0000000000L});
public static final BitSet FOLLOW_member_access2_in_primary_expression1434 = new BitSet(new long[]{0x0000080000000002L, 0x40220C0000000000L});
public static final BitSet FOLLOW_method_invocation2_in_primary_expression1454 = new BitSet(new long[]{0x0000080000000002L, 0x40220C0000000000L});
public static final BitSet FOLLOW_OP_INC_in_primary_expression1475 = new BitSet(new long[]{0x0000080000000002L, 0x40220C0000000000L});
public static final BitSet FOLLOW_OP_DEC_in_primary_expression1493 = new BitSet(new long[]{0x0000080000000002L, 0x40220C0000000000L});
public static final BitSet FOLLOW_OP_PTR_in_primary_expression1511 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_primary_expression1513 = new BitSet(new long[]{0x0000080000000002L, 0x40220C0000000000L});
public static final BitSet FOLLOW_bracket_expression_in_primary_expression1541 = new BitSet(new long[]{0x0000080000000002L, 0x40220C0000000000L});
public static final BitSet FOLLOW_literal_in_primary_expression_start1571 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_simple_name_in_primary_expression_start1577 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_parenthesized_expression_in_primary_expression_start1583 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_predefined_type_in_primary_expression_start1589 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_qualified_alias_member_in_primary_expression_start1596 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_this_access_in_primary_expression_start1604 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_base_access_in_primary_expression_start1610 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_NEW_in_primary_expression_start1616 = new BitSet(new long[]{0x2000100800114000L, 0x0000070008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_type_in_primary_expression_start1620 = new BitSet(new long[]{0x0000000000000000L, 0x00000E0000000000L});
public static final BitSet FOLLOW_object_creation_expression2_in_primary_expression_start1624 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_object_or_collection_initializer_in_primary_expression_start1644 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OPEN_BRACKET_in_primary_expression_start1663 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_expression_list_in_primary_expression_start1665 = new BitSet(new long[]{0x0000000002000000L});
public static final BitSet FOLLOW_CLOSE_BRACKET_in_primary_expression_start1667 = new BitSet(new long[]{0x0000000000000002L, 0x0000060000000000L});
public static final BitSet FOLLOW_rank_specifiers_in_primary_expression_start1669 = new BitSet(new long[]{0x0000000000000002L, 0x0000020000000000L});
public static final BitSet FOLLOW_array_initializer_in_primary_expression_start1672 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_rank_specifiers_in_primary_expression_start1692 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L});
public static final BitSet FOLLOW_array_initializer_in_primary_expression_start1694 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_anonymous_object_initializer_in_primary_expression_start1723 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_rank_specifier_in_primary_expression_start1735 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L});
public static final BitSet FOLLOW_array_initializer_in_primary_expression_start1737 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_typeof_expression_in_primary_expression_start1753 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_checked_expression_in_primary_expression_start1759 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_unchecked_expression_in_primary_expression_start1765 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_default_value_expression_in_primary_expression_start1771 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_anonymous_method_expression_in_primary_expression_start1777 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_sizeof_expression_in_primary_expression_start1783 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OPEN_BRACKET_in_bracket_expression1797 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_expression_list_in_bracket_expression1799 = new BitSet(new long[]{0x0000000002000000L});
public static final BitSet FOLLOW_CLOSE_BRACKET_in_bracket_expression1801 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_simple_name1831 = new BitSet(new long[]{0x0000000000000000L, 0x0000000010000000L});
public static final BitSet FOLLOW_type_argument_list_opt_in_simple_name1833 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OPEN_PARENS_in_parenthesized_expression1860 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_expression_in_parenthesized_expression1863 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_parenthesized_expression1865 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_primary_expression_in_member_access1882 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_expression_in_expression_list1981 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_COMMA_in_expression_list1985 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_expression_in_expression_list1987 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_THIS_in_this_access2000 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_BASE_in_base_access2012 = new BitSet(new long[]{0x0000080000000000L});
public static final BitSet FOLLOW_DOT_in_base_access2014 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_base_access2017 = new BitSet(new long[]{0x0000000000000000L, 0x0000000010000000L});
public static final BitSet FOLLOW_type_argument_list_opt_in_base_access2019 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_BASE_in_base_access2024 = new BitSet(new long[]{0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_OPEN_BRACKET_in_base_access2026 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_expression_list_in_base_access2028 = new BitSet(new long[]{0x0000000002000000L});
public static final BitSet FOLLOW_CLOSE_BRACKET_in_base_access2030 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_NEW_in_object_creation_expression2048 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_type_in_object_creation_expression2050 = new BitSet(new long[]{0x0000000000000000L, 0x00000A0000000000L});
public static final BitSet FOLLOW_OPEN_PARENS_in_object_creation_expression2054 = new BitSet(new long[]{0x2400106804715820L, 0x002209250800C400L, 0x401A910C00000022L, 0x000000000010007BL});
public static final BitSet FOLLOW_argument_list_in_object_creation_expression2056 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_object_creation_expression2059 = new BitSet(new long[]{0x0000000000000002L, 0x0000020000000000L});
public static final BitSet FOLLOW_object_or_collection_initializer_in_object_creation_expression2061 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_object_or_collection_initializer_in_object_creation_expression2079 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_object_initializer_in_object_or_collection_initializer2108 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_collection_initializer_in_object_or_collection_initializer2113 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OPEN_BRACE_in_object_initializer2129 = new BitSet(new long[]{0x0000000001000000L});
public static final BitSet FOLLOW_CLOSE_BRACE_in_object_initializer2131 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OPEN_BRACE_in_object_initializer2137 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_member_initializer_list_in_object_initializer2139 = new BitSet(new long[]{0x0000000011000000L});
public static final BitSet FOLLOW_COMMA_in_object_initializer2141 = new BitSet(new long[]{0x0000000001000000L});
public static final BitSet FOLLOW_CLOSE_BRACE_in_object_initializer2144 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_member_initializer_in_member_initializer_list2156 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_COMMA_in_member_initializer_list2160 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_member_initializer_in_member_initializer_list2162 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_member_initializer2175 = new BitSet(new long[]{0x0000000000000080L});
public static final BitSet FOLLOW_ASSIGNMENT_in_member_initializer2177 = new BitSet(new long[]{0x2400106800715820L, 0x00220B250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_initializer_value_in_member_initializer2179 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_expression_in_initializer_value2190 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_object_or_collection_initializer_in_initializer_value2195 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OPEN_BRACE_in_collection_initializer2211 = new BitSet(new long[]{0x2400106800715820L, 0x00220B250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_element_initializer_list_in_collection_initializer2213 = new BitSet(new long[]{0x0000000011000000L});
public static final BitSet FOLLOW_COMMA_in_collection_initializer2215 = new BitSet(new long[]{0x0000000001000000L});
public static final BitSet FOLLOW_CLOSE_BRACE_in_collection_initializer2218 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_element_initializer_in_element_initializer_list2230 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_COMMA_in_element_initializer_list2234 = new BitSet(new long[]{0x2400106800715820L, 0x00220B250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_element_initializer_in_element_initializer_list2236 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_non_assignment_expression_in_element_initializer2249 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OPEN_BRACE_in_element_initializer2254 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_expression_list_in_element_initializer2256 = new BitSet(new long[]{0x0000000001000000L});
public static final BitSet FOLLOW_CLOSE_BRACE_in_element_initializer2258 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_NEW_in_array_creation_expression2272 = new BitSet(new long[]{0x2000100800114000L, 0x0000050008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_array_type_in_array_creation_expression2284 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L});
public static final BitSet FOLLOW_array_initializer_in_array_creation_expression2286 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_non_array_type_in_array_creation_expression2298 = new BitSet(new long[]{0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_OPEN_BRACKET_in_array_creation_expression2300 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_expression_list_in_array_creation_expression2302 = new BitSet(new long[]{0x0000000002000000L});
public static final BitSet FOLLOW_CLOSE_BRACKET_in_array_creation_expression2304 = new BitSet(new long[]{0x0000000000000002L, 0x0000060000000000L});
public static final BitSet FOLLOW_rank_specifiers_in_array_creation_expression2306 = new BitSet(new long[]{0x0000000000000002L, 0x0000020000000000L});
public static final BitSet FOLLOW_array_initializer_in_array_creation_expression2309 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_rank_specifier_in_array_creation_expression2322 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L});
public static final BitSet FOLLOW_array_initializer_in_array_creation_expression2324 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_NEW_in_delegate_creation_expression2348 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_delegate_type_in_delegate_creation_expression2350 = new BitSet(new long[]{0x0000000000000000L, 0x0000080000000000L});
public static final BitSet FOLLOW_OPEN_PARENS_in_delegate_creation_expression2352 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_expression_in_delegate_creation_expression2354 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_delegate_creation_expression2356 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_NEW_in_anonymous_object_creation_expression2369 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L});
public static final BitSet FOLLOW_anonymous_object_initializer_in_anonymous_object_creation_expression2371 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OPEN_BRACE_in_anonymous_object_initializer2387 = new BitSet(new long[]{0x0000000001000000L});
public static final BitSet FOLLOW_CLOSE_BRACE_in_anonymous_object_initializer2389 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OPEN_BRACE_in_anonymous_object_initializer2395 = new BitSet(new long[]{0x2400106800715000L, 0x000009240800C400L, 0x4018910400000000L, 0x000000000010007AL});
public static final BitSet FOLLOW_member_declarator_list_in_anonymous_object_initializer2397 = new BitSet(new long[]{0x0000000011000000L});
public static final BitSet FOLLOW_COMMA_in_anonymous_object_initializer2399 = new BitSet(new long[]{0x0000000001000000L});
public static final BitSet FOLLOW_CLOSE_BRACE_in_anonymous_object_initializer2402 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_member_declarator_in_member_declarator_list2414 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_COMMA_in_member_declarator_list2418 = new BitSet(new long[]{0x2400106800715000L, 0x000009240800C400L, 0x4018910400000000L, 0x000000000010007AL});
public static final BitSet FOLLOW_member_declarator_in_member_declarator_list2420 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_primary_expression_in_member_declarator2436 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_member_declarator2442 = new BitSet(new long[]{0x0000000000000080L});
public static final BitSet FOLLOW_ASSIGNMENT_in_member_declarator2444 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_expression_in_member_declarator2446 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_TYPEOF_in_typeof_expression2458 = new BitSet(new long[]{0x0000000000000000L, 0x0000080000000000L});
public static final BitSet FOLLOW_OPEN_PARENS_in_typeof_expression2460 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_unbound_type_name_in_typeof_expression2473 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_typeof_expression2475 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_type_in_typeof_expression2482 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_typeof_expression2484 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_VOID_in_typeof_expression2491 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_typeof_expression2493 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_unbound_type_name2512 = new BitSet(new long[]{0x0000480000000002L, 0x0000000010000000L});
public static final BitSet FOLLOW_generic_dimension_specifier_in_unbound_type_name2516 = new BitSet(new long[]{0x0000080000000002L});
public static final BitSet FOLLOW_DOUBLE_COLON_in_unbound_type_name2536 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_unbound_type_name2538 = new BitSet(new long[]{0x0000080000000002L, 0x0000000010000000L});
public static final BitSet FOLLOW_generic_dimension_specifier_in_unbound_type_name2540 = new BitSet(new long[]{0x0000080000000002L});
public static final BitSet FOLLOW_DOT_in_unbound_type_name2565 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_unbound_type_name2567 = new BitSet(new long[]{0x0000080000000002L, 0x0000000010000000L});
public static final BitSet FOLLOW_generic_dimension_specifier_in_unbound_type_name2569 = new BitSet(new long[]{0x0000080000000002L});
public static final BitSet FOLLOW_LT_in_generic_dimension_specifier2584 = new BitSet(new long[]{0x0000000010000000L, 0x0000000000000020L});
public static final BitSet FOLLOW_commas_in_generic_dimension_specifier2586 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000020L});
public static final BitSet FOLLOW_GT_in_generic_dimension_specifier2589 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_COMMA_in_commas2600 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_COMMA_in_commas2604 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_CHECKED_in_checked_expression2618 = new BitSet(new long[]{0x0000000000000000L, 0x0000080000000000L});
public static final BitSet FOLLOW_OPEN_PARENS_in_checked_expression2621 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_expression_in_checked_expression2624 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_checked_expression2626 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_UNCHECKED_in_unchecked_expression2638 = new BitSet(new long[]{0x0000000000000000L, 0x0000080000000000L});
public static final BitSet FOLLOW_OPEN_PARENS_in_unchecked_expression2641 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_expression_in_unchecked_expression2644 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_unchecked_expression2646 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_DEFAULT_in_default_value_expression2658 = new BitSet(new long[]{0x0000000000000000L, 0x0000080000000000L});
public static final BitSet FOLLOW_OPEN_PARENS_in_default_value_expression2661 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_type_in_default_value_expression2664 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_default_value_expression2666 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_unary_expression2_in_unary_expression2681 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_cast_expression_in_unary_expression22712 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_primary_expression_in_unary_expression22717 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PLUS_in_unary_expression22722 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_unary_expression_in_unary_expression22724 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_MINUS_in_unary_expression22729 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_unary_expression_in_unary_expression22731 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_BANG_in_unary_expression22736 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_unary_expression_in_unary_expression22738 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_TILDE_in_unary_expression22752 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_unary_expression_in_unary_expression22754 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_pre_increment_expression_in_unary_expression22759 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_pre_decrement_expression_in_unary_expression22764 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_unary_expression_unsafe_in_unary_expression22769 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OPEN_PARENS_in_scan_for_cast_generic_precedence2783 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_type_in_scan_for_cast_generic_precedence2785 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_scan_for_cast_generic_precedence2787 = new BitSet(new long[]{0xFDF0146860FDD810L, 0x000019260C03FC10L, 0xC07D931E000001CEL, 0x0000000013B8007FL});
public static final BitSet FOLLOW_cast_disambiguation_token_in_scan_for_cast_generic_precedence2789 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_TILDE_in_cast_disambiguation_token2805 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_BANG_in_cast_disambiguation_token2809 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OPEN_PARENS_in_cast_disambiguation_token2813 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_cast_disambiguation_token2817 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_literal_in_cast_disambiguation_token2821 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ABSTRACT_in_cast_disambiguation_token2825 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_BASE_in_cast_disambiguation_token2829 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_BOOL_in_cast_disambiguation_token2833 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_BREAK_in_cast_disambiguation_token2837 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_BYTE_in_cast_disambiguation_token2841 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_CASE_in_cast_disambiguation_token2845 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_CATCH_in_cast_disambiguation_token2849 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_CHAR_in_cast_disambiguation_token2857 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_CHECKED_in_cast_disambiguation_token2861 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_CLASS_in_cast_disambiguation_token2865 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_CONST_in_cast_disambiguation_token2869 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_CONTINUE_in_cast_disambiguation_token2873 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_DECIMAL_in_cast_disambiguation_token2877 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_DEFAULT_in_cast_disambiguation_token2881 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_DELEGATE_in_cast_disambiguation_token2885 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_DO_in_cast_disambiguation_token2889 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_DOUBLE_in_cast_disambiguation_token2893 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ELSE_in_cast_disambiguation_token2897 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ENUM_in_cast_disambiguation_token2901 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_EVENT_in_cast_disambiguation_token2909 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_EXPLICIT_in_cast_disambiguation_token2913 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_EXTERN_in_cast_disambiguation_token2917 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_FINALLY_in_cast_disambiguation_token2921 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_FIXED_in_cast_disambiguation_token2925 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_FLOAT_in_cast_disambiguation_token2929 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_FOR_in_cast_disambiguation_token2933 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_FOREACH_in_cast_disambiguation_token2937 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_GOTO_in_cast_disambiguation_token2941 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IF_in_cast_disambiguation_token2945 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IMPLICIT_in_cast_disambiguation_token2949 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IN_in_cast_disambiguation_token2953 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_INT_in_cast_disambiguation_token2957 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_INTERFACE_in_cast_disambiguation_token2965 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_INTERNAL_in_cast_disambiguation_token2969 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_LOCK_in_cast_disambiguation_token2973 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_LONG_in_cast_disambiguation_token2977 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_NAMESPACE_in_cast_disambiguation_token2981 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_NEW_in_cast_disambiguation_token2985 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OBJECT_in_cast_disambiguation_token2989 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OPERATOR_in_cast_disambiguation_token2993 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OUT_in_cast_disambiguation_token2997 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OVERRIDE_in_cast_disambiguation_token3001 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PARAMS_in_cast_disambiguation_token3005 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PRIVATE_in_cast_disambiguation_token3013 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PROTECTED_in_cast_disambiguation_token3017 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PUBLIC_in_cast_disambiguation_token3021 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_READONLY_in_cast_disambiguation_token3025 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_REF_in_cast_disambiguation_token3029 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RETURN_in_cast_disambiguation_token3033 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_SBYTE_in_cast_disambiguation_token3037 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_SEALED_in_cast_disambiguation_token3041 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_SHORT_in_cast_disambiguation_token3045 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_SIZEOF_in_cast_disambiguation_token3049 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_STACKALLOC_in_cast_disambiguation_token3053 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_STATIC_in_cast_disambiguation_token3061 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_STRING_in_cast_disambiguation_token3065 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_STRUCT_in_cast_disambiguation_token3069 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_SWITCH_in_cast_disambiguation_token3073 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_THIS_in_cast_disambiguation_token3077 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_THROW_in_cast_disambiguation_token3081 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_TRY_in_cast_disambiguation_token3085 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_TYPEOF_in_cast_disambiguation_token3089 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_UINT_in_cast_disambiguation_token3093 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ULONG_in_cast_disambiguation_token3097 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_UNCHECKED_in_cast_disambiguation_token3101 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_UNSAFE_in_cast_disambiguation_token3105 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_USHORT_in_cast_disambiguation_token3113 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_USING_in_cast_disambiguation_token3117 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_VIRTUAL_in_cast_disambiguation_token3121 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_VOID_in_cast_disambiguation_token3125 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_VOLATILE_in_cast_disambiguation_token3129 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_WHILE_in_cast_disambiguation_token3133 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OP_INC_in_pre_increment_expression3151 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_unary_expression_in_pre_increment_expression3153 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OP_DEC_in_pre_decrement_expression3164 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_unary_expression_in_pre_decrement_expression3166 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OPEN_PARENS_in_cast_expression3177 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_type_in_cast_expression3179 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_cast_expression3181 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_unary_expression_in_cast_expression3183 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_unary_expression_in_multiplicative_expression3211 = new BitSet(new long[]{0x0000020000000002L, 0x0000000000000000L, 0x0002000000000010L});
public static final BitSet FOLLOW_STAR_in_multiplicative_expression3227 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_unary_expression_in_multiplicative_expression3232 = new BitSet(new long[]{0x0000020000000002L, 0x0000000000000000L, 0x0002000000000010L});
public static final BitSet FOLLOW_DIV_in_multiplicative_expression3253 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_unary_expression_in_multiplicative_expression3258 = new BitSet(new long[]{0x0000020000000002L, 0x0000000000000000L, 0x0002000000000010L});
public static final BitSet FOLLOW_PERCENT_in_multiplicative_expression3279 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_unary_expression_in_multiplicative_expression3284 = new BitSet(new long[]{0x0000020000000002L, 0x0000000000000000L, 0x0002000000000010L});
public static final BitSet FOLLOW_multiplicative_expression_in_additive_expression3318 = new BitSet(new long[]{0x0000000000000002L, 0x0000000100000000L, 0x0000000000000020L});
public static final BitSet FOLLOW_PLUS_in_additive_expression3333 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_multiplicative_expression_in_additive_expression3338 = new BitSet(new long[]{0x0000000000000002L, 0x0000000100000000L, 0x0000000000000020L});
public static final BitSet FOLLOW_MINUS_in_additive_expression3359 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_multiplicative_expression_in_additive_expression3364 = new BitSet(new long[]{0x0000000000000002L, 0x0000000100000000L, 0x0000000000000020L});
public static final BitSet FOLLOW_additive_expression_in_shift_expression3398 = new BitSet(new long[]{0x0000000000000002L, 0x0080000000000020L});
public static final BitSet FOLLOW_OP_LEFT_SHIFT_in_shift_expression3413 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_additive_expression_in_shift_expression3418 = new BitSet(new long[]{0x0000000000000002L, 0x0080000000000020L});
public static final BitSet FOLLOW_right_shift_in_shift_expression3439 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_additive_expression_in_shift_expression3444 = new BitSet(new long[]{0x0000000000000002L, 0x0080000000000020L});
public static final BitSet FOLLOW_shift_expression_in_relational_expression3478 = new BitSet(new long[]{0x0000000000000042L, 0x0050000010080020L});
public static final BitSet FOLLOW_LT_in_relational_expression3493 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_shift_expression_in_relational_expression3497 = new BitSet(new long[]{0x0000000000000042L, 0x0050000010080020L});
public static final BitSet FOLLOW_GT_in_relational_expression3519 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_shift_expression_in_relational_expression3523 = new BitSet(new long[]{0x0000000000000042L, 0x0050000010080020L});
public static final BitSet FOLLOW_OP_LE_in_relational_expression3545 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_shift_expression_in_relational_expression3549 = new BitSet(new long[]{0x0000000000000042L, 0x0050000010080020L});
public static final BitSet FOLLOW_OP_GE_in_relational_expression3571 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_shift_expression_in_relational_expression3575 = new BitSet(new long[]{0x0000000000000042L, 0x0050000010080020L});
public static final BitSet FOLLOW_IS_in_relational_expression3597 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_isType_in_relational_expression3601 = new BitSet(new long[]{0x0000000000000042L, 0x0050000010080020L});
public static final BitSet FOLLOW_AS_in_relational_expression3623 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_type_in_relational_expression3627 = new BitSet(new long[]{0x0000000000000042L, 0x0050000010080020L});
public static final BitSet FOLLOW_non_nullable_value_type_in_isType3660 = new BitSet(new long[]{0x0000000000000002L, 0x0000000000040000L});
public static final BitSet FOLLOW_INTERR_in_isType3672 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_relational_expression_in_equality_expression3713 = new BitSet(new long[]{0x0000000000000002L, 0x0808000000000000L});
public static final BitSet FOLLOW_OP_EQ_in_equality_expression3729 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_relational_expression_in_equality_expression3734 = new BitSet(new long[]{0x0000000000000002L, 0x0808000000000000L});
public static final BitSet FOLLOW_OP_NE_in_equality_expression3756 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_relational_expression_in_equality_expression3761 = new BitSet(new long[]{0x0000000000000002L, 0x0808000000000000L});
public static final BitSet FOLLOW_equality_expression_in_and_expression3797 = new BitSet(new long[]{0x0000000000000022L});
public static final BitSet FOLLOW_AMP_in_and_expression3812 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_equality_expression_in_and_expression3816 = new BitSet(new long[]{0x0000000000000022L});
public static final BitSet FOLLOW_and_expression_in_exclusive_or_expression3850 = new BitSet(new long[]{0x0000000000020002L});
public static final BitSet FOLLOW_CARET_in_exclusive_or_expression3865 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_and_expression_in_exclusive_or_expression3869 = new BitSet(new long[]{0x0000000000020002L});
public static final BitSet FOLLOW_exclusive_or_expression_in_inclusive_or_expression3903 = new BitSet(new long[]{0x0000000000002002L});
public static final BitSet FOLLOW_BITWISE_OR_in_inclusive_or_expression3918 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_exclusive_or_expression_in_inclusive_or_expression3922 = new BitSet(new long[]{0x0000000000002002L});
public static final BitSet FOLLOW_inclusive_or_expression_in_conditional_and_expression3956 = new BitSet(new long[]{0x0000000000000002L, 0x0000400000000000L});
public static final BitSet FOLLOW_OP_AND_in_conditional_and_expression3971 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_inclusive_or_expression_in_conditional_and_expression3975 = new BitSet(new long[]{0x0000000000000002L, 0x0000400000000000L});
public static final BitSet FOLLOW_conditional_and_expression_in_conditional_or_expression4009 = new BitSet(new long[]{0x0000000000000002L, 0x1000000000000000L});
public static final BitSet FOLLOW_OP_OR_in_conditional_or_expression4024 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_conditional_and_expression_in_conditional_or_expression4028 = new BitSet(new long[]{0x0000000000000002L, 0x1000000000000000L});
public static final BitSet FOLLOW_conditional_or_expression_in_null_coalescing_expression4062 = new BitSet(new long[]{0x0000000000000002L, 0x0001000000000000L});
public static final BitSet FOLLOW_OP_COALESCING_in_null_coalescing_expression4065 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_null_coalescing_expression_in_null_coalescing_expression4068 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_null_coalescing_expression_in_conditional_expression4089 = new BitSet(new long[]{0x0000000000000002L, 0x0000000000040000L});
public static final BitSet FOLLOW_INTERR_in_conditional_expression4102 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_expression_in_conditional_expression4104 = new BitSet(new long[]{0x0000000008000000L});
public static final BitSet FOLLOW_COLON_in_conditional_expression4106 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_expression_in_conditional_expression4108 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_anonymous_function_signature_in_lambda_expression4144 = new BitSet(new long[]{0x0000000000000080L});
public static final BitSet FOLLOW_right_arrow_in_lambda_expression4146 = new BitSet(new long[]{0x2400106800715820L, 0x00220B250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_anonymous_function_body_in_lambda_expression4148 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_DELEGATE_in_anonymous_method_expression4161 = new BitSet(new long[]{0x0000000000000000L, 0x00000A0000000000L});
public static final BitSet FOLLOW_explicit_anonymous_function_signature_in_anonymous_method_expression4164 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L});
public static final BitSet FOLLOW_block_in_anonymous_method_expression4167 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OPEN_PARENS_in_anonymous_function_signature4183 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_anonymous_function_signature4185 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OPEN_PARENS_in_anonymous_function_signature4191 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110800000002L, 0x0000000001100030L});
public static final BitSet FOLLOW_explicit_anonymous_function_parameter_list_in_anonymous_function_signature4193 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_anonymous_function_signature4195 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OPEN_PARENS_in_anonymous_function_signature4201 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_implicit_anonymous_function_parameter_list_in_anonymous_function_signature4203 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_anonymous_function_signature4205 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_implicit_anonymous_function_parameter_in_anonymous_function_signature4211 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OPEN_PARENS_in_explicit_anonymous_function_signature4223 = new BitSet(new long[]{0x2000100804114000L, 0x0000010008004400L, 0x0008110800000002L, 0x0000000001100030L});
public static final BitSet FOLLOW_explicit_anonymous_function_parameter_list_in_explicit_anonymous_function_signature4225 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_explicit_anonymous_function_signature4228 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_explicit_anonymous_function_parameter_in_explicit_anonymous_function_parameter_list4239 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_COMMA_in_explicit_anonymous_function_parameter_list4243 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110800000002L, 0x0000000001100030L});
public static final BitSet FOLLOW_explicit_anonymous_function_parameter_in_explicit_anonymous_function_parameter_list4245 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_anonymous_function_parameter_modifier_in_explicit_anonymous_function_parameter4258 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_type_in_explicit_anonymous_function_parameter4261 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_explicit_anonymous_function_parameter4263 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OPEN_PARENS_in_implicit_anonymous_function_signature4290 = new BitSet(new long[]{0x0000000004000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_implicit_anonymous_function_parameter_list_in_implicit_anonymous_function_signature4292 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_implicit_anonymous_function_signature4295 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_implicit_anonymous_function_parameter_in_implicit_anonymous_function_signature4300 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_implicit_anonymous_function_parameter_in_implicit_anonymous_function_parameter_list4311 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_COMMA_in_implicit_anonymous_function_parameter_list4315 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_implicit_anonymous_function_parameter_in_implicit_anonymous_function_parameter_list4317 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_implicit_anonymous_function_parameter4332 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_expression_in_anonymous_function_body4343 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_block_in_anonymous_function_body4348 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_from_clause_in_query_expression4361 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_query_body_in_query_expression4363 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_from_contextual_keyword_in_from_clause4374 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_type_in_from_clause4387 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_from_clause4391 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000002000L});
public static final BitSet FOLLOW_IN_in_from_clause4393 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_expression_in_from_clause4395 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_query_body_clauses_in_query_body4409 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_select_or_group_clause_in_query_body4412 = new BitSet(new long[]{0x0000000000000002L, 0x0000000000000400L});
public static final BitSet FOLLOW_query_continuation_in_query_body4421 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_query_body_clause_in_query_body_clauses4435 = new BitSet(new long[]{0x0000000000000002L, 0x0000000000000400L});
public static final BitSet FOLLOW_query_body_clause_in_query_body_clauses4439 = new BitSet(new long[]{0x0000000000000002L, 0x0000000000000400L});
public static final BitSet FOLLOW_from_clause_in_query_body_clause4456 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_let_clause_in_query_body_clause4462 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_where_clause_in_query_body_clause4468 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_combined_join_clause_in_query_body_clause4474 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_orderby_clause_in_query_body_clause4480 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_let_contextual_keyword_in_let_clause4492 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_let_clause4494 = new BitSet(new long[]{0x0000000000000080L});
public static final BitSet FOLLOW_ASSIGNMENT_in_let_clause4496 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_expression_in_let_clause4498 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_where_contextual_keyword_in_where_clause4509 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_boolean_expression_in_where_clause4511 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_join_contextual_keyword_in_join_clause4522 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_type_in_join_clause4524 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_join_clause4527 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000002000L});
public static final BitSet FOLLOW_IN_in_join_clause4529 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_expression_in_join_clause4531 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_on_contextual_keyword_in_join_clause4533 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_expression_in_join_clause4535 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_equals_contextual_keyword_in_join_clause4537 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_expression_in_join_clause4539 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_join_contextual_keyword_in_join_into_clause4550 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_type_in_join_into_clause4552 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_join_into_clause4555 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000002000L});
public static final BitSet FOLLOW_IN_in_join_into_clause4557 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_expression_in_join_into_clause4559 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_on_contextual_keyword_in_join_into_clause4561 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_expression_in_join_into_clause4563 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_equals_contextual_keyword_in_join_into_clause4565 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_expression_in_join_into_clause4567 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_into_contextual_keyword_in_join_into_clause4569 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_join_into_clause4571 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_join_contextual_keyword_in_combined_join_clause4583 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_type_in_combined_join_clause4585 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_combined_join_clause4588 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000002000L});
public static final BitSet FOLLOW_IN_in_combined_join_clause4590 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_expression_in_combined_join_clause4592 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_on_contextual_keyword_in_combined_join_clause4594 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_expression_in_combined_join_clause4596 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_equals_contextual_keyword_in_combined_join_clause4598 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_expression_in_combined_join_clause4600 = new BitSet(new long[]{0x0000000000000002L, 0x0000000000000400L});
public static final BitSet FOLLOW_into_contextual_keyword_in_combined_join_clause4603 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_combined_join_clause4605 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_orderby_contextual_keyword_in_orderby_clause4619 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_orderings_in_orderby_clause4621 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ordering_in_orderings4632 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_COMMA_in_orderings4636 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_ordering_in_orderings4639 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_expression_in_ordering4653 = new BitSet(new long[]{0x0000000000000002L, 0x0000000000000400L});
public static final BitSet FOLLOW_ordering_direction_in_ordering4655 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ascending_contextual_keyword_in_ordering_direction4667 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_descending_contextual_keyword_in_ordering_direction4672 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_select_clause_in_select_or_group_clause4683 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_group_clause_in_select_or_group_clause4688 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_select_contextual_keyword_in_select_clause4699 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_expression_in_select_clause4701 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_group_contextual_keyword_in_group_clause4712 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_expression_in_group_clause4714 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_by_contextual_keyword_in_group_clause4716 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_expression_in_group_clause4718 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_into_contextual_keyword_in_query_continuation4731 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_query_continuation4733 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_query_body_in_query_continuation4735 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_unary_expression_in_assignment4748 = new BitSet(new long[]{0x0000000000000080L, 0xA704A00000000020L, 0x0000000000000001L});
public static final BitSet FOLLOW_assignment_operator_in_assignment4750 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_expression_in_assignment4753 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_assignment_operator2_in_assignment_operator4764 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ASSIGNMENT_in_assignment_operator24784 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OP_ADD_ASSIGNMENT_in_assignment_operator24789 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OP_SUB_ASSIGNMENT_in_assignment_operator24794 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OP_MULT_ASSIGNMENT_in_assignment_operator24799 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OP_DIV_ASSIGNMENT_in_assignment_operator24804 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OP_MOD_ASSIGNMENT_in_assignment_operator24809 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OP_AND_ASSIGNMENT_in_assignment_operator24814 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OP_OR_ASSIGNMENT_in_assignment_operator24819 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OP_XOR_ASSIGNMENT_in_assignment_operator24824 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OP_LEFT_SHIFT_ASSIGNMENT_in_assignment_operator24829 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_right_shift_assignment_in_assignment_operator24834 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_assignment_in_expression4853 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_non_assignment_expression_in_expression4860 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_lambda_expression_in_non_assignment_expression4876 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_query_expression_in_non_assignment_expression4887 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_conditional_expression_in_non_assignment_expression4894 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_expression_in_constant_expression4905 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_expression_in_boolean_expression4916 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_labeled_statement_in_statement4935 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_declaration_statement_in_statement4946 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_embedded_statement_in_statement4951 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_block_in_embedded_statement4962 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_empty_statement_in_embedded_statement4967 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_expression_statement_in_embedded_statement4972 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_selection_statement_in_embedded_statement4977 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_iteration_statement_in_embedded_statement4982 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_jump_statement_in_embedded_statement4987 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_try_statement_in_embedded_statement4992 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_checked_statement_in_embedded_statement4997 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_unchecked_statement_in_embedded_statement5002 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_lock_statement_in_embedded_statement5007 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_using_statement_in_embedded_statement5012 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_yield_statement_in_embedded_statement5017 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_embedded_statement_unsafe_in_embedded_statement5022 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OPEN_BRACE_in_block5035 = new BitSet(new long[]{0xF40014686171D820L, 0x00220B250C00CC10L, 0xC05A951400000020L, 0x000000001138007FL});
public static final BitSet FOLLOW_statement_list_in_block5037 = new BitSet(new long[]{0x0000000001000000L});
public static final BitSet FOLLOW_CLOSE_BRACE_in_block5040 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_statement_in_statement_list5063 = new BitSet(new long[]{0xF40014686071D822L, 0x00220B250C00CC10L, 0xC05A951400000020L, 0x000000001138007FL});
public static final BitSet FOLLOW_SEMICOLON_in_empty_statement5075 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_labeled_statement5088 = new BitSet(new long[]{0x0000000008000000L});
public static final BitSet FOLLOW_COLON_in_labeled_statement5090 = new BitSet(new long[]{0xF40014686071D820L, 0x00220B250C00CC10L, 0xC05A951400000020L, 0x000000001138007FL});
public static final BitSet FOLLOW_statement_in_labeled_statement5092 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_local_variable_declaration_in_declaration_statement5119 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_SEMICOLON_in_declaration_statement5121 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_local_constant_declaration_in_declaration_statement5127 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_SEMICOLON_in_declaration_statement5129 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_local_variable_type_in_local_variable_declaration5147 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_local_variable_declarators_in_local_variable_declaration5154 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_type_in_local_variable_type5167 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_local_variable_declarator_in_local_variable_declarators5181 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_COMMA_in_local_variable_declarators5185 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_local_variable_declarator_in_local_variable_declarators5188 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_local_variable_declarator5221 = new BitSet(new long[]{0x0000000000000082L});
public static final BitSet FOLLOW_ASSIGNMENT_in_local_variable_declarator5224 = new BitSet(new long[]{0x2400106800715820L, 0x00220B250800C400L, 0x401B910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_local_variable_initializer_in_local_variable_declarator5227 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_local_variable_initializer2_in_local_variable_initializer5241 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_expression_in_local_variable_initializer25260 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_array_initializer_in_local_variable_initializer25265 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_local_variable_initializer_unsafe_in_local_variable_initializer25270 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_CONST_in_local_constant_declaration5281 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_type_in_local_constant_declaration5286 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_constant_declarators_in_local_constant_declaration5289 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_statement_expression_in_expression_statement5300 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_SEMICOLON_in_expression_statement5302 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_expression_in_statement_expression5328 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_if_statement_in_selection_statement5339 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_switch_statement_in_selection_statement5344 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IF_in_if_statement5358 = new BitSet(new long[]{0x0000000000000000L, 0x0000080000000000L});
public static final BitSet FOLLOW_OPEN_PARENS_in_if_statement5360 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_boolean_expression_in_if_statement5364 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_if_statement5366 = new BitSet(new long[]{0xF40014684071D820L, 0x00220B250C00CC10L, 0xC05A951400000020L, 0x000000001038007FL});
public static final BitSet FOLLOW_embedded_statement_in_if_statement5370 = new BitSet(new long[]{0x0010000000000002L});
public static final BitSet FOLLOW_ELSE_in_if_statement5386 = new BitSet(new long[]{0xF40014684071D820L, 0x00220B250C00CC10L, 0xC05A951400000020L, 0x000000001038007FL});
public static final BitSet FOLLOW_embedded_statement_in_if_statement5390 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_SWITCH_in_switch_statement5438 = new BitSet(new long[]{0x0000000000000000L, 0x0000080000000000L});
public static final BitSet FOLLOW_OPEN_PARENS_in_switch_statement5441 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_expression_in_switch_statement5443 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_switch_statement5445 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L});
public static final BitSet FOLLOW_switch_block_in_switch_statement5447 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OPEN_BRACE_in_switch_block5458 = new BitSet(new long[]{0x0000002001040000L});
public static final BitSet FOLLOW_switch_sections_in_switch_block5460 = new BitSet(new long[]{0x0000000001000000L});
public static final BitSet FOLLOW_CLOSE_BRACE_in_switch_block5463 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_switch_section_in_switch_sections5474 = new BitSet(new long[]{0x0000002000040002L});
public static final BitSet FOLLOW_switch_section_in_switch_sections5478 = new BitSet(new long[]{0x0000002000040002L});
public static final BitSet FOLLOW_switch_labels_in_switch_section5492 = new BitSet(new long[]{0xF40014686071D820L, 0x00220B250C00CC10L, 0xC05A951400000020L, 0x000000001138007FL});
public static final BitSet FOLLOW_statement_list_in_switch_section5494 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_switch_label_in_switch_labels5505 = new BitSet(new long[]{0x0000002000040002L});
public static final BitSet FOLLOW_switch_label_in_switch_labels5509 = new BitSet(new long[]{0x0000002000040002L});
public static final BitSet FOLLOW_CASE_in_switch_label5523 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_constant_expression_in_switch_label5525 = new BitSet(new long[]{0x0000000008000000L});
public static final BitSet FOLLOW_COLON_in_switch_label5527 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_DEFAULT_in_switch_label5532 = new BitSet(new long[]{0x0000000008000000L});
public static final BitSet FOLLOW_COLON_in_switch_label5534 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_while_statement_in_iteration_statement5547 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_do_statement_in_iteration_statement5552 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_for_statement_in_iteration_statement5557 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_foreach_statement_in_iteration_statement5562 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_WHILE_in_while_statement5573 = new BitSet(new long[]{0x0000000000000000L, 0x0000080000000000L});
public static final BitSet FOLLOW_OPEN_PARENS_in_while_statement5575 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_boolean_expression_in_while_statement5577 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_while_statement5579 = new BitSet(new long[]{0xF40014684071D820L, 0x00220B250C00CC10L, 0xC05A951400000020L, 0x000000001038007FL});
public static final BitSet FOLLOW_embedded_statement_in_while_statement5581 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_DO_in_do_statement5614 = new BitSet(new long[]{0xF40014684071D820L, 0x00220B250C00CC10L, 0xC05A951400000020L, 0x000000001038007FL});
public static final BitSet FOLLOW_embedded_statement_in_do_statement5616 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000000000000000L, 0x0000000010000000L});
public static final BitSet FOLLOW_WHILE_in_do_statement5618 = new BitSet(new long[]{0x0000000000000000L, 0x0000080000000000L});
public static final BitSet FOLLOW_OPEN_PARENS_in_do_statement5620 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_boolean_expression_in_do_statement5622 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_do_statement5624 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_SEMICOLON_in_do_statement5626 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_FOR_in_for_statement5659 = new BitSet(new long[]{0x0000000000000000L, 0x0000080000000000L});
public static final BitSet FOLLOW_OPEN_PARENS_in_for_statement5661 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A950400000020L, 0x000000000110007BL});
public static final BitSet FOLLOW_for_initializer_in_for_statement5663 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_SEMICOLON_in_for_statement5666 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A950400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_for_condition_in_for_statement5668 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_SEMICOLON_in_for_statement5671 = new BitSet(new long[]{0x2400106804715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_for_iterator_in_for_statement5673 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_for_statement5676 = new BitSet(new long[]{0xF40014684071D820L, 0x00220B250C00CC10L, 0xC05A951400000020L, 0x000000001038007FL});
public static final BitSet FOLLOW_embedded_statement_in_for_statement5678 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_local_variable_declaration_in_for_initializer5745 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_statement_expression_list_in_for_initializer5750 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_boolean_expression_in_for_condition5761 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_statement_expression_list_in_for_iterator5772 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_statement_expression_in_statement_expression_list5783 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_COMMA_in_statement_expression_list5787 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_statement_expression_in_statement_expression_list5790 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_FOREACH_in_foreach_statement5804 = new BitSet(new long[]{0x0000000000000000L, 0x0000080000000000L});
public static final BitSet FOLLOW_OPEN_PARENS_in_foreach_statement5806 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_local_variable_type_in_foreach_statement5808 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_foreach_statement5810 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000002000L});
public static final BitSet FOLLOW_IN_in_foreach_statement5812 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_expression_in_foreach_statement5814 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_foreach_statement5816 = new BitSet(new long[]{0xF40014684071D820L, 0x00220B250C00CC10L, 0xC05A951400000020L, 0x000000001038007FL});
public static final BitSet FOLLOW_embedded_statement_in_foreach_statement5818 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_break_statement_in_jump_statement5852 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_continue_statement_in_jump_statement5857 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_goto_statement_in_jump_statement5862 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_return_statement_in_jump_statement5867 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_throw_statement_in_jump_statement5872 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_BREAK_in_break_statement5883 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_SEMICOLON_in_break_statement5886 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_CONTINUE_in_continue_statement5898 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_SEMICOLON_in_continue_statement5901 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_GOTO_in_goto_statement5913 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_goto_statement5916 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_SEMICOLON_in_goto_statement5918 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_GOTO_in_goto_statement5923 = new BitSet(new long[]{0x0000000000040000L});
public static final BitSet FOLLOW_CASE_in_goto_statement5926 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_constant_expression_in_goto_statement5928 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_SEMICOLON_in_goto_statement5930 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_GOTO_in_goto_statement5935 = new BitSet(new long[]{0x0000002000000000L});
public static final BitSet FOLLOW_DEFAULT_in_goto_statement5938 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_SEMICOLON_in_goto_statement5940 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RETURN_in_return_statement5951 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A950400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_expression_in_return_statement5954 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_SEMICOLON_in_return_statement5957 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_THROW_in_throw_statement5969 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A950400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_expression_in_throw_statement5972 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_SEMICOLON_in_throw_statement5975 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_TRY_in_try_statement5990 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L});
public static final BitSet FOLLOW_block_in_try_statement5993 = new BitSet(new long[]{0x0800000000080002L});
public static final BitSet FOLLOW_catch_clauses_in_try_statement5995 = new BitSet(new long[]{0x0800000000000002L});
public static final BitSet FOLLOW_finally_clause_in_try_statement5998 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_specific_catch_clauses_in_catch_clauses6014 = new BitSet(new long[]{0x0000000000080002L});
public static final BitSet FOLLOW_general_catch_clause_in_catch_clauses6016 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_general_catch_clause_in_catch_clauses6023 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_specific_catch_clause_in_specific_catch_clauses6035 = new BitSet(new long[]{0x0000000000080002L});
public static final BitSet FOLLOW_specific_catch_clause_in_specific_catch_clauses6039 = new BitSet(new long[]{0x0000000000080002L});
public static final BitSet FOLLOW_CATCH_in_specific_catch_clause6053 = new BitSet(new long[]{0x0000000000000000L, 0x0000080000000000L});
public static final BitSet FOLLOW_OPEN_PARENS_in_specific_catch_clause6056 = new BitSet(new long[]{0x0000000000000000L, 0x0000010000000400L, 0x0008000000000000L});
public static final BitSet FOLLOW_class_type_in_specific_catch_clause6058 = new BitSet(new long[]{0x0000000004000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_specific_catch_clause6060 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_specific_catch_clause6063 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L});
public static final BitSet FOLLOW_block_in_specific_catch_clause6065 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_CATCH_in_general_catch_clause6076 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L});
public static final BitSet FOLLOW_block_in_general_catch_clause6079 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_FINALLY_in_finally_clause6090 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L});
public static final BitSet FOLLOW_block_in_finally_clause6093 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_CHECKED_in_checked_statement6104 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L});
public static final BitSet FOLLOW_block_in_checked_statement6107 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_UNCHECKED_in_unchecked_statement6118 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L});
public static final BitSet FOLLOW_block_in_unchecked_statement6121 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_LOCK_in_lock_statement6132 = new BitSet(new long[]{0x0000000000000000L, 0x0000080000000000L});
public static final BitSet FOLLOW_OPEN_PARENS_in_lock_statement6135 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_expression_in_lock_statement6137 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_lock_statement6139 = new BitSet(new long[]{0xF40014684071D820L, 0x00220B250C00CC10L, 0xC05A951400000020L, 0x000000001038007FL});
public static final BitSet FOLLOW_embedded_statement_in_lock_statement6141 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_USING_in_using_statement6152 = new BitSet(new long[]{0x0000000000000000L, 0x0000080000000000L});
public static final BitSet FOLLOW_OPEN_PARENS_in_using_statement6155 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000110007BL});
public static final BitSet FOLLOW_resource_acquisition_in_using_statement6157 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_using_statement6159 = new BitSet(new long[]{0xF40014684071D820L, 0x00220B250C00CC10L, 0xC05A951400000020L, 0x000000001038007FL});
public static final BitSet FOLLOW_embedded_statement_in_using_statement6161 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_local_variable_declaration_in_resource_acquisition6180 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_expression_in_resource_acquisition6185 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_yield_contextual_keyword_in_yield_statement6196 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000001000000000L});
public static final BitSet FOLLOW_RETURN_in_yield_statement6198 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_expression_in_yield_statement6200 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_SEMICOLON_in_yield_statement6202 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_yield_contextual_keyword_in_yield_statement6207 = new BitSet(new long[]{0x0000000000008000L});
public static final BitSet FOLLOW_BREAK_in_yield_statement6209 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_SEMICOLON_in_yield_statement6211 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_extern_alias_directives_in_compilation_unit6230 = new BitSet(new long[]{0x0120004000800010L, 0x0000040600030400L, 0x00240202000001C4L, 0x0000000002A80000L});
public static final BitSet FOLLOW_using_directives_in_compilation_unit6233 = new BitSet(new long[]{0x0120004000800010L, 0x0000040600030400L, 0x00240202000001C4L, 0x0000000002880000L});
public static final BitSet FOLLOW_global_attribute_section_in_compilation_unit6248 = new BitSet(new long[]{0x0120004000800010L, 0x0000040600030400L, 0x00240202000001C4L, 0x0000000002880000L});
public static final BitSet FOLLOW_namespace_member_declarations_in_compilation_unit6257 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_compilation_unit6260 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_NAMESPACE_in_namespace_declaration6273 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_qualified_identifier_in_namespace_declaration6276 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L});
public static final BitSet FOLLOW_namespace_body_in_namespace_declaration6278 = new BitSet(new long[]{0x0000000000000002L, 0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_SEMICOLON_in_namespace_declaration6280 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_qualified_identifier6293 = new BitSet(new long[]{0x0000080000000002L});
public static final BitSet FOLLOW_DOT_in_qualified_identifier6297 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_qualified_identifier6300 = new BitSet(new long[]{0x0000080000000002L});
public static final BitSet FOLLOW_OPEN_BRACE_in_namespace_body6326 = new BitSet(new long[]{0x0120004001800010L, 0x0000040600030400L, 0x00240202000001C4L, 0x0000000002A80000L});
public static final BitSet FOLLOW_extern_alias_directives_in_namespace_body6329 = new BitSet(new long[]{0x0120004001800010L, 0x0000040600030400L, 0x00240202000001C4L, 0x0000000002A80000L});
public static final BitSet FOLLOW_using_directives_in_namespace_body6332 = new BitSet(new long[]{0x0120004001800010L, 0x0000040600030400L, 0x00240202000001C4L, 0x0000000002880000L});
public static final BitSet FOLLOW_namespace_member_declarations_in_namespace_body6335 = new BitSet(new long[]{0x0000000001000000L});
public static final BitSet FOLLOW_CLOSE_BRACE_in_namespace_body6338 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_extern_alias_directive_in_extern_alias_directives6349 = new BitSet(new long[]{0x0100000000000002L});
public static final BitSet FOLLOW_EXTERN_in_extern_alias_directive6373 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_alias_contextual_keyword_in_extern_alias_directive6376 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_extern_alias_directive6379 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_SEMICOLON_in_extern_alias_directive6381 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_using_directive_in_using_directives6393 = new BitSet(new long[]{0x0000000000000002L, 0x0000000000000000L, 0x0000000000000000L, 0x0000000000200000L});
public static final BitSet FOLLOW_using_alias_directive_in_using_directive6417 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_using_namespace_directive_in_using_directive6422 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_USING_in_using_alias_directive6433 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_using_alias_directive6435 = new BitSet(new long[]{0x0000000000000080L});
public static final BitSet FOLLOW_ASSIGNMENT_in_using_alias_directive6437 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_namespace_or_type_name_in_using_alias_directive6439 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_SEMICOLON_in_using_alias_directive6441 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_USING_in_using_namespace_directive6467 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_namespace_name_in_using_namespace_directive6469 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_SEMICOLON_in_using_namespace_directive6471 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_namespace_member_declaration_in_namespace_member_declarations6494 = new BitSet(new long[]{0x0120004000800012L, 0x0000040600030400L, 0x00240202000001C4L, 0x0000000002880000L});
public static final BitSet FOLLOW_namespace_declaration_in_namespace_member_declaration6518 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_type_declaration_in_namespace_member_declaration6523 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_attributes_in_type_declaration6537 = new BitSet(new long[]{0x0120004000800010L, 0x0000000400030400L, 0x00240202000001C4L, 0x0000000002880000L});
public static final BitSet FOLLOW_all_member_modifiers_in_type_declaration6540 = new BitSet(new long[]{0x0020004000800000L, 0x0000000000010000L, 0x0020000000000000L});
public static final BitSet FOLLOW_class_definition_in_type_declaration6549 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_struct_definition_in_type_declaration6558 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_interface_definition_in_type_declaration6567 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_enum_definition_in_type_declaration6576 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_delegate_definition_in_type_declaration6585 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_qualified_alias_member6608 = new BitSet(new long[]{0x0000400000000000L});
public static final BitSet FOLLOW_DOUBLE_COLON_in_qualified_alias_member6610 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_qualified_alias_member6614 = new BitSet(new long[]{0x0000000000000000L, 0x0000000010000000L});
public static final BitSet FOLLOW_type_argument_list_opt_in_qualified_alias_member6616 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_attributes_in_class_declaration6648 = new BitSet(new long[]{0x0000000000800010L, 0x0000000400020400L, 0x00040200000001C0L, 0x0000000000080000L});
public static final BitSet FOLLOW_class_modifiers_in_class_declaration6651 = new BitSet(new long[]{0x0000000000800000L, 0x0000000000000400L});
public static final BitSet FOLLOW_partial_contextual_keyword_in_class_declaration6654 = new BitSet(new long[]{0x0000000000800000L});
public static final BitSet FOLLOW_CLASS_in_class_declaration6657 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_class_declaration6659 = new BitSet(new long[]{0x0000000008000000L, 0x0000020010000400L});
public static final BitSet FOLLOW_type_parameter_list_in_class_declaration6661 = new BitSet(new long[]{0x0000000008000000L, 0x0000020000000400L});
public static final BitSet FOLLOW_class_base_in_class_declaration6669 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000400L});
public static final BitSet FOLLOW_type_parameter_constraints_clauses_in_class_declaration6672 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L});
public static final BitSet FOLLOW_class_body_in_class_declaration6675 = new BitSet(new long[]{0x0000000000000002L, 0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_SEMICOLON_in_class_declaration6677 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_class_modifier_in_class_modifiers6689 = new BitSet(new long[]{0x0000000000000012L, 0x0000000400020000L, 0x00040200000001C0L, 0x0000000000080000L});
public static final BitSet FOLLOW_class_modifier_in_class_modifiers6693 = new BitSet(new long[]{0x0000000000000012L, 0x0000000400020000L, 0x00040200000001C0L, 0x0000000000080000L});
public static final BitSet FOLLOW_NEW_in_class_modifier6707 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PUBLIC_in_class_modifier6712 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PROTECTED_in_class_modifier6717 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_INTERNAL_in_class_modifier6722 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PRIVATE_in_class_modifier6727 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ABSTRACT_in_class_modifier6732 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_SEALED_in_class_modifier6737 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_STATIC_in_class_modifier6742 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_class_modifier_unsafe_in_class_modifier6747 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_LT_in_type_parameter_list6758 = new BitSet(new long[]{0x0000000000000000L, 0x0000040000000400L});
public static final BitSet FOLLOW_type_parameters_in_type_parameter_list6761 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000020L});
public static final BitSet FOLLOW_GT_in_type_parameter_list6763 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_attributed_type_parameter_in_type_parameters6775 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_COMMA_in_type_parameters6779 = new BitSet(new long[]{0x0000000000000000L, 0x0000040000000400L});
public static final BitSet FOLLOW_attributed_type_parameter_in_type_parameters6782 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_attributes_in_attributed_type_parameter6809 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_type_parameter_in_attributed_type_parameter6812 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_type_parameter6838 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_COLON_in_class_base6853 = new BitSet(new long[]{0x0000000000000000L, 0x0000010000000400L, 0x0008000000000000L});
public static final BitSet FOLLOW_class_type_in_class_base6855 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_COMMA_in_class_base6859 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_interface_type_in_class_base6862 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_interface_type_in_interface_type_list6894 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_COMMA_in_interface_type_list6898 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_interface_type_in_interface_type_list6901 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_type_parameter_constraints_clause_in_type_parameter_constraints_clauses6927 = new BitSet(new long[]{0x0000000000000002L, 0x0000000000000400L});
public static final BitSet FOLLOW_where_contextual_keyword_in_type_parameter_constraints_clause6951 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_type_parameter_in_type_parameter_constraints_clause6953 = new BitSet(new long[]{0x0000000008000000L});
public static final BitSet FOLLOW_COLON_in_type_parameter_constraints_clause6955 = new BitSet(new long[]{0x0000000000800000L, 0x0000010400000400L, 0x0028000000000000L});
public static final BitSet FOLLOW_type_parameter_constraints_in_type_parameter_constraints_clause6957 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_constructor_constraint_in_type_parameter_constraints6986 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_primary_constraint_in_type_parameter_constraints6992 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_COMMA_in_type_parameter_constraints6995 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_secondary_constraints_in_type_parameter_constraints6997 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_COMMA_in_type_parameter_constraints7002 = new BitSet(new long[]{0x0000000000000000L, 0x0000000400000000L});
public static final BitSet FOLLOW_constructor_constraint_in_type_parameter_constraints7004 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_class_type_in_primary_constraint7018 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_CLASS_in_primary_constraint7023 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_STRUCT_in_primary_constraint7028 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_interface_type_in_secondary_constraints7042 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_COMMA_in_secondary_constraints7045 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_interface_type_in_secondary_constraints7047 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_NEW_in_constructor_constraint7061 = new BitSet(new long[]{0x0000000000000000L, 0x0000080000000000L});
public static final BitSet FOLLOW_OPEN_PARENS_in_constructor_constraint7063 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_constructor_constraint7065 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OPEN_BRACE_in_class_body7076 = new BitSet(new long[]{0x21E0104821914010L, 0x0000050408035400L, 0x002C1302000001C4L, 0x0000000003980031L});
public static final BitSet FOLLOW_class_member_declarations_in_class_body7079 = new BitSet(new long[]{0x0000000001000000L});
public static final BitSet FOLLOW_CLOSE_BRACE_in_class_body7082 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_class_member_declaration_in_class_member_declarations7094 = new BitSet(new long[]{0x21E0104820914012L, 0x0000050408035400L, 0x002C1302000001C4L, 0x0000000003980031L});
public static final BitSet FOLLOW_attributes_in_class_member_declaration7123 = new BitSet(new long[]{0x21E0104820914010L, 0x0000010408035400L, 0x002C1302000001C4L, 0x0000000003980031L});
public static final BitSet FOLLOW_all_member_modifiers_in_class_member_declaration7134 = new BitSet(new long[]{0x20E0104820914000L, 0x0000010008015400L, 0x0028110000000000L, 0x0000000001100031L});
public static final BitSet FOLLOW_common_member_declaration_in_class_member_declaration7145 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_destructor_definition_in_class_member_declaration7153 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_all_member_modifier_in_all_member_modifiers7173 = new BitSet(new long[]{0x0100000000000012L, 0x0000000400020400L, 0x00040202000001C4L, 0x0000000002880000L});
public static final BitSet FOLLOW_NEW_in_all_member_modifier7199 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PUBLIC_in_all_member_modifier7205 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PROTECTED_in_all_member_modifier7211 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_INTERNAL_in_all_member_modifier7217 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PRIVATE_in_all_member_modifier7223 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_READONLY_in_all_member_modifier7229 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_VOLATILE_in_all_member_modifier7235 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_VIRTUAL_in_all_member_modifier7241 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_SEALED_in_all_member_modifier7247 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OVERRIDE_in_all_member_modifier7253 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ABSTRACT_in_all_member_modifier7259 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_STATIC_in_all_member_modifier7265 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_UNSAFE_in_all_member_modifier7271 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_EXTERN_in_all_member_modifier7277 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_partial_contextual_keyword_in_all_member_modifier7283 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_constant_declaration2_in_common_member_declaration7304 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_typed_member_declaration_in_common_member_declaration7310 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_event_declaration2_in_common_member_declaration7316 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_conversion_operator_declarator_in_common_member_declaration7322 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_operator_body_in_common_member_declaration7325 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_constructor_declaration2_in_common_member_declaration7334 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_type_void_in_common_member_declaration7340 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_method_declaration2_in_common_member_declaration7344 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_class_definition_in_common_member_declaration7353 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_struct_definition_in_common_member_declaration7359 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_interface_definition_in_common_member_declaration7365 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_enum_definition_in_common_member_declaration7371 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_delegate_definition_in_common_member_declaration7377 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_type_in_typed_member_declaration7390 = new BitSet(new long[]{0x0000000000000000L, 0x0000100000000400L, 0x4000000000000000L});
public static final BitSet FOLLOW_interface_type_in_typed_member_declaration7410 = new BitSet(new long[]{0x0000080000000000L});
public static final BitSet FOLLOW_DOT_in_typed_member_declaration7412 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x4000000000000000L});
public static final BitSet FOLLOW_indexer_declaration2_in_typed_member_declaration7415 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_method_declaration2_in_typed_member_declaration7435 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_property_declaration2_in_typed_member_declaration7452 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_indexer_declaration2_in_typed_member_declaration7461 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_operator_declaration2_in_typed_member_declaration7470 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_field_declaration2_in_typed_member_declaration7479 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_constant_declarator_in_constant_declarators7500 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_COMMA_in_constant_declarators7505 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_constant_declarator_in_constant_declarators7508 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_constant_declarator7536 = new BitSet(new long[]{0x0000000000000080L});
public static final BitSet FOLLOW_ASSIGNMENT_in_constant_declarator7538 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_constant_expression_in_constant_declarator7540 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_variable_declarator_in_variable_declarators7577 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_COMMA_in_variable_declarators7581 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_variable_declarator_in_variable_declarators7585 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_variable_declarator2_in_variable_declarator7599 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_variable_declarator27629 = new BitSet(new long[]{0x0000000000000082L});
public static final BitSet FOLLOW_ASSIGNMENT_in_variable_declarator27632 = new BitSet(new long[]{0x2400106800715820L, 0x00220B250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_variable_initializer_in_variable_declarator27635 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_variable_initializer2_in_variable_initializer7648 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_expression_in_variable_initializer27668 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_array_initializer_in_variable_initializer27673 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_method_header_in_method_declaration7684 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_method_body_in_method_declaration7686 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_attributes_in_method_header7697 = new BitSet(new long[]{0x2100100800114010L, 0x0000010408024400L, 0x000C1300000001C4L, 0x0000000001980030L});
public static final BitSet FOLLOW_method_modifiers_in_method_header7700 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_partial_contextual_keyword_in_method_header7703 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_return_type_in_method_header7706 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_member_name_in_method_header7708 = new BitSet(new long[]{0x0000000000000000L, 0x0000080010000000L});
public static final BitSet FOLLOW_type_parameter_list_in_method_header7710 = new BitSet(new long[]{0x0000000000000000L, 0x0000080000000000L});
public static final BitSet FOLLOW_OPEN_PARENS_in_method_header7713 = new BitSet(new long[]{0x2000100804114000L, 0x0000050008004400L, 0x400811080000000AL, 0x0000000001100030L});
public static final BitSet FOLLOW_formal_parameter_list_in_method_header7715 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_method_header7718 = new BitSet(new long[]{0x0000000000000002L, 0x0000000000000400L});
public static final BitSet FOLLOW_type_parameter_constraints_clauses_in_method_header7720 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_method_modifier_in_method_modifiers7732 = new BitSet(new long[]{0x0100000000000012L, 0x0000000400020000L, 0x00040200000001C4L, 0x0000000000880000L});
public static final BitSet FOLLOW_NEW_in_method_modifier7744 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PUBLIC_in_method_modifier7749 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PROTECTED_in_method_modifier7754 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_INTERNAL_in_method_modifier7759 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PRIVATE_in_method_modifier7764 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_STATIC_in_method_modifier7769 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_VIRTUAL_in_method_modifier7774 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_SEALED_in_method_modifier7779 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OVERRIDE_in_method_modifier7784 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ABSTRACT_in_method_modifier7789 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_EXTERN_in_method_modifier7794 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_method_modifier_unsafe_in_method_modifier7799 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_type_in_return_type7812 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_VOID_in_return_type7817 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_interface_type_in_member_name7833 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_block_in_method_body7853 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_SEMICOLON_in_method_body7858 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_parameter_array_in_formal_parameter_list7882 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_fixed_parameters_in_formal_parameter_list7901 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_COMMA_in_formal_parameter_list7913 = new BitSet(new long[]{0x0000000000000000L, 0x0000040000000000L, 0x0000000000000008L});
public static final BitSet FOLLOW_parameter_array_in_formal_parameter_list7915 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_fixed_parameter_in_fixed_parameters7947 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_COMMA_in_fixed_parameters7959 = new BitSet(new long[]{0x2000100800114000L, 0x0000050008004400L, 0x4008110800000002L, 0x0000000001100030L});
public static final BitSet FOLLOW_fixed_parameter_in_fixed_parameters7962 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_attributes_in_fixed_parameter7980 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x4008110800000002L, 0x0000000001100030L});
public static final BitSet FOLLOW_parameter_modifier_in_fixed_parameter7983 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_type_in_fixed_parameter7986 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_fixed_parameter7988 = new BitSet(new long[]{0x0000000000000082L});
public static final BitSet FOLLOW_default_argument_in_fixed_parameter7990 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_arglist_in_fixed_parameter8020 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ASSIGNMENT_in_default_argument8044 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_expression_in_default_argument8047 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_parameter_modifier2_in_parameter_modifier8059 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_attributes_in_parameter_array8099 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000000000000008L});
public static final BitSet FOLLOW_PARAMS_in_parameter_array8102 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_array_type_in_parameter_array8104 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_parameter_array8106 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_attributes_in_property_declaration8133 = new BitSet(new long[]{0x2100100800114010L, 0x0000010408024400L, 0x000C1300000001C4L, 0x0000000001980030L});
public static final BitSet FOLLOW_property_modifiers_in_property_declaration8136 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_type_in_property_declaration8139 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_member_name_in_property_declaration8141 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L});
public static final BitSet FOLLOW_OPEN_BRACE_in_property_declaration8143 = new BitSet(new long[]{0x0000000000000000L, 0x0000040000020400L, 0x00000000000000C0L});
public static final BitSet FOLLOW_accessor_declarations_in_property_declaration8145 = new BitSet(new long[]{0x0000000001000000L});
public static final BitSet FOLLOW_CLOSE_BRACE_in_property_declaration8147 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_property_modifier_in_property_modifiers8158 = new BitSet(new long[]{0x0100000000000012L, 0x0000000400020000L, 0x00040200000001C4L, 0x0000000000880000L});
public static final BitSet FOLLOW_NEW_in_property_modifier8170 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PUBLIC_in_property_modifier8175 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PROTECTED_in_property_modifier8180 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_INTERNAL_in_property_modifier8185 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PRIVATE_in_property_modifier8190 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_STATIC_in_property_modifier8195 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_VIRTUAL_in_property_modifier8200 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_SEALED_in_property_modifier8205 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OVERRIDE_in_property_modifier8210 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ABSTRACT_in_property_modifier8215 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_EXTERN_in_property_modifier8220 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_property_modifier_unsafe_in_property_modifier8225 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_attributes_in_accessor_declarations8241 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000020400L, 0x00000000000000C0L});
public static final BitSet FOLLOW_accessor_modifier_in_accessor_declarations8250 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_get_contextual_keyword_in_accessor_declarations8260 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_accessor_body_in_accessor_declarations8262 = new BitSet(new long[]{0x0000000000000002L, 0x0000040000020400L, 0x00000000000000C0L});
public static final BitSet FOLLOW_set_accessor_declaration_in_accessor_declarations8264 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_set_contextual_keyword_in_accessor_declarations8273 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_accessor_body_in_accessor_declarations8275 = new BitSet(new long[]{0x0000000000000002L, 0x0000040000020400L, 0x00000000000000C0L});
public static final BitSet FOLLOW_get_accessor_declaration_in_accessor_declarations8277 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_attributes_in_get_accessor_declaration8296 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000020400L, 0x00000000000000C0L});
public static final BitSet FOLLOW_accessor_modifier_in_get_accessor_declaration8299 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_get_contextual_keyword_in_get_accessor_declaration8302 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_accessor_body_in_get_accessor_declaration8304 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_attributes_in_set_accessor_declaration8315 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000020400L, 0x00000000000000C0L});
public static final BitSet FOLLOW_accessor_modifier_in_set_accessor_declaration8318 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_set_contextual_keyword_in_set_accessor_declaration8321 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_accessor_body_in_set_accessor_declaration8323 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PROTECTED_in_accessor_modifier8334 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_INTERNAL_in_accessor_modifier8339 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PRIVATE_in_accessor_modifier8344 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PROTECTED_in_accessor_modifier8349 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000020000L});
public static final BitSet FOLLOW_INTERNAL_in_accessor_modifier8351 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_INTERNAL_in_accessor_modifier8356 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000000000000080L});
public static final BitSet FOLLOW_PROTECTED_in_accessor_modifier8358 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_block_in_accessor_body8369 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_SEMICOLON_in_accessor_body8374 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_event_modifier_in_event_modifiers8389 = new BitSet(new long[]{0x0100000000000012L, 0x0000000400020000L, 0x00040200000001C4L, 0x0000000000880000L});
public static final BitSet FOLLOW_NEW_in_event_modifier8401 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PUBLIC_in_event_modifier8406 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PROTECTED_in_event_modifier8411 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_INTERNAL_in_event_modifier8416 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PRIVATE_in_event_modifier8421 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_STATIC_in_event_modifier8426 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_VIRTUAL_in_event_modifier8431 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_SEALED_in_event_modifier8436 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OVERRIDE_in_event_modifier8441 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ABSTRACT_in_event_modifier8446 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_EXTERN_in_event_modifier8451 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_event_modifier_unsafe_in_event_modifier8456 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_attributes_in_event_accessor_declarations8467 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_add_contextual_keyword_in_event_accessor_declarations8475 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L});
public static final BitSet FOLLOW_block_in_event_accessor_declarations8477 = new BitSet(new long[]{0x0000000000000000L, 0x0000040000000400L});
public static final BitSet FOLLOW_remove_accessor_declaration_in_event_accessor_declarations8479 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_remove_contextual_keyword_in_event_accessor_declarations8486 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L});
public static final BitSet FOLLOW_block_in_event_accessor_declarations8488 = new BitSet(new long[]{0x0000000000000000L, 0x0000040000000400L});
public static final BitSet FOLLOW_add_accessor_declaration_in_event_accessor_declarations8490 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_attributes_in_add_accessor_declaration8506 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_add_contextual_keyword_in_add_accessor_declaration8509 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L});
public static final BitSet FOLLOW_block_in_add_accessor_declaration8511 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_attributes_in_remove_accessor_declaration8522 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_remove_contextual_keyword_in_remove_accessor_declaration8525 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L});
public static final BitSet FOLLOW_block_in_remove_accessor_declaration8527 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_attributes_in_indexer_declaration8538 = new BitSet(new long[]{0x2100100800114010L, 0x0000010408024400L, 0x00081300000001C4L, 0x0000000001980030L});
public static final BitSet FOLLOW_indexer_modifiers_in_indexer_declaration8541 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_indexer_declarator_in_indexer_declaration8544 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L});
public static final BitSet FOLLOW_OPEN_BRACE_in_indexer_declaration8546 = new BitSet(new long[]{0x0000000000000000L, 0x0000040000020400L, 0x00000000000000C0L});
public static final BitSet FOLLOW_accessor_declarations_in_indexer_declaration8548 = new BitSet(new long[]{0x0000000001000000L});
public static final BitSet FOLLOW_CLOSE_BRACE_in_indexer_declaration8550 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_indexer_modifier_in_indexer_modifiers8561 = new BitSet(new long[]{0x0100000000000012L, 0x0000000400020000L, 0x00000200000001C4L, 0x0000000000880000L});
public static final BitSet FOLLOW_indexer_modifier_in_indexer_modifiers8565 = new BitSet(new long[]{0x0100000000000012L, 0x0000000400020000L, 0x00000200000001C4L, 0x0000000000880000L});
public static final BitSet FOLLOW_NEW_in_indexer_modifier8579 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PUBLIC_in_indexer_modifier8584 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PROTECTED_in_indexer_modifier8589 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_INTERNAL_in_indexer_modifier8594 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PRIVATE_in_indexer_modifier8599 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_VIRTUAL_in_indexer_modifier8604 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_SEALED_in_indexer_modifier8609 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OVERRIDE_in_indexer_modifier8614 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ABSTRACT_in_indexer_modifier8619 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_EXTERN_in_indexer_modifier8624 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_indexer_modifier_unsafe_in_indexer_modifier8629 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_type_in_indexer_declarator8643 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L, 0x4000000000000000L});
public static final BitSet FOLLOW_interface_type_in_indexer_declarator8646 = new BitSet(new long[]{0x0000080000000000L});
public static final BitSet FOLLOW_DOT_in_indexer_declarator8648 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x4000000000000000L});
public static final BitSet FOLLOW_THIS_in_indexer_declarator8652 = new BitSet(new long[]{0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_OPEN_BRACKET_in_indexer_declarator8654 = new BitSet(new long[]{0x2000100800114000L, 0x0000050008004400L, 0x400811080000000AL, 0x0000000001100030L});
public static final BitSet FOLLOW_formal_parameter_list_in_indexer_declarator8656 = new BitSet(new long[]{0x0000000002000000L});
public static final BitSet FOLLOW_CLOSE_BRACKET_in_indexer_declarator8658 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_attributes_in_operator_declaration8670 = new BitSet(new long[]{0x0100000000000000L, 0x0000000000000000L, 0x0004000000000100L, 0x0000000000080000L});
public static final BitSet FOLLOW_operator_modifiers_in_operator_declaration8673 = new BitSet(new long[]{0x2080100800114000L, 0x0000010008005400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_operator_declarator_in_operator_declaration8675 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_operator_body_in_operator_declaration8677 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_operator_modifier_in_operator_modifiers8688 = new BitSet(new long[]{0x0100000000000002L, 0x0000000000000000L, 0x0004000000000100L, 0x0000000000080000L});
public static final BitSet FOLLOW_operator_modifier_in_operator_modifiers8692 = new BitSet(new long[]{0x0100000000000002L, 0x0000000000000000L, 0x0004000000000100L, 0x0000000000080000L});
public static final BitSet FOLLOW_PUBLIC_in_operator_modifier8706 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_STATIC_in_operator_modifier8711 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_EXTERN_in_operator_modifier8716 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_operator_modifier_unsafe_in_operator_modifier8721 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_unary_operator_declarator_in_operator_declarator8741 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_binary_operator_declarator_in_operator_declarator8747 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_conversion_operator_declarator_in_operator_declarator8753 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_type_in_unary_operator_declarator8765 = new BitSet(new long[]{0x0000000000000000L, 0x0000100000000000L});
public static final BitSet FOLLOW_OPERATOR_in_unary_operator_declarator8767 = new BitSet(new long[]{0x0400000000000800L, 0x0022000100000000L, 0x0000000000000020L, 0x0000000000000003L});
public static final BitSet FOLLOW_overloadable_unary_operator_in_unary_operator_declarator8769 = new BitSet(new long[]{0x0000000000000000L, 0x0000080000000000L});
public static final BitSet FOLLOW_OPEN_PARENS_in_unary_operator_declarator8771 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_type_in_unary_operator_declarator8773 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_unary_operator_declarator8775 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_unary_operator_declarator8777 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_type_in_binary_operator_declarator8834 = new BitSet(new long[]{0x0000000000000000L, 0x0000100000000000L});
public static final BitSet FOLLOW_OPERATOR_in_binary_operator_declarator8836 = new BitSet(new long[]{0x0000020000022020L, 0x08D8000110000020L, 0x0002000000000030L});
public static final BitSet FOLLOW_overloadable_binary_operator_in_binary_operator_declarator8838 = new BitSet(new long[]{0x0000000000000000L, 0x0000080000000000L});
public static final BitSet FOLLOW_OPEN_PARENS_in_binary_operator_declarator8840 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_type_in_binary_operator_declarator8842 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_binary_operator_declarator8844 = new BitSet(new long[]{0x0000000010000000L});
public static final BitSet FOLLOW_COMMA_in_binary_operator_declarator8846 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_type_in_binary_operator_declarator8848 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_binary_operator_declarator8850 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_binary_operator_declarator8852 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PLUS_in_overloadable_binary_operator8863 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_MINUS_in_overloadable_binary_operator8868 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_STAR_in_overloadable_binary_operator8873 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_DIV_in_overloadable_binary_operator8878 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PERCENT_in_overloadable_binary_operator8883 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_AMP_in_overloadable_binary_operator8888 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_BITWISE_OR_in_overloadable_binary_operator8893 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_CARET_in_overloadable_binary_operator8898 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OP_LEFT_SHIFT_in_overloadable_binary_operator8903 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_right_shift_in_overloadable_binary_operator8908 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OP_EQ_in_overloadable_binary_operator8913 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OP_NE_in_overloadable_binary_operator8918 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_GT_in_overloadable_binary_operator8923 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_LT_in_overloadable_binary_operator8928 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OP_GE_in_overloadable_binary_operator8933 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OP_LE_in_overloadable_binary_operator8938 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PLUS_in_overloadable_operator8952 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_MINUS_in_overloadable_operator8958 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_BANG_in_overloadable_operator8964 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_TILDE_in_overloadable_operator8970 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OP_INC_in_overloadable_operator8976 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OP_DEC_in_overloadable_operator8982 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_TRUE_in_overloadable_operator8988 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_FALSE_in_overloadable_operator8994 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_STAR_in_overloadable_operator9000 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_DIV_in_overloadable_operator9006 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PERCENT_in_overloadable_operator9012 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_AMP_in_overloadable_operator9018 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_BITWISE_OR_in_overloadable_operator9024 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_CARET_in_overloadable_operator9030 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OP_LEFT_SHIFT_in_overloadable_operator9036 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_right_shift_in_overloadable_operator9042 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OP_EQ_in_overloadable_operator9048 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OP_NE_in_overloadable_operator9054 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_GT_in_overloadable_operator9060 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_LT_in_overloadable_operator9066 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OP_GE_in_overloadable_operator9072 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OP_LE_in_overloadable_operator9078 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IMPLICIT_in_conversion_operator_declarator9091 = new BitSet(new long[]{0x0000000000000000L, 0x0000100000000000L});
public static final BitSet FOLLOW_OPERATOR_in_conversion_operator_declarator9094 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_type_in_conversion_operator_declarator9096 = new BitSet(new long[]{0x0000000000000000L, 0x0000080000000000L});
public static final BitSet FOLLOW_OPEN_PARENS_in_conversion_operator_declarator9098 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_type_in_conversion_operator_declarator9100 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_conversion_operator_declarator9102 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_conversion_operator_declarator9104 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_EXPLICIT_in_conversion_operator_declarator9109 = new BitSet(new long[]{0x0000000000000000L, 0x0000100000000000L});
public static final BitSet FOLLOW_OPERATOR_in_conversion_operator_declarator9112 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_type_in_conversion_operator_declarator9114 = new BitSet(new long[]{0x0000000000000000L, 0x0000080000000000L});
public static final BitSet FOLLOW_OPEN_PARENS_in_conversion_operator_declarator9116 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_type_in_conversion_operator_declarator9118 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_conversion_operator_declarator9120 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_conversion_operator_declarator9122 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_block_in_operator_body9133 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_SEMICOLON_in_operator_body9138 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_attributes_in_constructor_declaration9149 = new BitSet(new long[]{0x0100000000000000L, 0x0000000000020400L, 0x00000000000001C0L, 0x0000000000080000L});
public static final BitSet FOLLOW_constructor_modifiers_in_constructor_declaration9152 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_constructor_declarator_in_constructor_declaration9155 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_constructor_body_in_constructor_declaration9157 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_constructor_modifier_in_constructor_modifiers9168 = new BitSet(new long[]{0x0100000000000002L, 0x0000000000020000L, 0x00000000000001C0L, 0x0000000000080000L});
public static final BitSet FOLLOW_PUBLIC_in_constructor_modifier9180 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PROTECTED_in_constructor_modifier9185 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_INTERNAL_in_constructor_modifier9190 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PRIVATE_in_constructor_modifier9195 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_EXTERN_in_constructor_modifier9200 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_constructor_modifier_unsafe_in_constructor_modifier9205 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_constructor_declarator9216 = new BitSet(new long[]{0x0000000000000000L, 0x0000080000000000L});
public static final BitSet FOLLOW_OPEN_PARENS_in_constructor_declarator9218 = new BitSet(new long[]{0x2000100804114000L, 0x0000050008004400L, 0x400811080000000AL, 0x0000000001100030L});
public static final BitSet FOLLOW_formal_parameter_list_in_constructor_declarator9220 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_constructor_declarator9223 = new BitSet(new long[]{0x0000000008000002L});
public static final BitSet FOLLOW_constructor_initializer_in_constructor_declarator9225 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_COLON_in_constructor_initializer9237 = new BitSet(new long[]{0x0000000000001000L});
public static final BitSet FOLLOW_BASE_in_constructor_initializer9239 = new BitSet(new long[]{0x0000000000000000L, 0x0000080000000000L});
public static final BitSet FOLLOW_OPEN_PARENS_in_constructor_initializer9241 = new BitSet(new long[]{0x2400106804715820L, 0x002209250800C400L, 0x401A910C00000022L, 0x000000000010007BL});
public static final BitSet FOLLOW_argument_list_in_constructor_initializer9243 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_constructor_initializer9246 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_COLON_in_constructor_initializer9251 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x4000000000000000L});
public static final BitSet FOLLOW_THIS_in_constructor_initializer9253 = new BitSet(new long[]{0x0000000000000000L, 0x0000080000000000L});
public static final BitSet FOLLOW_OPEN_PARENS_in_constructor_initializer9255 = new BitSet(new long[]{0x2400106804715820L, 0x002209250800C400L, 0x401A910C00000022L, 0x000000000010007BL});
public static final BitSet FOLLOW_argument_list_in_constructor_initializer9257 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_constructor_initializer9260 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_block_in_constructor_body9271 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_SEMICOLON_in_constructor_body9276 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_attributes_in_static_constructor_declaration9287 = new BitSet(new long[]{0x0100000000000000L, 0x0000000000000000L, 0x0004000000000000L, 0x0000000000080000L});
public static final BitSet FOLLOW_static_constructor_modifiers_in_static_constructor_declaration9290 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_static_constructor_declaration9292 = new BitSet(new long[]{0x0000000000000000L, 0x0000080000000000L});
public static final BitSet FOLLOW_OPEN_PARENS_in_static_constructor_declaration9294 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_static_constructor_declaration9296 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_static_constructor_body_in_static_constructor_declaration9298 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_static_constructor_modifiers_unsafe_in_static_constructor_modifiers9312 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_block_in_static_constructor_body9324 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_SEMICOLON_in_static_constructor_body9329 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_destructor_declaration_unsafe_in_destructor_declaration9342 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_block_in_destructor_body9353 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_SEMICOLON_in_destructor_body9358 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_block_in_body9370 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_SEMICOLON_in_body9376 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_attributes_in_struct_declaration9392 = new BitSet(new long[]{0x0000000000000000L, 0x0000000400020400L, 0x00200000000001C0L, 0x0000000000080000L});
public static final BitSet FOLLOW_struct_modifiers_in_struct_declaration9395 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L, 0x0020000000000000L});
public static final BitSet FOLLOW_partial_contextual_keyword_in_struct_declaration9398 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0020000000000000L});
public static final BitSet FOLLOW_STRUCT_in_struct_declaration9405 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_struct_declaration9407 = new BitSet(new long[]{0x0000000008000000L, 0x0000020010000400L});
public static final BitSet FOLLOW_type_parameter_list_in_struct_declaration9409 = new BitSet(new long[]{0x0000000008000000L, 0x0000020000000400L});
public static final BitSet FOLLOW_struct_interfaces_in_struct_declaration9412 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000400L});
public static final BitSet FOLLOW_type_parameter_constraints_clauses_in_struct_declaration9415 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L});
public static final BitSet FOLLOW_struct_body_in_struct_declaration9418 = new BitSet(new long[]{0x0000000000000002L, 0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_SEMICOLON_in_struct_declaration9420 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_struct_modifier_in_struct_modifiers9432 = new BitSet(new long[]{0x0000000000000002L, 0x0000000400020000L, 0x00000000000001C0L, 0x0000000000080000L});
public static final BitSet FOLLOW_struct_modifier_in_struct_modifiers9436 = new BitSet(new long[]{0x0000000000000002L, 0x0000000400020000L, 0x00000000000001C0L, 0x0000000000080000L});
public static final BitSet FOLLOW_NEW_in_struct_modifier9450 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PUBLIC_in_struct_modifier9455 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PROTECTED_in_struct_modifier9460 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_INTERNAL_in_struct_modifier9465 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PRIVATE_in_struct_modifier9470 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_struct_modifier_unsafe_in_struct_modifier9475 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_COLON_in_struct_interfaces9486 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_interface_type_list_in_struct_interfaces9489 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OPEN_BRACE_in_struct_body9500 = new BitSet(new long[]{0x31E0104821914010L, 0x0000050408035400L, 0x002C1302000001C4L, 0x0000000003980030L});
public static final BitSet FOLLOW_struct_member_declarations_in_struct_body9503 = new BitSet(new long[]{0x0000000001000000L});
public static final BitSet FOLLOW_CLOSE_BRACE_in_struct_body9506 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_struct_member_declaration_in_struct_member_declarations9518 = new BitSet(new long[]{0x31E0104820914012L, 0x0000050408035400L, 0x002C1302000001C4L, 0x0000000003980030L});
public static final BitSet FOLLOW_struct_member_declaration_in_struct_member_declarations9522 = new BitSet(new long[]{0x31E0104820914012L, 0x0000050408035400L, 0x002C1302000001C4L, 0x0000000003980030L});
public static final BitSet FOLLOW_attributes_in_struct_member_declaration9550 = new BitSet(new long[]{0x31E0104820914010L, 0x0000010408035400L, 0x002C1302000001C4L, 0x0000000003980030L});
public static final BitSet FOLLOW_all_member_modifiers_in_struct_member_declaration9560 = new BitSet(new long[]{0x30E0104820914000L, 0x0000010008015400L, 0x0028110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_common_member_declaration_in_struct_member_declaration9570 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_FIXED_in_struct_member_declaration9577 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_buffer_element_type_in_struct_member_declaration9580 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_fixed_size_buffer_declarators_in_struct_member_declaration9582 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_SEMICOLON_in_struct_member_declaration9584 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_array_type2_in_array_type9606 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_base_type_in_array_type29625 = new BitSet(new long[]{0x0000000000000000L, 0x0000040000040000L, 0x0002000000000000L});
public static final BitSet FOLLOW_rank_specifier_in_array_type29637 = new BitSet(new long[]{0x0000000000000002L, 0x0000040000040000L, 0x0002000000000000L});
public static final BitSet FOLLOW_non_array_type2_in_non_array_type9655 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_base_type_in_non_array_type29675 = new BitSet(new long[]{0x0000000000000002L, 0x0000040000040000L, 0x0002000000000000L});
public static final BitSet FOLLOW_rank_specifier_in_non_array_type29678 = new BitSet(new long[]{0x0000000000000002L, 0x0000040000040000L, 0x0002000000000000L});
public static final BitSet FOLLOW_INTERR_in_non_array_type29682 = new BitSet(new long[]{0x0000000000000002L, 0x0000040000040000L, 0x0002000000000000L});
public static final BitSet FOLLOW_STAR_in_non_array_type29686 = new BitSet(new long[]{0x0000000000000002L, 0x0000040000040000L, 0x0002000000000000L});
public static final BitSet FOLLOW_rank_specifier_in_rank_specifiers9704 = new BitSet(new long[]{0x0000000000000002L, 0x0000040000000000L});
public static final BitSet FOLLOW_OPEN_BRACKET_in_rank_specifier9719 = new BitSet(new long[]{0x0000000012000000L});
public static final BitSet FOLLOW_dim_separators_in_rank_specifier9721 = new BitSet(new long[]{0x0000000002000000L});
public static final BitSet FOLLOW_CLOSE_BRACKET_in_rank_specifier9724 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_COMMA_in_dim_separators9747 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_OPEN_BRACE_in_array_initializer9764 = new BitSet(new long[]{0x0000000001000000L});
public static final BitSet FOLLOW_CLOSE_BRACE_in_array_initializer9766 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OPEN_BRACE_in_array_initializer9772 = new BitSet(new long[]{0x2400106800715820L, 0x00220B250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_variable_initializer_list_in_array_initializer9774 = new BitSet(new long[]{0x0000000011000000L});
public static final BitSet FOLLOW_COMMA_in_array_initializer9776 = new BitSet(new long[]{0x0000000001000000L});
public static final BitSet FOLLOW_CLOSE_BRACE_in_array_initializer9779 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_variable_initializer_in_variable_initializer_list9791 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_COMMA_in_variable_initializer_list9795 = new BitSet(new long[]{0x2400106800715820L, 0x00220B250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_variable_initializer_in_variable_initializer_list9798 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_attributes_in_interface_declaration9813 = new BitSet(new long[]{0x0000000000000000L, 0x0000000400030400L, 0x00000000000001C0L, 0x0000000000080000L});
public static final BitSet FOLLOW_interface_modifiers_in_interface_declaration9816 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000010400L});
public static final BitSet FOLLOW_partial_contextual_keyword_in_interface_declaration9819 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000010000L});
public static final BitSet FOLLOW_INTERFACE_in_interface_declaration9822 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_interface_declaration9824 = new BitSet(new long[]{0x0000000008000000L, 0x0000020010000400L});
public static final BitSet FOLLOW_variant_type_parameter_list_in_interface_declaration9826 = new BitSet(new long[]{0x0000000008000000L, 0x0000020000000400L});
public static final BitSet FOLLOW_interface_base_in_interface_declaration9829 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000400L});
public static final BitSet FOLLOW_type_parameter_constraints_clauses_in_interface_declaration9832 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L});
public static final BitSet FOLLOW_interface_body_in_interface_declaration9835 = new BitSet(new long[]{0x0000000000000002L, 0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_SEMICOLON_in_interface_declaration9837 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_interface_modifier_in_interface_modifiers9849 = new BitSet(new long[]{0x0000000000000002L, 0x0000000400020000L, 0x00000000000001C0L, 0x0000000000080000L});
public static final BitSet FOLLOW_interface_modifier_in_interface_modifiers9853 = new BitSet(new long[]{0x0000000000000002L, 0x0000000400020000L, 0x00000000000001C0L, 0x0000000000080000L});
public static final BitSet FOLLOW_NEW_in_interface_modifier9867 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PUBLIC_in_interface_modifier9872 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PROTECTED_in_interface_modifier9877 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_INTERNAL_in_interface_modifier9882 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PRIVATE_in_interface_modifier9887 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_interface_modifier_unsafe_in_interface_modifier9892 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_LT_in_variant_type_parameter_list9903 = new BitSet(new long[]{0x0000000000000000L, 0x0000040000002400L, 0x0000000000000002L});
public static final BitSet FOLLOW_variant_type_parameters_in_variant_type_parameter_list9906 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000020L});
public static final BitSet FOLLOW_GT_in_variant_type_parameter_list9908 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_attributed_variance_type_parameter_in_variant_type_parameters9920 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_COMMA_in_variant_type_parameters9924 = new BitSet(new long[]{0x0000000000000000L, 0x0000040000002400L, 0x0000000000000002L});
public static final BitSet FOLLOW_attributed_variance_type_parameter_in_variant_type_parameters9926 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_attributes_in_attributed_variance_type_parameter9954 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000002400L, 0x0000000000000002L});
public static final BitSet FOLLOW_variance_annotation_in_attributed_variance_type_parameter9957 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_type_parameter_in_attributed_variance_type_parameter9960 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IN_in_variance_annotation9972 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OUT_in_variance_annotation9987 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_COLON_in_interface_base10007 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_interface_type_list_in_interface_base10010 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OPEN_BRACE_in_interface_body10021 = new BitSet(new long[]{0x2040100801114000L, 0x0000050408004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_interface_member_declarations_in_interface_body10024 = new BitSet(new long[]{0x0000000001000000L});
public static final BitSet FOLLOW_CLOSE_BRACE_in_interface_body10027 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_interface_member_declaration_in_interface_member_declarations10039 = new BitSet(new long[]{0x2040100800114002L, 0x0000050408004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_attributes_in_interface_member_declaration10067 = new BitSet(new long[]{0x2040100800114000L, 0x0000010408004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_NEW_in_interface_member_declaration10070 = new BitSet(new long[]{0x2040100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_type_in_interface_member_declaration10079 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L, 0x4000000000000000L});
public static final BitSet FOLLOW_interface_method_declaration2_in_interface_member_declaration10089 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_interface_property_declaration2_in_interface_member_declaration10100 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_interface_indexer_declaration2_in_interface_member_declaration10111 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_type_void_in_interface_member_declaration10128 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_interface_method_declaration2_in_interface_member_declaration10130 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_interface_event_declaration2_in_interface_member_declaration10139 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_attributes_in_interface_method_declaration10158 = new BitSet(new long[]{0x2000100800114000L, 0x0000010408004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_NEW_in_interface_method_declaration10161 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_return_type_in_interface_method_declaration10164 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_interface_method_declaration10166 = new BitSet(new long[]{0x0000000000000000L, 0x0000080010000000L});
public static final BitSet FOLLOW_type_parameter_list_in_interface_method_declaration10168 = new BitSet(new long[]{0x0000000000000000L, 0x0000080000000000L});
public static final BitSet FOLLOW_OPEN_PARENS_in_interface_method_declaration10171 = new BitSet(new long[]{0x2000100804114000L, 0x0000050008004400L, 0x400811080000000AL, 0x0000000001100030L});
public static final BitSet FOLLOW_formal_parameter_list_in_interface_method_declaration10173 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_interface_method_declaration10176 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L, 0x0000040000000000L});
public static final BitSet FOLLOW_type_parameter_constraints_clauses_in_interface_method_declaration10178 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_SEMICOLON_in_interface_method_declaration10181 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_attributes_in_interface_property_declaration10192 = new BitSet(new long[]{0x2000100800114000L, 0x0000010408004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_NEW_in_interface_property_declaration10195 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_type_in_interface_property_declaration10198 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_interface_property_declaration10200 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L});
public static final BitSet FOLLOW_OPEN_BRACE_in_interface_property_declaration10202 = new BitSet(new long[]{0x0000000000000000L, 0x0000040000000400L});
public static final BitSet FOLLOW_interface_accessors_in_interface_property_declaration10204 = new BitSet(new long[]{0x0000000001000000L});
public static final BitSet FOLLOW_CLOSE_BRACE_in_interface_property_declaration10206 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_attributes_in_interface_accessors10220 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_get_contextual_keyword_in_interface_accessors10229 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_SEMICOLON_in_interface_accessors10231 = new BitSet(new long[]{0x0000000000000002L, 0x0000040000000400L});
public static final BitSet FOLLOW_attributes_in_interface_accessors10235 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_set_contextual_keyword_in_interface_accessors10238 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_SEMICOLON_in_interface_accessors10240 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_set_contextual_keyword_in_interface_accessors10251 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_SEMICOLON_in_interface_accessors10253 = new BitSet(new long[]{0x0000000000000002L, 0x0000040000000400L});
public static final BitSet FOLLOW_attributes_in_interface_accessors10257 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_get_contextual_keyword_in_interface_accessors10260 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_SEMICOLON_in_interface_accessors10262 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_attributes_in_interface_event_declaration10283 = new BitSet(new long[]{0x0040000000000000L, 0x0000000400000000L});
public static final BitSet FOLLOW_NEW_in_interface_event_declaration10286 = new BitSet(new long[]{0x0040000000000000L});
public static final BitSet FOLLOW_EVENT_in_interface_event_declaration10289 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_type_in_interface_event_declaration10291 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_interface_event_declaration10293 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_SEMICOLON_in_interface_event_declaration10295 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_attributes_in_interface_indexer_declaration10306 = new BitSet(new long[]{0x2000100800114000L, 0x0000010408004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_NEW_in_interface_indexer_declaration10309 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_type_in_interface_indexer_declaration10312 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x4000000000000000L});
public static final BitSet FOLLOW_THIS_in_interface_indexer_declaration10314 = new BitSet(new long[]{0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_OPEN_BRACKET_in_interface_indexer_declaration10316 = new BitSet(new long[]{0x2000100800114000L, 0x0000050008004400L, 0x400811080000000AL, 0x0000000001100030L});
public static final BitSet FOLLOW_formal_parameter_list_in_interface_indexer_declaration10318 = new BitSet(new long[]{0x0000000002000000L});
public static final BitSet FOLLOW_CLOSE_BRACKET_in_interface_indexer_declaration10320 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L});
public static final BitSet FOLLOW_OPEN_BRACE_in_interface_indexer_declaration10322 = new BitSet(new long[]{0x0000000000000000L, 0x0000040000000400L});
public static final BitSet FOLLOW_interface_accessors_in_interface_indexer_declaration10324 = new BitSet(new long[]{0x0000000001000000L});
public static final BitSet FOLLOW_CLOSE_BRACE_in_interface_indexer_declaration10326 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_attributes_in_enum_declaration10340 = new BitSet(new long[]{0x0020000000000000L, 0x0000000400020000L, 0x00000000000001C0L});
public static final BitSet FOLLOW_enum_modifiers_in_enum_declaration10343 = new BitSet(new long[]{0x0020000000000000L});
public static final BitSet FOLLOW_ENUM_in_enum_declaration10346 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_enum_declaration10348 = new BitSet(new long[]{0x0000000008000000L, 0x0000020000000000L});
public static final BitSet FOLLOW_enum_base_in_enum_declaration10350 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L});
public static final BitSet FOLLOW_enum_body_in_enum_declaration10353 = new BitSet(new long[]{0x0000000000000002L, 0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_SEMICOLON_in_enum_declaration10355 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_COLON_in_enum_base10367 = new BitSet(new long[]{0x0000000000110000L, 0x0000000008004000L, 0x0000110000000000L, 0x0000000000100030L});
public static final BitSet FOLLOW_integral_type_in_enum_base10369 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OPEN_BRACE_in_enum_body10394 = new BitSet(new long[]{0x0000000001000000L});
public static final BitSet FOLLOW_CLOSE_BRACE_in_enum_body10397 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OPEN_BRACE_in_enum_body10404 = new BitSet(new long[]{0x0000000000000000L, 0x0000040000000400L});
public static final BitSet FOLLOW_enum_member_declarations_in_enum_body10407 = new BitSet(new long[]{0x0000000011000000L});
public static final BitSet FOLLOW_COMMA_in_enum_body10409 = new BitSet(new long[]{0x0000000001000000L});
public static final BitSet FOLLOW_CLOSE_BRACE_in_enum_body10413 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_enum_modifier_in_enum_modifiers10426 = new BitSet(new long[]{0x0000000000000002L, 0x0000000400020000L, 0x00000000000001C0L});
public static final BitSet FOLLOW_enum_member_declaration_in_enum_member_declarations10469 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_COMMA_in_enum_member_declarations10473 = new BitSet(new long[]{0x0000000000000000L, 0x0000040000000400L});
public static final BitSet FOLLOW_enum_member_declaration_in_enum_member_declarations10476 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_attributes_in_enum_member_declaration10505 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_enum_member_declaration10508 = new BitSet(new long[]{0x0000000000000082L});
public static final BitSet FOLLOW_ASSIGNMENT_in_enum_member_declaration10511 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_constant_expression_in_enum_member_declaration10513 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_attributes_in_delegate_declaration10554 = new BitSet(new long[]{0x0000004000000000L, 0x0000000400020000L, 0x00000000000001C0L, 0x0000000000080000L});
public static final BitSet FOLLOW_delegate_modifiers_in_delegate_declaration10557 = new BitSet(new long[]{0x0000004000000000L});
public static final BitSet FOLLOW_DELEGATE_in_delegate_declaration10560 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_return_type_in_delegate_declaration10562 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_delegate_declaration10564 = new BitSet(new long[]{0x0000000000000000L, 0x0000080010000000L});
public static final BitSet FOLLOW_variant_type_parameter_list_in_delegate_declaration10566 = new BitSet(new long[]{0x0000000000000000L, 0x0000080000000000L});
public static final BitSet FOLLOW_OPEN_PARENS_in_delegate_declaration10575 = new BitSet(new long[]{0x2000100804114000L, 0x0000050008004400L, 0x400811080000000AL, 0x0000000001100030L});
public static final BitSet FOLLOW_formal_parameter_list_in_delegate_declaration10577 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_delegate_declaration10580 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L, 0x0000040000000000L});
public static final BitSet FOLLOW_type_parameter_constraints_clauses_in_delegate_declaration10582 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_SEMICOLON_in_delegate_declaration10585 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_delegate_modifier_in_delegate_modifiers10596 = new BitSet(new long[]{0x0000000000000002L, 0x0000000400020000L, 0x00000000000001C0L, 0x0000000000080000L});
public static final BitSet FOLLOW_delegate_modifier_in_delegate_modifiers10600 = new BitSet(new long[]{0x0000000000000002L, 0x0000000400020000L, 0x00000000000001C0L, 0x0000000000080000L});
public static final BitSet FOLLOW_NEW_in_delegate_modifier10614 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PUBLIC_in_delegate_modifier10619 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PROTECTED_in_delegate_modifier10624 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_INTERNAL_in_delegate_modifier10629 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PRIVATE_in_delegate_modifier10634 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_delegate_modifier_unsafe_in_delegate_modifier10639 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_global_attribute_sections_in_global_attributes10654 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_global_attribute_section_in_global_attribute_sections10665 = new BitSet(new long[]{0x0000000000000002L, 0x0000040000000000L});
public static final BitSet FOLLOW_OPEN_BRACKET_in_global_attribute_section10680 = new BitSet(new long[]{0xFDF0146860DDD050L, 0x000011260C0B7C10L, 0xC06D931A000001CEL, 0x0000000013B8007EL});
public static final BitSet FOLLOW_global_attribute_target_specifier_in_global_attribute_section10683 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_attribute_list_in_global_attribute_section10685 = new BitSet(new long[]{0x0000000012000000L});
public static final BitSet FOLLOW_COMMA_in_global_attribute_section10687 = new BitSet(new long[]{0x0000000002000000L});
public static final BitSet FOLLOW_CLOSE_BRACKET_in_global_attribute_section10691 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_global_attribute_target_in_global_attribute_target_specifier10704 = new BitSet(new long[]{0x0000000008000000L});
public static final BitSet FOLLOW_COLON_in_global_attribute_target_specifier10706 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_keyword_in_global_attribute_target10719 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_global_attribute_target10725 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_attribute_sections_in_attributes10739 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_attribute_section_in_attribute_sections10750 = new BitSet(new long[]{0x0000000000000002L, 0x0000040000000000L});
public static final BitSet FOLLOW_OPEN_BRACKET_in_attribute_section10777 = new BitSet(new long[]{0xFDF0146860DDD050L, 0x000011260C0B7C10L, 0xC06D931A000001CEL, 0x0000000013B8007EL});
public static final BitSet FOLLOW_attribute_target_specifier_in_attribute_section10780 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_attribute_list_in_attribute_section10783 = new BitSet(new long[]{0x0000000012000000L});
public static final BitSet FOLLOW_COMMA_in_attribute_section10785 = new BitSet(new long[]{0x0000000002000000L});
public static final BitSet FOLLOW_CLOSE_BRACKET_in_attribute_section10789 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_attribute_target_in_attribute_target_specifier10802 = new BitSet(new long[]{0x0000000008000000L});
public static final BitSet FOLLOW_COLON_in_attribute_target_specifier10804 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_keyword_in_attribute_target10827 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_attribute_target10831 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_attribute_in_attribute_list10845 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_COMMA_in_attribute_list10849 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_attribute_in_attribute_list10852 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_attribute_name_in_attribute10879 = new BitSet(new long[]{0x0000000000000002L, 0x0000080000000000L});
public static final BitSet FOLLOW_attribute_arguments_in_attribute10881 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_type_name_in_attribute_name10911 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OPEN_PARENS_in_attribute_arguments10940 = new BitSet(new long[]{0x2400106804715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_positional_argument_list_in_attribute_arguments10943 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_attribute_arguments10946 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_positional_argument_in_positional_argument_list10959 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_COMMA_in_positional_argument_list10962 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_positional_argument_in_positional_argument_list10964 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_attribute_argument_expression_in_positional_argument10993 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_named_argument_in_named_argument_list11006 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_COMMA_in_named_argument_list11010 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_named_argument_in_named_argument_list11013 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_named_argument11029 = new BitSet(new long[]{0x0000000000000080L});
public static final BitSet FOLLOW_ASSIGNMENT_in_named_argument11031 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_attribute_argument_expression_in_named_argument11033 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_expression_in_attribute_argument_expression11044 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_UNSAFE_in_class_modifier_unsafe11058 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_UNSAFE_in_struct_modifier_unsafe11069 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_UNSAFE_in_interface_modifier_unsafe11080 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_UNSAFE_in_delegate_modifier_unsafe11091 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_UNSAFE_in_field_modifier_unsafe11102 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_UNSAFE_in_method_modifier_unsafe11113 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_UNSAFE_in_property_modifier_unsafe11124 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_UNSAFE_in_event_modifier_unsafe11135 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_UNSAFE_in_indexer_modifier_unsafe11146 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_UNSAFE_in_operator_modifier_unsafe11157 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_UNSAFE_in_constructor_modifier_unsafe11168 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_attributes_in_destructor_declaration_unsafe11182 = new BitSet(new long[]{0x0100000000000000L, 0x0000000000000000L, 0x0000000000000000L, 0x0000000000080001L});
public static final BitSet FOLLOW_EXTERN_in_destructor_declaration_unsafe11191 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000000000000000L, 0x0000000000080001L});
public static final BitSet FOLLOW_UNSAFE_in_destructor_declaration_unsafe11194 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000000000000000L, 0x0000000000000001L});
public static final BitSet FOLLOW_UNSAFE_in_destructor_declaration_unsafe11203 = new BitSet(new long[]{0x0100000000000000L});
public static final BitSet FOLLOW_EXTERN_in_destructor_declaration_unsafe11205 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000000000000000L, 0x0000000000000001L});
public static final BitSet FOLLOW_TILDE_in_destructor_declaration_unsafe11219 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_destructor_declaration_unsafe11222 = new BitSet(new long[]{0x0000000000000000L, 0x0000080000000000L});
public static final BitSet FOLLOW_OPEN_PARENS_in_destructor_declaration_unsafe11224 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_destructor_declaration_unsafe11226 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_destructor_body_in_destructor_declaration_unsafe11228 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_STATIC_in_static_constructor_modifiers_unsafe11252 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_EXTERN_in_static_constructor_modifiers_unsafe11258 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000000000000000L, 0x0000000000080000L});
public static final BitSet FOLLOW_UNSAFE_in_static_constructor_modifiers_unsafe11260 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0004000000000000L});
public static final BitSet FOLLOW_STATIC_in_static_constructor_modifiers_unsafe11262 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_UNSAFE_in_static_constructor_modifiers_unsafe11268 = new BitSet(new long[]{0x0100000000000000L});
public static final BitSet FOLLOW_EXTERN_in_static_constructor_modifiers_unsafe11270 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0004000000000000L});
public static final BitSet FOLLOW_STATIC_in_static_constructor_modifiers_unsafe11272 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_EXTERN_in_static_constructor_modifiers_unsafe11278 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0004000000000000L});
public static final BitSet FOLLOW_STATIC_in_static_constructor_modifiers_unsafe11280 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000000000000000L, 0x0000000000080000L});
public static final BitSet FOLLOW_UNSAFE_in_static_constructor_modifiers_unsafe11282 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_UNSAFE_in_static_constructor_modifiers_unsafe11288 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0004000000000000L});
public static final BitSet FOLLOW_STATIC_in_static_constructor_modifiers_unsafe11290 = new BitSet(new long[]{0x0100000000000000L});
public static final BitSet FOLLOW_EXTERN_in_static_constructor_modifiers_unsafe11292 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_STATIC_in_static_constructor_modifiers_unsafe11298 = new BitSet(new long[]{0x0100000000000000L, 0x0000000000000000L, 0x0000000000000000L, 0x0000000000080000L});
public static final BitSet FOLLOW_set_in_static_constructor_modifiers_unsafe11300 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_STATIC_in_static_constructor_modifiers_unsafe11312 = new BitSet(new long[]{0x0100000000000000L});
public static final BitSet FOLLOW_EXTERN_in_static_constructor_modifiers_unsafe11314 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000000000000000L, 0x0000000000080000L});
public static final BitSet FOLLOW_UNSAFE_in_static_constructor_modifiers_unsafe11316 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_STATIC_in_static_constructor_modifiers_unsafe11322 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000000000000000L, 0x0000000000080000L});
public static final BitSet FOLLOW_UNSAFE_in_static_constructor_modifiers_unsafe11324 = new BitSet(new long[]{0x0100000000000000L});
public static final BitSet FOLLOW_EXTERN_in_static_constructor_modifiers_unsafe11326 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_unsafe_statement_in_embedded_statement_unsafe11340 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_fixed_statement_in_embedded_statement_unsafe11345 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_UNSAFE_in_unsafe_statement11356 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L});
public static final BitSet FOLLOW_block_in_unsafe_statement11358 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_pointer_type_in_type_unsafe11369 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_simple_type_in_pointer_type11391 = new BitSet(new long[]{0x0000000000000000L, 0x0000040000040000L, 0x0002000000000000L});
public static final BitSet FOLLOW_class_type_in_pointer_type11398 = new BitSet(new long[]{0x0000000000000000L, 0x0000040000040000L, 0x0002000000000000L});
public static final BitSet FOLLOW_VOID_in_pointer_type11405 = new BitSet(new long[]{0x0000000000000000L, 0x0000040000040000L, 0x0002000000000000L});
public static final BitSet FOLLOW_rank_specifier_in_pointer_type11419 = new BitSet(new long[]{0x0000000000000000L, 0x0000040000040000L, 0x0002000000000000L});
public static final BitSet FOLLOW_INTERR_in_pointer_type11431 = new BitSet(new long[]{0x0000000000000000L, 0x0000040000040000L, 0x0002000000000000L});
public static final BitSet FOLLOW_STAR_in_pointer_type11439 = new BitSet(new long[]{0x0000000000000000L, 0x0000040000040000L, 0x0002000000000000L});
public static final BitSet FOLLOW_STAR_in_pointer_type11450 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_type_in_unmanaged_type11473 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_primary_expression_in_primary_no_array_creation_expression_unsafe11486 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_pointer_indirection_expression_in_unary_expression_unsafe11499 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_addressof_expression_in_unary_expression_unsafe11504 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_STAR_in_pointer_indirection_expression11515 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_unary_expression_in_pointer_indirection_expression11517 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_AMP_in_addressof_expression11534 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_unary_expression_in_addressof_expression11536 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_SIZEOF_in_sizeof_expression11547 = new BitSet(new long[]{0x0000000000000000L, 0x0000080000000000L});
public static final BitSet FOLLOW_OPEN_PARENS_in_sizeof_expression11549 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_unmanaged_type_in_sizeof_expression11551 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_sizeof_expression11553 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_FIXED_in_fixed_statement11564 = new BitSet(new long[]{0x0000000000000000L, 0x0000080000000000L});
public static final BitSet FOLLOW_OPEN_PARENS_in_fixed_statement11566 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_pointer_type_in_fixed_statement11568 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_fixed_pointer_declarators_in_fixed_statement11570 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_fixed_statement11572 = new BitSet(new long[]{0xF40014684071D820L, 0x00220B250C00CC10L, 0xC05A951400000020L, 0x000000001038007FL});
public static final BitSet FOLLOW_embedded_statement_in_fixed_statement11574 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_fixed_pointer_declarator_in_fixed_pointer_declarators11585 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_COMMA_in_fixed_pointer_declarators11589 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_fixed_pointer_declarator_in_fixed_pointer_declarators11592 = new BitSet(new long[]{0x0000000010000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_fixed_pointer_declarator11606 = new BitSet(new long[]{0x0000000000000080L});
public static final BitSet FOLLOW_ASSIGNMENT_in_fixed_pointer_declarator11608 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_fixed_pointer_initializer_in_fixed_pointer_declarator11610 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_AMP_in_fixed_pointer_initializer11630 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_variable_reference_in_fixed_pointer_initializer11632 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_expression_in_fixed_pointer_initializer11638 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_fixed_size_buffer_declaration_in_struct_member_declaration_unsafe11650 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_attributes_in_fixed_size_buffer_declaration11661 = new BitSet(new long[]{0x1000000000000000L, 0x0000000400020000L, 0x00000000000001C0L, 0x0000000000080000L});
public static final BitSet FOLLOW_fixed_size_buffer_modifiers_in_fixed_size_buffer_declaration11664 = new BitSet(new long[]{0x1000000000000000L});
public static final BitSet FOLLOW_FIXED_in_fixed_size_buffer_declaration11667 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_buffer_element_type_in_fixed_size_buffer_declaration11669 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_fixed_size_buffer_declarators_in_fixed_size_buffer_declaration11671 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_SEMICOLON_in_fixed_size_buffer_declaration11673 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_fixed_size_buffer_modifier_in_fixed_size_buffer_modifiers11684 = new BitSet(new long[]{0x0000000000000002L, 0x0000000400020000L, 0x00000000000001C0L, 0x0000000000080000L});
public static final BitSet FOLLOW_type_in_buffer_element_type11732 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_fixed_size_buffer_declarator_in_fixed_size_buffer_declarators11743 = new BitSet(new long[]{0x0000000000000002L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_fixed_size_buffer_declarator11755 = new BitSet(new long[]{0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_OPEN_BRACKET_in_fixed_size_buffer_declarator11757 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_constant_expression_in_fixed_size_buffer_declarator11759 = new BitSet(new long[]{0x0000000002000000L});
public static final BitSet FOLLOW_CLOSE_BRACKET_in_fixed_size_buffer_declarator11761 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_stackalloc_initializer_in_local_variable_initializer_unsafe11774 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_STACKALLOC_in_stackalloc_initializer11785 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_unmanaged_type_in_stackalloc_initializer11787 = new BitSet(new long[]{0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_OPEN_BRACKET_in_stackalloc_initializer11789 = new BitSet(new long[]{0x2400106800715820L, 0x002209250800C400L, 0x401A910400000020L, 0x000000000010007BL});
public static final BitSet FOLLOW_expression_in_stackalloc_initializer11791 = new BitSet(new long[]{0x0000000002000000L});
public static final BitSet FOLLOW_CLOSE_BRACKET_in_stackalloc_initializer11793 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_from_contextual_keyword11815 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_let_contextual_keyword11829 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_where_contextual_keyword11843 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_join_contextual_keyword11857 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_on_contextual_keyword11871 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_equals_contextual_keyword11885 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_into_contextual_keyword11899 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_orderby_contextual_keyword11913 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_ascending_contextual_keyword11927 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_descending_contextual_keyword11941 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_select_contextual_keyword11955 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_group_contextual_keyword11969 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_by_contextual_keyword11983 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_partial_contextual_keyword11997 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_alias_contextual_keyword12011 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_yield_contextual_keyword12025 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_get_contextual_keyword12039 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_set_contextual_keyword12053 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_add_contextual_keyword12067 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_remove_contextual_keyword12081 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_dynamic_contextual_keyword12095 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_arglist12109 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ASSIGNMENT_in_right_arrow12123 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000020L});
public static final BitSet FOLLOW_GT_in_right_arrow12127 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_GT_in_right_shift12144 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000020L});
public static final BitSet FOLLOW_GT_in_right_shift12148 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_GT_in_right_shift_assignment12173 = new BitSet(new long[]{0x0000000000000000L, 0x0010000000000000L});
public static final BitSet FOLLOW_OP_GE_in_right_shift_assignment12177 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_boolean_literal_in_literal12200 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_INTEGER_LITERAL_in_literal12206 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_REAL_LITERAL_in_literal12212 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_CHARACTER_LITERAL_in_literal12218 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_STRING_LITERAL_in_literal12224 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_NULL_in_literal12230 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_CLASS_in_class_definition12732 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_class_definition12735 = new BitSet(new long[]{0x0000000008000000L, 0x0000020010000400L});
public static final BitSet FOLLOW_type_parameter_list_in_class_definition12737 = new BitSet(new long[]{0x0000000008000000L, 0x0000020000000400L});
public static final BitSet FOLLOW_class_base_in_class_definition12740 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000400L});
public static final BitSet FOLLOW_type_parameter_constraints_clauses_in_class_definition12743 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L});
public static final BitSet FOLLOW_class_body_in_class_definition12752 = new BitSet(new long[]{0x0000000000000002L, 0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_SEMICOLON_in_class_definition12754 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_STRUCT_in_struct_definition12768 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_struct_definition12771 = new BitSet(new long[]{0x0000000008000000L, 0x0000020010000400L});
public static final BitSet FOLLOW_type_parameter_list_in_struct_definition12773 = new BitSet(new long[]{0x0000000008000000L, 0x0000020000000400L});
public static final BitSet FOLLOW_struct_interfaces_in_struct_definition12776 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000400L});
public static final BitSet FOLLOW_type_parameter_constraints_clauses_in_struct_definition12779 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L});
public static final BitSet FOLLOW_struct_body_in_struct_definition12788 = new BitSet(new long[]{0x0000000000000002L, 0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_SEMICOLON_in_struct_definition12790 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_INTERFACE_in_interface_definition12804 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_interface_definition12807 = new BitSet(new long[]{0x0000000008000000L, 0x0000020010000400L});
public static final BitSet FOLLOW_variant_type_parameter_list_in_interface_definition12809 = new BitSet(new long[]{0x0000000008000000L, 0x0000020000000400L});
public static final BitSet FOLLOW_interface_base_in_interface_definition12812 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000400L});
public static final BitSet FOLLOW_type_parameter_constraints_clauses_in_interface_definition12821 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L});
public static final BitSet FOLLOW_interface_body_in_interface_definition12824 = new BitSet(new long[]{0x0000000000000002L, 0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_SEMICOLON_in_interface_definition12826 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ENUM_in_enum_definition12840 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_enum_definition12843 = new BitSet(new long[]{0x0000000008000000L, 0x0000020000000000L});
public static final BitSet FOLLOW_enum_base_in_enum_definition12845 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L});
public static final BitSet FOLLOW_enum_body_in_enum_definition12848 = new BitSet(new long[]{0x0000000000000002L, 0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_SEMICOLON_in_enum_definition12850 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_DELEGATE_in_delegate_definition12864 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_return_type_in_delegate_definition12867 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_delegate_definition12869 = new BitSet(new long[]{0x0000000000000000L, 0x0000080010000000L});
public static final BitSet FOLLOW_variant_type_parameter_list_in_delegate_definition12871 = new BitSet(new long[]{0x0000000000000000L, 0x0000080000000000L});
public static final BitSet FOLLOW_OPEN_PARENS_in_delegate_definition12874 = new BitSet(new long[]{0x2000100804114000L, 0x0000050008004400L, 0x400811080000000AL, 0x0000000001100030L});
public static final BitSet FOLLOW_formal_parameter_list_in_delegate_definition12882 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_delegate_definition12885 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L, 0x0000040000000000L});
public static final BitSet FOLLOW_type_parameter_constraints_clauses_in_delegate_definition12887 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_SEMICOLON_in_delegate_definition12890 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_EVENT_in_event_declaration212903 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_type_in_event_declaration212905 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_variable_declarators_in_event_declaration212917 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_SEMICOLON_in_event_declaration212919 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_member_name_in_event_declaration212945 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L});
public static final BitSet FOLLOW_OPEN_BRACE_in_event_declaration212947 = new BitSet(new long[]{0x0000000000000000L, 0x0000040000000400L});
public static final BitSet FOLLOW_event_accessor_declarations_in_event_declaration212949 = new BitSet(new long[]{0x0000000001000000L});
public static final BitSet FOLLOW_CLOSE_BRACE_in_event_declaration212951 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_variable_declarators_in_field_declaration212991 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_SEMICOLON_in_field_declaration212993 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_member_name_in_property_declaration213017 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L});
public static final BitSet FOLLOW_OPEN_BRACE_in_property_declaration213019 = new BitSet(new long[]{0x0000000000000000L, 0x0000040000020400L, 0x00000000000000C0L});
public static final BitSet FOLLOW_accessor_declarations_in_property_declaration213021 = new BitSet(new long[]{0x0000000001000000L});
public static final BitSet FOLLOW_CLOSE_BRACE_in_property_declaration213023 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_CONST_in_constant_declaration213051 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_type_in_constant_declaration213056 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_constant_declarators_in_constant_declaration213059 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_SEMICOLON_in_constant_declaration213062 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_THIS_in_indexer_declaration213075 = new BitSet(new long[]{0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_OPEN_BRACKET_in_indexer_declaration213077 = new BitSet(new long[]{0x2000100800114000L, 0x0000050008004400L, 0x400811080000000AL, 0x0000000001100030L});
public static final BitSet FOLLOW_formal_parameter_list_in_indexer_declaration213079 = new BitSet(new long[]{0x0000000002000000L});
public static final BitSet FOLLOW_CLOSE_BRACKET_in_indexer_declaration213081 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L});
public static final BitSet FOLLOW_OPEN_BRACE_in_indexer_declaration213089 = new BitSet(new long[]{0x0000000000000000L, 0x0000040000020400L, 0x00000000000000C0L});
public static final BitSet FOLLOW_accessor_declarations_in_indexer_declaration213091 = new BitSet(new long[]{0x0000000001000000L});
public static final BitSet FOLLOW_CLOSE_BRACE_in_indexer_declaration213093 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_TILDE_in_destructor_definition13120 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_destructor_definition13123 = new BitSet(new long[]{0x0000000000000000L, 0x0000080000000000L});
public static final BitSet FOLLOW_OPEN_PARENS_in_destructor_definition13125 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_destructor_definition13128 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_destructor_body_in_destructor_definition13131 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_constructor_declaration213143 = new BitSet(new long[]{0x0000000000000000L, 0x0000080000000000L});
public static final BitSet FOLLOW_OPEN_PARENS_in_constructor_declaration213145 = new BitSet(new long[]{0x2000100804114000L, 0x0000050008004400L, 0x400811080000000AL, 0x0000000001100030L});
public static final BitSet FOLLOW_formal_parameter_list_in_constructor_declaration213147 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_constructor_declaration213150 = new BitSet(new long[]{0x0000000008000000L, 0x0000020000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_constructor_initializer_in_constructor_declaration213152 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_body_in_constructor_declaration213155 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_method_member_name_in_method_declaration213190 = new BitSet(new long[]{0x0000000000000000L, 0x0000080010000000L});
public static final BitSet FOLLOW_type_parameter_list_in_method_declaration213192 = new BitSet(new long[]{0x0000000000000000L, 0x0000080000000000L});
public static final BitSet FOLLOW_OPEN_PARENS_in_method_declaration213195 = new BitSet(new long[]{0x2000100804114000L, 0x0000050008004400L, 0x400811080000000AL, 0x0000000001100030L});
public static final BitSet FOLLOW_formal_parameter_list_in_method_declaration213197 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_method_declaration213200 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000400L, 0x0000040000000000L});
public static final BitSet FOLLOW_type_parameter_constraints_clauses_in_method_declaration213208 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_method_body_in_method_declaration213211 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_method_member_name2_in_method_member_name13268 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_method_member_name213294 = new BitSet(new long[]{0x0000080000000002L, 0x0000000010000000L});
public static final BitSet FOLLOW_IDENTIFIER_in_method_member_name213302 = new BitSet(new long[]{0x0000400000000000L});
public static final BitSet FOLLOW_DOUBLE_COLON_in_method_member_name213304 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_method_member_name213306 = new BitSet(new long[]{0x0000080000000002L, 0x0000000010000000L});
public static final BitSet FOLLOW_type_argument_list_opt_in_method_member_name213315 = new BitSet(new long[]{0x0000080000000000L});
public static final BitSet FOLLOW_DOT_in_method_member_name213317 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_method_member_name213319 = new BitSet(new long[]{0x0000080000000002L, 0x0000000010000000L});
public static final BitSet FOLLOW_OPERATOR_in_operator_declaration213333 = new BitSet(new long[]{0x0400020000022820L, 0x08FA000110000020L, 0x0002000000000030L, 0x0000000000000003L});
public static final BitSet FOLLOW_overloadable_operator_in_operator_declaration213335 = new BitSet(new long[]{0x0000000000000000L, 0x0000080000000000L});
public static final BitSet FOLLOW_OPEN_PARENS_in_operator_declaration213337 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_type_in_operator_declaration213341 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_operator_declaration213345 = new BitSet(new long[]{0x0000000014000000L});
public static final BitSet FOLLOW_COMMA_in_operator_declaration213357 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_type_in_operator_declaration213361 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_operator_declaration213365 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_operator_declaration213369 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_operator_body_in_operator_declaration213371 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_interface_method_declaration213420 = new BitSet(new long[]{0x0000000000000000L, 0x0000080010000000L});
public static final BitSet FOLLOW_type_parameter_list_in_interface_method_declaration213422 = new BitSet(new long[]{0x0000000000000000L, 0x0000080000000000L});
public static final BitSet FOLLOW_OPEN_PARENS_in_interface_method_declaration213425 = new BitSet(new long[]{0x2000100804114000L, 0x0000050008004400L, 0x400811080000000AL, 0x0000000001100030L});
public static final BitSet FOLLOW_formal_parameter_list_in_interface_method_declaration213427 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_interface_method_declaration213430 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L, 0x0000040000000000L});
public static final BitSet FOLLOW_type_parameter_constraints_clauses_in_interface_method_declaration213432 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_SEMICOLON_in_interface_method_declaration213435 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_interface_property_declaration213480 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L});
public static final BitSet FOLLOW_OPEN_BRACE_in_interface_property_declaration213482 = new BitSet(new long[]{0x0000000000000000L, 0x0000040000000400L});
public static final BitSet FOLLOW_interface_accessors_in_interface_property_declaration213484 = new BitSet(new long[]{0x0000000001000000L});
public static final BitSet FOLLOW_CLOSE_BRACE_in_interface_property_declaration213486 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_EVENT_in_interface_event_declaration213521 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004400L, 0x0008110000000000L, 0x0000000001100030L});
public static final BitSet FOLLOW_type_in_interface_event_declaration213523 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_interface_event_declaration213525 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_SEMICOLON_in_interface_event_declaration213527 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_THIS_in_interface_indexer_declaration213549 = new BitSet(new long[]{0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_OPEN_BRACKET_in_interface_indexer_declaration213551 = new BitSet(new long[]{0x2000100800114000L, 0x0000050008004400L, 0x400811080000000AL, 0x0000000001100030L});
public static final BitSet FOLLOW_formal_parameter_list_in_interface_indexer_declaration213553 = new BitSet(new long[]{0x0000000002000000L});
public static final BitSet FOLLOW_CLOSE_BRACKET_in_interface_indexer_declaration213555 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L});
public static final BitSet FOLLOW_OPEN_BRACE_in_interface_indexer_declaration213557 = new BitSet(new long[]{0x0000000000000000L, 0x0000040000000400L});
public static final BitSet FOLLOW_interface_accessors_in_interface_indexer_declaration213559 = new BitSet(new long[]{0x0000000001000000L});
public static final BitSet FOLLOW_CLOSE_BRACE_in_interface_indexer_declaration213561 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_DOT_in_member_access213589 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_member_access213592 = new BitSet(new long[]{0x0000000000000000L, 0x0000000010000000L});
public static final BitSet FOLLOW_type_argument_list_opt_in_member_access213594 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OPEN_PARENS_in_method_invocation213606 = new BitSet(new long[]{0x2400106804715820L, 0x002209250800C400L, 0x401A910C00000022L, 0x000000000010007BL});
public static final BitSet FOLLOW_argument_list_in_method_invocation213609 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_method_invocation213612 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OPEN_PARENS_in_object_creation_expression213625 = new BitSet(new long[]{0x2400106804715820L, 0x002209250800C400L, 0x401A910C00000022L, 0x000000000010007BL});
public static final BitSet FOLLOW_argument_list_in_object_creation_expression213627 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_CLOSE_PARENS_in_object_creation_expression213630 = new BitSet(new long[]{0x0000000000000002L, 0x0000020000000000L});
public static final BitSet FOLLOW_object_or_collection_initializer_in_object_creation_expression213632 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_type_argument_list_in_synpred1_CSharpParser697 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_INTERR_in_synpred2_CSharpParser760 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_rank_specifier_in_synpred3_CSharpParser794 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_rank_specifier_in_synpred4_CSharpParser1025 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_array_type_in_synpred5_CSharpParser2277 = new BitSet(new long[]{0x0000000000000000L, 0x0000040000000000L});
public static final BitSet FOLLOW_OPEN_BRACKET_in_synpred5_CSharpParser2279 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_unbound_type_name_in_synpred6_CSharpParser2468 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_scan_for_cast_generic_precedence_in_synpred7_CSharpParser2701 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_OPEN_PARENS_in_synpred7_CSharpParser2705 = new BitSet(new long[]{0x2000100800114000L, 0x0000010008004000L, 0x0008110000000000L, 0x0000000000100030L});
public static final BitSet FOLLOW_predefined_type_in_synpred7_CSharpParser2707 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_INTERR_in_synpred8_CSharpParser3665 = new BitSet(new long[]{0x0000000004000000L, 0x1000400000040000L});
public static final BitSet FOLLOW_is_disambiguation_token_in_synpred8_CSharpParser3667 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_type_in_synpred9_CSharpParser4378 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_synpred9_CSharpParser4380 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000002000L});
public static final BitSet FOLLOW_IN_in_synpred9_CSharpParser4382 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_into_contextual_keyword_in_synpred10_CSharpParser4416 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_assignment_in_synpred11_CSharpParser4846 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_lambda_expression_in_synpred12_CSharpParser4871 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_query_expression_in_synpred13_CSharpParser4882 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_labeled_statement_in_synpred14_CSharpParser4930 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_declaration_statement_in_synpred15_CSharpParser4941 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ELSE_in_synpred16_CSharpParser5381 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_local_variable_declaration_in_synpred17_CSharpParser5740 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_local_variable_declaration_in_synpred18_CSharpParser6175 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_global_attribute_section_in_synpred19_CSharpParser6243 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_interface_type_in_synpred20_CSharpParser7401 = new BitSet(new long[]{0x0000080000000000L});
public static final BitSet FOLLOW_DOT_in_synpred20_CSharpParser7403 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x4000000000000000L});
public static final BitSet FOLLOW_THIS_in_synpred20_CSharpParser7405 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_member_name_in_synpred21_CSharpParser7425 = new BitSet(new long[]{0x0000000000000000L, 0x0000080010000000L});
public static final BitSet FOLLOW_type_parameter_list_in_synpred21_CSharpParser7427 = new BitSet(new long[]{0x0000000000000000L, 0x0000080000000000L});
public static final BitSet FOLLOW_OPEN_PARENS_in_synpred21_CSharpParser7430 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_member_name_in_synpred22_CSharpParser7445 = new BitSet(new long[]{0x0000000000000000L, 0x0000020000000000L});
public static final BitSet FOLLOW_OPEN_BRACE_in_synpred22_CSharpParser7447 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_attributes_in_synpred23_CSharpParser7874 = new BitSet(new long[]{0x0000000000000000L, 0x0000000000000000L, 0x0000000000000008L});
public static final BitSet FOLLOW_PARAMS_in_synpred23_CSharpParser7877 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_COMMA_in_synpred24_CSharpParser7906 = new BitSet(new long[]{0x0000000000000000L, 0x0000040000000000L, 0x0000000000000008L});
public static final BitSet FOLLOW_parameter_array_in_synpred24_CSharpParser7908 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_COMMA_in_synpred25_CSharpParser7952 = new BitSet(new long[]{0x2000100800114000L, 0x0000050008004400L, 0x4008110800000002L, 0x0000000001100030L});
public static final BitSet FOLLOW_fixed_parameter_in_synpred25_CSharpParser7954 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_unary_operator_declarator_in_synpred26_CSharpParser8736 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_AMP_in_synpred27_CSharpParser11625 = new BitSet(new long[]{0x0000000000000002L});
}