Reused code

This commit is contained in:
Valentin Kipyatkov
2015-09-15 20:20:03 +03:00
parent de3eeb3a4f
commit 1708ac8da3
5 changed files with 26 additions and 38 deletions
@@ -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
}
}