testData/generator/UpperRules.expected.java (168 lines of code) (raw):

// ---- GeneratedParser.java ----------------- //header.txt package generated; import com.intellij.lang.PsiBuilder; import com.intellij.lang.PsiBuilder.Marker; import static generated.GeneratedTypes.*; import static com.intellij.lang.parser.GeneratedParserUtilBase.*; import com.intellij.psi.tree.IElementType; import com.intellij.lang.ASTNode; import com.intellij.psi.tree.TokenSet; import com.intellij.lang.PsiParser; import com.intellij.lang.LightPsiParser; @SuppressWarnings({"SimplifiableIfStatement", "UnusedAssignment"}) public class GeneratedParser implements PsiParser, LightPsiParser { public ASTNode parse(IElementType root_, PsiBuilder builder_) { parseLight(root_, builder_); return builder_.getTreeBuilt(); } public void parseLight(IElementType root_, PsiBuilder builder_) { boolean result_; builder_ = adapt_builder_(root_, builder_, this, EXTENDS_SETS_); Marker marker_ = enter_section_(builder_, 0, _COLLAPSE_, null); result_ = parse_root_(root_, builder_); exit_section_(builder_, 0, marker_, root_, result_, true, TRUE_CONDITION); } protected boolean parse_root_(IElementType root_, PsiBuilder builder_) { return parse_root_(root_, builder_, 0); } static boolean parse_root_(IElementType root_, PsiBuilder builder_, int level_) { return file(builder_, level_ + 1); } public static final TokenSet[] EXTENDS_SETS_ = new TokenSet[] { create_token_set_(ABC, ABC_ONE, ABC_THREE, ABC_TWO), }; /* ********************************************************** */ // abc_three? (abc_one | abc_two | abc_three) public static boolean abc(PsiBuilder builder_, int level_) { if (!recursion_guard_(builder_, level_, "abc")) return false; boolean result_; Marker marker_ = enter_section_(builder_, level_, _COLLAPSE_, ABC, "<abc>"); result_ = abc_0(builder_, level_ + 1); result_ = result_ && abc_1(builder_, level_ + 1); exit_section_(builder_, level_, marker_, result_, false, null); return result_; } // abc_three? private static boolean abc_0(PsiBuilder builder_, int level_) { if (!recursion_guard_(builder_, level_, "abc_0")) return false; abc_three(builder_, level_ + 1); return true; } // abc_one | abc_two | abc_three private static boolean abc_1(PsiBuilder builder_, int level_) { if (!recursion_guard_(builder_, level_, "abc_1")) return false; boolean result_; result_ = abc_one(builder_, level_ + 1); if (!result_) result_ = abc_two(builder_, level_ + 1); if (!result_) result_ = abc_three(builder_, level_ + 1); return result_; } /* ********************************************************** */ // just_b X public static boolean abc_one(PsiBuilder builder_, int level_) { if (!recursion_guard_(builder_, level_, "abc_one")) return false; if (!nextTokenIs(builder_, B)) return false; boolean result_, pinned_; Marker marker_ = enter_section_(builder_, level_, _UPPER_, ABC_ONE, null); result_ = just_b(builder_, level_ + 1); pinned_ = result_; // pin = 1 result_ = result_ && consumeToken(builder_, X); exit_section_(builder_, level_, marker_, result_, pinned_, null); return result_ || pinned_; } /* ********************************************************** */ // X public static boolean abc_three(PsiBuilder builder_, int level_) { if (!recursion_guard_(builder_, level_, "abc_three")) return false; if (!nextTokenIs(builder_, X)) return false; boolean result_; Marker marker_ = enter_section_(builder_); result_ = consumeToken(builder_, X); exit_section_(builder_, marker_, ABC_THREE, result_); return result_; } /* ********************************************************** */ // C public static boolean abc_two(PsiBuilder builder_, int level_) { if (!recursion_guard_(builder_, level_, "abc_two")) return false; if (!nextTokenIs(builder_, C)) return false; boolean result_; Marker marker_ = enter_section_(builder_, level_, _UPPER_, ABC_TWO, null); result_ = consumeToken(builder_, C); exit_section_(builder_, level_, marker_, result_, false, null); return result_; } /* ********************************************************** */ // abc | pinned_seq | plain_seq static boolean content(PsiBuilder builder_, int level_) { if (!recursion_guard_(builder_, level_, "content")) return false; boolean result_; Marker marker_ = enter_section_(builder_, level_, _NONE_); result_ = abc(builder_, level_ + 1); if (!result_) result_ = pinned_seq(builder_, level_ + 1); if (!result_) result_ = plain_seq(builder_, level_ + 1); exit_section_(builder_, level_, marker_, result_, false, GeneratedParser::content_recover); return result_; } /* ********************************************************** */ // !';' static boolean content_recover(PsiBuilder builder_, int level_) { if (!recursion_guard_(builder_, level_, "content_recover")) return false; boolean result_; Marker marker_ = enter_section_(builder_, level_, _NOT_); result_ = !consumeToken(builder_, ";"); exit_section_(builder_, level_, marker_, result_, false, null); return result_; } /* ********************************************************** */ // (content ';') * static boolean file(PsiBuilder builder_, int level_) { if (!recursion_guard_(builder_, level_, "file")) return false; while (true) { int pos_ = current_position_(builder_); if (!file_0(builder_, level_ + 1)) break; if (!empty_element_parsed_guard_(builder_, "file", pos_)) break; } return true; } // content ';' private static boolean file_0(PsiBuilder builder_, int level_) { if (!recursion_guard_(builder_, level_, "file_0")) return false; boolean result_, pinned_; Marker marker_ = enter_section_(builder_, level_, _NONE_); result_ = content(builder_, level_ + 1); pinned_ = result_; // pin = 1 result_ = result_ && consumeToken(builder_, ";"); exit_section_(builder_, level_, marker_, result_, pinned_, null); return result_ || pinned_; } /* ********************************************************** */ // B public static boolean just_b(PsiBuilder builder_, int level_) { if (!recursion_guard_(builder_, level_, "just_b")) return false; if (!nextTokenIs(builder_, B)) return false; boolean result_; Marker marker_ = enter_section_(builder_); result_ = consumeToken(builder_, B); exit_section_(builder_, marker_, JUST_B, result_); return result_; } /* ********************************************************** */ // prefix (abc_one | abc_two) public static boolean pinned_seq(PsiBuilder builder_, int level_) { if (!recursion_guard_(builder_, level_, "pinned_seq")) return false; if (!nextTokenIs(builder_, A)) return false; boolean result_, pinned_; Marker marker_ = enter_section_(builder_, level_, _NONE_, PINNED_SEQ, null); result_ = prefix(builder_, level_ + 1); pinned_ = result_; // pin = 1 result_ = result_ && pinned_seq_1(builder_, level_ + 1); exit_section_(builder_, level_, marker_, result_, pinned_, null); return result_ || pinned_; } // abc_one | abc_two private static boolean pinned_seq_1(PsiBuilder builder_, int level_) { if (!recursion_guard_(builder_, level_, "pinned_seq_1")) return false; boolean result_; result_ = abc_one(builder_, level_ + 1); if (!result_) result_ = abc_two(builder_, level_ + 1); return result_; } /* ********************************************************** */ // prefix abc_one abc_two public static boolean plain_seq(PsiBuilder builder_, int level_) { if (!recursion_guard_(builder_, level_, "plain_seq")) return false; if (!nextTokenIs(builder_, A)) return false; boolean result_; Marker marker_ = enter_section_(builder_); result_ = prefix(builder_, level_ + 1); result_ = result_ && abc_one(builder_, level_ + 1); result_ = result_ && abc_two(builder_, level_ + 1); exit_section_(builder_, marker_, PLAIN_SEQ, result_); return result_; } /* ********************************************************** */ // A public static boolean prefix(PsiBuilder builder_, int level_) { if (!recursion_guard_(builder_, level_, "prefix")) return false; if (!nextTokenIs(builder_, A)) return false; boolean result_; Marker marker_ = enter_section_(builder_); result_ = consumeToken(builder_, A); exit_section_(builder_, marker_, PREFIX, result_); return result_; } }