Reused code
This commit is contained in:
@@ -19,6 +19,8 @@ package org.jetbrains.kotlin.idea.core
|
||||
import com.intellij.openapi.project.Project
|
||||
import org.jetbrains.kotlin.descriptors.*
|
||||
import org.jetbrains.kotlin.idea.codeInsight.DescriptorToSourceUtilsIde
|
||||
import org.jetbrains.kotlin.lexer.JetModifierKeywordToken
|
||||
import org.jetbrains.kotlin.lexer.JetTokens
|
||||
import org.jetbrains.kotlin.psi.JetSimpleNameExpression
|
||||
import org.jetbrains.kotlin.psi.psiUtil.getReceiverExpression
|
||||
import org.jetbrains.kotlin.renderer.DescriptorRenderer
|
||||
@@ -85,4 +87,19 @@ public fun comparePossiblyOverridingDescriptors(project: Project,
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
public fun Visibility.toKeywordToken(): JetModifierKeywordToken {
|
||||
val normalized = normalize()
|
||||
when (normalized) {
|
||||
Visibilities.PUBLIC -> return JetTokens.PUBLIC_KEYWORD
|
||||
Visibilities.PROTECTED -> return JetTokens.PROTECTED_KEYWORD
|
||||
Visibilities.INTERNAL -> return JetTokens.INTERNAL_KEYWORD
|
||||
else -> {
|
||||
if (Visibilities.isPrivate(normalized)) {
|
||||
return JetTokens.PRIVATE_KEYWORD
|
||||
}
|
||||
error("Unexpected visibility '$normalized'")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -167,8 +167,7 @@ public fun JetDeclaration.setVisibility(visibilityModifier: JetModifierKeywordTo
|
||||
(resolveToDescriptor() as? CallableMemberDescriptor)
|
||||
?.overriddenDescriptors
|
||||
?.let { OverridingUtil.findMaxVisibility(it) }
|
||||
?.normalize()
|
||||
?.toKeyword()
|
||||
?.toKeywordToken()
|
||||
}
|
||||
else {
|
||||
JetTokens.DEFAULT_VISIBILITY_KEYWORD
|
||||
@@ -181,13 +180,3 @@ public fun JetDeclaration.setVisibility(visibilityModifier: JetModifierKeywordTo
|
||||
|
||||
addModifier(visibilityModifier)
|
||||
}
|
||||
|
||||
private fun Visibility.toKeyword(): JetModifierKeywordToken? {
|
||||
return when (this) {
|
||||
Visibilities.PUBLIC -> JetTokens.PUBLIC_KEYWORD
|
||||
Visibilities.PROTECTED -> JetTokens.PROTECTED_KEYWORD
|
||||
Visibilities.INTERNAL -> JetTokens.INTERNAL_KEYWORD
|
||||
Visibilities.PRIVATE -> JetTokens.PRIVATE_KEYWORD
|
||||
else -> null
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user