diff --git a/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/AutomaticVariableRenamer.kt b/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/AutomaticVariableRenamer.kt index c711760a242a..f815f30f88f6 100644 --- a/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/AutomaticVariableRenamer.kt +++ b/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/AutomaticVariableRenamer.kt @@ -25,6 +25,7 @@ import org.jetbrains.kotlin.idea.core.unquote import org.jetbrains.kotlin.idea.refactoring.KotlinRefactoringSettings import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.psi.* +import org.jetbrains.kotlin.psi.psiUtil.containingClassOrObject import org.jetbrains.kotlin.resolve.DescriptorUtils import org.jetbrains.kotlin.resolve.descriptorUtil.builtIns import org.jetbrains.kotlin.resolve.lazy.NoDescriptorForDeclarationException @@ -51,8 +52,7 @@ class AutomaticVariableRenamer( KtParameter::class.java ) as KtCallableDeclaration? ?: continue - if (parameterOrVariable.name == null) continue - val variableName = parameterOrVariable.name!! + val variableName = parameterOrVariable.name ?: continue if (variableName.equals(newClassNameUnquoted, ignoreCase = true)) continue if (!StringUtil.containsIgnoreCase(variableName, oldClassName)) continue @@ -120,6 +120,9 @@ class AutomaticVariableRenamer( if (ktElement is KtProperty && ktElement.isTopLevel && !ktElement.hasModifier(KtTokens.CONST_KEYWORD)) { return null } + if (ktElement.containingClassOrObject is KtObjectDeclaration) { + return null + } val psiVariable = ktElement.toLightElements().firstIsInstanceOrNull() return if (psiVariable != null) codeStyleManager.getVariableKind(psiVariable) else null } diff --git a/plugins/kotlin/idea/tests/testData/refactoring/rename/renameClassWithAutoVarConventions/after/test.kt b/plugins/kotlin/idea/tests/testData/refactoring/rename/renameClassWithAutoVarConventions/after/test.kt index 1629a211b1fc..ba137a3ffc33 100644 --- a/plugins/kotlin/idea/tests/testData/refactoring/rename/renameClassWithAutoVarConventions/after/test.kt +++ b/plugins/kotlin/idea/tests/testData/refactoring/rename/renameClassWithAutoVarConventions/after/test.kt @@ -1,7 +1,9 @@ package test class Bar { - + companion object { + val barKlass: Class = Bar::class.java + } } val SOME_Bar: Bar = Bar() diff --git a/plugins/kotlin/idea/tests/testData/refactoring/rename/renameClassWithAutoVarConventions/before/test.kt b/plugins/kotlin/idea/tests/testData/refactoring/rename/renameClassWithAutoVarConventions/before/test.kt index f84f83d1d0cf..4909bf47395e 100644 --- a/plugins/kotlin/idea/tests/testData/refactoring/rename/renameClassWithAutoVarConventions/before/test.kt +++ b/plugins/kotlin/idea/tests/testData/refactoring/rename/renameClassWithAutoVarConventions/before/test.kt @@ -1,7 +1,9 @@ package test class Foo { - + companion object { + val fooKlass: Class = Foo::class.java + } } val SOME_FOO: Foo = Foo()