diff --git a/compiler/psi/src/org/jetbrains/kotlin/psi/psiUtil/ktPsiUtil.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/psiUtil/ktPsiUtil.kt index 9e7f1e45eed..ff3f2810dd2 100644 --- a/compiler/psi/src/org/jetbrains/kotlin/psi/psiUtil/ktPsiUtil.kt +++ b/compiler/psi/src/org/jetbrains/kotlin/psi/psiUtil/ktPsiUtil.kt @@ -624,4 +624,6 @@ fun KtModifierKeywordToken.toVisibility(): Visibility { KtTokens.INTERNAL_KEYWORD -> Visibilities.INTERNAL else -> throw IllegalArgumentException("Unknown visibility modifier:$this") } -} \ No newline at end of file +} + +fun KtFile.getFileOrScriptDeclarations() = if (isScript()) script!!.declarations else declarations \ No newline at end of file diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveDeclarations/ui/MoveKotlinTopLevelDeclarationsDialog.java b/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveDeclarations/ui/MoveKotlinTopLevelDeclarationsDialog.java index c3baa034597..0e37d272c63 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveDeclarations/ui/MoveKotlinTopLevelDeclarationsDialog.java +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveDeclarations/ui/MoveKotlinTopLevelDeclarationsDialog.java @@ -66,9 +66,9 @@ import org.jetbrains.kotlin.idea.refactoring.move.moveDeclarations.*; import org.jetbrains.kotlin.idea.refactoring.ui.KotlinFileChooserDialog; import org.jetbrains.kotlin.idea.util.application.ApplicationUtilsKt; import org.jetbrains.kotlin.name.FqName; -import org.jetbrains.kotlin.psi.KtDeclarationContainer; import org.jetbrains.kotlin.psi.KtFile; import org.jetbrains.kotlin.psi.KtNamedDeclaration; +import org.jetbrains.kotlin.psi.psiUtil.KtPsiUtilKt; import javax.swing.*; import java.awt.*; @@ -171,9 +171,8 @@ public class MoveKotlinTopLevelDeclarationsDialog extends RefactoringDialog { sourceFiles, new Function1>() { @Override - public Iterable invoke(KtFile jetFile) { - KtDeclarationContainer container = jetFile.isScript() ? jetFile.getScript() : jetFile; - return container != null ? container.getDeclarations() : emptyList(); + public Iterable invoke(KtFile ktFile) { + return KtPsiUtilKt.getFileOrScriptDeclarations(ktFile); } } ), @@ -450,7 +449,7 @@ public class MoveKotlinTopLevelDeclarationsDialog extends RefactoringDialog { } ); for (Map.Entry> entry : fileToElements.entrySet()) { - if (entry.getKey().getDeclarations().size() != entry.getValue().size()) return false; + if (KtPsiUtilKt.getFileOrScriptDeclarations(entry.getKey()).size() != entry.getValue().size()) return false; } return true; }