Skip to content

Commit 34b88f5

Browse files
J2K: convert scratch files correctly
#KT-10604 Fixed
1 parent 70d2e91 commit 34b88f5

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

idea/src/org/jetbrains/kotlin/idea/actions/JavaToKotlinAction.kt

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
package org.jetbrains.kotlin.idea.actions
1818

19+
import com.intellij.ide.scratch.ScratchFileService
20+
import com.intellij.ide.scratch.ScratchRootType
1921
import com.intellij.openapi.actionSystem.AnAction
2022
import com.intellij.openapi.actionSystem.AnActionEvent
2123
import com.intellij.openapi.actionSystem.CommonDataKeys
@@ -32,6 +34,7 @@ import com.intellij.openapi.vfs.VirtualFile
3234
import com.intellij.openapi.vfs.VirtualFileVisitor
3335
import com.intellij.psi.PsiJavaFile
3436
import com.intellij.psi.PsiManager
37+
import org.jetbrains.kotlin.idea.KotlinFileType
3538
import org.jetbrains.kotlin.idea.refactoring.toPsiFile
3639
import org.jetbrains.kotlin.idea.j2k.IdeaJavaToKotlinServices
3740
import org.jetbrains.kotlin.idea.j2k.J2kPostProcessor
@@ -61,11 +64,17 @@ class JavaToKotlinAction : AnAction() {
6164
val result = ArrayList<VirtualFile>()
6265
for ((psiFile, text) in javaFiles.zip(convertedTexts)) {
6366
val virtualFile = psiFile.virtualFile
64-
val fileName = uniqueKotlinFileName(virtualFile)
6567
try {
66-
virtualFile.rename(this, fileName)
6768
virtualFile.setBinaryContent(CharsetToolkit.getUtf8Bytes(text))
68-
result.add(virtualFile)
69+
70+
if (ScratchRootType.getInstance().containsFile(virtualFile)) {
71+
val mapping = ScratchFileService.getInstance().scratchesMapping
72+
mapping.setMapping(virtualFile, KotlinFileType.INSTANCE.language)
73+
}
74+
else {
75+
val fileName = uniqueKotlinFileName(virtualFile)
76+
virtualFile.rename(this, fileName)
77+
}
6978
}
7079
catch (e: IOException) {
7180
MessagesEx.error(psiFile.project, e.message).showLater()

0 commit comments

Comments
 (0)