i18n: add bundle for idea/refactoring/rename
- Modify `text.parameter` value to `Parameter`; use `text.parameter.0` in previous usages - Add @Nls and @NonNls annotations to few places
This commit is contained in:
committed by
Dmitry Gridin
parent
4fc76e25a8
commit
e1cb561398
@@ -299,7 +299,7 @@ class KtPsiFactory @JvmOverloads constructor(private val project: Project, val m
|
|||||||
return (dummyFun.bodyExpression as KtLambdaExpression).functionLiteral.valueParameters.first()
|
return (dummyFun.bodyExpression as KtLambdaExpression).functionLiteral.valueParameters.first()
|
||||||
}
|
}
|
||||||
|
|
||||||
fun <TDeclaration : KtDeclaration> createDeclaration(text: String): TDeclaration {
|
fun <TDeclaration : KtDeclaration> createDeclaration(@NonNls text: String): TDeclaration {
|
||||||
val file = createFile(text)
|
val file = createFile(text)
|
||||||
val declarations = file.declarations
|
val declarations = file.declarations
|
||||||
checkWithAttachment(declarations.size == 1, { "unexpected ${declarations.size} declarations" }) {
|
checkWithAttachment(declarations.size == 1, { "unexpected ${declarations.size} declarations" }) {
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ import com.intellij.psi.SmartPointerManager
|
|||||||
import com.intellij.psi.SmartPsiElementPointer
|
import com.intellij.psi.SmartPsiElementPointer
|
||||||
import com.intellij.psi.codeStyle.CodeStyleManager
|
import com.intellij.psi.codeStyle.CodeStyleManager
|
||||||
import com.intellij.psi.impl.source.codeStyle.CodeEditUtil
|
import com.intellij.psi.impl.source.codeStyle.CodeEditUtil
|
||||||
|
import org.jetbrains.annotations.NonNls
|
||||||
import org.jetbrains.annotations.TestOnly
|
import org.jetbrains.annotations.TestOnly
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.PsiChildRange
|
import org.jetbrains.kotlin.psi.psiUtil.PsiChildRange
|
||||||
@@ -31,7 +32,7 @@ import org.jetbrains.kotlin.psi.psiUtil.startOffset
|
|||||||
import org.jetbrains.kotlin.renderer.render
|
import org.jetbrains.kotlin.renderer.render
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
fun KtPsiFactory.createExpressionByPattern(pattern: String, vararg args: Any, reformat: Boolean = true): KtExpression =
|
fun KtPsiFactory.createExpressionByPattern(@NonNls pattern: String, vararg args: Any, reformat: Boolean = true): KtExpression =
|
||||||
createByPattern(pattern, *args, reformat = reformat) { createExpression(it) }
|
createByPattern(pattern, *args, reformat = reformat) { createExpression(it) }
|
||||||
|
|
||||||
fun KtPsiFactory.createValueArgumentListByPattern(pattern: String, vararg args: Any, reformat: Boolean = true): KtValueArgumentList =
|
fun KtPsiFactory.createValueArgumentListByPattern(pattern: String, vararg args: Any, reformat: Boolean = true): KtValueArgumentList =
|
||||||
|
|||||||
@@ -856,6 +856,7 @@ setter.of.0.will.become.invisible.after.extraction = Setter of {0} will become i
|
|||||||
text.0.1.must.be.moved.with.sealed.parent.class.and.all.its.subclasses={0} ''{1}'' must be moved with sealed parent class and all its subclasses
|
text.0.1.must.be.moved.with.sealed.parent.class.and.all.its.subclasses={0} ''{1}'' must be moved with sealed parent class and all its subclasses
|
||||||
text.0.already.contains.1={0} already contains {1}
|
text.0.already.contains.1={0} already contains {1}
|
||||||
text.0.already.contains.nested.class.1={0} already contains nested class named {1}
|
text.0.already.contains.nested.class.1={0} already contains nested class named {1}
|
||||||
|
text.0.already.declared.in.1={0} is already declared in {1}
|
||||||
text.0.have.no.inheritors.warning={0} doesn''t have inheritors\nPushing members down will result in them being deleted. Would you like to proceed?
|
text.0.have.no.inheritors.warning={0} doesn''t have inheritors\nPushing members down will result in them being deleted. Would you like to proceed?
|
||||||
text.0.in.1.will.override.corresponding.member.of.2.after.refactoring={0} in {1} will override corresponding member of {2} after refactoring
|
text.0.in.1.will.override.corresponding.member.of.2.after.refactoring={0} in {1} will override corresponding member of {2} after refactoring
|
||||||
text.0.inherits.from.1.it.will.not.be.affected.by.refactoring={0} inherits from {1}.\nIt won''t be affected by the refactoring
|
text.0.inherits.from.1.it.will.not.be.affected.by.refactoring={0} inherits from {1}.\nIt won''t be affected by the refactoring
|
||||||
@@ -867,6 +868,8 @@ text.0.uses.1.which.is.not.accessible.from.2={0} uses {1}, which is not accessib
|
|||||||
text.0.uses.1.which.will.be.inaccessible.after.move={0} uses {1} which will be inaccessible after move
|
text.0.uses.1.which.will.be.inaccessible.after.move={0} uses {1} which will be inaccessible after move
|
||||||
text.0.uses.1.which.will.not.be.accessible.from.subclass={0} uses {1} which won''t be accessible from the subclass.
|
text.0.uses.1.which.will.not.be.accessible.from.subclass={0} uses {1} which won''t be accessible from the subclass.
|
||||||
text.0.uses.internal.1.which.will.be.inaccessible.after.move={0} uses internal {1} which will be inaccessible after move
|
text.0.uses.internal.1.which.will.be.inaccessible.after.move={0} uses internal {1} which will be inaccessible after move
|
||||||
|
text.0.will.be.shadowed.by.1={0} will be shadowed by {1}
|
||||||
|
text.0.will.clash.with.existing.1.in.2={0} after rename will clash with existing {1} in {2}
|
||||||
text.0.will.no.longer.be.accessible.after.signature.change={0} will no longer be accessible after signature change
|
text.0.will.no.longer.be.accessible.after.signature.change={0} will no longer be accessible after signature change
|
||||||
text.all.declarations.must.belong.to.the.same.directory.or.class=All declarations must belong to the same directory or class
|
text.all.declarations.must.belong.to.the.same.directory.or.class=All declarations must belong to the same directory or class
|
||||||
text.all=All
|
text.all=All
|
||||||
@@ -889,12 +892,16 @@ text.class.0.already.exists.in.package.1=Class {0} already exists in package {1}
|
|||||||
text.class.0.already.exists.in.the.target.scope=Class {0} already exists in the target scope
|
text.class.0.already.exists.in.the.target.scope=Class {0} already exists in the target scope
|
||||||
text.class.0.is.final={0} is final
|
text.class.0.is.final={0} is final
|
||||||
text.constructor=constructor
|
text.constructor=constructor
|
||||||
|
text.convert._it_.to.explicit.lambda.parameter=Convert 'it' to explicit lambda parameter
|
||||||
text.create.destructuring.declaration=Create destructuring declaration
|
text.create.destructuring.declaration=Create destructuring declaration
|
||||||
text.create.single.variable=Create single variable
|
text.create.single.variable=Create single variable
|
||||||
text.declaration=declaration
|
text.declaration=declaration
|
||||||
text.declarations.clash.move.0.destination.1.declared.in.scope.2=Following declarations would clash: to move {0} and destination {1} declared in scope {2}
|
text.declarations.clash.move.0.destination.1.declared.in.scope.2=Following declarations would clash: to move {0} and destination {1} declared in scope {2}
|
||||||
text.default.value=\ // default value = {0}
|
text.default.value=\ // default value = {0}
|
||||||
text.destination.class.should.be.kotlin.class=Destination class must be a Kotlin class
|
text.destination.class.should.be.kotlin.class=Destination class must be a Kotlin class
|
||||||
|
text.do.you.want.to.rename.0.as.well=Do you want to rename {0}() as well?
|
||||||
|
text.do.you.want.to.rename.base.property.from.0=Do you want to rename base property from \n{0}
|
||||||
|
text.do.you.want.to.rename.base.property=Do you want to rename base property
|
||||||
text.duplicating.local.variable=Duplicating local variable ''{0}''
|
text.duplicating.local.variable=Duplicating local variable ''{0}''
|
||||||
text.duplicating.parameter=Duplicating parameter ''{0}''
|
text.duplicating.parameter=Duplicating parameter ''{0}''
|
||||||
text.duplicating.property=Duplicating property ''{0}''
|
text.duplicating.property=Duplicating property ''{0}''
|
||||||
@@ -942,13 +949,14 @@ text.no.files.to.move=There is no given files to move
|
|||||||
text.no.name.provided.for.type.alias=No name provided for type alias
|
text.no.name.provided.for.type.alias=No name provided for type alias
|
||||||
text.no.package.corresponds.to.directory=No package corresponds to this directory
|
text.no.package.corresponds.to.directory=No package corresponds to this directory
|
||||||
text.non.kotlin.0.will.not.be.affected.by.refactoring=Non-Kotlin {0} won''t be affected by the refactoring
|
text.non.kotlin.0.will.not.be.affected.by.refactoring=Non-Kotlin {0} won''t be affected by the refactoring
|
||||||
|
text.overload=Overload
|
||||||
text.package.directive.dont.match.file.location=Package directive doesn't match file location
|
text.package.directive.dont.match.file.location=Package directive doesn't match file location
|
||||||
text.parameter.0=parameter ''{0}''
|
text.parameter.0=parameter ''{0}''
|
||||||
text.parameter.name=Parameter &name:\u0020
|
text.parameter.name=Parameter &name:\u0020
|
||||||
text.parameter.reference.can.t.be.safely.replaced.with.0.since.1.is.ambiguous.in.this.context=Parameter reference can''t be safely replaced with {0} since {1} is ambiguous in this context
|
text.parameter.reference.can.t.be.safely.replaced.with.0.since.1.is.ambiguous.in.this.context=Parameter reference can''t be safely replaced with {0} since {1} is ambiguous in this context
|
||||||
text.parameter.reference.can.t.be.safely.replaced.with.0.since.target.function.can.t.be.referenced.in.this.context=Parameter reference can''t be safely replaced with {0} since target function can''t be referenced in this context
|
text.parameter.reference.can.t.be.safely.replaced.with.0.since.target.function.can.t.be.referenced.in.this.context=Parameter reference can''t be safely replaced with {0} since target function can''t be referenced in this context
|
||||||
text.parameter.type=Parameter &type:\u0020
|
text.parameter.type=Parameter &type:\u0020
|
||||||
text.parameter=parameter ''{0}''
|
text.parameter=Parameter
|
||||||
text.parameters=&Parameters
|
text.parameters=&Parameters
|
||||||
text.proceed.with.extraction=Proceed with extraction
|
text.proceed.with.extraction=Proceed with extraction
|
||||||
text.process.duplicates=Process Duplicates
|
text.process.duplicates=Process Duplicates
|
||||||
@@ -966,6 +974,16 @@ text.refactoring.is.not.applicable.to.this.code.fragment=Refactoring is not appl
|
|||||||
text.references.in.code.to.0.1.and.its.declarations=References in code to {0} {1} and its declarations
|
text.references.in.code.to.0.1.and.its.declarations=References in code to {0} {1} and its declarations
|
||||||
text.remove.0.no.longer.used=Remove {0} no longer used
|
text.remove.0.no.longer.used=Remove {0} no longer used
|
||||||
text.remove=remove
|
text.remove=remove
|
||||||
|
text.rename.as.part.of.phrase=rename
|
||||||
|
text.rename.is.not.applicable.to.secondary.constructors=Rename is not applicable to secondary constructors
|
||||||
|
text.rename.is.not.applicable.to.synthetic.declarations=Rename is not applicable to synthetic declaration
|
||||||
|
text.rename.not.applicable.to.backing.field.reference=Rename is not applicable to backing field reference
|
||||||
|
text.rename.not.applicable.to.dynamically.invoked.methods=Rename is not applicable to dynamically invoked members
|
||||||
|
text.rename.overloads.title=Rename Overloads
|
||||||
|
text.rename.overloads.to=Rename overloads to:
|
||||||
|
text.rename.parameters.in.hierarchy.to=Rename parameter in hierarchy to:
|
||||||
|
text.rename.parameters.title=Rename Parameters
|
||||||
|
text.rename.warning=Rename warning
|
||||||
text.sealed.class.0.must.be.moved.with.all.its.subclasses=Sealed class ''{0}'' must be moved with all its subclasses
|
text.sealed.class.0.must.be.moved.with.all.its.subclasses=Sealed class ''{0}'' must be moved with all its subclasses
|
||||||
text.select.target.code.block.file=Select target code block / file
|
text.select.target.code.block.file=Select target code block / file
|
||||||
text.select.target.code.block=Select target code block
|
text.select.target.code.block=Select target code block
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ package org.jetbrains.kotlin.idea.util.application
|
|||||||
import com.intellij.openapi.application.ApplicationManager
|
import com.intellij.openapi.application.ApplicationManager
|
||||||
import com.intellij.openapi.command.CommandProcessor
|
import com.intellij.openapi.command.CommandProcessor
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
|
import org.jetbrains.annotations.Nls
|
||||||
|
|
||||||
fun <T> runReadAction(action: () -> T): T {
|
fun <T> runReadAction(action: () -> T): T {
|
||||||
return ApplicationManager.getApplication().runReadAction<T>(action)
|
return ApplicationManager.getApplication().runReadAction<T>(action)
|
||||||
@@ -28,15 +29,15 @@ fun <T> runWriteAction(action: () -> T): T {
|
|||||||
return ApplicationManager.getApplication().runWriteAction<T>(action)
|
return ApplicationManager.getApplication().runWriteAction<T>(action)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun Project.executeWriteCommand(name: String, command: () -> Unit) {
|
fun Project.executeWriteCommand(@Nls name: String, command: () -> Unit) {
|
||||||
CommandProcessor.getInstance().executeCommand(this, { runWriteAction(command) }, name, null)
|
CommandProcessor.getInstance().executeCommand(this, { runWriteAction(command) }, name, null)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun <T> Project.executeWriteCommand(name: String, groupId: Any? = null, command: () -> T): T {
|
fun <T> Project.executeWriteCommand(@Nls name: String, groupId: Any? = null, command: () -> T): T {
|
||||||
return executeCommand<T>(name, groupId) { runWriteAction(command) }
|
return executeCommand<T>(name, groupId) { runWriteAction(command) }
|
||||||
}
|
}
|
||||||
|
|
||||||
fun <T> Project.executeCommand(name: String, groupId: Any? = null, command: () -> T): T {
|
fun <T> Project.executeCommand(@Nls name: String, groupId: Any? = null, command: () -> T): T {
|
||||||
@Suppress("UNCHECKED_CAST") var result: T = null as T
|
@Suppress("UNCHECKED_CAST") var result: T = null as T
|
||||||
CommandProcessor.getInstance().executeCommand(this, { result = command() }, name, groupId)
|
CommandProcessor.getInstance().executeCommand(this, { result = command() }, name, groupId)
|
||||||
@Suppress("USELESS_CAST")
|
@Suppress("USELESS_CAST")
|
||||||
|
|||||||
+1
-1
@@ -348,7 +348,7 @@ class KotlinChangeSignatureDialog(
|
|||||||
for (item in parametersTableModel.items) {
|
for (item in parametersTableModel.items) {
|
||||||
if (item.typeCodeFragment.getTypeInfo(isCovariant = true, forPreview = false, reanalyse = true).type == null) {
|
if (item.typeCodeFragment.getTypeInfo(isCovariant = true, forPreview = false, reanalyse = true).type == null) {
|
||||||
val paramText = if (item.parameter != parametersTableModel.receiver)
|
val paramText = if (item.parameter != parametersTableModel.receiver)
|
||||||
KotlinBundle.message("text.parameter", item.parameter.name)
|
KotlinBundle.message("text.parameter.0", item.parameter.name)
|
||||||
else
|
else
|
||||||
KotlinBundle.message("text.receiver")
|
KotlinBundle.message("text.receiver")
|
||||||
if (Messages.showOkCancelDialog(
|
if (Messages.showOkCancelDialog(
|
||||||
|
|||||||
+1
-1
@@ -350,7 +350,7 @@ class KotlinChangeSignatureDialog(
|
|||||||
for (item in parametersTableModel.items) {
|
for (item in parametersTableModel.items) {
|
||||||
if (item.typeCodeFragment.getTypeInfo(isCovariant = true, forPreview = false).type == null) {
|
if (item.typeCodeFragment.getTypeInfo(isCovariant = true, forPreview = false).type == null) {
|
||||||
val paramText = if (item.parameter != parametersTableModel.receiver)
|
val paramText = if (item.parameter != parametersTableModel.receiver)
|
||||||
KotlinBundle.message("text.parameter", item.parameter.name)
|
KotlinBundle.message("text.parameter.0", item.parameter.name)
|
||||||
else
|
else
|
||||||
KotlinBundle.message("text.receiver")
|
KotlinBundle.message("text.receiver")
|
||||||
if (Messages.showOkCancelDialog(
|
if (Messages.showOkCancelDialog(
|
||||||
|
|||||||
@@ -48,6 +48,7 @@ import com.intellij.ui.components.JBList
|
|||||||
import com.intellij.usageView.UsageViewTypeLocation
|
import com.intellij.usageView.UsageViewTypeLocation
|
||||||
import com.intellij.util.VisibilityUtil
|
import com.intellij.util.VisibilityUtil
|
||||||
import com.intellij.util.containers.MultiMap
|
import com.intellij.util.containers.MultiMap
|
||||||
|
import org.jetbrains.annotations.Nls
|
||||||
import org.jetbrains.kotlin.asJava.LightClassUtil
|
import org.jetbrains.kotlin.asJava.LightClassUtil
|
||||||
import org.jetbrains.kotlin.asJava.elements.KtLightMethod
|
import org.jetbrains.kotlin.asJava.elements.KtLightMethod
|
||||||
import org.jetbrains.kotlin.asJava.getAccessorLightMethods
|
import org.jetbrains.kotlin.asJava.getAccessorLightMethods
|
||||||
@@ -852,7 +853,7 @@ val PsiElement.isInsideInjectedFragment: Boolean
|
|||||||
fun checkSuperMethods(
|
fun checkSuperMethods(
|
||||||
declaration: KtDeclaration,
|
declaration: KtDeclaration,
|
||||||
ignore: Collection<PsiElement>?,
|
ignore: Collection<PsiElement>?,
|
||||||
actionString: String
|
@Nls actionString: String
|
||||||
): List<PsiElement> {
|
): List<PsiElement> {
|
||||||
fun getClassDescriptions(overriddenElementsToDescriptor: Map<PsiElement, CallableDescriptor>): List<String> {
|
fun getClassDescriptions(overriddenElementsToDescriptor: Map<PsiElement, CallableDescriptor>): List<String> {
|
||||||
return overriddenElementsToDescriptor.entries.map { entry ->
|
return overriddenElementsToDescriptor.entries.map { entry ->
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ import com.intellij.ui.components.JBList
|
|||||||
import com.intellij.usageView.UsageViewTypeLocation
|
import com.intellij.usageView.UsageViewTypeLocation
|
||||||
import com.intellij.util.VisibilityUtil
|
import com.intellij.util.VisibilityUtil
|
||||||
import com.intellij.util.containers.MultiMap
|
import com.intellij.util.containers.MultiMap
|
||||||
|
import org.jetbrains.annotations.Nls
|
||||||
import org.jetbrains.kotlin.asJava.LightClassUtil
|
import org.jetbrains.kotlin.asJava.LightClassUtil
|
||||||
import org.jetbrains.kotlin.asJava.elements.KtLightMethod
|
import org.jetbrains.kotlin.asJava.elements.KtLightMethod
|
||||||
import org.jetbrains.kotlin.asJava.getAccessorLightMethods
|
import org.jetbrains.kotlin.asJava.getAccessorLightMethods
|
||||||
@@ -853,7 +854,7 @@ val PsiElement.isInsideInjectedFragment: Boolean
|
|||||||
fun checkSuperMethods(
|
fun checkSuperMethods(
|
||||||
declaration: KtDeclaration,
|
declaration: KtDeclaration,
|
||||||
ignore: Collection<PsiElement>?,
|
ignore: Collection<PsiElement>?,
|
||||||
actionString: String
|
@Nls actionString: String
|
||||||
): List<PsiElement> {
|
): List<PsiElement> {
|
||||||
fun getClassDescriptions(overriddenElementsToDescriptor: Map<PsiElement, CallableDescriptor>): List<String> {
|
fun getClassDescriptions(overriddenElementsToDescriptor: Map<PsiElement, CallableDescriptor>): List<String> {
|
||||||
return overriddenElementsToDescriptor.entries.map { entry ->
|
return overriddenElementsToDescriptor.entries.map { entry ->
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ import com.intellij.usageView.UsageInfo
|
|||||||
import org.jetbrains.annotations.TestOnly
|
import org.jetbrains.annotations.TestOnly
|
||||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade
|
import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.unsafeResolveToDescriptor
|
import org.jetbrains.kotlin.idea.caches.resolve.unsafeResolveToDescriptor
|
||||||
import org.jetbrains.kotlin.idea.refactoring.KotlinRefactoringSettings
|
import org.jetbrains.kotlin.idea.refactoring.KotlinRefactoringSettings
|
||||||
@@ -43,9 +44,9 @@ class AutomaticOverloadsRenamer(function: KtNamedFunction, newName: String) : Au
|
|||||||
suggestAllNames(function.name, newName)
|
suggestAllNames(function.name, newName)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getDialogTitle() = "Rename Overloads"
|
override fun getDialogTitle() = KotlinBundle.message("text.rename.overloads.title")
|
||||||
override fun getDialogDescription() = "Rename overloads to:"
|
override fun getDialogDescription() = KotlinBundle.message("text.rename.overloads.to")
|
||||||
override fun entityName() = "Overload"
|
override fun entityName() = KotlinBundle.message("text.overload")
|
||||||
override fun isSelectedByDefault(): Boolean = true
|
override fun isSelectedByDefault(): Boolean = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import com.intellij.refactoring.rename.naming.AutomaticRenamer
|
|||||||
import com.intellij.refactoring.rename.naming.AutomaticRenamerFactory
|
import com.intellij.refactoring.rename.naming.AutomaticRenamerFactory
|
||||||
import com.intellij.usageView.UsageInfo
|
import com.intellij.usageView.UsageInfo
|
||||||
import org.jetbrains.kotlin.asJava.namedUnwrappedElement
|
import org.jetbrains.kotlin.asJava.namedUnwrappedElement
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.refactoring.KotlinRefactoringSettings
|
import org.jetbrains.kotlin.idea.refactoring.KotlinRefactoringSettings
|
||||||
import org.jetbrains.kotlin.idea.refactoring.canRefactor
|
import org.jetbrains.kotlin.idea.refactoring.canRefactor
|
||||||
import org.jetbrains.kotlin.idea.search.declarationsSearch.HierarchySearchRequest
|
import org.jetbrains.kotlin.idea.search.declarationsSearch.HierarchySearchRequest
|
||||||
@@ -43,11 +44,11 @@ class AutomaticParameterRenamer(element: KtParameter, newName: String) : Automat
|
|||||||
suggestAllNames(element.name, newName.quoteIfNeeded())
|
suggestAllNames(element.name, newName.quoteIfNeeded())
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getDialogTitle() = "Rename Parameters"
|
override fun getDialogTitle() = KotlinBundle.message("text.rename.parameters.title")
|
||||||
|
|
||||||
override fun getDialogDescription() = "Rename parameter in hierarchy to:"
|
override fun getDialogDescription() = RefactoringBundle.message("rename.parameters.hierarchy")
|
||||||
|
|
||||||
override fun entityName() = "Parameter"
|
override fun entityName() = KotlinBundle.message("text.parameter")
|
||||||
|
|
||||||
override fun isSelectedByDefault() = true
|
override fun isSelectedByDefault() = true
|
||||||
}
|
}
|
||||||
|
|||||||
+9
-1
@@ -10,7 +10,9 @@ import com.intellij.openapi.editor.Editor
|
|||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
import com.intellij.psi.PsiFile
|
import com.intellij.psi.PsiFile
|
||||||
|
import com.intellij.refactoring.RefactoringBundle
|
||||||
import org.jetbrains.kotlin.descriptors.impl.SyntheticFieldDescriptor
|
import org.jetbrains.kotlin.descriptors.impl.SyntheticFieldDescriptor
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.resolveToCall
|
import org.jetbrains.kotlin.idea.caches.resolve.resolveToCall
|
||||||
import org.jetbrains.kotlin.idea.core.util.CodeInsightUtils
|
import org.jetbrains.kotlin.idea.core.util.CodeInsightUtils
|
||||||
import org.jetbrains.kotlin.psi.KtSimpleNameExpression
|
import org.jetbrains.kotlin.psi.KtSimpleNameExpression
|
||||||
@@ -24,7 +26,13 @@ class RenameBackingFieldReferenceHandler : KotlinVariableInplaceRenameHandler()
|
|||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor?, file: PsiFile?, dataContext: DataContext) {
|
override fun invoke(project: Project, editor: Editor?, file: PsiFile?, dataContext: DataContext) {
|
||||||
editor?.let {
|
editor?.let {
|
||||||
CodeInsightUtils.showErrorHint(project, editor, "Rename is not applicable to backing field reference", "Rename", null)
|
CodeInsightUtils.showErrorHint(
|
||||||
|
project,
|
||||||
|
editor,
|
||||||
|
KotlinBundle.message("text.rename.not.applicable.to.backing.field.reference"),
|
||||||
|
RefactoringBundle.message("rename.title"),
|
||||||
|
null
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,8 @@ import com.intellij.openapi.project.Project
|
|||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
import com.intellij.psi.PsiFile
|
import com.intellij.psi.PsiFile
|
||||||
import com.intellij.psi.util.PsiTreeUtil
|
import com.intellij.psi.util.PsiTreeUtil
|
||||||
|
import com.intellij.refactoring.RefactoringBundle
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.resolveToCall
|
import org.jetbrains.kotlin.idea.caches.resolve.resolveToCall
|
||||||
import org.jetbrains.kotlin.idea.core.util.CodeInsightUtils
|
import org.jetbrains.kotlin.idea.core.util.CodeInsightUtils
|
||||||
import org.jetbrains.kotlin.psi.KtSimpleNameExpression
|
import org.jetbrains.kotlin.psi.KtSimpleNameExpression
|
||||||
@@ -28,7 +30,13 @@ class RenameDynamicMemberHandler : KotlinVariableInplaceRenameHandler() {
|
|||||||
override fun invoke(project: Project, editor: Editor?, file: PsiFile?, dataContext: DataContext) {
|
override fun invoke(project: Project, editor: Editor?, file: PsiFile?, dataContext: DataContext) {
|
||||||
super.invoke(project, editor, file, dataContext)
|
super.invoke(project, editor, file, dataContext)
|
||||||
editor?.let {
|
editor?.let {
|
||||||
CodeInsightUtils.showErrorHint(project, it, "Rename is not applicable to dynamically invoked members", "Rename", null)
|
CodeInsightUtils.showErrorHint(
|
||||||
|
project,
|
||||||
|
it,
|
||||||
|
KotlinBundle.message("text.rename.not.applicable.to.dynamically.invoked.methods"),
|
||||||
|
RefactoringBundle.message("rename.title"),
|
||||||
|
null
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+4
-2
@@ -10,6 +10,7 @@ import com.intellij.openapi.project.Project
|
|||||||
import com.intellij.openapi.util.Pass
|
import com.intellij.openapi.util.Pass
|
||||||
import com.intellij.psi.*
|
import com.intellij.psi.*
|
||||||
import com.intellij.psi.search.SearchScope
|
import com.intellij.psi.search.SearchScope
|
||||||
|
import com.intellij.refactoring.RefactoringBundle
|
||||||
import com.intellij.refactoring.listeners.RefactoringElementListener
|
import com.intellij.refactoring.listeners.RefactoringElementListener
|
||||||
import com.intellij.refactoring.rename.*
|
import com.intellij.refactoring.rename.*
|
||||||
import com.intellij.refactoring.util.CommonRefactoringUtil
|
import com.intellij.refactoring.util.CommonRefactoringUtil
|
||||||
@@ -25,6 +26,7 @@ import org.jetbrains.kotlin.codegen.state.KotlinTypeMapper.InternalNameMapper.de
|
|||||||
import org.jetbrains.kotlin.codegen.state.KotlinTypeMapper.InternalNameMapper.getModuleNameSuffix
|
import org.jetbrains.kotlin.codegen.state.KotlinTypeMapper.InternalNameMapper.getModuleNameSuffix
|
||||||
import org.jetbrains.kotlin.codegen.state.KotlinTypeMapper.InternalNameMapper.mangleInternalName
|
import org.jetbrains.kotlin.codegen.state.KotlinTypeMapper.InternalNameMapper.mangleInternalName
|
||||||
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.unsafeResolveToDescriptor
|
import org.jetbrains.kotlin.idea.caches.resolve.unsafeResolveToDescriptor
|
||||||
import org.jetbrains.kotlin.idea.refactoring.*
|
import org.jetbrains.kotlin.idea.refactoring.*
|
||||||
import org.jetbrains.kotlin.idea.references.KtReference
|
import org.jetbrains.kotlin.idea.references.KtReference
|
||||||
@@ -111,7 +113,7 @@ class RenameKotlinFunctionProcessor : RenameKotlinPsiProcessor() {
|
|||||||
javaMethodProcessorInstance.substituteElementToRename(wrappedMethod, editor)
|
javaMethodProcessorInstance.substituteElementToRename(wrappedMethod, editor)
|
||||||
}
|
}
|
||||||
else -> {
|
else -> {
|
||||||
val chosenElements = checkSuperMethods(element, null, "rename")
|
val chosenElements = checkSuperMethods(element, null, KotlinBundle.message("text.rename.as.part.of.phrase"))
|
||||||
if (chosenElements.size > 1) FunctionWithSupersWrapper(element, chosenElements) else wrappedMethod
|
if (chosenElements.size > 1) FunctionWithSupersWrapper(element, chosenElements) else wrappedMethod
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -154,7 +156,7 @@ class RenameKotlinFunctionProcessor : RenameKotlinPsiProcessor() {
|
|||||||
}
|
}
|
||||||
else -> {
|
else -> {
|
||||||
val declaration = element.unwrapped as? KtNamedFunction ?: return
|
val declaration = element.unwrapped as? KtNamedFunction ?: return
|
||||||
checkSuperMethodsWithPopup(declaration, deepestSuperMethods.toList(), "Rename", editor) {
|
checkSuperMethodsWithPopup(declaration, deepestSuperMethods.toList(), RefactoringBundle.message("rename.title"), editor) {
|
||||||
preprocessAndPass(if (it.size > 1) FunctionWithSupersWrapper(declaration, it) else wrappedMethod ?: element)
|
preprocessAndPass(if (it.size > 1) FunctionWithSupersWrapper(declaration, it) else wrappedMethod ?: element)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-1
@@ -21,6 +21,7 @@ import com.intellij.openapi.editor.Editor
|
|||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
import com.intellij.psi.PsiFile
|
import com.intellij.psi.PsiFile
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.intentions.ReplaceItWithExplicitFunctionLiteralParamIntention
|
import org.jetbrains.kotlin.idea.intentions.ReplaceItWithExplicitFunctionLiteralParamIntention
|
||||||
import org.jetbrains.kotlin.idea.intentions.isAutoCreatedItUsage
|
import org.jetbrains.kotlin.idea.intentions.isAutoCreatedItUsage
|
||||||
import org.jetbrains.kotlin.idea.util.application.executeWriteCommand
|
import org.jetbrains.kotlin.idea.util.application.executeWriteCommand
|
||||||
@@ -35,7 +36,7 @@ class RenameKotlinImplicitLambdaParameter : KotlinVariableInplaceRenameHandler()
|
|||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor?, file: PsiFile?, dataContext: DataContext) {
|
override fun invoke(project: Project, editor: Editor?, file: PsiFile?, dataContext: DataContext) {
|
||||||
val intention = ReplaceItWithExplicitFunctionLiteralParamIntention()
|
val intention = ReplaceItWithExplicitFunctionLiteralParamIntention()
|
||||||
project.executeWriteCommand("Convert 'it' to explicit lambda parameter") {
|
project.executeWriteCommand(KotlinBundle.message("text.convert._it_.to.explicit.lambda.parameter")) {
|
||||||
if (file != null) intention.invoke(project, editor, file)
|
if (file != null) intention.invoke(project, editor, file)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+13
-6
@@ -14,6 +14,7 @@ import com.intellij.psi.*
|
|||||||
import com.intellij.psi.search.SearchScope
|
import com.intellij.psi.search.SearchScope
|
||||||
import com.intellij.psi.search.searches.DirectClassInheritorsSearch
|
import com.intellij.psi.search.searches.DirectClassInheritorsSearch
|
||||||
import com.intellij.psi.search.searches.OverridingMethodsSearch
|
import com.intellij.psi.search.searches.OverridingMethodsSearch
|
||||||
|
import com.intellij.refactoring.RefactoringBundle
|
||||||
import com.intellij.refactoring.listeners.RefactoringElementListener
|
import com.intellij.refactoring.listeners.RefactoringElementListener
|
||||||
import com.intellij.refactoring.rename.RenameProcessor
|
import com.intellij.refactoring.rename.RenameProcessor
|
||||||
import com.intellij.refactoring.util.MoveRenameUsageInfo
|
import com.intellij.refactoring.util.MoveRenameUsageInfo
|
||||||
@@ -31,6 +32,7 @@ import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
|||||||
import org.jetbrains.kotlin.descriptors.PropertyDescriptor
|
import org.jetbrains.kotlin.descriptors.PropertyDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.ValueParameterDescriptor
|
import org.jetbrains.kotlin.descriptors.ValueParameterDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.VariableDescriptor
|
import org.jetbrains.kotlin.descriptors.VariableDescriptor
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade
|
import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.unsafeResolveToDescriptor
|
import org.jetbrains.kotlin.idea.caches.resolve.unsafeResolveToDescriptor
|
||||||
@@ -112,7 +114,7 @@ class RenameKotlinPropertyProcessor : RenameKotlinPsiProcessor() {
|
|||||||
val what = UsageViewUtil.getType(declaration).capitalize()
|
val what = UsageViewUtil.getType(declaration).capitalize()
|
||||||
val withWhat = candidate.renderDescription()
|
val withWhat = candidate.renderDescription()
|
||||||
val where = candidate.representativeContainer()?.renderDescription() ?: return
|
val where = candidate.representativeContainer()?.renderDescription() ?: return
|
||||||
val message = "$what after rename will clash with existing $withWhat in $where"
|
val message = KotlinBundle.message("text.0.will.clash.with.existing.1.in.2", what, withWhat, where)
|
||||||
result += BasicUnresolvableCollisionUsageInfo(candidate, candidate, message)
|
result += BasicUnresolvableCollisionUsageInfo(candidate, candidate, message)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -214,10 +216,15 @@ class RenameKotlinPropertyProcessor : RenameKotlinPsiProcessor() {
|
|||||||
val containsText: String? =
|
val containsText: String? =
|
||||||
deepestSuperDeclaration.fqName?.parent()?.asString() ?: (deepestSuperDeclaration.parent as? KtClassOrObject)?.name
|
deepestSuperDeclaration.fqName?.parent()?.asString() ?: (deepestSuperDeclaration.parent as? KtClassOrObject)?.name
|
||||||
|
|
||||||
|
val message = if (containsText != null)
|
||||||
|
KotlinBundle.message("text.do.you.want.to.rename.base.property.from.0", containsText)
|
||||||
|
else
|
||||||
|
KotlinBundle.message("text.do.you.want.to.rename.base.property")
|
||||||
|
|
||||||
val result = Messages.showYesNoCancelDialog(
|
val result = Messages.showYesNoCancelDialog(
|
||||||
deepestSuperDeclaration.project,
|
deepestSuperDeclaration.project,
|
||||||
if (containsText != null) "Do you want to rename base property from \n$containsText" else "Do you want to rename base property",
|
message,
|
||||||
"Rename warning",
|
KotlinBundle.message("text.rename.warning"),
|
||||||
Messages.getQuestionIcon()
|
Messages.getQuestionIcon()
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -271,7 +278,7 @@ class RenameKotlinPropertyProcessor : RenameKotlinPsiProcessor() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
val superPsiMethods = listOfNotNull(deepestSuperDeclaration.getRepresentativeLightMethod())
|
val superPsiMethods = listOfNotNull(deepestSuperDeclaration.getRepresentativeLightMethod())
|
||||||
checkSuperMethodsWithPopup(callableDeclaration, superPsiMethods, "Rename", editor) {
|
checkSuperMethodsWithPopup(callableDeclaration, superPsiMethods, RefactoringBundle.message("rename.title"), editor) {
|
||||||
preprocessAndPass(if (it.size > 1) deepestSuperDeclaration else callableDeclaration)
|
preprocessAndPass(if (it.size > 1) deepestSuperDeclaration else callableDeclaration)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -307,8 +314,8 @@ class RenameKotlinPropertyProcessor : RenameKotlinPsiProcessor() {
|
|||||||
val accessorToRename = if (element == getter) setter else getter
|
val accessorToRename = if (element == getter) setter else getter
|
||||||
val newAccessorName = if (element == getter) JvmAbi.setterName(newPropertyName) else JvmAbi.getterName(newPropertyName)
|
val newAccessorName = if (element == getter) JvmAbi.setterName(newPropertyName) else JvmAbi.getterName(newPropertyName)
|
||||||
if (ApplicationManager.getApplication().isUnitTestMode || Messages.showYesNoDialog(
|
if (ApplicationManager.getApplication().isUnitTestMode || Messages.showYesNoDialog(
|
||||||
"Do you want to rename ${accessorToRename.name}() as well?",
|
KotlinBundle.message("text.do.you.want.to.rename.0.as.well", accessorToRename.name),
|
||||||
"Rename",
|
RefactoringBundle.message("rename.title"),
|
||||||
Messages.getQuestionIcon()
|
Messages.getQuestionIcon()
|
||||||
) == Messages.YES
|
) == Messages.YES
|
||||||
) {
|
) {
|
||||||
|
|||||||
+9
-1
@@ -12,7 +12,9 @@ import com.intellij.openapi.project.Project
|
|||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
import com.intellij.psi.PsiFile
|
import com.intellij.psi.PsiFile
|
||||||
import com.intellij.psi.util.PsiTreeUtil
|
import com.intellij.psi.util.PsiTreeUtil
|
||||||
|
import com.intellij.refactoring.RefactoringBundle
|
||||||
import com.intellij.refactoring.rename.RenameHandler
|
import com.intellij.refactoring.rename.RenameHandler
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.core.util.CodeInsightUtils
|
import org.jetbrains.kotlin.idea.core.util.CodeInsightUtils
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
|
|
||||||
@@ -38,7 +40,13 @@ class RenameOnSecondaryConstructorHandler : RenameHandler {
|
|||||||
override fun isRenaming(dataContext: DataContext): Boolean = isAvailableOnDataContext(dataContext)
|
override fun isRenaming(dataContext: DataContext): Boolean = isAvailableOnDataContext(dataContext)
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor, file: PsiFile, dataContext: DataContext?) {
|
override fun invoke(project: Project, editor: Editor, file: PsiFile, dataContext: DataContext?) {
|
||||||
CodeInsightUtils.showErrorHint(project, editor, "Rename is not applicable to secondary constructors", "Rename", null)
|
CodeInsightUtils.showErrorHint(
|
||||||
|
project,
|
||||||
|
editor,
|
||||||
|
KotlinBundle.message("text.rename.is.not.applicable.to.secondary.constructors"),
|
||||||
|
RefactoringBundle.message("rename.title"),
|
||||||
|
null
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun invoke(project: Project, elements: Array<out PsiElement>, dataContext: DataContext?) {
|
override fun invoke(project: Project, elements: Array<out PsiElement>, dataContext: DataContext?) {
|
||||||
|
|||||||
+9
-1
@@ -11,7 +11,9 @@ import com.intellij.openapi.editor.Editor
|
|||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
import com.intellij.psi.PsiFile
|
import com.intellij.psi.PsiFile
|
||||||
|
import com.intellij.refactoring.RefactoringBundle
|
||||||
import com.intellij.refactoring.rename.RenameHandler
|
import com.intellij.refactoring.rename.RenameHandler
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.resolveToCall
|
import org.jetbrains.kotlin.idea.caches.resolve.resolveToCall
|
||||||
import org.jetbrains.kotlin.idea.core.util.CodeInsightUtils
|
import org.jetbrains.kotlin.idea.core.util.CodeInsightUtils
|
||||||
import org.jetbrains.kotlin.idea.statistics.FUSEventGroups
|
import org.jetbrains.kotlin.idea.statistics.FUSEventGroups
|
||||||
@@ -30,7 +32,13 @@ class RenameSyntheticDeclarationByReferenceHandler : RenameHandler {
|
|||||||
override fun isRenaming(dataContext: DataContext) = isAvailableOnDataContext(dataContext)
|
override fun isRenaming(dataContext: DataContext) = isAvailableOnDataContext(dataContext)
|
||||||
|
|
||||||
override fun invoke(project: Project, editor: Editor, file: PsiFile, dataContext: DataContext?) {
|
override fun invoke(project: Project, editor: Editor, file: PsiFile, dataContext: DataContext?) {
|
||||||
CodeInsightUtils.showErrorHint(project, editor, "Rename is not applicable to synthetic declaration", "Rename", null)
|
CodeInsightUtils.showErrorHint(
|
||||||
|
project,
|
||||||
|
editor,
|
||||||
|
KotlinBundle.message("text.rename.is.not.applicable.to.synthetic.declarations"),
|
||||||
|
RefactoringBundle.message("rename.title"),
|
||||||
|
null
|
||||||
|
)
|
||||||
KotlinFUSLogger.log(FUSEventGroups.Refactoring, this::class.java.name)
|
KotlinFUSLogger.log(FUSEventGroups.Refactoring, this::class.java.name)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import com.intellij.refactoring.util.MoveRenameUsageInfo
|
|||||||
import com.intellij.usageView.UsageInfo
|
import com.intellij.usageView.UsageInfo
|
||||||
import com.intellij.usageView.UsageViewUtil
|
import com.intellij.usageView.UsageViewUtil
|
||||||
import org.jetbrains.kotlin.descriptors.*
|
import org.jetbrains.kotlin.descriptors.*
|
||||||
|
import org.jetbrains.kotlin.idea.KotlinBundle
|
||||||
import org.jetbrains.kotlin.idea.analysis.analyzeInContext
|
import org.jetbrains.kotlin.idea.analysis.analyzeInContext
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
import org.jetbrains.kotlin.idea.caches.resolve.analyze
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade
|
import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade
|
||||||
@@ -160,9 +161,9 @@ internal fun checkRedeclarations(
|
|||||||
for (candidateDescriptor in getSiblingsWithNewName()) {
|
for (candidateDescriptor in getSiblingsWithNewName()) {
|
||||||
val candidate = (candidateDescriptor as? DeclarationDescriptorWithSource)?.source?.getPsi() as? KtNamedDeclaration ?: continue
|
val candidate = (candidateDescriptor as? DeclarationDescriptorWithSource)?.source?.getPsi() as? KtNamedDeclaration ?: continue
|
||||||
if (overloadChecker != null && overloadChecker.isOverloadable(descriptor, candidateDescriptor)) continue
|
if (overloadChecker != null && overloadChecker.isOverloadable(descriptor, candidateDescriptor)) continue
|
||||||
val what = candidate.renderDescription().capitalize()
|
val what = candidate.renderDescription()
|
||||||
val where = candidate.representativeContainer()?.renderDescription() ?: continue
|
val where = candidate.representativeContainer()?.renderDescription() ?: continue
|
||||||
val message = "$what is already declared in $where"
|
val message = KotlinBundle.message("text.0.already.declared.in.1", what, where).capitalize()
|
||||||
result += BasicUnresolvableCollisionUsageInfo(candidate, candidate, message)
|
result += BasicUnresolvableCollisionUsageInfo(candidate, candidate, message)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -189,7 +190,11 @@ fun reportShadowing(
|
|||||||
) {
|
) {
|
||||||
val candidate = DescriptorToSourceUtilsIde.getAnyDeclaration(declaration.project, candidateDescriptor) as? PsiNamedElement ?: return
|
val candidate = DescriptorToSourceUtilsIde.getAnyDeclaration(declaration.project, candidateDescriptor) as? PsiNamedElement ?: return
|
||||||
if (declaration.parent == candidate.parent) return
|
if (declaration.parent == candidate.parent) return
|
||||||
val message = "${declaration.renderDescription().capitalize()} will be shadowed by ${candidate.renderDescription()}"
|
val message = KotlinBundle.message(
|
||||||
|
"text.0.will.be.shadowed.by.1",
|
||||||
|
declaration.renderDescription(),
|
||||||
|
candidate.renderDescription()
|
||||||
|
).capitalize()
|
||||||
result += BasicUnresolvableCollisionUsageInfo(refElement, elementToBindUsageInfoTo, message)
|
result += BasicUnresolvableCollisionUsageInfo(refElement, elementToBindUsageInfoTo, message)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user