diff options
Diffstat (limited to 'plugins/java-decompiler/src/org/jetbrains')
-rw-r--r-- | plugins/java-decompiler/src/org/jetbrains/java/decompiler/IdeaDecompiler.java | 44 | ||||
-rw-r--r-- | plugins/java-decompiler/src/org/jetbrains/java/decompiler/IdeaLogger.java | 24 |
2 files changed, 28 insertions, 40 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) { } diff --git a/plugins/java-decompiler/src/org/jetbrains/java/decompiler/IdeaLogger.java b/plugins/java-decompiler/src/org/jetbrains/java/decompiler/IdeaLogger.java index 904af9bf31b3..46a280cd315e 100644 --- a/plugins/java-decompiler/src/org/jetbrains/java/decompiler/IdeaLogger.java +++ b/plugins/java-decompiler/src/org/jetbrains/java/decompiler/IdeaLogger.java @@ -16,9 +16,9 @@ package org.jetbrains.java.decompiler; import com.intellij.openapi.diagnostic.Logger; -import de.fernflower.main.extern.IFernflowerLogger; +import org.jetbrains.java.decompiler.main.extern.IFernflowerLogger; -public class IdeaLogger implements IFernflowerLogger { +public class IdeaLogger extends IFernflowerLogger { private final static Logger LOG = Logger.getInstance(IdeaDecompiler.class); public static class InternalException extends RuntimeException { @@ -28,10 +28,10 @@ public class IdeaLogger implements IFernflowerLogger { } @Override - public void writeMessage(String message, int severity) { - if (severity >= ERROR) LOG.error(message); - else if (severity == WARNING) LOG.warn(message); - else if (severity == INFO) LOG.info(message); + public void writeMessage(String message, Severity severity) { + if (severity == Severity.ERROR) LOG.error(message); + else if (severity == Severity.WARN) LOG.warn(message); + else if (severity == Severity.INFO) LOG.info(message); else LOG.debug(message); } @@ -62,20 +62,12 @@ public class IdeaLogger implements IFernflowerLogger { } @Override - public void startMethod(String method) { - LOG.debug("processing method " + method); + public void startMethod(String methodName) { + LOG.debug("processing method " + methodName); } @Override public void endMethod() { LOG.debug("... method processed"); } - - @Override - public int getSeverity() { - return WARNING; - } - - @Override - public void setSeverity(int ignore) { } } |