diff --git a/platform/analysis-impl/api-dump-unreviewed.txt b/platform/analysis-impl/api-dump-unreviewed.txt index ed24fdce5378..16789a60d023 100644 --- a/platform/analysis-impl/api-dump-unreviewed.txt +++ b/platform/analysis-impl/api-dump-unreviewed.txt @@ -687,7 +687,6 @@ com.intellij.codeInsight.daemon.impl.HighlightInfoType - sf:ERROR:com.intellij.codeInsight.daemon.impl.HighlightInfoType - sf:GENERIC_WARNINGS_OR_ERRORS_FROM_SERVER:com.intellij.codeInsight.daemon.impl.HighlightInfoType - sf:HIGHLIGHTED_REFERENCE_SEVERITY:com.intellij.lang.annotation.HighlightSeverity -- sf:INCOMPLETE_MODE_ERROR:com.intellij.codeInsight.daemon.impl.HighlightInfoType - sf:INFO:com.intellij.codeInsight.daemon.impl.HighlightInfoType - sf:INFORMATION:com.intellij.codeInsight.daemon.impl.HighlightInfoType - sf:INJECTED_FRAGMENT_SEVERITY:com.intellij.lang.annotation.HighlightSeverity diff --git a/platform/analysis-impl/src/com/intellij/codeInsight/daemon/impl/HighlightInfoType.java b/platform/analysis-impl/src/com/intellij/codeInsight/daemon/impl/HighlightInfoType.java index 4554d504f3f0..7fc490bd33de 100644 --- a/platform/analysis-impl/src/com/intellij/codeInsight/daemon/impl/HighlightInfoType.java +++ b/platform/analysis-impl/src/com/intellij/codeInsight/daemon/impl/HighlightInfoType.java @@ -43,7 +43,6 @@ public interface HighlightInfoType { HighlightInfoType TEXT_ATTRIBUTES = new HighlightInfoTypeImpl(HighlightSeverity.TEXT_ATTRIBUTES, CodeInsightColors.CONSIDERATION_ATTRIBUTES); HighlightInfoType WRONG_REF = new HighlightInfoTypeImpl(HighlightSeverity.ERROR, CodeInsightColors.WRONG_REFERENCES_ATTRIBUTES); - HighlightInfoType INCOMPLETE_MODE_ERROR = new HighlightInfoTypeImpl(HighlightSeverity.INFORMATION, CodeInsightColors.INFORMATION_ATTRIBUTES); HighlightInfoType GENERIC_WARNINGS_OR_ERRORS_FROM_SERVER = new HighlightInfoTypeImpl(HighlightSeverity.GENERIC_SERVER_ERROR_OR_WARNING, CodeInsightColors.GENERIC_SERVER_ERROR_OR_WARNING); diff --git a/plugins/kotlin/highlighting/highlighting-k2/src/org/jetbrains/kotlin/idea/highlighting/KotlinDiagnosticHighlightVisitor.kt b/plugins/kotlin/highlighting/highlighting-k2/src/org/jetbrains/kotlin/idea/highlighting/KotlinDiagnosticHighlightVisitor.kt index 48f76a9384b0..fe7498b43793 100644 --- a/plugins/kotlin/highlighting/highlighting-k2/src/org/jetbrains/kotlin/idea/highlighting/KotlinDiagnosticHighlightVisitor.kt +++ b/plugins/kotlin/highlighting/highlighting-k2/src/org/jetbrains/kotlin/idea/highlighting/KotlinDiagnosticHighlightVisitor.kt @@ -3,17 +3,19 @@ package org.jetbrains.kotlin.idea.highlighting import com.intellij.codeInsight.daemon.impl.HighlightInfo import com.intellij.codeInsight.daemon.impl.HighlightInfoType -import com.intellij.codeInsight.daemon.impl.HighlightInfoType.INCOMPLETE_MODE_ERROR +import com.intellij.codeInsight.daemon.impl.HighlightInfoType.HighlightInfoTypeImpl import com.intellij.codeInsight.daemon.impl.HighlightVisitor import com.intellij.codeInsight.daemon.impl.analysis.HighlightInfoHolder import com.intellij.codeInsight.daemon.impl.analysis.HighlightingLevelManager import com.intellij.codeInsight.intention.IntentionAction import com.intellij.codeInsight.intention.IntentionActionWithOptions import com.intellij.codeInsight.quickfix.UnresolvedReferenceQuickFixUpdater +import com.intellij.lang.annotation.HighlightSeverity import com.intellij.lang.injection.InjectedLanguageManager import com.intellij.openapi.application.ApplicationManager import com.intellij.openapi.diagnostic.ControlFlowException import com.intellij.openapi.diagnostic.Logger +import com.intellij.openapi.editor.colors.CodeInsightColors import com.intellij.openapi.progress.ProcessCanceledException import com.intellij.openapi.project.IntelliJProjectUtil import com.intellij.openapi.util.NlsSafe @@ -184,27 +186,24 @@ class KotlinDiagnosticHighlightVisitor : HighlightVisitor { diagnostic: KaDiagnosticWithPsi<*>, range: TextRange ): HighlightInfo.Builder { - if (!ignoreIncompleteModeDiagnostics.contains(diagnostic.diagnosticClass) + return if (diagnostic.diagnosticClass !in ignoreIncompleteModeDiagnostics && isIncompleteModel(diagnostic.psi) && diagnostic.severity == KaSeverity.ERROR ) { val message = K2HighlightingBundle.message("text.required.dependency.not.loaded.yet") val htmlMessage = XmlStringUtil.wrapInHtml(message) - val infoBuilder = HighlightInfo.newHighlightInfo(INCOMPLETE_MODE_ERROR) + HighlightInfo.newHighlightInfo(INCOMPLETE_MODE_ERROR) + .escapedToolTip(htmlMessage) + .description(message) + .range(range) + } else { + val message = diagnostic.getMessageToRender() + val htmlMessage = XmlStringUtil.wrapInHtml(XmlStringUtil.escapeString(message).replace("\n", "
")) + HighlightInfo.newHighlightInfo(diagnostic.getHighlightInfoType()) .escapedToolTip(htmlMessage) .description(message) .range(range) - - return infoBuilder } - - val message = diagnostic.getMessageToRender() - val htmlMessage = XmlStringUtil.wrapInHtml(XmlStringUtil.escapeString(message).replace("\n", "
")) - val infoBuilder = HighlightInfo.newHighlightInfo(diagnostic.getHighlightInfoType()) - .escapedToolTip(htmlMessage) - .description(message) - .range(range) - return infoBuilder } @NlsSafe @@ -269,3 +268,5 @@ class KotlinDiagnosticHighlightVisitor : HighlightVisitor { return KotlinDiagnosticHighlightVisitor() } } + +val INCOMPLETE_MODE_ERROR = HighlightInfoTypeImpl(HighlightSeverity.INFORMATION, CodeInsightColors.INFORMATION_ATTRIBUTES)