commit e2d0f5d9c38561d67f23754c00addb4a3547efb2 Author: Stiver Date: Tue Mar 4 15:13:11 2014 +0100 initial commit diff --git a/.classpath b/.classpath new file mode 100644 index 0000000..544e389 --- /dev/null +++ b/.classpath @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/.project b/.project new file mode 100644 index 0000000..b2139d6 --- /dev/null +++ b/.project @@ -0,0 +1,17 @@ + + + Fernflower + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..3633df4 --- /dev/null +++ b/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,3 @@ +#Mon Oct 11 16:34:37 CEST 2010 +eclipse.preferences.version=1 +encoding//src/test/misc/en/InnerTest.java=UTF-8 diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..7341ab1 --- /dev/null +++ b/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.7 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.7 diff --git a/bin/.gitignore b/bin/.gitignore new file mode 100644 index 0000000..8dcfd95 --- /dev/null +++ b/bin/.gitignore @@ -0,0 +1,6 @@ +/HRTimerResolution.class +/SystemTimerResolution.class +/com +/de +/native +/test diff --git a/build.xml b/build.xml new file mode 100644 index 0000000..8f05de2 --- /dev/null +++ b/build.xml @@ -0,0 +1,131 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -injars "${fulldist}/${jar.file}" + -outjars "${obfuscateddist}/${jar.file}" + -libraryjars "${java.home}/lib/rt.jar" + + -forceprocessing + -repackageclasses + + + -optimizationpasses 5 + + -keep public class de.fernflower.main.decompiler.ConsoleDecompiler { + public protected *; + } + + -keep public class de.fernflower.main.decompiler.EclipseDecompiler { + public protected *; + } + + -keep public class de.fernflower.main.extern.* { + public protected *; + } + + + + + + + + + + -injars ${fulldist}/${jar.file} + -libraryjars ${java.home}/lib/rt.jar + + -dontoptimize + -dontobfuscate + -dontpreverify + -printusage + + + + -keep public class de.fernflower.main.decompiler.ConsoleDecompiler { + public protected *; + } + + -keep public class de.fernflower.main.decompiler.EclipseDecompiler { + public protected *; + } + + -keep public class de.fernflower.main.extern.* { + public protected *; + } + + + + + + + \ No newline at end of file diff --git a/dist/docs/license_en.txt b/dist/docs/license_en.txt new file mode 100644 index 0000000..4789841 --- /dev/null +++ b/dist/docs/license_en.txt @@ -0,0 +1,51 @@ +Fernflower Freeware License 1.0 + +This license applies to the Fernflower decompiler (hereafter “Software") +including any associated files, information and examples. + +You are hereby granted a non-exclusive and non-transferable license to +use and distribute the Software in binary form according to the following +terms and conditions. + + +1) Copies and Redistribution + +You may copy and distribute unmodified binary copies of the Software +provided that you keep this license intact. You must NOT charge money +or fees for the Software except to cover the absolutely necessary +distribution costs. + +Any other form of redistribution is prohibited. Especially you are not +allowed to redistribute the Software as part of any other software +collection or other product. + + +2) Use + +You may use the Software "as is" in any commercial or non-commercial environment +for any purpose. + + +3) Contact Information + +The sole author and owner of Fernflower is Stiver. Address all correspondence regarding +this license to: + +fernflower.decompiler@gmail.com + +http://www.reversed-java.com + + +4) Disclaimer of Warranty + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. diff --git a/dist/docs/lizenz_de.txt b/dist/docs/lizenz_de.txt new file mode 100644 index 0000000..a961e05 --- /dev/null +++ b/dist/docs/lizenz_de.txt @@ -0,0 +1,62 @@ +Fernflower Freeware Lizenz 1.0 + +Gegenstand der vorliegenden Lizenz ist der Fernflower Decompiler (im Folgenden "Software" genannt) +einschließlich aller dazu gehörenden Dateien, Informationen und Beispiele. + +Hiermit erhalten Sie eine nicht-ausschließliche und nicht-übertragbare Lizenz +für die Nutzung und Weitergabe der Software gemäß den nachfolgenden +Bedingungen. + + +1) Kopieren und Weitergeben + +Sie dürfen die Software kopieren und exakte Binärkopien unverändert +weitergeben, vorausgesetzt, diese Lizenz bleibt in der ursprünglichen Form +erhalten. Sie dürfen KEINE wie auch immer geartete Bezahlung oder Gebühren +für die Software verlangen, außer um die absolut unvermeidbaren Selbstkosten +der Weitergabe zu decken. + +Jede andere Form der Weitergabe ist untersagt. Insbesondere ist es nicht gestattet, +die Software als Teil einer anderen Softwaresammlung oder eines anderen Produktes +weiterzugeben. + + +2) Nutzung + +Sie können die Software beliebig in jeder kommerziellen oder nicht-kommerziellen Umgebung +zu jedem Zweck einsetzen. + + +3) Kontaktinformation + +Der einzige Autor und Eigentümer von Fernflower ist Stiver. Alle Rückfragen bezüglich dieser Lizenz +sind an + +fernflower.decompiler@gmail.com + +http://www.reversed-java.com + +zu richten. + + +4) GARANTIE- UND HAFTUNGSBESCHRÄNKUNGEN + +DIESE SOFTWARE WIRD IHNEN AUF DER GRUNDLAGE DES GEGENWÄRTIGEN ZUSTANDS ZUR +VERFÃœGUNG GESTELLT. ES GIBT KEINE GARANTIE, WEDER AUSDRÃœCKLICH NOCH IMPLIZIT. +DIES SCHLIEßT AUCH GARANTIEANSPRÃœCHE BEZÃœGLICH DER VERKAUFSQUALITÄT, +VERKÄUFLICHKEIT ODER EIGNUNG FÃœR EINEN BESTIMMTEN ZWECk AUS, ODER SOLCHE, DIE +DURCH GELTENDES RECHT, GESETZLICHE VORSCHRIFTEN, GESCHÄFTSGEBRAUCH ODER +HANDELSVERKEHR VERURSACHT WERDEN. DAS GESAMTE RISIKO IN BEZUG AUF DIE ERGEBNISSE +UND DIE LEISTUNG DES PROGRAMMS LIEGT BEI IHNEN. WEDER DER AUTOR NOCH IRGENDEIN +AN DEM PROJEKT BETEILIGTER HAT IRGENDEINE HAFTUNGSVERPFLICHTUNG IHNEN ODER +IRGENDEINER ANDEREN PERSON ODER INSTITUTION GEGENÃœBER FÃœR JEDWEDE INDIREKTE, +ZUFÄLLIGE, BESONDERE SCHÄDEN ODER IRGENDWELCHE FOLGESCHÄDEN. DIES GILT AUCH FÃœR +SCHÄDEN AUS ENTGANGENEM GEWINN, VERLORENEN ODER BESCHÄDIGTEN DATEN ODER FÃœR +ANDERE KOMMERZIELLE ODER WIRTSCHAFTLICHE VERLUSTE, SELBST DANN, WENN DER AUTOR +ODER IRGENDEIN AN DEM PROJEKT BETEILIGTER AUF DIE MÖGLICHKEIT DERARTIGER SCHÄDEN +HINGEWIESEN WURDE ODER DIESE VORHERSEHBAR WAREN, ODER FÃœR ANSPRÃœCHE DRITTER. DIE +HIER FESTGELEGTEN HAFTUNGSBESCHRÄNKUNGEN GELTEN UNABHÄNGUG DAVON, OB DER VERMEINTLICHE +ODER TATSÄCHLICHE VERTRAGSBRUCH EINE GRUNDSÄTZLICHE BEDINGUNG ODER +VERTRAGSVEREINBARUNG BERÃœHRT, ODER EIN GRUNDSÄTZLICHER VERTRAGSBRUCH IST. DIESER +ABSATZ IST EIN ESSENZIELLER TEIL DIESER LIZENZ. ES IST VERBOTEN DAS PROGRAMM ZU +BENUTZEN OHNE DASS DIESEM ABSATZ ZUGESTIMMT WIRD. diff --git a/dist/docs/readme.txt b/dist/docs/readme.txt new file mode 100644 index 0000000..b00a1f4 --- /dev/null +++ b/dist/docs/readme.txt @@ -0,0 +1,86 @@ +1. About the decompiler + +Fernflower is the first actually working analytical decompiler for Java and +probably for a high-level programming language in general. Naturally it is still +under development, please send your bug reports and improvement suggestions at +fernflower.decompiler@gmail.com + + +2. License + +See license_en.txt + + +3. Running from the command line + +java -jar fernflower.jar [-