Java to Kotlin converter: no more setting 'class identifiers', use ConversionScope

This commit is contained in:
Valentin Kipyatkov
2014-06-10 15:42:51 +04:00
parent 324040a02f
commit 6fd8ac5236
7 changed files with 18 additions and 103 deletions
@@ -16,7 +16,6 @@
package org.jetbrains.jet.plugin.actions;
import com.intellij.ide.highlighter.JavaFileType;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.CommonDataKeys;
@@ -25,7 +24,6 @@ import com.intellij.openapi.fileEditor.FileEditorManager;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.Messages;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiFile;
import com.intellij.psi.PsiJavaFile;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.j2k.Converter;
@@ -54,7 +52,7 @@ public class JavaToKotlinAction extends AnAction {
return;
}
final Converter converter = prepareConverter(project, selectedJavaFiles);
final Converter converter = new Converter(project, ConverterSettings.defaultSettings, new FilesConversionScope(selectedJavaFiles));
CommandProcessor.getInstance().executeCommand(
project,
new Runnable() {
@@ -78,18 +76,6 @@ public class JavaToKotlinAction extends AnAction {
);
}
@NotNull
private static Converter prepareConverter(@NotNull Project project, @NotNull List<PsiJavaFile> selectedJavaFiles) {
Converter converter = new Converter(project, ConverterSettings.defaultSettings, new FilesConversionScope(selectedJavaFiles));
converter.clearClassIdentifiers();
for (PsiFile f : selectedJavaFiles) {
if (f.getFileType() instanceof JavaFileType) {
setClassIdentifiers(converter, f);
}
}
return converter;
}
private static enum DialogResult {
BACKUP_FILES,
DELETE_FILES,
@@ -28,19 +28,11 @@ import com.intellij.psi.codeStyle.CodeStyleManager;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.j2k.Converter;
import org.jetbrains.jet.j2k.visitors.ClassVisitor;
import java.io.IOException;
import java.util.*;
public class JavaToKotlinActionUtil {
static void setClassIdentifiers(@NotNull Converter converter, @NotNull PsiFile psiFile) {
ClassVisitor c = new ClassVisitor();
psiFile.accept(c);
converter.setClassIdentifiers(new HashSet<String>(c.getClassIdentifiers()));
}
@NotNull
private static List<VirtualFile> getChildrenRecursive(@Nullable VirtualFile baseDir) {
List<VirtualFile> result = new LinkedList<VirtualFile>();