void (PsiBuilder builder, int level, PsiBuilder.Marker marker, @Nullable IElementType elementType, boolean result, boolean pinned, @Nullable Parser eatMore) { ErrorState state = ErrorState.get(builder); Frame frame = state.currentFrame; state.currentFrame = frame == null ? null : frame.parentFrame; if (frame != null && frame.elementType != null) elementType = frame.elementType; if (frame == null || level != frame.level) { LOG.error("Unbalanced error section: got " + frame + ", expected level " + level); if (frame != null) state.FRAMES.recycle(frame); close_marker_impl_(frame, marker, elementType, result); return; } close_frame_impl_(state, frame, builder, marker, elementType, result, pinned); exit_section_impl_(state, frame, builder, elementType, result, pinned, eatMore); run_hooks_impl_(builder, state, pinned || result ? elementType : null); state.FRAMES.recycle(frame); state.level--; }