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}); }