Skip to content

Commit

Permalink
[kotlin] override line markers: show overriding marks in decompiled s…
Browse files Browse the repository at this point in the history
…ources; respect options

^KTIJ-24244

GitOrigin-RevId: 0bf83a0c3525dc1fcc5baf3df4e4be70de8c5d33
  • Loading branch information
akozlova authored and intellij-monorepo-bot committed Jan 18, 2023
1 parent bd4ad1a commit ad7458e
Showing 1 changed file with 9 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolWithModality
import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.idea.base.resources.KotlinBundle
import org.jetbrains.kotlin.idea.codeInsight.lineMarkers.dsl.collectHighlightingDslMarkers
import org.jetbrains.kotlin.idea.highlighter.markers.InheritanceMergeableLineMarkerInfo
import org.jetbrains.kotlin.idea.highlighter.markers.KotlinGutterTooltipHelper
import org.jetbrains.kotlin.idea.highlighter.markers.KotlinLineMarkerOptions
import org.jetbrains.kotlin.idea.highlighter.markers.InheritanceMergeableLineMarkerInfo
import org.jetbrains.kotlin.idea.k2.codeinsight.KotlinGoToSuperDeclarationsHandler
import org.jetbrains.kotlin.idea.search.KotlinSearchUsagesSupport.Companion.isInheritable
import org.jetbrains.kotlin.idea.search.KotlinSearchUsagesSupport.Companion.isOverridable
Expand Down Expand Up @@ -103,7 +103,14 @@ class KotlinLineMarkerProvider : LineMarkerProviderDescriptor() {
}

private fun collectSuperDeclarations(declaration: KtCallableDeclaration, result: MutableCollection<in LineMarkerInfo<*>>) {
if (!declaration.hasModifier(KtTokens.OVERRIDE_KEYWORD)) return
if (!(KotlinLineMarkerOptions.implementingOption.isEnabled || KotlinLineMarkerOptions.overridingOption.isEnabled)) {
return
}

if (!(declaration.hasModifier(KtTokens.OVERRIDE_KEYWORD) || (declaration.containingFile as KtFile).isCompiled)) {
return
}

analyze(declaration) {
var callableSymbol = declaration.getSymbol() as? KtCallableSymbol ?: return
if (callableSymbol is KtValueParameterSymbol) {
Expand Down

0 comments on commit ad7458e

Please sign in to comment.