diff options
Diffstat (limited to 'plugins/java-decompiler/src/org/jetbrains/java/decompiler/IdeaDecompiler.java')
-rw-r--r-- | plugins/java-decompiler/src/org/jetbrains/java/decompiler/IdeaDecompiler.java | 44 |
1 files changed, 20 insertions, 24 deletions
diff --git a/plugins/java-decompiler/src/org/jetbrains/java/decompiler/IdeaDecompiler.java b/plugins/java-decompiler/src/org/jetbrains/java/decompiler/IdeaDecompiler.java index f57ea6a4087b..616403b9c93f 100644 --- a/plugins/java-decompiler/src/org/jetbrains/java/decompiler/IdeaDecompiler.java +++ b/plugins/java-decompiler/src/org/jetbrains/java/decompiler/IdeaDecompiler.java @@ -30,19 +30,18 @@ import com.intellij.psi.codeStyle.CommonCodeStyleSettings; import com.intellij.psi.compiled.ClassFileDecompilers; import com.intellij.psi.impl.compiled.ClsFileImpl; import com.intellij.util.containers.ContainerUtil; -import de.fernflower.main.decompiler.IdeDecompiler; -import de.fernflower.main.extern.IBytecodeProvider; -import de.fernflower.main.extern.IDecompilatSaver; -import de.fernflower.main.extern.IFernflowerLogger; -import de.fernflower.main.extern.IFernflowerPreferences; import org.jetbrains.annotations.NotNull; +import org.jetbrains.java.decompiler.main.decompiler.BaseDecompiler; +import org.jetbrains.java.decompiler.main.extern.IBytecodeProvider; +import org.jetbrains.java.decompiler.main.extern.IFernflowerLogger; +import org.jetbrains.java.decompiler.main.extern.IFernflowerPreferences; +import org.jetbrains.java.decompiler.main.extern.IResultSaver; import org.jetbrains.org.objectweb.asm.ClassReader; import org.jetbrains.org.objectweb.asm.ClassVisitor; import org.jetbrains.org.objectweb.asm.Opcodes; import java.io.File; import java.io.IOException; -import java.io.InputStream; import java.util.HashMap; import java.util.Map; import java.util.jar.Manifest; @@ -51,10 +50,10 @@ public class IdeaDecompiler extends ClassFileDecompilers.Light { private static final Logger LOG = Logger.getInstance(IdeaDecompiler.class); private static final String BANNER = - "//\n" + - "// Source code recreated from a .class file by IntelliJ IDEA\n" + - "// (powered by Fernflower decompiler)\n" + - "//\n\n"; + "//\n" + + "// Source code recreated from a .class file by IntelliJ IDEA\n" + + "// (powered by Fernflower decompiler)\n" + + "//\n\n"; private final IFernflowerLogger myLogger = new IdeaLogger(); private final HashMap<String, Object> myOptions = new HashMap<String, Object>(); @@ -94,10 +93,10 @@ public class IdeaDecompiler extends ClassFileDecompilers.Light { files.put(child.getPath(), child); } } - MyByteCodeProvider provider = new MyByteCodeProvider(files); + MyBytecodeProvider provider = new MyBytecodeProvider(files); MyResultSaver saver = new MyResultSaver(); - IdeDecompiler decompiler = new IdeDecompiler(provider, saver, myLogger, myOptions); + BaseDecompiler decompiler = new BaseDecompiler(provider, saver, myOptions, myLogger); for (String path : files.keySet()) { decompiler.addSpace(new File(path), true); } @@ -149,20 +148,20 @@ public class IdeaDecompiler extends ClassFileDecompilers.Light { return true; } - private static class MyByteCodeProvider implements IBytecodeProvider { + private static class MyBytecodeProvider implements IBytecodeProvider { private final Map<String, VirtualFile> myFiles; - private MyByteCodeProvider(@NotNull Map<String, VirtualFile> files) { + private MyBytecodeProvider(@NotNull Map<String, VirtualFile> files) { myFiles = files; } @Override - public InputStream getBytecodeStream(String externalPath, String internalPath) { + public byte[] getBytecode(String externalPath, String internalPath) { try { String path = FileUtil.toSystemIndependentName(externalPath); VirtualFile file = myFiles.get(path); assert file != null : path; - return file.getInputStream(); + return file.contentsToByteArray(); } catch (IOException e) { throw new RuntimeException(e); @@ -170,7 +169,7 @@ public class IdeaDecompiler extends ClassFileDecompilers.Light { } } - private static class MyResultSaver implements IDecompilatSaver { + private static class MyResultSaver implements IResultSaver { private String myResult = ""; @Override @@ -181,25 +180,22 @@ public class IdeaDecompiler extends ClassFileDecompilers.Light { } @Override - public void copyFile(String source, String destPath, String destFileName) { } - - @Override public void saveFolder(String path) { } @Override - public void saveFile(String path, String filename, String content) { } + public void copyFile(String source, String path, String entryName) { } @Override public void createArchive(String path, String archiveName, Manifest manifest) { } @Override - public void saveClassEntry(String path, String archiveName, String qualifiedName, String entryName, String content) { } + public void saveDirEntry(String path, String archiveName, String entryName) { } @Override - public void saveEntry(String path, String archiveName, String entryName, String content) { } + public void copyEntry(String source, String path, String archiveName, String entry) { } @Override - public void copyEntry(String source, String destPath, String archiveName, String entry) { } + public void saveClassEntry(String path, String archiveName, String qualifiedName, String entryName, String content) { } @Override public void closeArchive(String path, String archiveName) { } |