Java to Kotlin converter: do not drop exceptions, produce internal error!
This commit is contained in:
@@ -100,17 +100,19 @@ public class JavaToKotlinActionUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void deleteFiles(List<PsiJavaFile> allJavaFilesNear) {
|
static void deleteFiles(List<PsiJavaFile> allJavaFilesNear) {
|
||||||
for (final PsiFile f : allJavaFilesNear) {
|
for (final PsiFile psiFile : allJavaFilesNear) {
|
||||||
ApplicationManager.getApplication().runWriteAction(new Runnable() {
|
ApplicationManager.getApplication().runWriteAction(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
try {
|
try {
|
||||||
PsiManager manager = f.getManager();
|
PsiManager manager = psiFile.getManager();
|
||||||
VirtualFile vFile = f.getVirtualFile();
|
VirtualFile vFile = psiFile.getVirtualFile();
|
||||||
if (vFile != null) {
|
if (vFile != null) {
|
||||||
vFile.delete(manager);
|
vFile.delete(manager);
|
||||||
}
|
}
|
||||||
} catch (IOException ignored) {
|
}
|
||||||
|
catch (IOException e) {
|
||||||
|
MessagesEx.error(psiFile.getProject(), e.getMessage()).showLater();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -122,38 +124,35 @@ public class JavaToKotlinActionUtil {
|
|||||||
try {
|
try {
|
||||||
VirtualFile virtualFile = psiFile.getVirtualFile();
|
VirtualFile virtualFile = psiFile.getVirtualFile();
|
||||||
if (psiFile instanceof PsiJavaFile && virtualFile != null) {
|
if (psiFile instanceof PsiJavaFile && virtualFile != null) {
|
||||||
String result = "";
|
String result = converter.elementToKotlin(psiFile);
|
||||||
try {
|
|
||||||
result = converter.elementToKotlin(psiFile);
|
|
||||||
} catch (Exception e) {
|
|
||||||
//noinspection CallToPrintStackTrace
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
PsiManager manager = psiFile.getManager();
|
PsiManager manager = psiFile.getManager();
|
||||||
assert manager != null;
|
assert manager != null;
|
||||||
VirtualFile copy = virtualFile.copy(manager, virtualFile.getParent(), virtualFile.getNameWithoutExtension() + ".kt");
|
VirtualFile copy = virtualFile.copy(manager, virtualFile.getParent(), virtualFile.getNameWithoutExtension() + ".kt");
|
||||||
copy.setBinaryContent(CharsetToolkit.getUtf8Bytes(result));
|
copy.setBinaryContent(CharsetToolkit.getUtf8Bytes(result));
|
||||||
return copy;
|
return copy;
|
||||||
}
|
}
|
||||||
} catch (Exception ex) {
|
}
|
||||||
MessagesEx.error(psiFile.getProject(), ex.getMessage()).showLater();
|
catch (IOException e) {
|
||||||
|
MessagesEx.error(psiFile.getProject(), e.getMessage()).showLater();
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void renameFiles(@NotNull List<PsiJavaFile> psiFiles) {
|
static void renameFiles(@NotNull List<PsiJavaFile> psiFiles) {
|
||||||
for (final PsiFile f : psiFiles) {
|
for (final PsiFile psiFile : psiFiles) {
|
||||||
ApplicationManager.getApplication().runWriteAction(new Runnable() {
|
ApplicationManager.getApplication().runWriteAction(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
try {
|
try {
|
||||||
PsiManager manager = f.getManager();
|
PsiManager manager = psiFile.getManager();
|
||||||
VirtualFile vFile = f.getVirtualFile();
|
VirtualFile vFile = psiFile.getVirtualFile();
|
||||||
if (vFile != null) {
|
if (vFile != null) {
|
||||||
vFile.copy(manager, vFile.getParent(), vFile.getNameWithoutExtension() + ".java.old");
|
vFile.copy(manager, vFile.getParent(), vFile.getNameWithoutExtension() + ".java.old");
|
||||||
vFile.delete(manager);
|
vFile.delete(manager);
|
||||||
}
|
}
|
||||||
} catch (IOException ignored) {
|
}
|
||||||
|
catch (IOException e) {
|
||||||
|
MessagesEx.error(psiFile.getProject(), e.getMessage()).showLater();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user