diff --git a/plugins/groovy/groovy-psi/gen/org/jetbrains/plugins/groovy/lang/parser/GroovyBnfParser.java b/plugins/groovy/groovy-psi/gen/org/jetbrains/plugins/groovy/lang/parser/GroovyBnfParser.java index b662ecc11fcd..5bc3cc489292 100644 --- a/plugins/groovy/groovy-psi/gen/org/jetbrains/plugins/groovy/lang/parser/GroovyBnfParser.java +++ b/plugins/groovy/groovy-psi/gen/org/jetbrains/plugins/groovy/lang/parser/GroovyBnfParser.java @@ -758,9 +758,9 @@ public class GroovyBnfParser implements PsiParser, LightPsiParser { public static boolean application_argument_list(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "application_argument_list")) return false; boolean r; - Marker m = enter_section_(b); + Marker m = enter_section_(b, l, _NONE_, APPLICATION_ARGUMENT_LIST, ""); r = applicationArguments(b, l + 1, application_arguments_parser_); - exit_section_(b, m, APPLICATION_ARGUMENT_LIST, r); + exit_section_(b, l, m, r, false, null); return r; } @@ -826,7 +826,7 @@ public class GroovyBnfParser implements PsiParser, LightPsiParser { public static boolean application_call(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "application_call")) return false; boolean r; - Marker m = enter_section_(b, l, _LEFT_, METHOD_CALL_EXPRESSION, null); + Marker m = enter_section_(b, l, _LEFT_, METHOD_CALL_EXPRESSION, ""); r = application_call_0(b, l + 1); if (!r) r = application_call_1(b, l + 1); exit_section_(b, l, m, r, false, null); @@ -888,7 +888,7 @@ public class GroovyBnfParser implements PsiParser, LightPsiParser { public static boolean application_expression(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "application_expression")) return false; boolean r; - Marker m = enter_section_(b, l, _LEFT_, APPLICATION_EXPRESSION, null); + Marker m = enter_section_(b, l, _LEFT_, APPLICATION_EXPRESSION, ""); r = application_argument_list(b, l + 1); exit_section_(b, l, m, r, false, null); return r; @@ -899,7 +899,7 @@ public class GroovyBnfParser implements PsiParser, LightPsiParser { public static boolean application_index(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "application_index")) return false; boolean r; - Marker m = enter_section_(b, l, _LEFT_, APPLICATION_INDEX, null); + Marker m = enter_section_(b, l, _LEFT_, APPLICATION_INDEX, ""); r = index_expression_argument_list(b, l + 1); exit_section_(b, l, m, r, false, null); return r; @@ -910,7 +910,7 @@ public class GroovyBnfParser implements PsiParser, LightPsiParser { public static boolean application_ref(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "application_ref")) return false; boolean r; - Marker m = enter_section_(b, l, _LEFT_, REFERENCE_EXPRESSION, null); + Marker m = enter_section_(b, l, _LEFT_, REFERENCE_EXPRESSION, ""); r = consumeTokenFast(b, IDENTIFIER); if (!r) r = simple_literal_tokens(b, l + 1); exit_section_(b, l, m, r, false, null); @@ -935,7 +935,7 @@ public class GroovyBnfParser implements PsiParser, LightPsiParser { public static boolean argument_label(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "argument_label")) return false; boolean r; - Marker m = enter_section_(b); + Marker m = enter_section_(b, l, _NONE_, ARGUMENT_LABEL, ""); r = consumeTokenFast(b, IDENTIFIER); if (!r) r = consumeTokenFast(b, STR_SQ); if (!r) r = consumeTokenFast(b, STR_DQ); @@ -944,7 +944,7 @@ public class GroovyBnfParser implements PsiParser, LightPsiParser { if (!r) r = consumeTokenFast(b, KW_CLASS); if (!r) r = parsePrimitiveType(b, l + 1); if (!r) r = consumeTokenFast(b, KW_DEFAULT); - exit_section_(b, m, ARGUMENT_LABEL, r); + exit_section_(b, l, m, r, false, null); return r; } @@ -1166,9 +1166,9 @@ public class GroovyBnfParser implements PsiParser, LightPsiParser { public static boolean block_statement(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "block_statement")) return false; boolean r; - Marker m = enter_section_(b); + Marker m = enter_section_(b, l, _NONE_, BLOCK_STATEMENT, ""); r = lazy_block(b, l + 1); - exit_section_(b, m, BLOCK_STATEMENT, r); + exit_section_(b, l, m, r, false, null); return r; } @@ -2165,7 +2165,7 @@ public class GroovyBnfParser implements PsiParser, LightPsiParser { public static boolean closure_parameter_list(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "closure_parameter_list")) return false; boolean r; - Marker m = enter_section_(b, l, _COLLAPSE_, PARAMETER_LIST, null); + Marker m = enter_section_(b, l, _COLLAPSE_, PARAMETER_LIST, ""); r = comma_list(b, l + 1, closure_parameter_list_0_0_parser_); exit_section_(b, l, m, r, false, null); return r; @@ -2187,7 +2187,7 @@ public class GroovyBnfParser implements PsiParser, LightPsiParser { public static boolean code_reference(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "code_reference")) return false; boolean r; - Marker m = enter_section_(b, l, _COLLAPSE_, CODE_REFERENCE, null); + Marker m = enter_section_(b, l, _COLLAPSE_, CODE_REFERENCE, ""); r = unqualified_code_reference(b, l + 1); r = r && code_reference_1(b, l + 1); exit_section_(b, l, m, r, false, null); @@ -3477,7 +3477,7 @@ public class GroovyBnfParser implements PsiParser, LightPsiParser { public static boolean import_$(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "import_$")) return false; boolean r, p; - Marker m = enter_section_(b, l, _NONE_, IMPORT, null); + Marker m = enter_section_(b, l, _NONE_, IMPORT, ""); r = modifier_list(b, l + 1); r = r && mb_nl(b, l + 1); r = r && import_2(b, l + 1); @@ -3591,7 +3591,7 @@ public class GroovyBnfParser implements PsiParser, LightPsiParser { public static boolean index_expression_argument_list(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "index_expression_argument_list")) return false; boolean r, p; - Marker m = enter_section_(b, l, _NONE_, ARGUMENT_LIST, null); + Marker m = enter_section_(b, l, _NONE_, ARGUMENT_LIST, ""); r = index_expression_argument_list_0(b, l + 1); r = r && consumeTokenFast(b, T_LBRACK); p = r; // pin = 2 @@ -3921,7 +3921,7 @@ public class GroovyBnfParser implements PsiParser, LightPsiParser { public static boolean modifier_list(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "modifier_list")) return false; boolean r; - Marker m = enter_section_(b, l, _COLLAPSE_, MODIFIER_LIST, null); + Marker m = enter_section_(b, l, _COLLAPSE_, MODIFIER_LIST, ""); r = non_empty_modifier_list(b, l + 1); if (!r) r = empty_modifier_list(b, l + 1); exit_section_(b, l, m, r, false, null); @@ -4032,10 +4032,10 @@ public class GroovyBnfParser implements PsiParser, LightPsiParser { public static boolean named_argument(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "named_argument")) return false; boolean r; - Marker m = enter_section_(b); + Marker m = enter_section_(b, l, _NONE_, NAMED_ARGUMENT, ""); r = argument_label(b, l + 1); r = r && named_argument_tail(b, l + 1); - exit_section_(b, m, NAMED_ARGUMENT, r); + exit_section_(b, l, m, r, false, null); return r; } @@ -4251,9 +4251,9 @@ public class GroovyBnfParser implements PsiParser, LightPsiParser { public static boolean non_empty_modifier_list(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "non_empty_modifier_list")) return false; boolean r; - Marker m = enter_section_(b); + Marker m = enter_section_(b, l, _NONE_, MODIFIER_LIST, ""); r = a_b_a(b, l + 1, non_empty_modifier_list_0_0_parser_, mb_nl_parser_); - exit_section_(b, m, MODIFIER_LIST, r); + exit_section_(b, l, m, r, false, null); return r; } @@ -4338,7 +4338,7 @@ public class GroovyBnfParser implements PsiParser, LightPsiParser { public static boolean package_definition(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "package_definition")) return false; boolean r, p; - Marker m = enter_section_(b, l, _NONE_, PACKAGE_DEFINITION, null); + Marker m = enter_section_(b, l, _NONE_, PACKAGE_DEFINITION, ""); r = modifier_list(b, l + 1); r = r && mb_nl(b, l + 1); r = r && package_definition_2(b, l + 1); @@ -5205,11 +5205,11 @@ public class GroovyBnfParser implements PsiParser, LightPsiParser { public static boolean spread_list_argument(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "spread_list_argument")) return false; boolean r; - Marker m = enter_section_(b); + Marker m = enter_section_(b, l, _NONE_, SPREAD_LIST_ARGUMENT, ""); r = spread_list_argument_0(b, l + 1); r = r && consumeTokenFast(b, T_STAR); r = r && expression(b, l + 1, -1); - exit_section_(b, m, SPREAD_LIST_ARGUMENT, r); + exit_section_(b, l, m, r, false, null); return r; } @@ -5886,10 +5886,10 @@ public class GroovyBnfParser implements PsiParser, LightPsiParser { public static boolean type_argument_list(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "type_argument_list")) return false; boolean r; - Marker m = enter_section_(b); + Marker m = enter_section_(b, l, _NONE_, TYPE_ARGUMENT_LIST, ""); r = type_argument_list_0(b, l + 1); if (!r) r = angle_list(b, l + 1, type_argument_list_1_0_parser_); - exit_section_(b, m, TYPE_ARGUMENT_LIST, r); + exit_section_(b, l, m, r, false, null); return r; } @@ -6154,9 +6154,9 @@ public class GroovyBnfParser implements PsiParser, LightPsiParser { public static boolean unqualified_code_reference(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "unqualified_code_reference")) return false; boolean r; - Marker m = enter_section_(b); + Marker m = enter_section_(b, l, _NONE_, CODE_REFERENCE, ""); r = code_reference_part(b, l + 1); - exit_section_(b, m, CODE_REFERENCE, r); + exit_section_(b, l, m, r, false, null); return r; } @@ -6780,7 +6780,7 @@ public class GroovyBnfParser implements PsiParser, LightPsiParser { public static boolean lazy_closure(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "lazy_closure")) return false; boolean r; - Marker m = enter_section_(b, l, _COLLAPSE_, CLOSURE, null); + Marker m = enter_section_(b, l, _COLLAPSE_, CLOSURE, ""); r = parseBlockLazy(b, l + 1, closure_parser_, CLOSURE); exit_section_(b, l, m, r, false, null); return r; @@ -6971,10 +6971,10 @@ public class GroovyBnfParser implements PsiParser, LightPsiParser { public static boolean literal(PsiBuilder b, int l) { if (!recursion_guard_(b, l, "literal")) return false; boolean r; - Marker m = enter_section_(b); + Marker m = enter_section_(b, l, _NONE_, LITERAL, ""); r = simple_literal_tokens(b, l + 1); if (!r) r = regex_literal(b, l + 1); - exit_section_(b, m, LITERAL, r); + exit_section_(b, l, m, r, false, null); return r; } diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/parser/groovy.bnf b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/parser/groovy.bnf index f5d7c0f3cf3a..824d5e2c6027 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/parser/groovy.bnf +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/parser/groovy.bnf @@ -182,7 +182,6 @@ package_definition ::= modifier_list mb_nl ('package') package_name pin = 3 elementTypeClass = 'org.jetbrains.plugins.groovy.lang.psi.stubs.elements.GrPackageDefinitionElementType' consumeTokenMethod = 'consumeTokenFast' - name = '' } package_name ::= code_reference { elementType = '' name = 'package name' } @@ -190,7 +189,6 @@ import ::= modifier_list mb_nl ('import') 'static'? import_reference import_star { pin = 3 elementTypeClass = 'org.jetbrains.plugins.groovy.lang.psi.stubs.elements.GrImportStatementElementType' - name = '' consumeTokenMethod = 'consumeTokenFast' } private import_star ::= '.' '*' @@ -205,10 +203,9 @@ import_alias ::= 'as' mb_nl IDENTIFIER modifier_list ::= non_empty_modifier_list | empty_modifier_list { elementTypeClass = 'org.jetbrains.plugins.groovy.lang.psi.stubs.elements.GrModifierListElementType' - name = '' } empty_modifier_list ::= -non_empty_modifier_list ::= <> { name = '' } +non_empty_modifier_list ::= <> annotation_modifier_list ::= <>? private modifier ::= 'abstract' | 'default' @@ -503,7 +500,6 @@ type_parameter_list ::= '<' type_parameters '>' { pin = 1 elementTypeClass = 'org.jetbrains.plugins.groovy.lang.psi.stubs.elements.GrTypeParameterListElementType' - name = '' consumeTokenMethod = 'consumeTokenFast' } private type_parameters ::= type_parameter type_parameters_tail* @@ -526,7 +522,6 @@ private type_parameter_bounds_list_tail ::= '&' type_code_reference { pin = 1 } type_argument_list ::= <> ('<') '>' | <> { pin = 1 - name = '' consumeTokenMethod = 'consumeTokenFast' } private type_argument ::= type_element | wildcard_type_element @@ -667,9 +662,6 @@ statement ::= if_statement private block_or_statement ::= block_statement | statement block_statement ::= lazy_block -{ - name = '' -} if_statement ::= 'if' after_if_keyword { @@ -855,11 +847,7 @@ private application_argument_start ::= IDENTIFIER built_in_type_expression ::= primitive_type -literal ::= simple_literal_tokens | regex_literal -{ - extends = expression - name = '' -} +literal ::= simple_literal_tokens | regex_literal { extends = expression } private simple_literal_tokens ::= NUM_INT | NUM_LONG | NUM_BIG_INT @@ -929,7 +917,6 @@ lazy_closure ::= <> { extends = expression elementType = closure - name = '' } closure ::= '{' mb_nl closure_header mb_separators block_levels '}' { @@ -938,11 +925,7 @@ closure ::= '{' mb_nl closure_header mb_separators block_levels '}' } private closure_header ::= empty_parameter_list closure_arrow | closure_parameter_list mb_nl closure_arrow | empty_parameter_list private closure_arrow ::= '->' -closure_parameter_list ::= <> -{ - elementType = parameter_list - name = '' -} +closure_parameter_list ::= <> { elementType = parameter_list } empty_parameter_list ::= { elementType = parameter_list } list_or_map ::= empty_list | empty_map | non_empty_list_or_map @@ -1003,7 +986,6 @@ index_expression_argument_list ::= !empty_map '[' parse_bracket_argument_list '] pin = 2 elementType = argument_list consumeTokenMethod = 'consumeTokenFast' - name = '' } postfix_unary_expression ::= expression ('++' | '--') @@ -1093,22 +1075,11 @@ private application ::= <> -{ - name = '' -} private application_arguments ::= argument (',' mb_nl argument)* private argument ::= spread_list_argument | named_argument | <> -spread_list_argument ::= !<> '*' expression -{ - name = '' - consumeTokenMethod = 'consumeTokenFast' -} +spread_list_argument ::= !<> '*' expression { consumeTokenMethod = 'consumeTokenFast' } named_argument ::= argument_label named_argument_tail -{ - name = '' -} private named_argument_tail ::= ':' expression { pin = 1 @@ -1151,7 +1112,6 @@ private named_argument_tail ::= ':' expression } argument_label ::= IDENTIFIER | STR_SQ | STR_DQ | '*' | 'null' | 'class' | primitive_type | 'default' { - name = '' consumeTokenMethod = 'consumeTokenFast' } // endregion @@ -1185,7 +1145,7 @@ private expect_type ::= <> fail // region Code references -code_reference ::= unqualified_code_reference qualified_code_reference_tail* { name = '' } +code_reference ::= unqualified_code_reference qualified_code_reference_tail* import_reference ::= unqualified_code_reference import_reference_tail* { elementType = code_reference @@ -1200,11 +1160,7 @@ qualified_code_reference ::= unqualified_code_reference qualified_code_reference private capital_code_reference ::= <> private no_type_args_code_reference ::= <> -unqualified_code_reference ::= code_reference_part -{ - elementType = code_reference - name = '' -} +unqualified_code_reference ::= code_reference_part { elementType = code_reference } left qualified_code_reference_tail ::= code_reference_dot code_reference_part { elementType = code_reference