diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveUtils.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveUtils.kt index 33d4b035802..31f42459077 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveUtils.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveUtils.kt @@ -125,11 +125,10 @@ fun KtElement.processInternalReferencesToUpdateOnPackageNameChange( val declaration by lazy { var result = DescriptorToSourceUtilsIde.getAnyDeclaration(project, descriptor) ?: return@lazy null - if (descriptor.isCompanionObject() - && bindingContext[BindingContext.SHORT_REFERENCE_TO_COMPANION_OBJECT, refExpr] != null + if (descriptor.isCompanionObject() && + bindingContext[BindingContext.SHORT_REFERENCE_TO_COMPANION_OBJECT, refExpr] !== null ) { - if (result !is KtObjectDeclaration) return@lazy null - result = result.containingClassOrObject ?: result + result = (result as? KtObjectDeclaration)?.containingClassOrObject ?: result } result @@ -148,10 +147,10 @@ fun KtElement.processInternalReferencesToUpdateOnPackageNameChange( } if (!isExtension) { - if (!(containingDescriptor is PackageFragmentDescriptor - || containingDescriptor is ClassDescriptor && containingDescriptor.kind == ClassKind.OBJECT - || descriptor is JavaCallableMemberDescriptor && ((declaration as? PsiMember)?.hasModifierProperty(PsiModifier.STATIC) == true)) - ) return null + val isCompatibleDescriptor = containingDescriptor is PackageFragmentDescriptor || + containingDescriptor is ClassDescriptor && containingDescriptor.kind == ClassKind.OBJECT || + descriptor is JavaCallableMemberDescriptor && ((declaration as? PsiMember)?.hasModifierProperty(PsiModifier.STATIC) == true) + if (!isCompatibleDescriptor) return null } } @@ -387,12 +386,11 @@ private fun isCallableReference(reference: PsiReference): Boolean { fun guessNewFileName(declarationsToMove: Collection): String? { if (declarationsToMove.isEmpty()) return null - val representative = declarationsToMove.singleOrNull() ?: declarationsToMove.filterIsInstance().singleOrNull() - representative?.let { return "${it.name}.${KotlinFileType.EXTENSION}" } - - return declarationsToMove.first().containingFile.name + val newFileName = representative?.run { "$name.${KotlinFileType.EXTENSION}" } + ?: declarationsToMove.first().containingFile.name + return newFileName.capitalize() } // returns true if successful diff --git a/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/callsAndCallableRefs/internalUsages/differentSourceAndTargetWithFqNames/after/baz/test.kt b/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/callsAndCallableRefs/internalUsages/differentSourceAndTargetWithFqNames/after/baz/Test.kt similarity index 100% rename from idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/callsAndCallableRefs/internalUsages/differentSourceAndTargetWithFqNames/after/baz/test.kt rename to idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/callsAndCallableRefs/internalUsages/differentSourceAndTargetWithFqNames/after/baz/Test.kt diff --git a/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/callsAndCallableRefs/internalUsages/differentSourceAndTargetWithImports/after/baz/test.kt b/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/callsAndCallableRefs/internalUsages/differentSourceAndTargetWithImports/after/baz/Test.kt similarity index 100% rename from idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/callsAndCallableRefs/internalUsages/differentSourceAndTargetWithImports/after/baz/test.kt rename to idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/callsAndCallableRefs/internalUsages/differentSourceAndTargetWithImports/after/baz/Test.kt diff --git a/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/callsAndCallableRefs/internalUsages/differentSourceWithFqNames/after/foo/test.kt b/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/callsAndCallableRefs/internalUsages/differentSourceWithFqNames/after/foo/Test.kt similarity index 100% rename from idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/callsAndCallableRefs/internalUsages/differentSourceWithFqNames/after/foo/test.kt rename to idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/callsAndCallableRefs/internalUsages/differentSourceWithFqNames/after/foo/Test.kt diff --git a/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/callsAndCallableRefs/internalUsages/differentSourceWithImports/after/foo/test.kt b/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/callsAndCallableRefs/internalUsages/differentSourceWithImports/after/foo/Test.kt similarity index 100% rename from idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/callsAndCallableRefs/internalUsages/differentSourceWithImports/after/foo/test.kt rename to idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/callsAndCallableRefs/internalUsages/differentSourceWithImports/after/foo/Test.kt diff --git a/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/callsAndCallableRefs/internalUsages/differentTarget/after/bar/test.kt b/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/callsAndCallableRefs/internalUsages/differentTarget/after/bar/Test.kt similarity index 100% rename from idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/callsAndCallableRefs/internalUsages/differentTarget/after/bar/test.kt rename to idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/callsAndCallableRefs/internalUsages/differentTarget/after/bar/Test.kt diff --git a/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/callsAndCallableRefs/internalUsages/differentTargetWithFqNames/after/bar/test.kt b/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/callsAndCallableRefs/internalUsages/differentTargetWithFqNames/after/bar/Test.kt similarity index 100% rename from idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/callsAndCallableRefs/internalUsages/differentTargetWithFqNames/after/bar/test.kt rename to idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/callsAndCallableRefs/internalUsages/differentTargetWithFqNames/after/bar/Test.kt diff --git a/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/functionAlreadyInaccessible/after/b/test.kt b/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/functionAlreadyInaccessible/after/b/Test.kt similarity index 100% rename from idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/functionAlreadyInaccessible/after/b/test.kt rename to idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/functionAlreadyInaccessible/after/b/Test.kt diff --git a/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/implicitInvokeCalls/differentSource/after/foo/test.kt b/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/implicitInvokeCalls/differentSource/after/foo/Test.kt similarity index 100% rename from idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/implicitInvokeCalls/differentSource/after/foo/test.kt rename to idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/implicitInvokeCalls/differentSource/after/foo/Test.kt diff --git a/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/implicitInvokeCalls/differentSourceAndTarget/after/baz/test.kt b/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/implicitInvokeCalls/differentSourceAndTarget/after/baz/Test.kt similarity index 100% rename from idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/implicitInvokeCalls/differentSourceAndTarget/after/baz/test.kt rename to idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/implicitInvokeCalls/differentSourceAndTarget/after/baz/Test.kt diff --git a/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/implicitInvokeCalls/differentTarget/after/bar/test.kt b/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/implicitInvokeCalls/differentTarget/after/bar/Test.kt similarity index 100% rename from idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/implicitInvokeCalls/differentTarget/after/bar/test.kt rename to idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/implicitInvokeCalls/differentTarget/after/bar/Test.kt diff --git a/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/misc/delegateInObject/after/target/test.kt b/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/misc/delegateInObject/after/target/Test.kt similarity index 100% rename from idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/misc/delegateInObject/after/target/test.kt rename to idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/misc/delegateInObject/after/target/Test.kt diff --git a/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/misc/fakeOverrideInObject/after/target/test.kt b/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/misc/fakeOverrideInObject/after/target/Test.kt similarity index 100% rename from idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/misc/fakeOverrideInObject/after/target/test.kt rename to idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/misc/fakeOverrideInObject/after/target/Test.kt diff --git a/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/misc/functionAndPropertyWithSameName/after/foo/name.kt b/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/misc/functionAndPropertyWithSameName/after/foo/Name.kt similarity index 100% rename from idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/misc/functionAndPropertyWithSameName/after/foo/name.kt rename to idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/misc/functionAndPropertyWithSameName/after/foo/Name.kt diff --git a/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/misc/moveFunctionWithImportsRetained/after/first/test.kt b/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/misc/moveFunctionWithImportsRetained/after/first/Test.kt similarity index 100% rename from idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/misc/moveFunctionWithImportsRetained/after/first/test.kt rename to idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/misc/moveFunctionWithImportsRetained/after/first/Test.kt diff --git a/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/misc/mutualDependency/mutualDependency.test b/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/misc/mutualDependency/MutualDependency.test similarity index 100% rename from idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/misc/mutualDependency/mutualDependency.test rename to idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/misc/mutualDependency/MutualDependency.test diff --git a/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/misc/mutualDependency/after/pack2/test.kt b/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/misc/mutualDependency/after/pack2/Test.kt similarity index 100% rename from idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/misc/mutualDependency/after/pack2/test.kt rename to idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/misc/mutualDependency/after/pack2/Test.kt diff --git a/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/misc/shortenStringTemplateEntry/after/bar/someVal.kt b/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/misc/shortenStringTemplateEntry/after/bar/SomeVal.kt similarity index 100% rename from idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/misc/shortenStringTemplateEntry/after/bar/someVal.kt rename to idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/misc/shortenStringTemplateEntry/after/bar/SomeVal.kt diff --git a/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/misc/unaffectedQualifiedReferences/after/target/foo.kt b/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/misc/unaffectedQualifiedReferences/after/target/Foo.kt similarity index 100% rename from idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/misc/unaffectedQualifiedReferences/after/target/foo.kt rename to idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/misc/unaffectedQualifiedReferences/after/target/Foo.kt diff --git a/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/moveFunctionToPackage/after/b/test.kt b/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/moveFunctionToPackage/after/b/Test.kt similarity index 100% rename from idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/moveFunctionToPackage/after/b/test.kt rename to idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/moveFunctionToPackage/after/b/Test.kt diff --git a/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/moveFunctionToPackageUsedInJava/after/newPackage/foo.kt b/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/moveFunctionToPackageUsedInJava/after/newPackage/Foo.kt similarity index 100% rename from idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/moveFunctionToPackageUsedInJava/after/newPackage/foo.kt rename to idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/moveFunctionToPackageUsedInJava/after/newPackage/Foo.kt diff --git a/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/moveOnlyFunctionToPackageUsedInJava/after/newPackage/foo.kt b/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/moveOnlyFunctionToPackageUsedInJava/after/newPackage/Foo.kt similarity index 100% rename from idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/moveOnlyFunctionToPackageUsedInJava/after/newPackage/foo.kt rename to idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/moveOnlyFunctionToPackageUsedInJava/after/newPackage/Foo.kt diff --git a/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/movePropertyToPackage/after/b/test.kt b/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/movePropertyToPackage/after/b/Test.kt similarity index 100% rename from idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/movePropertyToPackage/after/b/test.kt rename to idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/movePropertyToPackage/after/b/Test.kt diff --git a/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/propertyAlreadyInaccessible/after/b/test.kt b/idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/propertyAlreadyInaccessible/after/b/Test.kt similarity index 100% rename from idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/propertyAlreadyInaccessible/after/b/test.kt rename to idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/propertyAlreadyInaccessible/after/b/Test.kt diff --git a/idea/testData/refactoring/moveMultiModule/moveToUnrelatedModuleConflict/after/B/src/target/val1.kt b/idea/testData/refactoring/moveMultiModule/moveToUnrelatedModuleConflict/after/B/src/target/Val1.kt similarity index 100% rename from idea/testData/refactoring/moveMultiModule/moveToUnrelatedModuleConflict/after/B/src/target/val1.kt rename to idea/testData/refactoring/moveMultiModule/moveToUnrelatedModuleConflict/after/B/src/target/Val1.kt diff --git a/idea/tests/org/jetbrains/kotlin/idea/refactoring/move/MoveTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/refactoring/move/MoveTestGenerated.java index 87fc8bab4c3..71f14b003f9 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/refactoring/move/MoveTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/refactoring/move/MoveTestGenerated.java @@ -581,7 +581,7 @@ public class MoveTestGenerated extends AbstractMoveTest { @TestMetadata("kotlin/moveTopLevelDeclarations/misc/mutualDependency/mutualDependency.test") public void testKotlin_moveTopLevelDeclarations_misc_mutualDependency_MutualDependency() throws Exception { - runTest("idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/misc/mutualDependency/mutualDependency.test"); + runTest("idea/testData/refactoring/move/kotlin/moveTopLevelDeclarations/misc/MutualDependency/mutualDependency.test"); } @TestMetadata("kotlin/moveTopLevelDeclarations/misc/nonCodeUsagesWithQuotedName/nonCodeUsageWithQuotedName.test")