void (boolean hasErrors) { ApplicationManager.getApplication().assertIsNonDispatchThread(); if (!getFile().getViewProvider().isPhysical()) return; // e.g. errors in evaluate expression Project project = getFile().getProject(); if (!PsiManager.getInstance(project).isInProject(getFile())) return; // do not report problems in libraries VirtualFile file = getFile().getVirtualFile(); if (file == null) return; List<Problem> problems = convertToProblems(getInfos(), file, myHasErrorElement); WolfTheProblemSolver wolf = WolfTheProblemSolver.getInstance(project); if (!hasErrors || isWholeFileHighlighting()) { wolf.reportProblems(file, problems); } else { wolf.weHaveGotProblems(file, problems); } }