public static boolean blockStatement(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "blockStatement")) return false;
if (!nextTokenIs(builder_, PLCURLY)) return false;
boolean result_;
boolean pinned_;
Marker marker_ = enter_section_(builder_, level_, _NONE_, null);
result_ = consumeToken(builder_, PLCURLY);
pinned_ = result_; // pin = 1
result_ = result_ && report_error_(builder_, blockStatement_1(builder_, level_ + 1));
result_ = pinned_ && consumeToken(builder_, PRCURLY) && result_;
exit_section_(builder_, level_, marker_, BLOCK_STATEMENT, result_, pinned_, null);