boolean (PsiBuilder b, int l) { if (!recursion_guard_(b, l, "heredoc")) return false; if (!nextTokenIs(b, HEREDOC_MARKER_TAG)) return false; boolean r; Marker m = enter_section_(b); r = consumeTokens(b, 0, HEREDOC_MARKER_TAG, HEREDOC_MARKER_START); r = r && heredoc_2(b, l + 1); r = r && newlines(b, l + 1); r = r && heredoc_4(b, l + 1); r = r && heredoc_5(b, l + 1); exit_section_(b, m, HEREDOC, r); return r; }