From 663631f0456fcc245dd835889f86541d75161c53 Mon Sep 17 00:00:00 2001 From: Roman Shevchenko Date: Thu, 28 Aug 2014 20:52:43 +0400 Subject: java-decompiler: post-import cleanup (classes moved) --- .../decompiler/main/extern/IBytecodeProvider.java | 23 +++++++++ .../decompiler/main/extern/IDecompilatSaver.java | 39 +++++++++++++++ .../decompiler/main/extern/IFernflowerLogger.java | 56 +++++++++++++++++++++ .../main/extern/IFernflowerPreferences.java | 57 ++++++++++++++++++++++ .../decompiler/main/extern/IIdentifierRenamer.java | 20 ++++++++ 5 files changed, 195 insertions(+) create mode 100644 src/org/jetbrains/java/decompiler/main/extern/IBytecodeProvider.java create mode 100644 src/org/jetbrains/java/decompiler/main/extern/IDecompilatSaver.java create mode 100644 src/org/jetbrains/java/decompiler/main/extern/IFernflowerLogger.java create mode 100644 src/org/jetbrains/java/decompiler/main/extern/IFernflowerPreferences.java create mode 100644 src/org/jetbrains/java/decompiler/main/extern/IIdentifierRenamer.java (limited to 'src/org/jetbrains/java/decompiler/main/extern') diff --git a/src/org/jetbrains/java/decompiler/main/extern/IBytecodeProvider.java b/src/org/jetbrains/java/decompiler/main/extern/IBytecodeProvider.java new file mode 100644 index 0000000..6e13e51 --- /dev/null +++ b/src/org/jetbrains/java/decompiler/main/extern/IBytecodeProvider.java @@ -0,0 +1,23 @@ +/* + * Fernflower - The Analytical Java Decompiler + * http://www.reversed-java.com + * + * (C) 2008 - 2010, Stiver + * + * This software is NEITHER public domain NOR free software + * as per GNU License. See license.txt for more details. + * + * This software is distributed WITHOUT ANY WARRANTY; without + * even the implied warranty of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. + */ + +package org.jetbrains.java.decompiler.main.extern; + +import java.io.InputStream; + +public interface IBytecodeProvider { + + public InputStream getBytecodeStream(String externPath, String internPath); + +} diff --git a/src/org/jetbrains/java/decompiler/main/extern/IDecompilatSaver.java b/src/org/jetbrains/java/decompiler/main/extern/IDecompilatSaver.java new file mode 100644 index 0000000..855f95c --- /dev/null +++ b/src/org/jetbrains/java/decompiler/main/extern/IDecompilatSaver.java @@ -0,0 +1,39 @@ +/* + * Fernflower - The Analytical Java Decompiler + * http://www.reversed-java.com + * + * (C) 2008 - 2010, Stiver + * + * This software is NEITHER public domain NOR free software + * as per GNU License. See license.txt for more details. + * + * This software is distributed WITHOUT ANY WARRANTY; without + * even the implied warranty of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. + */ + +package org.jetbrains.java.decompiler.main.extern; + +import java.util.jar.Manifest; + +public interface IDecompilatSaver { + + public void copyFile(String source, String destpath, String destfilename); + + public void saveFolder(String path); + + public void saveClassFile(String path, String qualifiedName, String entryName, String content); + + public void saveFile(String path, String filename, String content); + + public void createArchive(String path, String archivename, Manifest manifest); + + public void saveClassEntry(String path, String archivename, String qualifiedName, String entryName, String content); + + public void saveEntry(String path, String archivename, String entryName, String content); + + public void copyEntry(String source, String destpath, String archivename, String entry); + + public void closeArchive(String path, String archivename); + +} diff --git a/src/org/jetbrains/java/decompiler/main/extern/IFernflowerLogger.java b/src/org/jetbrains/java/decompiler/main/extern/IFernflowerLogger.java new file mode 100644 index 0000000..eb1427c --- /dev/null +++ b/src/org/jetbrains/java/decompiler/main/extern/IFernflowerLogger.java @@ -0,0 +1,56 @@ +/* + * Fernflower - The Analytical Java Decompiler + * http://www.reversed-java.com + * + * (C) 2008 - 2010, Stiver + * + * This software is NEITHER public domain NOR free software + * as per GNU License. See license.txt for more details. + * + * This software is distributed WITHOUT ANY WARRANTY; without + * even the implied warranty of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. + */ + +package org.jetbrains.java.decompiler.main.extern; + +import java.util.HashMap; + +public interface IFernflowerLogger { + + public static final int TRACE = 1; + public static final int INFO = 2; + public static final int WARNING = 3; + public static final int ERROR = 4; + public static final int IMMEDIATE = 5; + + public static final HashMap mapLogLevel = new HashMap() {{ + put("TRACE", 1); + put("INFO", 2); + put("WARN", 3); + put("ERROR", 4); + put("IMME", 5); + }}; + + public static final String[] names = new String[] {""/*DUMMY ENTRY*/, "TRACE", "INFO", "WARNING", "ERROR", ""/*IMMEDIATE*/}; + + public void writeMessage(String message, int severity); + + public void writeMessage(String message, Throwable t); + + public void startClass(String classname); + + public void endClass(); + + public void startWriteClass(String classname); + + public void endWriteClass(); + + public void startMethod(String method); + + public void endMethod(); + + public int getSeverity(); + + public void setSeverity(int severity); +} diff --git a/src/org/jetbrains/java/decompiler/main/extern/IFernflowerPreferences.java b/src/org/jetbrains/java/decompiler/main/extern/IFernflowerPreferences.java new file mode 100644 index 0000000..9f19127 --- /dev/null +++ b/src/org/jetbrains/java/decompiler/main/extern/IFernflowerPreferences.java @@ -0,0 +1,57 @@ +/* + * Fernflower - The Analytical Java Decompiler + * http://www.reversed-java.com + * + * (C) 2008 - 2010, Stiver + * + * This software is NEITHER public domain NOR free software + * as per GNU License. See license.txt for more details. + * + * This software is distributed WITHOUT ANY WARRANTY; without + * even the implied warranty of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. + */ + +package org.jetbrains.java.decompiler.main.extern; + +public interface IFernflowerPreferences { + + public static final String REMOVE_BRIDGE = "rbr"; + public static final String REMOVE_SYNTHETIC = "rsy"; + public static final String DECOMPILE_INNER = "din"; + public static final String DECOMPILE_CLASS_1_4 = "dc4"; + public static final String DECOMPILE_ASSERTIONS = "das"; + public static final String HIDE_EMPTY_SUPER = "hes"; + public static final String HIDE_DEFAULT_CONSTRUCTOR = "hdc"; + public static final String DECOMPILE_GENERIC_SIGNATURES = "dgs"; + public static final String OUTPUT_COPYRIGHT_COMMENT = "occ"; + public static final String NO_EXCEPTIONS_RETURN = "ner"; + public static final String DECOMPILE_ENUM = "den"; + public static final String REMOVE_GETCLASS_NEW = "rgn"; + public static final String LITERALS_AS_IS = "lit"; + public static final String BOOLEAN_TRUE_ONE = "bto"; + public static final String SYNTHETIC_NOT_SET = "nns"; + public static final String UNDEFINED_PARAM_TYPE_OBJECT = "uto"; + public static final String USE_DEBUG_VARNAMES = "udv"; + public static final String MAX_PROCESSING_METHOD = "mpm"; + public static final String REMOVE_EMPTY_RANGES = "rer"; + public static final String ASCII_STRING_CHARACTERS = "asc"; + + public static final String FINALLY_DEINLINE = "fdi"; + + public static final String FINALLY_CATCHALL = "FINALLY_CATCHALL"; + public static final String FINALLY_SEMAPHOR = "FINALLY_SEMAPHOR"; + + public static final String RENAME_ENTITIES = "ren"; + public static final String USER_RENAMER_CLASS = "urc"; + + public static final String LOG_LEVEL = "log"; + + public static final String NEW_LINE_SEPARATOR = "nls"; + public static final String IDEA_NOT_NULL_ANNOTATION = "inn"; + public static final String LAMBDA_TO_ANONYMOUS_CLASS = "lac"; + public static final String INDENT_STRING = "ind"; + + public static final String LINE_SEPARATOR_WIN = "\r\n"; + public static final String LINE_SEPARATOR_LIN = "\n"; +} diff --git a/src/org/jetbrains/java/decompiler/main/extern/IIdentifierRenamer.java b/src/org/jetbrains/java/decompiler/main/extern/IIdentifierRenamer.java new file mode 100644 index 0000000..f379da6 --- /dev/null +++ b/src/org/jetbrains/java/decompiler/main/extern/IIdentifierRenamer.java @@ -0,0 +1,20 @@ +package org.jetbrains.java.decompiler.main.extern; + + +public interface IIdentifierRenamer { + + public static final int ELEMENT_CLASS = 1; + + public static final int ELEMENT_FIELD = 2; + + public static final int ELEMENT_METHOD = 3; + + + public boolean toBeRenamed(int element_type, String classname, String element, String descriptor); + + public String getNextClassname(String fullname, String shortname); + + public String getNextFieldname(String classname, String field, String descriptor); + + public String getNextMethodname(String classname, String method, String descriptor); +} -- cgit v1.2.3