Check if document is writable on converting Java to Kotlin

This commit is contained in:
Ilya Kirillov
2019-07-29 15:52:58 +03:00
parent 0d42d3f0a1
commit 7b659a73c7
@@ -83,12 +83,17 @@ class JavaToKotlinAction : AnAction() {
for ((psiFile, text) in javaFiles.zip(convertedTexts)) {
try {
val document = PsiDocumentManager.getInstance(psiFile.project).getDocument(psiFile)
if (document == null) {
MessagesEx.error(psiFile.project, "Failed to save conversion result: couldn't find document for " + psiFile.name)
val errorMessage = when {
document == null -> "couldn't find document for ${psiFile.name}"
!document.isWritable -> "file `${psiFile.name}` is read-only"
else -> null
}
if (errorMessage != null) {
MessagesEx.error(psiFile.project, "Failed to save conversion result: $errorMessage")
.showLater()
continue
}
document.replaceString(0, document.textLength, text)
document!!.replaceString(0, document.textLength, text)
FileDocumentManager.getInstance().saveDocument(document)
val virtualFile = psiFile.virtualFile