Minor: Code cleanup

This commit is contained in:
Alexey Sedunov
2015-05-15 13:54:56 +03:00
parent 38ae9349fc
commit 35bdf9c261
5 changed files with 15 additions and 21 deletions
@@ -30,8 +30,7 @@ import com.intellij.psi.PsiWhiteSpace
public class MoveJavaInnerClassKotlinUsagesHandler: MoveInnerClassUsagesHandler { public class MoveJavaInnerClassKotlinUsagesHandler: MoveInnerClassUsagesHandler {
override fun correctInnerClassUsage(usage: UsageInfo, outerClass: PsiClass) { override fun correctInnerClassUsage(usage: UsageInfo, outerClass: PsiClass) {
val innerCall = usage.getElement()?.getParent() as? JetCallExpression val innerCall = usage.getElement()?.getParent() as? JetCallExpression ?: return
if (innerCall == null) return
val receiver = (innerCall.getParent() as? JetQualifiedExpression)?.getReceiverExpression() val receiver = (innerCall.getParent() as? JetQualifiedExpression)?.getReceiverExpression()
val outerClassRef = when (receiver) { val outerClassRef = when (receiver) {
@@ -41,8 +40,7 @@ public class MoveJavaInnerClassKotlinUsagesHandler: MoveInnerClassUsagesHandler
} as? JetSimpleNameExpression } as? JetSimpleNameExpression
if (outerClassRef?.getReference()?.resolve() != outerClass) return if (outerClassRef?.getReference()?.resolve() != outerClass) return
val outerCall = outerClassRef!!.getParent() as? JetCallExpression val outerCall = outerClassRef!!.getParent() as? JetCallExpression ?: return
if (outerCall == null) return
val psiFactory = JetPsiFactory(usage.getProject()) val psiFactory = JetPsiFactory(usage.getProject())
@@ -62,8 +62,7 @@ public class MoveKotlinFileHandler : MoveFileHandler() {
if (psiFile !is JetFile || !psiFile.packageMatchesDirectory()) return null if (psiFile !is JetFile || !psiFile.packageMatchesDirectory()) return null
val newPackage = newParent.getPackage() val newPackage = newParent.getPackage() ?: return null
if (newPackage == null) return null
val packageNameInfo = PackageNameInfo(psiFile.getPackageFqName(), FqName(newPackage.getQualifiedName())) val packageNameInfo = PackageNameInfo(psiFile.getPackageFqName(), FqName(newPackage.getQualifiedName()))
val project = psiFile.getProject() val project = psiFile.getProject()
@@ -44,7 +44,7 @@ public class MoveKotlinTopLevelDeclarationsHandler : MoveHandlerDelegate() {
): Boolean { ): Boolean {
if (!CommonRefactoringUtil.checkReadOnlyStatusRecursively(project, elements.toList(), true)) return false if (!CommonRefactoringUtil.checkReadOnlyStatusRecursively(project, elements.toList(), true)) return false
[suppress("UNCHECKED_CAST")] @suppress("UNCHECKED_CAST")
val elementsToSearch = elements.toSet() as Set<JetNamedDeclaration> val elementsToSearch = elements.toSet() as Set<JetNamedDeclaration>
val sourceFiles = elementsToSearch.mapTo(LinkedHashSet<JetFile>()) { it.getContainingJetFile() } val sourceFiles = elementsToSearch.mapTo(LinkedHashSet<JetFile>()) { it.getContainingJetFile() }
@@ -104,7 +104,7 @@ public class MoveKotlinTopLevelDeclarationsHandler : MoveHandlerDelegate() {
override fun tryToMove( override fun tryToMove(
element: PsiElement, project: Project, dataContext: DataContext?, reference: PsiReference?, editor: Editor? element: PsiElement, project: Project, dataContext: DataContext?, reference: PsiReference?, editor: Editor?
): Boolean { ): Boolean {
val elementsToMove = array(element) val elementsToMove = arrayOf(element)
val targetContainer = dataContext?.let { dataContext -> LangDataKeys.TARGET_PSI_ELEMENT.getData(dataContext) } val targetContainer = dataContext?.let { dataContext -> LangDataKeys.TARGET_PSI_ELEMENT.getData(dataContext) }
return canMove(elementsToMove, targetContainer) && doMoveWithCheck(project, elementsToMove, targetContainer, null) return canMove(elementsToMove, targetContainer) && doMoveWithCheck(project, elementsToMove, targetContainer, null)
@@ -65,7 +65,7 @@ import java.util.HashSet
trait Mover: (originalElement: JetNamedDeclaration, targetFile: JetFile) -> JetNamedDeclaration { trait Mover: (originalElement: JetNamedDeclaration, targetFile: JetFile) -> JetNamedDeclaration {
object Default: Mover { object Default: Mover {
[suppress("PARAMETER_NAME_CHANGED_ON_OVERRIDE")] @suppress("PARAMETER_NAME_CHANGED_ON_OVERRIDE")
override fun invoke(originalElement: JetNamedDeclaration, targetFile: JetFile): JetNamedDeclaration { override fun invoke(originalElement: JetNamedDeclaration, targetFile: JetFile): JetNamedDeclaration {
val newElement = targetFile.add(originalElement) as JetNamedDeclaration val newElement = targetFile.add(originalElement) as JetNamedDeclaration
originalElement.delete() originalElement.delete()
@@ -74,7 +74,7 @@ trait Mover: (originalElement: JetNamedDeclaration, targetFile: JetFile) -> JetN
} }
object Idle: Mover { object Idle: Mover {
[suppress("PARAMETER_NAME_CHANGED_ON_OVERRIDE")] @suppress("PARAMETER_NAME_CHANGED_ON_OVERRIDE")
override fun invoke(originalElement: JetNamedDeclaration, targetFile: JetFile) = originalElement override fun invoke(originalElement: JetNamedDeclaration, targetFile: JetFile) = originalElement
} }
} }
@@ -93,8 +93,6 @@ public class MoveKotlinTopLevelDeclarationsProcessor(
val options: MoveKotlinTopLevelDeclarationsOptions, val options: MoveKotlinTopLevelDeclarationsOptions,
val mover: Mover = Mover.Default) : BaseRefactoringProcessor(project) { val mover: Mover = Mover.Default) : BaseRefactoringProcessor(project) {
companion object { companion object {
private val LOG: Logger = Logger.getInstance(javaClass<MoveKotlinTopLevelDeclarationsProcessor>())
private val REFACTORING_NAME: String = JetRefactoringBundle.message("refactoring.move.top.level.declarations") private val REFACTORING_NAME: String = JetRefactoringBundle.message("refactoring.move.top.level.declarations")
} }
@@ -105,7 +103,7 @@ public class MoveKotlinTopLevelDeclarationsProcessor(
override fun createUsageViewDescriptor(usages: Array<out UsageInfo>?): UsageViewDescriptor { override fun createUsageViewDescriptor(usages: Array<out UsageInfo>?): UsageViewDescriptor {
return MoveMultipleElementsViewDescriptor( return MoveMultipleElementsViewDescriptor(
elementsToMove.copyToArray(), elementsToMove.toTypedArray(),
MoveClassesOrPackagesUtil.getPackageName(options.moveTarget.packageWrapper) MoveClassesOrPackagesUtil.getPackageName(options.moveTarget.packageWrapper)
) )
} }
@@ -222,7 +220,7 @@ public class MoveKotlinTopLevelDeclarationsProcessor(
val usages = collectUsages() val usages = collectUsages()
collectConflictsInUsages(usages) collectConflictsInUsages(usages)
collectConflictsInDeclarations() collectConflictsInDeclarations()
return UsageViewUtil.removeDuplicatedUsages(usages.copyToArray()) return UsageViewUtil.removeDuplicatedUsages(usages.toTypedArray())
} }
override fun preprocessUsages(refUsages: Ref<Array<UsageInfo>>): Boolean { override fun preprocessUsages(refUsages: Ref<Array<UsageInfo>>): Boolean {
@@ -275,12 +273,12 @@ public class MoveKotlinTopLevelDeclarationsProcessor(
oldToNewElementsMapping[oldFile] = newDeclaration.getContainingJetFile() oldToNewElementsMapping[oldFile] = newDeclaration.getContainingJetFile()
getTransaction()!!.getElementListener(oldDeclaration).elementMoved(newDeclaration) getTransaction()!!.getElementListener(oldDeclaration).elementMoved(newDeclaration)
for ((oldElement, newElement) in oldLightElements.stream() zip newDeclaration.toLightElements().stream()) { for ((oldElement, newElement) in oldLightElements.asSequence() zip newDeclaration.toLightElements().asSequence()) {
oldToNewElementsMapping[oldElement] = newElement oldToNewElementsMapping[oldElement] = newElement
} }
} }
nonCodeUsages = postProcessMoveUsages(usageList, oldToNewElementsMapping).copyToArray() nonCodeUsages = postProcessMoveUsages(usageList, oldToNewElementsMapping).toTypedArray()
} }
catch (e: IncorrectOperationException) { catch (e: IncorrectOperationException) {
nonCodeUsages = null nonCodeUsages = null
@@ -294,7 +292,7 @@ public class MoveKotlinTopLevelDeclarationsProcessor(
} }
fun execute(usages: List<UsageInfo>) { fun execute(usages: List<UsageInfo>) {
execute(usages.copyToArray()) execute(usages.toTypedArray())
} }
override fun getCommandName(): String = REFACTORING_NAME override fun getCommandName(): String = REFACTORING_NAME
@@ -52,12 +52,11 @@ import java.util.Comparator
public class PackageNameInfo(val oldPackageName: FqName, val newPackageName: FqName) public class PackageNameInfo(val oldPackageName: FqName, val newPackageName: FqName)
public fun JetElement.getInternalReferencesToUpdateOnPackageNameChange(packageNameInfo: PackageNameInfo): List<UsageInfo> { public fun JetElement.getInternalReferencesToUpdateOnPackageNameChange(packageNameInfo: PackageNameInfo): List<UsageInfo> {
val file = getContainingFile() as? JetFile val file = getContainingFile() as? JetFile ?: return listOf()
if (file == null) return Collections.emptyList()
val importPaths = file.getImportDirectives().map { it.getImportPath() }.filterNotNull() val importPaths = file.getImportDirectives().map { it.getImportPath() }.filterNotNull()
[tailRecursive] fun isImported(descriptor: DeclarationDescriptor): Boolean { @tailRecursive fun isImported(descriptor: DeclarationDescriptor): Boolean {
val fqName = DescriptorUtils.getFqName(descriptor).let { if (it.isSafe()) it.toSafe() else return@isImported false } val fqName = DescriptorUtils.getFqName(descriptor).let { if (it.isSafe()) it.toSafe() else return@isImported false }
if (importPaths.any { fqName.isImported(it, false) }) return true if (importPaths.any { fqName.isImported(it, false) }) return true
@@ -180,7 +179,7 @@ private fun updateJavaReference(reference: PsiReferenceExpression, oldElement: P
val newClass = newElement.getContainingClass() val newClass = newElement.getContainingClass()
if (newClass != null && reference.getQualifierExpression() != null) { if (newClass != null && reference.getQualifierExpression() != null) {
val mockMoveMembersOptions = MockMoveMembersOptions(newClass.getQualifiedName(), array(newElement)) val mockMoveMembersOptions = MockMoveMembersOptions(newClass.getQualifiedName(), arrayOf(newElement))
val moveMembersUsageInfo = MoveMembersProcessor.MoveMembersUsageInfo( val moveMembersUsageInfo = MoveMembersProcessor.MoveMembersUsageInfo(
newElement, reference.getElement(), newClass, reference.getQualifierExpression(), reference) newElement, reference.getElement(), newClass, reference.getQualifierExpression(), reference)
val moveMemberHandler = MoveMemberHandler.EP_NAME.forLanguage(reference.getElement().getLanguage()) val moveMemberHandler = MoveMemberHandler.EP_NAME.forLanguage(reference.getElement().getLanguage())