mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-03-22 15:19:59 +07:00
[kotlin] K2: refactor KotlinDiagnosticHighlightVisitor
^KTIJ-29345 GitOrigin-RevId: 898a4d9e3584740f3cb94be63491b47173b6dfc4
This commit is contained in:
committed by
intellij-monorepo-bot
parent
5a3803408f
commit
07f3709831
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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", "<br>"))
|
||||
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", "<br>"))
|
||||
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)
|
||||
|
||||
Reference in New Issue
Block a user