Replacing usages of DescriptorRenderer.renderName/renderFqName

This commit is contained in:
Valentin Kipyatkov
2015-06-05 18:02:09 +03:00
parent acdf6b2821
commit fcf613cf03
8 changed files with 17 additions and 12 deletions
@@ -24,14 +24,14 @@ import org.jetbrains.kotlin.name.FqNameBase
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
public fun qualifiedNameForSourceCode(descriptor: ClassifierDescriptor): String { public fun qualifiedNameForSourceCode(descriptor: ClassifierDescriptor): String {
val nameString = DescriptorRenderer.COMPACT.renderName(descriptor.getName()) val nameString = descriptor.getName().render()
val qualifier = qualifierName(descriptor.getContainingDeclaration()) val qualifier = qualifierName(descriptor.getContainingDeclaration())
return if (qualifier != null && qualifier != "") qualifier + "." + nameString else nameString return if (qualifier != null && qualifier != "") qualifier + "." + nameString else nameString
} }
private fun qualifierName(descriptor: DeclarationDescriptor): String? = when (descriptor) { private fun qualifierName(descriptor: DeclarationDescriptor): String? = when (descriptor) {
is ClassDescriptor -> qualifiedNameForSourceCode(descriptor) is ClassDescriptor -> qualifiedNameForSourceCode(descriptor)
is PackageFragmentDescriptor -> DescriptorRenderer.COMPACT.renderFqName(descriptor.fqName) is PackageFragmentDescriptor -> descriptor.fqName.render()
else -> null else -> null
} }
@@ -20,7 +20,7 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.name.FqName; import org.jetbrains.kotlin.name.FqName;
import org.jetbrains.kotlin.name.Name; import org.jetbrains.kotlin.name.Name;
import org.jetbrains.kotlin.renderer.DescriptorRenderer; import org.jetbrains.kotlin.renderer.RendererPackage;
public final class ImportPath { public final class ImportPath {
private final @NotNull FqName fqName; private final @NotNull FqName fqName;
@@ -51,7 +51,7 @@ public final class ImportPath {
} }
public String getPathStr() { public String getPathStr() {
return DescriptorRenderer.FQ_NAMES_IN_TYPES.renderFqName(fqName) + (isAllUnder ? ".*" : ""); return RendererPackage.render(fqName) + (isAllUnder ? ".*" : "");
} }
@Override @Override
@@ -40,6 +40,7 @@ import org.jetbrains.kotlin.psi.JetValueArgumentName
import org.jetbrains.kotlin.psi.psiUtil.getCallNameExpression import org.jetbrains.kotlin.psi.psiUtil.getCallNameExpression
import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType
import org.jetbrains.kotlin.renderer.DescriptorRenderer import org.jetbrains.kotlin.renderer.DescriptorRenderer
import org.jetbrains.kotlin.renderer.render
import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.BindingContext
import org.jetbrains.kotlin.resolve.calls.callUtil.getCall import org.jetbrains.kotlin.resolve.calls.callUtil.getCall
import java.util.* import java.util.*
@@ -109,9 +110,9 @@ object NamedParametersCompletion {
private class NamedParameterInsertHandler(val parameterName: Name) : InsertHandler<LookupElement> { private class NamedParameterInsertHandler(val parameterName: Name) : InsertHandler<LookupElement> {
override fun handleInsert(context: InsertionContext, item: LookupElement) { override fun handleInsert(context: InsertionContext, item: LookupElement) {
val editor = context.getEditor() val editor = context.getEditor()
val text = IdeDescriptorRenderers.SOURCE_CODE.renderName(parameterName) val text = parameterName.render()
editor.getDocument().replaceString(context.getStartOffset(), context.getTailOffset(), text) editor.getDocument().replaceString(context.getStartOffset(), context.getTailOffset(), text)
editor.getCaretModel().moveToOffset(context.getStartOffset() + text.length) editor.getCaretModel().moveToOffset(context.getStartOffset() + text.length())
WithTailInsertHandler.eqTail().postHandleInsert(context, item) WithTailInsertHandler.eqTail().postHandleInsert(context, item)
} }
@@ -22,13 +22,14 @@ import com.intellij.codeInsight.lookup.LookupElement
import com.intellij.openapi.util.TextRange import com.intellij.openapi.util.TextRange
import org.jetbrains.kotlin.idea.core.completion.DeclarationDescriptorLookupObject import org.jetbrains.kotlin.idea.core.completion.DeclarationDescriptorLookupObject
import org.jetbrains.kotlin.idea.util.IdeDescriptorRenderers import org.jetbrains.kotlin.idea.util.IdeDescriptorRenderers
import org.jetbrains.kotlin.renderer.render
open class BaseDeclarationInsertHandler : InsertHandler<LookupElement> { open class BaseDeclarationInsertHandler : InsertHandler<LookupElement> {
override fun handleInsert(context: InsertionContext, item: LookupElement) { override fun handleInsert(context: InsertionContext, item: LookupElement) {
val descriptor = (item.getObject() as? DeclarationDescriptorLookupObject)?.descriptor val descriptor = (item.getObject() as? DeclarationDescriptorLookupObject)?.descriptor
if (descriptor != null) { if (descriptor != null) {
val name = descriptor.getName() val name = descriptor.getName()
val nameInCode = IdeDescriptorRenderers.SOURCE_CODE.renderName(name) val nameInCode = name.render()
val document = context.getDocument() val document = context.getDocument()
val needEscaping = nameInCode != name.asString() val needEscaping = nameInCode != name.asString()
// we check that text inserted matches the name because something else can be inserted by custom insert handler // we check that text inserted matches the name because something else can be inserted by custom insert handler
@@ -26,6 +26,7 @@ import org.jetbrains.kotlin.idea.JetDescriptorIconProvider
import org.jetbrains.kotlin.idea.completion.* import org.jetbrains.kotlin.idea.completion.*
import org.jetbrains.kotlin.idea.util.IdeDescriptorRenderers import org.jetbrains.kotlin.idea.util.IdeDescriptorRenderers
import org.jetbrains.kotlin.psi.JetExpression import org.jetbrains.kotlin.psi.JetExpression
import org.jetbrains.kotlin.renderer.render
import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.BindingContext
import org.jetbrains.kotlin.resolve.scopes.JetScope import org.jetbrains.kotlin.resolve.scopes.JetScope
import org.jetbrains.kotlin.types.JetType import org.jetbrains.kotlin.types.JetType
@@ -71,7 +72,7 @@ class MultipleArgumentsItemProvider(val bindingContext: BindingContext,
compoundIcon.setIcon(firstIcon, 1, 0, 0) compoundIcon.setIcon(firstIcon, 1, 0, 0)
return LookupElementBuilder return LookupElementBuilder
.create(variables.map { IdeDescriptorRenderers.SOURCE_CODE.renderName(it.getName()) }.joinToString(", ")) .create(variables.map { it.getName().render() }.joinToString(", "))
.withInsertHandler { context, lookupElement -> .withInsertHandler { context, lookupElement ->
if (context.getCompletionChar() == Lookup.REPLACE_SELECT_CHAR) { if (context.getCompletionChar() == Lookup.REPLACE_SELECT_CHAR) {
val offset = context.getOffsetMap().getOffset(SmartCompletion.MULTIPLE_ARGUMENTS_REPLACEMENT_OFFSET) val offset = context.getOffsetMap().getOffset(SmartCompletion.MULTIPLE_ARGUMENTS_REPLACEMENT_OFFSET)
@@ -28,6 +28,7 @@ import org.jetbrains.kotlin.idea.util.IdeDescriptorRenderers
import org.jetbrains.kotlin.idea.util.fuzzyReturnType import org.jetbrains.kotlin.idea.util.fuzzyReturnType
import org.jetbrains.kotlin.psi.JetSimpleNameExpression import org.jetbrains.kotlin.psi.JetSimpleNameExpression
import org.jetbrains.kotlin.renderer.DescriptorRenderer import org.jetbrains.kotlin.renderer.DescriptorRenderer
import org.jetbrains.kotlin.renderer.render
import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.BindingContext
import org.jetbrains.kotlin.resolve.DescriptorUtils import org.jetbrains.kotlin.resolve.DescriptorUtils
import org.jetbrains.kotlin.resolve.descriptorUtil.isExtension import org.jetbrains.kotlin.resolve.descriptorUtil.isExtension
@@ -126,7 +127,7 @@ class StaticMembers(
} }
override fun handleInsert(context: InsertionContext) { override fun handleInsert(context: InsertionContext) {
var text = qualifierText + "." + IdeDescriptorRenderers.SOURCE_CODE.renderName(memberDescriptor.getName()) var text = qualifierText + "." + memberDescriptor.getName().render()
context.getDocument().replaceString(context.getStartOffset(), context.getTailOffset(), text) context.getDocument().replaceString(context.getStartOffset(), context.getTailOffset(), text)
context.setTailOffset(context.getStartOffset() + text.length()) context.setTailOffset(context.getStartOffset() + text.length())
@@ -47,6 +47,7 @@ import java.util.Collections
import org.jetbrains.kotlin.psi.JetPsiFactory import org.jetbrains.kotlin.psi.JetPsiFactory
import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType
import org.jetbrains.kotlin.renderer.render
public abstract class OverrideImplementMethodsHandler : LanguageCodeInsightActionHandler { public abstract class OverrideImplementMethodsHandler : LanguageCodeInsightActionHandler {
@@ -302,7 +303,6 @@ public abstract class OverrideImplementMethodsHandler : LanguageCodeInsightActio
} }
} }
fun DeclarationDescriptor.escapedName() = private fun DeclarationDescriptor.escapedName() = getName().render()
DescriptorRenderer.COMPACT.renderName(getName())
} }
} }
@@ -37,6 +37,7 @@ import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.*
import org.jetbrains.kotlin.psi.psiUtil.getReceiverExpression import org.jetbrains.kotlin.psi.psiUtil.getReceiverExpression
import org.jetbrains.kotlin.psi.psiUtil.isAncestor import org.jetbrains.kotlin.psi.psiUtil.isAncestor
import org.jetbrains.kotlin.renderer.render
import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.BindingContext
import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils
import org.jetbrains.kotlin.resolve.DescriptorUtils import org.jetbrains.kotlin.resolve.DescriptorUtils
@@ -126,7 +127,7 @@ public class KotlinImportOptimizer() : ImportOptimizer {
// now check that there are no conflicts and all classes are really imported // now check that there are no conflicts and all classes are really imported
val fileWithImportsText = StringBuilder { val fileWithImportsText = StringBuilder {
append("package ").append(IdeDescriptorRenderers.SOURCE_CODE.renderFqName(currentPackageName)).append("\n") append("package ").append(currentPackageName.render()).append("\n")
importsToGenerate.filter { it.isAllUnder() }.map { "import " + it.getPathStr() }.joinTo(this, "\n") importsToGenerate.filter { it.isAllUnder() }.map { "import " + it.getPathStr() }.joinTo(this, "\n")
}.toString() }.toString()
val fileWithImports = JetPsiFactory(file).createAnalyzableFile("Dummy.kt", fileWithImportsText, file) val fileWithImports = JetPsiFactory(file).createAnalyzableFile("Dummy.kt", fileWithImportsText, file)