Supported Java usages in automatic variable renamer.
This commit is contained in:
@@ -306,6 +306,7 @@
|
|||||||
<renameHandler implementation="org.jetbrains.kotlin.idea.refactoring.rename.RenameDynamicMemberHandler"/>
|
<renameHandler implementation="org.jetbrains.kotlin.idea.refactoring.rename.RenameDynamicMemberHandler"/>
|
||||||
<renameHandler implementation="org.jetbrains.kotlin.idea.refactoring.rename.RenameOnSecondaryConstructorHandler"/>
|
<renameHandler implementation="org.jetbrains.kotlin.idea.refactoring.rename.RenameOnSecondaryConstructorHandler"/>
|
||||||
<automaticRenamerFactory implementation="org.jetbrains.kotlin.idea.refactoring.rename.AutomaticVariableRenamerFactory"/>
|
<automaticRenamerFactory implementation="org.jetbrains.kotlin.idea.refactoring.rename.AutomaticVariableRenamerFactory"/>
|
||||||
|
<automaticRenamerFactory implementation="org.jetbrains.kotlin.idea.refactoring.rename.AutomaticVariableInJavaRenamerFactory"/>
|
||||||
<automaticRenamerFactory implementation="org.jetbrains.kotlin.idea.refactoring.rename.AutomaticInheritorRenamerFactory"/>
|
<automaticRenamerFactory implementation="org.jetbrains.kotlin.idea.refactoring.rename.AutomaticInheritorRenamerFactory"/>
|
||||||
<automaticRenamerFactory implementation="org.jetbrains.kotlin.idea.refactoring.rename.AutomaticOverloadsRenamerFactory"/>
|
<automaticRenamerFactory implementation="org.jetbrains.kotlin.idea.refactoring.rename.AutomaticOverloadsRenamerFactory"/>
|
||||||
|
|
||||||
|
|||||||
@@ -25,6 +25,8 @@ import com.intellij.refactoring.RefactoringBundle
|
|||||||
import com.intellij.refactoring.rename.naming.AutomaticRenamer
|
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.LightClassUtil
|
||||||
|
import org.jetbrains.kotlin.asJava.toLightClass
|
||||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.VariableDescriptor
|
import org.jetbrains.kotlin.descriptors.VariableDescriptor
|
||||||
@@ -37,6 +39,7 @@ import org.jetbrains.kotlin.psi.psiUtil.isAncestor
|
|||||||
import org.jetbrains.kotlin.resolve.DescriptorUtils
|
import org.jetbrains.kotlin.resolve.DescriptorUtils
|
||||||
import org.jetbrains.kotlin.types.JetType
|
import org.jetbrains.kotlin.types.JetType
|
||||||
import java.util.ArrayList
|
import java.util.ArrayList
|
||||||
|
import java.util.LinkedHashMap
|
||||||
|
|
||||||
public class AutomaticVariableRenamer(klass: JetClass, newClassName: String, usages: Collection<UsageInfo>) : AutomaticRenamer() {
|
public class AutomaticVariableRenamer(klass: JetClass, newClassName: String, usages: Collection<UsageInfo>) : AutomaticRenamer() {
|
||||||
private val toUnpluralize = ArrayList<JetNamedDeclaration>()
|
private val toUnpluralize = ArrayList<JetNamedDeclaration>()
|
||||||
@@ -107,5 +110,18 @@ public class AutomaticVariableRenamerFactory: AutomaticRenamerFactory {
|
|||||||
override fun isEnabled() = JavaRefactoringSettings.getInstance().isToRenameVariables()
|
override fun isEnabled() = JavaRefactoringSettings.getInstance().isToRenameVariables()
|
||||||
override fun setEnabled(enabled: Boolean) = JavaRefactoringSettings.getInstance().setRenameVariables(enabled)
|
override fun setEnabled(enabled: Boolean) = JavaRefactoringSettings.getInstance().setRenameVariables(enabled)
|
||||||
|
|
||||||
|
override fun getOptionName() = RefactoringBundle.message("rename.variables")
|
||||||
|
}
|
||||||
|
|
||||||
|
public class AutomaticVariableInJavaRenamerFactory: AutomaticRenamerFactory {
|
||||||
|
override fun isApplicable(element: PsiElement) = element is JetClass && element.toLightClass() != null
|
||||||
|
|
||||||
|
override fun createRenamer(element: PsiElement, newName: String, usages: Collection<UsageInfo>) =
|
||||||
|
// Using java variable renamer for java usages
|
||||||
|
com.intellij.refactoring.rename.naming.AutomaticVariableRenamer((element as JetClass).toLightClass()!!, newName, usages)
|
||||||
|
|
||||||
|
override fun isEnabled() = JavaRefactoringSettings.getInstance().isToRenameVariables()
|
||||||
|
override fun setEnabled(enabled: Boolean) = JavaRefactoringSettings.getInstance().setRenameVariables(enabled)
|
||||||
|
|
||||||
override fun getOptionName() = RefactoringBundle.message("rename.variables")
|
override fun getOptionName() = RefactoringBundle.message("rename.variables")
|
||||||
}
|
}
|
||||||
@@ -1,3 +1,9 @@
|
|||||||
class JavaBar extends Bar {
|
class JavaBar extends Bar {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
class Usage {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Bar bar = null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -1,3 +1,9 @@
|
|||||||
class JavaFoo extends Foo {
|
class JavaFoo extends Foo {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
class Usage {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Foo foo = null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user