void (@NotNull PsiElement psiElement, @NotNull AnnotationHolder holder) { if (!(psiElement instanceof GroovyFile groovyFile)) return; if (!GrFileIndexUtil.isGroovySourceFile(groovyFile)) return; final VirtualFile vfile = groovyFile.getVirtualFile(); if (!GdslUtil.GDSL_FILTER.value(vfile)) return; final DslActivationStatus.Status status = GroovyDslFileIndex.getStatus(vfile); if (status == ACTIVE) return; final String message = status == MODIFIED ? GroovyBundle.message("inspection.message.dsl.descriptor.file.has.been.changed.and.isnt.currently.executed") : GroovyBundle.message("inspection.message.dsl.descriptor.file.has.been.disabled.due.to.processing.error"); AnnotationBuilder builder = holder.newAnnotation(HighlightSeverity.WARNING, message) .fileLevel() .withFix(new ActivateFix(vfile)); if (status == ERROR) { final String error = GroovyDslFileIndex.getError(vfile); if (error != null) { builder = builder.withFix(GroovyQuickFixFactory.getInstance().createInvestigateFix(error)); } } builder.create(); }