boolean (@NotNull PsiFile file) { Document document = PsiDocumentManager.getInstance(file.getProject()).getDocument(file); if (document == null) return true; // ignore unresolved imports errors PsiImportList importList = ((PsiJavaFile)file).getImportList(); final TextRange importsRange = importList == null ? TextRange.EMPTY_RANGE : importList.getTextRange(); //noinspection UnnecessaryLocalVariable boolean hasErrorsBesideUnresolvedImports = !DaemonCodeAnalyzerEx .processHighlights(document, file.getProject(), HighlightSeverity.ERROR, 0, document.getTextLength(), error -> { if (error.type instanceof LocalInspectionsPass.InspectionHighlightInfoType) return true; int infoStart = error.getActualStartOffset(); int infoEnd = error.getActualEndOffset(); return importsRange.containsRange(infoStart, infoEnd) && error.type.equals(HighlightInfoType.WRONG_REF); }); return hasErrorsBesideUnresolvedImports; }