git-svn-id: https://svn.code.sf.net/p/jode/code/tags/mergedstable@1060 379699f6-c40d-0410-875b-85095c16579emergedstable
parent
4375465cdc
commit
8d1b0b36d2
@ -0,0 +1,9 @@ |
|||||||
|
Makefile |
||||||
|
Makefile.in |
||||||
|
configure |
||||||
|
config.log |
||||||
|
config.cache |
||||||
|
config.status |
||||||
|
stamp-h |
||||||
|
libtool |
||||||
|
aclocal.m4 |
@ -0,0 +1 @@ |
|||||||
|
Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.DE> |
@ -0,0 +1,33 @@ |
|||||||
|
Before installing, make sure you have a java compiler (e.g javac or |
||||||
|
jikes) and the java 1.1 runtime class library installed. If you want |
||||||
|
to run this program you need at least a 1.1 compatible java virtual |
||||||
|
machine. There are some bugs in javac included in the SUN JDK 1.1, it |
||||||
|
won't work. |
||||||
|
|
||||||
|
This package was designed to use the GNU standard for configuration |
||||||
|
and makefiles. To build and install do the following: |
||||||
|
|
||||||
|
0). Make sure that you have all libraries that are needed in you |
||||||
|
classpath. You need gnu.getopt, and if you have JDK 1.1 you also need |
||||||
|
the collection classes and swing for 1.1. |
||||||
|
|
||||||
|
1). Run "aclocal && autoconf && automake --add-missing". |
||||||
|
|
||||||
|
2). Run the "configure" script to configure the package. There are |
||||||
|
various options you might want to pass to configure to control how the |
||||||
|
package is built. "configure --help" will give a complete list. |
||||||
|
|
||||||
|
If you have jikes, you should specify it with --with-jikes. You can |
||||||
|
give a path to the directory where it resides, otherwise it is |
||||||
|
searched in the path. |
||||||
|
|
||||||
|
3). Type "make" to build the package. If you don't have jikes, you |
||||||
|
should make clean first, since the dependency problem is not yet |
||||||
|
resolved. |
||||||
|
|
||||||
|
4). Type "make install" to install everything. This doesn't work yet. |
||||||
|
|
||||||
|
The created jar file is stored in the share directory. |
||||||
|
|
||||||
|
Jochen |
||||||
|
|
@ -0,0 +1,5 @@ |
|||||||
|
## Input file for automake to generate the Makefile.in used by configure
|
||||||
|
|
||||||
|
SUBDIRS = jode bin doc test
|
||||||
|
|
||||||
|
EXTRA_DIST = TODO
|
@ -0,0 +1,10 @@ |
|||||||
|
1.0.90 is a prerelease.. |
||||||
|
* First version using configure. Jode can now be almost automatically |
||||||
|
build, see INSTALL for instructions. |
||||||
|
* The decompiler can handler inner and anoymous classes. |
||||||
|
* You now need the gnu getopt package. |
||||||
|
* You need JDK 1.2 or alternatively the swing and collection packages |
||||||
|
for 1.1 |
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,106 @@ |
|||||||
|
takes class-files as input and produces something similar to the |
||||||
|
original java-File. Of course this can't be perfect: There is no way |
||||||
|
to produce the comments or the names of local variables (except when |
||||||
|
compiled with <code>-g</code>) and there are often more ways to write |
||||||
|
the same thing. But it does its job quite well.</P> |
||||||
|
|
||||||
|
<h2>Quick Test</h2> |
||||||
|
I have now an applet interface to the decompiler. |
||||||
|
<a href="jode-applet.html">Check it out</a>. |
||||||
|
|
||||||
|
<h2>How to get it</h2> |
||||||
|
<P>You can donwload the files in zip form. |
||||||
|
The <a href="jode_src.zip">sources</a> contain only the |
||||||
|
<code>java</code> files, the <a href="jode_cls.zip">classes</a> |
||||||
|
contain only the <code>class</code> files. </p> |
||||||
|
|
||||||
|
<p>I also have a <a href="jode.tar.gz">tar.gz file</a> containing only |
||||||
|
the <code>RCS</code> directories. This is the form I maintain the |
||||||
|
project, but you probably need unix and a few tools to use them.</p> |
||||||
|
|
||||||
|
<p>There are also some <a href="snapshot/">snapshots</a> that have new |
||||||
|
features like inner and anonymous classes. </p> |
||||||
|
|
||||||
|
<p><a href=".">Click here</a> to browse the files online. |
||||||
|
</p> |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h2>How to use it</h2> |
||||||
|
|
||||||
|
<p>I have some simple step by step pages. There are three |
||||||
|
possibilities: |
||||||
|
<ul> |
||||||
|
<li> <a href="jode-useapplet.html"> Using the applet version</a>. |
||||||
|
This can make problem due to java's security policy, but is the |
||||||
|
simplest way and works on most platforms. |
||||||
|
</li> |
||||||
|
<li> If you use Windows, you should look on <a |
||||||
|
href="jode-win.html">this page</a>.</li> |
||||||
|
<li> Unix users should look on <a href="jode-unix.html">this page</a>. |
||||||
|
</ul> |
||||||
|
|
||||||
|
<h2>Known bugs</h2> |
||||||
|
|
||||||
|
<p>There may be situations, where the code doesn't understand complex |
||||||
|
expressions. In this many ugly temporary variables are used, but the |
||||||
|
code should still be compileable. This does especially happen when |
||||||
|
you compile with `-O' flag and javac has inlined some methods. </p> |
||||||
|
|
||||||
|
<p>Sometimes this program may exit with an <code>Exception</code> or |
||||||
|
produce incorrect code. Most time the code can't be compiled, so that |
||||||
|
it can be easily spotted. If you have one of these problems (except |
||||||
|
those that occur on some of the <code>jode.test</code> files, I would |
||||||
|
be very interested in a bug report (including the <code>class</code> |
||||||
|
file, if possible).</p> |
||||||
|
|
||||||
|
<p>Sometimes it generates some <code>GOTO</code> expression and |
||||||
|
labels. This can't be compiled, but shouldn't happen any more with |
||||||
|
javac or jikes.</p> |
||||||
|
|
||||||
|
<p>It doesn't handle inner and anonymous classes, yet. You can |
||||||
|
decompile them separately, though (use `<code>+$</code>' switch under |
||||||
|
jikes), but there is a bug in javac, so that a final variable is twice |
||||||
|
initialized. If you encounter this problem just remove the doubled |
||||||
|
line by hand. </p> |
||||||
|
|
||||||
|
<p><b>New!</b> The latest <a href="snapshot">snapshot</a> can handle |
||||||
|
inner and anonymous classes.</p> |
||||||
|
|
||||||
|
|
||||||
|
<h2>Why did I wrote it?</h2> |
||||||
|
|
||||||
|
<p>Someday I found <code>guavad</code>, a disassembler for java byte |
||||||
|
code (it does similar things like <code>javap -c</code>). I used |
||||||
|
it on a class file, and found that it was possible to reconstruct the |
||||||
|
original java code. First I did it by hand on some small routines, |
||||||
|
but I soon realized that it was a rather stupid task, and that I could |
||||||
|
write a <a href="../perl/dasm_to_java.perl"><code>perl</code> script</a> |
||||||
|
that does the same. At the end of the next day I had a working |
||||||
|
decompiler.</p> |
||||||
|
|
||||||
|
<p>Now while it was working, it was not easy to use. You had to |
||||||
|
decompile the code first with a disassembler, cut the method, you |
||||||
|
wanted to decompile and then run the perl script on it. So I decided |
||||||
|
to get some information of the class files and do this all |
||||||
|
automatically. I decided to write it in <code>java</code> now, |
||||||
|
because it suited best.</p> |
||||||
|
|
||||||
|
<p>Just for the records: the java code is now more than 50 times |
||||||
|
bigger than the original perl script and is still growing.</p> |
||||||
|
|
||||||
|
<h2>License</h2> |
||||||
|
|
||||||
|
<p>This code is under GNU GPL. That basically means, that you can copy |
||||||
|
or modify this code, as long as you put all your modification under |
||||||
|
the GPL again. <A HREF="http://www.gnu.org/copyleft/gpl.html"> Look |
||||||
|
here for the complete license</a>.</p> |
||||||
|
|
||||||
|
<hr> |
||||||
|
|
||||||
|
<p><A HREF="mailto:Jochen.Hoenicke@Informatik.Uni-Oldenburg.DE"> |
||||||
|
http://www.informatik.uni-oldenburg.de/~delwi/jode/jode.html</A>, last |
||||||
|
updated on <em>17-Jun-1999</em>.</p> |
||||||
|
|
||||||
|
</body> |
||||||
|
</html> |
@ -0,0 +1,44 @@ |
|||||||
|
dnl |
||||||
|
dnl Add macros |
||||||
|
dnl JODE_CHECK_JAVA |
||||||
|
dnl |
||||||
|
|
||||||
|
dnl JODE_CHECK_JAVA(path) |
||||||
|
AC_DEFUN(JODE_CHECK_JAVA, |
||||||
|
[ |
||||||
|
AC_PATH_PROG(JAVA, java, "", $1/bin:$1/jre/bin:$PATH) |
||||||
|
AC_PATH_PROG(JAVAC, javac, "", $1/bin:$PATH) |
||||||
|
AC_PATH_PROG(JAR, jar, "", $1/bin:$PATH) |
||||||
|
for path in $1/lib $1/jre/lib $1/shared; do |
||||||
|
for classlib in classes.zip rt.jar; do |
||||||
|
AC_CHECK_FILES($path/$classlib, |
||||||
|
[ CLASSLIB=$path/$classlib |
||||||
|
break 3 |
||||||
|
], [ true ]) |
||||||
|
done |
||||||
|
done |
||||||
|
AC_SUBST(CLASSPATH) |
||||||
|
AC_SUBST(CLASSLIB) |
||||||
|
]) |
||||||
|
|
||||||
|
AC_DEFUN(JODE_CHECK_CLASS, |
||||||
|
[ |
||||||
|
if (IFS=":" |
||||||
|
clazz=`echo $1 | sed -e 's/\./\//g' -e 's/\(.*\)/\1.class/'` |
||||||
|
jode_found=0 |
||||||
|
for path in $2; do |
||||||
|
if test -d $path; then |
||||||
|
if test -e $path/$clazz; then |
||||||
|
exit 0 |
||||||
|
fi |
||||||
|
elif $UNZIP -v -C $path $clazz &>/dev/null ; then |
||||||
|
exit 0 |
||||||
|
fi |
||||||
|
done; |
||||||
|
exit 1) |
||||||
|
then |
||||||
|
$3 |
||||||
|
else |
||||||
|
$4 |
||||||
|
fi |
||||||
|
]) |
@ -0,0 +1,2 @@ |
|||||||
|
Makefile |
||||||
|
Makefile.in |
@ -0,0 +1,4 @@ |
|||||||
|
## Input file for automake to generate the Makefile.in used by configure
|
||||||
|
|
||||||
|
bin_SCRIPTS = jode
|
||||||
|
|
@ -0,0 +1,14 @@ |
|||||||
|
#!@SHELL@ |
||||||
|
prefix=@prefix@ |
||||||
|
|
||||||
|
case $1 in |
||||||
|
[Ss]wi*) CLAZZ=jode.swingui.Main; shift ;; |
||||||
|
[Dd]ec*) CLAZZ=jode.Decompiler; shift ;; |
||||||
|
[Oo]bf*) CLAZZ=jode.obfuscator.Main; shift ;; |
||||||
|
*) CLAZZ=jode.Decompiler ;; |
||||||
|
esac |
||||||
|
|
||||||
|
|
||||||
|
CP=`echo $CLASSPATH | sed s/:/,/` |
||||||
|
CLASSPATH=@datadir@/jode-@VERSION@.jar:@CLASSPATH@ \ |
||||||
|
@JAVA@ $CLAZZ --classpath $CP $* |
@ -0,0 +1,139 @@ |
|||||||
|
dnl Process this file with autoconf to produce a configure script. |
||||||
|
AC_INIT() |
||||||
|
|
||||||
|
AM_INIT_AUTOMAKE(jode, 1.0.90) |
||||||
|
|
||||||
|
dnl Checks for programs. |
||||||
|
dnl AC_PROG_CXX |
||||||
|
dnl AC_PROG_AWK |
||||||
|
dnl AC_PROG_CC |
||||||
|
dnl AC_PROG_CPP |
||||||
|
dnl AC_PROG_INSTALL |
||||||
|
dnl AC_PROG_LN_S |
||||||
|
AC_PROG_MAKE_SET |
||||||
|
dnl AC_PROG_RANLIB |
||||||
|
dnl AC_PATH_PROG(ZIP, zip) |
||||||
|
AC_PATH_PROG(UNZIP, unzip) |
||||||
|
|
||||||
|
dnl Checks for libraries. |
||||||
|
|
||||||
|
dnl Checks for header files. |
||||||
|
|
||||||
|
dnl Checks for typedefs, structures, and compiler characteristics. |
||||||
|
|
||||||
|
dnl Checks for library functions. |
||||||
|
|
||||||
|
dnl hack to quote Makefile lines |
||||||
|
QUOTE="" |
||||||
|
AC_SUBST(QUOTE) |
||||||
|
|
||||||
|
AC_SUBST(SHELL) |
||||||
|
|
||||||
|
AC_ARG_WITH(java, |
||||||
|
[ --with-java specify path to a java-like program ], |
||||||
|
[ |
||||||
|
if test ${withval} != "" || test ${withval} != "yes" || test ${withval} != "no"; then |
||||||
|
# set javac to user input value |
||||||
|
JODE_CHECK_JAVA(${withval}) |
||||||
|
else |
||||||
|
JODE_CHECK_JAVA(/usr/lib/java) |
||||||
|
fi |
||||||
|
], |
||||||
|
[ |
||||||
|
JODE_CHECK_JAVA(/usr/lib/java) |
||||||
|
]) |
||||||
|
|
||||||
|
dnl jikes can also handle dependancies. |
||||||
|
AC_ARG_WITH(jikes, |
||||||
|
[ --with-jikes specify location of jikes ], |
||||||
|
[ |
||||||
|
USER_SPECIFIED_JIKES=true |
||||||
|
if test "${withval}" = "yes" || test "${withval}" = ""; then |
||||||
|
AC_PATH_PROG(JIKES, jikes, "", $PATH) |
||||||
|
else |
||||||
|
echo "searching jikes in ${withval}:$PATH" |
||||||
|
AC_PATH_PROG(JIKES, jikes, "", ${withval}:$PATH) |
||||||
|
fi |
||||||
|
if test -n "$JIKES"; then |
||||||
|
JAVAC=$JIKES |
||||||
|
fi |
||||||
|
], |
||||||
|
[ |
||||||
|
USER_SPECIFIED_JIKES= |
||||||
|
AC_PATH_PROG(JIKES, jikes, "", $PATH) |
||||||
|
]) |
||||||
|
AM_CONDITIONAL(HAVE_JIKES, test x"$JIKES" != x) |
||||||
|
|
||||||
|
AC_ARG_WITH(javac, |
||||||
|
[ --with-javac specify location of javac ], |
||||||
|
[ |
||||||
|
if test x$USER_SPECIFIED_JIKES == xtrue; then |
||||||
|
AC_MSG_ERROR(You must only give one option --with-javac or --with-jikes) |
||||||
|
fi |
||||||
|
if test ${withval} != "" || test ${withval} != "yes" || test ${withval} != "no"; then |
||||||
|
AC_CHECK_FILES(${withval}, |
||||||
|
[ JAVAC=${withval} ], |
||||||
|
[ AC_MSG_ERROR(${withval} does not exists) ]) |
||||||
|
fi |
||||||
|
], [ true ]) |
||||||
|
|
||||||
|
JODE_CHECK_CLASS(java.lang.Object, $CLASSLIB, |
||||||
|
[ true ], |
||||||
|
[ AC_MSG_ERROR(Please specify location of java class library for jikes) ]) |
||||||
|
|
||||||
|
AC_MSG_CHECKING(for collection classes) |
||||||
|
JODE_CHECK_CLASS(java.util.Set, $CLASSPATH:$CLASSLIB, |
||||||
|
[ COLLECTIONS="java.util" ], |
||||||
|
[ JODE_CHECK_CLASS(com.sun.java.util.collections.Set, $CLASSPATH:$CLASSLIB, |
||||||
|
[ COLLECTIONS="com.sun.java.util.collections" ], |
||||||
|
[ AC_MSG_RESULT(no) |
||||||
|
AC_MSG_ERROR(You need the Java 1.2 collection classes in your classpath) |
||||||
|
]) |
||||||
|
] ) |
||||||
|
AC_MSG_RESULT($COLLECTIONS) |
||||||
|
AC_SUBST(COLLECTIONS) |
||||||
|
|
||||||
|
AC_MSG_CHECKING(for gnu.getopt) |
||||||
|
JODE_CHECK_CLASS(gnu.getopt.Getopt, $CLASSPATH:$CLASSLIB, |
||||||
|
[ AC_MSG_RESULT(yes) ], |
||||||
|
[ AC_MSG_RESULT(no) |
||||||
|
AC_MSG_ERROR(You need gnu getopt for java.) ]) |
||||||
|
|
||||||
|
AC_MSG_CHECKING(for swing) |
||||||
|
JODE_CHECK_CLASS(javax.swing.JFrame, $CLASSPATH:$CLASSLIB, |
||||||
|
[ JAVAX_SWING="javax.swing" ], |
||||||
|
[ JODE_CHECK_CLASS(com.sun.swing.JFrame, $CLASSPATH:$CLASSLIB, |
||||||
|
[ JAVAX_SWING="com.sun.java.swing" ], |
||||||
|
[ JAVAX_SWING="no" ]) ] ) |
||||||
|
AC_MSG_RESULT($JAVAX_SWING) |
||||||
|
AC_SUBST(JAVAX_SWING) |
||||||
|
if test x"$JAVAX_SWING" != x; then |
||||||
|
SWINGUI="swingui" |
||||||
|
else |
||||||
|
AC_MSG_WARN(Swing is not in classpath ... skipping swingui) |
||||||
|
SWINGUI="" |
||||||
|
fi |
||||||
|
AC_SUBST(SWINGUI) |
||||||
|
|
||||||
|
AC_SUBST(CLASSPATH) |
||||||
|
AC_SUBST(JAVAC) |
||||||
|
|
||||||
|
AC_OUTPUT(Makefile |
||||||
|
jode/Makefile |
||||||
|
jode/bytecode/Makefile |
||||||
|
jode/decompiler/Makefile |
||||||
|
jode/expr/Makefile |
||||||
|
jode/flow/Makefile |
||||||
|
jode/jvm/Makefile |
||||||
|
jode/obfuscator/Makefile |
||||||
|
jode/swingui/Makefile |
||||||
|
jode/type/Makefile |
||||||
|
jode/util/Makefile |
||||||
|
jode/GlobalOptions.java |
||||||
|
jode/swingui/Main.java |
||||||
|
jode/swingui/PackagesTreeModel.java |
||||||
|
bin/Makefile |
||||||
|
bin/jode |
||||||
|
doc/Makefile |
||||||
|
test/Makefile) |
||||||
|
|
@ -0,0 +1,2 @@ |
|||||||
|
Makefile |
||||||
|
Makefile.in |
@ -0,0 +1,5 @@ |
|||||||
|
## Input file for automake to generate the Makefile.in used by configure
|
||||||
|
|
||||||
|
EXTRA_DIST = \
|
||||||
|
jode.html jode-applet.html jode-obfuscator.html jode-unix.html \
|
||||||
|
jode-useapplet.html jode-win.html
|
@ -0,0 +1,4 @@ |
|||||||
|
Makefile |
||||||
|
Makefile.in |
||||||
|
.java.deps |
||||||
|
jode.jar |
@ -0,0 +1,54 @@ |
|||||||
|
## Input file for automake to generate the Makefile.in used by configure
|
||||||
|
|
||||||
|
SUBDIRS = bytecode type util jvm expr flow decompiler obfuscator @SWINGUI@
|
||||||
|
|
||||||
|
JAR = @JAR@
|
||||||
|
JAVAC = @JAVAC@
|
||||||
|
JIKES = @JIKES@
|
||||||
|
CLASSPATH = @CLASSPATH@
|
||||||
|
CLASSLIB = @CLASSLIB@
|
||||||
|
BUILD_CLASSPATH = $(top_srcdir):$(top_builddir):.:$(CLASSPATH):$(CLASSLIB)
|
||||||
|
VPATH=$(srcdir):$(top_srcdir):$(top_builddir)
|
||||||
|
|
||||||
|
MY_JAVA_FILES = \
|
||||||
|
AssertError.java \
|
||||||
|
Decompiler.java \
|
||||||
|
GlobalOptions.java \
|
||||||
|
JodeApplet.java \
|
||||||
|
JodeWindow.java
|
||||||
|
|
||||||
|
noinst_DATA = $(MY_JAVA_FILES:.java=.class)
|
||||||
|
EXTRA_DIST = $(MY_JAVA_FILES)
|
||||||
|
|
||||||
|
|
||||||
|
JARFILE = jode-@VERSION@.jar
|
||||||
|
data_DATA = $(JARFILE)
|
||||||
|
|
||||||
|
if HAVE_JIKES |
||||||
|
|
||||||
|
@QUOTE@-include $(top_builddir)/jode/.java.deps |
||||||
|
|
||||||
|
%.class: %.java |
||||||
|
$(JIKES) -classpath $(BUILD_CLASSPATH):$(CLASSLIB) +M=$(top_builddir)/jode/.java.deps -d $(top_builddir) $<
|
||||||
|
|
||||||
|
else |
||||||
|
|
||||||
|
%.class: %.java |
||||||
|
$(JAVAC) -classpath $(BUILD_CLASSPATH):$(CLASSLIB) -depend -d $(top_builddir) $<
|
||||||
|
|
||||||
|
endif |
||||||
|
|
||||||
|
clean-local: |
||||||
|
@rm -f *.class
|
||||||
|
@rm -f $(JARFILE) .java.deps
|
||||||
|
|
||||||
|
$(JARFILE): $(noinst_DATA) |
||||||
|
CLASSPATH=$(top_builddir):$(CLASSPATH) $(JAVA) -mx80m \
|
||||||
|
jode.obfuscator.Main --dest $(JARFILE) \
|
||||||
|
--revtable rename.table \
|
||||||
|
--rename=none --breakserial --strip=unreach -v -v \
|
||||||
|
--preserve 'jode.Decompiler.main.*' \
|
||||||
|
--preserve 'jode.JodeApplet.<init>.*' \
|
||||||
|
--preserve 'jode.JodeWindow.main.*' \
|
||||||
|
--preserve 'jode.obfuscator.Main.main.*' \
|
||||||
|
--preserve 'jode.swingui.Main.main.*' jode
|
@ -0,0 +1,2 @@ |
|||||||
|
Makefile |
||||||
|
Makefile.in |
@ -0,0 +1,46 @@ |
|||||||
|
## Input file for automake to generate the Makefile.in used by configure
|
||||||
|
|
||||||
|
JAR = @JAR@
|
||||||
|
JAVAC = @JAVAC@
|
||||||
|
JIKES = @JIKES@
|
||||||
|
CLASSPATH = @CLASSPATH@
|
||||||
|
CLASSLIB = @CLASSLIB@
|
||||||
|
BUILD_CLASSPATH = $(top_srcdir):$(top_builddir):$(CLASSPATH):$(CLASSLIB)
|
||||||
|
|
||||||
|
MY_JAVA_FILES = \
|
||||||
|
BinaryInfo.java \
|
||||||
|
BytecodeInfo.java \
|
||||||
|
ClassFormatException.java \
|
||||||
|
ClassInfo.java \
|
||||||
|
ConstantPool.java \
|
||||||
|
FieldInfo.java \
|
||||||
|
GrowableConstantPool.java \
|
||||||
|
Handler.java \
|
||||||
|
InnerClassInfo.java \
|
||||||
|
Instruction.java \
|
||||||
|
LineNumber.java \
|
||||||
|
LocalVariableInfo.java \
|
||||||
|
MethodInfo.java \
|
||||||
|
Opcodes.java \
|
||||||
|
Reference.java \
|
||||||
|
SearchPath.java
|
||||||
|
|
||||||
|
noinst_DATA = $(MY_JAVA_FILES:.java=.class)
|
||||||
|
EXTRA_DIST = $(MY_JAVA_FILES)
|
||||||
|
|
||||||
|
if HAVE_JIKES |
||||||
|
|
||||||
|
@QUOTE@-include $(top_builddir)/jode/.java.deps |
||||||
|
|
||||||
|
%.class: %.java |
||||||
|
$(JIKES) -classpath $(BUILD_CLASSPATH):$(CLASSLIB) +M=$(top_builddir)/jode/.java.deps -d $(top_builddir) $<
|
||||||
|
|
||||||
|
else |
||||||
|
|
||||||
|
%.class: %.java |
||||||
|
$(JAVAC) -classpath $(BUILD_CLASSPATH):$(CLASSLIB) -depend -d $(top_builddir) $<
|
||||||
|
|
||||||
|
endif |
||||||
|
|
||||||
|
clean-local: |
||||||
|
@rm -f *.class
|
@ -0,0 +1,2 @@ |
|||||||
|
Makefile |
||||||
|
Makefile.in |
@ -0,0 +1,46 @@ |
|||||||
|
## Input file for automake to generate the Makefile.in used by configure
|
||||||
|
|
||||||
|
JAR = @JAR@
|
||||||
|
JAVAC = @JAVAC@
|
||||||
|
JIKES = @JIKES@
|
||||||
|
CLASSPATH = @CLASSPATH@
|
||||||
|
CLASSLIB = @CLASSLIB@
|
||||||
|
BUILD_CLASSPATH = $(top_srcdir):$(top_builddir):$(CLASSPATH):$(CLASSLIB)
|
||||||
|
|
||||||
|
MY_JAVA_FILES = \
|
||||||
|
Analyzer.java \
|
||||||
|
ClassAnalyzer.java \
|
||||||
|
ClassDeclarer.java \
|
||||||
|
DeadCodeAnalysis.java \
|
||||||
|
Declarable.java \
|
||||||
|
FieldAnalyzer.java \
|
||||||
|
ImportHandler.java \
|
||||||
|
LocalInfo.java \
|
||||||
|
LocalVarEntry.java \
|
||||||
|
LocalVariableRangeList.java \
|
||||||
|
LocalVariableTable.java \
|
||||||
|
MethodAnalyzer.java \
|
||||||
|
Opcodes.java \
|
||||||
|
OuterValueListener.java \
|
||||||
|
Scope.java \
|
||||||
|
TabbedPrintWriter.java
|
||||||
|
|
||||||
|
noinst_DATA = $(MY_JAVA_FILES:.java=.class)
|
||||||
|
EXTRA_DIST = $(MY_JAVA_FILES)
|
||||||
|
|
||||||
|
if HAVE_JIKES |
||||||
|
|
||||||
|
@QUOTE@-include $(top_builddir)/jode/.java.deps |
||||||
|
|
||||||
|
%.class: %.java |
||||||
|
$(JIKES) -classpath $(BUILD_CLASSPATH):$(CLASSLIB) +M=$(top_builddir)/jode/.java.deps -d $(top_builddir) $<
|
||||||
|
|
||||||
|
else |
||||||
|
|
||||||
|
%.class: %.java |
||||||
|
$(JAVAC) -classpath $(BUILD_CLASSPATH):$(CLASSLIB) -depend -d $(top_builddir) $<
|
||||||
|
|
||||||
|
endif |
||||||
|
|
||||||
|
clean-local: |
||||||
|
@rm -f *.class
|
@ -0,0 +1,2 @@ |
|||||||
|
Makefile |
||||||
|
Makefile.in |
@ -0,0 +1,73 @@ |
|||||||
|
## Input file for automake to generate the Makefile.in used by configure
|
||||||
|
|
||||||
|
JAR = @JAR@
|
||||||
|
JAVAC = @JAVAC@
|
||||||
|
JIKES = @JIKES@
|
||||||
|
CLASSPATH = @CLASSPATH@
|
||||||
|
CLASSLIB = @CLASSLIB@
|
||||||
|
BUILD_CLASSPATH = $(top_srcdir):$(top_builddir):$(CLASSPATH):$(CLASSLIB)
|
||||||
|
|
||||||
|
MY_JAVA_FILES = \
|
||||||
|
ArrayLengthOperator.java \
|
||||||
|
ArrayLoadOperator.java \
|
||||||
|
ArrayStoreOperator.java \
|
||||||
|
BinaryOperator.java \
|
||||||
|
CheckCastOperator.java \
|
||||||
|
CheckNullOperator.java \
|
||||||
|
ClassFieldOperator.java \
|
||||||
|
CombineableOperator.java \
|
||||||
|
CompareBinaryOperator.java \
|
||||||
|
CompareToIntOperator.java \
|
||||||
|
CompareUnaryOperator.java \
|
||||||
|
ConstOperator.java \
|
||||||
|
ConstantArrayOperator.java \
|
||||||
|
ConstructorOperator.java \
|
||||||
|
ConvertOperator.java \
|
||||||
|
Expression.java \
|
||||||
|
GetFieldOperator.java \
|
||||||
|
IIncOperator.java \
|
||||||
|
IfThenElseOperator.java \
|
||||||
|
InstanceOfOperator.java \
|
||||||
|
InvokeOperator.java \
|
||||||
|
LValueExpression.java \
|
||||||
|
LocalLoadOperator.java \
|
||||||
|
LocalStoreOperator.java \
|
||||||
|
LocalVarOperator.java \
|
||||||
|
MatchableOperator.java \
|
||||||
|
MonitorEnterOperator.java \
|
||||||
|
MonitorExitOperator.java \
|
||||||
|
NewArrayOperator.java \
|
||||||
|
NewOperator.java \
|
||||||
|
NoArgOperator.java \
|
||||||
|
NopOperator.java \
|
||||||
|
Operator.java \
|
||||||
|
OuterLocalOperator.java \
|
||||||
|
PopOperator.java \
|
||||||
|
PrePostFixOperator.java \
|
||||||
|
PutFieldOperator.java \
|
||||||
|
ShiftOperator.java \
|
||||||
|
SimpleOperator.java \
|
||||||
|
StoreInstruction.java \
|
||||||
|
StringAddOperator.java \
|
||||||
|
ThisOperator.java \
|
||||||
|
UnaryOperator.java
|
||||||
|
|
||||||
|
noinst_DATA = $(MY_JAVA_FILES:.java=.class)
|
||||||
|
EXTRA_DIST = $(MY_JAVA_FILES)
|
||||||
|
|
||||||
|
if HAVE_JIKES |
||||||
|
|
||||||
|
@QUOTE@-include $(top_builddir)/jode/.java.deps |
||||||
|
|
||||||
|
%.class: %.java |
||||||
|
$(JIKES) -classpath $(BUILD_CLASSPATH):$(CLASSLIB) +M=$(top_builddir)/jode/.java.deps -d $(top_builddir) $<
|
||||||
|
|
||||||
|
else |
||||||
|
|
||||||
|
%.class: %.java |
||||||
|
$(JAVAC) -classpath $(BUILD_CLASSPATH):$(CLASSLIB) -depend -d $(top_builddir) $<
|
||||||
|
|
||||||
|
endif |
||||||
|
|
||||||
|
clean-local: |
||||||
|
@rm -f *.class
|
@ -0,0 +1,2 @@ |
|||||||
|
Makefile |
||||||
|
Makefile.in |
@ -0,0 +1,70 @@ |
|||||||
|
## Input file for automake to generate the Makefile.in used by configure
|
||||||
|
|
||||||
|
JAR = @JAR@
|
||||||
|
JAVAC = @JAVAC@
|
||||||
|
JIKES = @JIKES@
|
||||||
|
CLASSPATH = @CLASSPATH@
|
||||||
|
CLASSLIB = @CLASSLIB@
|
||||||
|
BUILD_CLASSPATH = $(top_srcdir):$(top_builddir):$(CLASSPATH):$(CLASSLIB)
|
||||||
|
|
||||||
|
MY_JAVA_FILES = \
|
||||||
|
BreakBlock.java \
|
||||||
|
BreakableBlock.java \
|
||||||
|
CaseBlock.java \
|
||||||
|
CatchBlock.java \
|
||||||
|
CombineIfGotoExpressions.java \
|
||||||
|
CompleteSynchronized.java \
|
||||||
|
ConditionalBlock.java \
|
||||||
|
ContinueBlock.java \
|
||||||
|
CreateAssignExpression.java \
|
||||||
|
CreateCheckNull.java \
|
||||||
|
CreateClassField.java \
|
||||||
|
CreateConstantArray.java \
|
||||||
|
CreateExpression.java \
|
||||||
|
CreateForInitializer.java \
|
||||||
|
CreateIfThenElseOperator.java \
|
||||||
|
CreateNewConstructor.java \
|
||||||
|
CreatePrePostIncExpression.java \
|
||||||
|
DescriptionBlock.java \
|
||||||
|
EmptyBlock.java \
|
||||||
|
FinallyBlock.java \
|
||||||
|
FlowBlock.java \
|
||||||
|
IfThenElseBlock.java \
|
||||||
|
InstructionBlock.java \
|
||||||
|
InstructionContainer.java \
|
||||||
|
JsrBlock.java \
|
||||||
|
Jump.java \
|
||||||
|
LoopBlock.java \
|
||||||
|
RetBlock.java \
|
||||||
|
ReturnBlock.java \
|
||||||
|
SequentialBlock.java \
|
||||||
|
SpecialBlock.java \
|
||||||
|
StructuredBlock.java \
|
||||||
|
SwitchBlock.java \
|
||||||
|
SynchronizedBlock.java \
|
||||||
|
ThrowBlock.java \
|
||||||
|
TransformConstructors.java \
|
||||||
|
TransformExceptionHandlers.java \
|
||||||
|
TryBlock.java \
|
||||||
|
VariableSet.java \
|
||||||
|
VariableStack.java
|
||||||
|
|
||||||
|
noinst_DATA = $(MY_JAVA_FILES:.java=.class)
|
||||||
|
EXTRA_DIST = $(MY_JAVA_FILES)
|
||||||
|
|
||||||
|
if HAVE_JIKES |
||||||
|
|
||||||
|
@QUOTE@-include $(top_builddir)/jode/.java.deps |
||||||
|
|
||||||
|
%.class: %.java |
||||||
|
$(JIKES) -classpath $(BUILD_CLASSPATH):$(CLASSLIB) +M=$(top_builddir)/jode/.java.deps -d $(top_builddir) $<
|
||||||
|
|
||||||
|
else |
||||||
|
|
||||||
|
%.class: %.java |
||||||
|
$(JAVAC) -classpath $(BUILD_CLASSPATH):$(CLASSLIB) -depend -d $(top_builddir) $<
|
||||||
|
|
||||||
|
endif |
||||||
|
|
||||||
|
clean-local: |
||||||
|
@rm -f *.class
|
@ -0,0 +1,2 @@ |
|||||||
|
Makefile |
||||||
|
Makefile.in |
@ -0,0 +1,39 @@ |
|||||||
|
## Input file for automake to generate the Makefile.in used by configure
|
||||||
|
|
||||||
|
JAR = @JAR@
|
||||||
|
JAVAC = @JAVAC@
|
||||||
|
JIKES = @JIKES@
|
||||||
|
CLASSPATH = @CLASSPATH@
|
||||||
|
CLASSLIB = @CLASSLIB@
|
||||||
|
BUILD_CLASSPATH = $(top_srcdir):$(top_builddir):$(CLASSPATH):$(CLASSLIB)
|
||||||
|
|
||||||
|
MY_JAVA_FILES = \
|
||||||
|
CodeVerifier.java \
|
||||||
|
Interpreter.java \
|
||||||
|
InterpreterException.java \
|
||||||
|
NewObject.java \
|
||||||
|
RuntimeEnvironment.java \
|
||||||
|
SimpleRuntimeEnvironment.java \
|
||||||
|
SyntheticAnalyzer.java \
|
||||||
|
Value.java \
|
||||||
|
VerifyException.java
|
||||||
|
|
||||||
|
noinst_DATA = $(MY_JAVA_FILES:.java=.class)
|
||||||
|
EXTRA_DIST = $(MY_JAVA_FILES)
|
||||||
|
|
||||||
|
if HAVE_JIKES |
||||||
|
|
||||||
|
@QUOTE@-include $(top_builddir)/jode/.java.deps |
||||||
|
|
||||||
|
%.class: %.java |
||||||
|
$(JIKES) -classpath $(BUILD_CLASSPATH):$(CLASSLIB) +M=$(top_builddir)/jode/.java.deps -d $(top_builddir) $<
|
||||||
|
|
||||||
|
else |
||||||
|
|
||||||
|
%.class: %.java |
||||||
|
$(JAVAC) -classpath $(BUILD_CLASSPATH):$(CLASSLIB) -depend -d $(top_builddir) $<
|
||||||
|
|
||||||
|
endif |
||||||
|
|
||||||
|
clean-local: |
||||||
|
@rm -f *.class
|
@ -0,0 +1,2 @@ |
|||||||
|
Makefile |
||||||
|
Makefile.in |
@ -0,0 +1,53 @@ |
|||||||
|
## Input file for automake to generate the Makefile.in used by configure
|
||||||
|
|
||||||
|
JAR = @JAR@
|
||||||
|
JAVAC = @JAVAC@
|
||||||
|
JIKES = @JIKES@
|
||||||
|
CLASSPATH = @CLASSPATH@
|
||||||
|
CLASSLIB = @CLASSLIB@
|
||||||
|
BUILD_CLASSPATH = $(top_srcdir):$(top_builddir):$(CLASSPATH):$(CLASSLIB)
|
||||||
|
|
||||||
|
MY_JAVA_FILES = \
|
||||||
|
ClassBundle.java \
|
||||||
|
ClassIdentifier.java \
|
||||||
|
CodeAnalyzer.java \
|
||||||
|
CodeTransformer.java \
|
||||||
|
ConstantAnalyzer.java \
|
||||||
|
ConstantRuntimeEnvironment.java \
|
||||||
|
FieldIdentifier.java \
|
||||||
|
Identifier.java \
|
||||||
|
IdentifierMatcher.java \
|
||||||
|
LocalIdentifier.java \
|
||||||
|
LocalOptimizer.java \
|
||||||
|
Main.java \
|
||||||
|
MethodIdentifier.java \
|
||||||
|
ModifierMatcher.java \
|
||||||
|
NameSwapper.java \
|
||||||
|
PackageIdentifier.java \
|
||||||
|
RemovePopAnalyzer.java \
|
||||||
|
Renamer.java \
|
||||||
|
SimpleAnalyzer.java \
|
||||||
|
StrongRenamer.java \
|
||||||
|
TranslationTable.java \
|
||||||
|
WildCard.java
|
||||||
|
# LocalizeFieldTransformer.java
|
||||||
|
|
||||||
|
noinst_DATA = $(MY_JAVA_FILES:.java=.class)
|
||||||
|
EXTRA_DIST = $(MY_JAVA_FILES)
|
||||||
|
|
||||||
|
if HAVE_JIKES |
||||||
|
|
||||||
|
@QUOTE@-include $(top_builddir)/jode/.java.deps |
||||||
|
|
||||||
|
%.class: %.java |
||||||
|
$(JIKES) -classpath $(BUILD_CLASSPATH):$(CLASSLIB) +M=$(top_builddir)/jode/.java.deps -d $(top_builddir) $<
|
||||||
|
|
||||||
|
else |
||||||
|
|
||||||
|
%.class: %.java |
||||||
|
$(JAVAC) -classpath $(BUILD_CLASSPATH):$(CLASSLIB) -depend -d $(top_builddir) $<
|
||||||
|
|
||||||
|
endif |
||||||
|
|
||||||
|
clean-local: |
||||||
|
@rm -f *.class
|
@ -0,0 +1,2 @@ |
|||||||
|
Makefile |
||||||
|
Makefile.in |
@ -0,0 +1,32 @@ |
|||||||
|
## Input file for automake to generate the Makefile.in used by configure
|
||||||
|
|
||||||
|
JAR = @JAR@
|
||||||
|
JAVAC = @JAVAC@
|
||||||
|
JIKES = @JIKES@
|
||||||
|
CLASSPATH = @CLASSPATH@
|
||||||
|
CLASSLIB = @CLASSLIB@
|
||||||
|
BUILD_CLASSPATH = $(top_srcdir):$(top_builddir):$(CLASSPATH):$(CLASSLIB)
|
||||||
|
|
||||||
|
MY_JAVA_FILES = \
|
||||||
|
Main.java \
|
||||||
|
PackagesTreeModel.java
|
||||||
|
|
||||||
|
noinst_DATA = $(MY_JAVA_FILES:.java=.class)
|
||||||
|
EXTRA_DIST = $(MY_JAVA_FILES)
|
||||||
|
|
||||||
|
if HAVE_JIKES |
||||||
|
|
||||||
|
@QUOTE@-include $(top_builddir)/jode/.java.deps |
||||||
|
|
||||||
|
%.class: %.java |
||||||
|
$(JIKES) -classpath $(BUILD_CLASSPATH):$(CLASSLIB) +M=$(top_builddir)/jode/.java.deps -d $(top_builddir) $<
|
||||||
|
|
||||||
|
else |
||||||
|
|
||||||
|
%.class: %.java |
||||||
|
$(JAVAC) -classpath $(BUILD_CLASSPATH):$(CLASSLIB) -depend -d $(top_builddir) $<
|
||||||
|
|
||||||
|
endif |
||||||
|
|
||||||
|
clean-local: |
||||||
|
@rm -f *.class
|
@ -0,0 +1,2 @@ |
|||||||
|
Makefile |
||||||
|
Makefile.in |
@ -0,0 +1,38 @@ |
|||||||
|
## Input file for automake to generate the Makefile.in used by configure
|
||||||
|
|
||||||
|
JAR = @JAR@
|
||||||
|
JAVAC = @JAVAC@
|
||||||
|
JIKES = @JIKES@
|
||||||
|
CLASSPATH = @CLASSPATH@
|
||||||
|
CLASSLIB = @CLASSLIB@
|
||||||
|
BUILD_CLASSPATH = $(top_srcdir):$(top_builddir):$(CLASSPATH):$(CLASSLIB)
|
||||||
|
|
||||||
|
MY_JAVA_FILES = \
|
||||||
|
ArrayType.java \
|
||||||
|
ClassInterfacesType.java \
|
||||||
|
IntegerType.java \
|
||||||
|
MethodType.java \
|
||||||
|
NullType.java \
|
||||||
|
RangeType.java \
|
||||||
|
ReferenceType.java \
|
||||||
|
Type.java
|
||||||
|
|
||||||
|
noinst_DATA = $(MY_JAVA_FILES:.java=.class)
|
||||||
|
EXTRA_DIST = $(MY_JAVA_FILES)
|
||||||
|
|
||||||
|
if HAVE_JIKES |
||||||
|
|
||||||
|
@QUOTE@-include $(top_builddir)/jode/.java.deps |
||||||
|
|
||||||
|
%.class: %.java |
||||||
|
$(JIKES) -classpath $(BUILD_CLASSPATH):$(CLASSLIB) +M=$(top_builddir)/jode/.java.deps -d $(top_builddir) $<
|
||||||
|
|
||||||
|
else |
||||||
|
|
||||||
|
%.class: %.java |
||||||
|
$(JAVAC) -classpath $(BUILD_CLASSPATH):$(CLASSLIB) -depend -d $(top_builddir) $<
|
||||||
|
|
||||||
|
endif |
||||||
|
|
||||||
|
clean-local: |
||||||
|
@rm -f *.class
|
@ -0,0 +1,2 @@ |
|||||||
|
Makefile |
||||||
|
Makefile.in |
@ -0,0 +1,60 @@ |
|||||||
|
## Input file for automake to generate the Makefile.in used by configure
|
||||||
|
|
||||||
|
JAR = @JAR@
|
||||||
|
JAVAC = @JAVAC@
|
||||||
|
JIKES = @JIKES@
|
||||||
|
CLASSPATH = @CLASSPATH@
|
||||||
|
CLASSLIB = @CLASSLIB@
|
||||||
|
BUILD_CLASSPATH = $(top_srcdir):$(top_builddir):$(CLASSPATH):$(CLASSLIB)
|
||||||
|
|
||||||
|
MY_JAVA_FILES = \
|
||||||
|
SimpleMap.java \
|
||||||
|
SimpleSet.java \
|
||||||
|
ArrayEnum.java \
|
||||||
|
AbstractCollection.java \
|
||||||
|
AbstractList.java \
|
||||||
|
AbstractMap.java \
|
||||||
|
AbstractSequentialList.java \
|
||||||
|
AbstractSet.java \
|
||||||
|
ArrayList.java \
|
||||||
|
Arrays.java \
|
||||||
|
BasicMapEntry.java \
|
||||||
|
Bucket.java \
|
||||||
|
Collection.java \
|
||||||
|
Collections.java \
|
||||||
|
Comparable.java \
|
||||||
|
Comparator.java \
|
||||||
|
ConcurrentModificationException.java \
|
||||||
|
HashMap.java \
|
||||||
|
HashSet.java \
|
||||||
|
Iterator.java \
|
||||||
|
LinkedList.java \
|
||||||
|
List.java \
|
||||||
|
ListIterator.java \
|
||||||
|
Map.java \
|
||||||
|
Set.java \
|
||||||
|
SortedMap.java \
|
||||||
|
SortedSet.java \
|
||||||
|
TreeMap.java \
|
||||||
|
TreeSet.java \
|
||||||
|
UnsupportedOperationException.java
|
||||||
|
|
||||||
|
noinst_DATA = $(MY_JAVA_FILES:.java=.class)
|
||||||
|
EXTRA_DIST = $(MY_JAVA_FILES)
|
||||||
|
|
||||||
|
if HAVE_JIKES |
||||||
|
|
||||||
|
@QUOTE@-include $(top_builddir)/jode/.java.deps |
||||||
|
|
||||||
|
%.class: %.java |
||||||
|
$(JIKES) -classpath $(BUILD_CLASSPATH):$(CLASSLIB) +M=$(top_builddir)/jode/.java.deps -d $(top_builddir) $<
|
||||||
|
|
||||||
|
else |
||||||
|
|
||||||
|
%.class: %.java |
||||||
|
$(JAVAC) -classpath $(BUILD_CLASSPATH):$(CLASSLIB) -depend -d $(top_builddir) $<
|
||||||
|
|
||||||
|
endif |
||||||
|
|
||||||
|
clean-local: |
||||||
|
@rm -f *.class
|
@ -0,0 +1,2 @@ |
|||||||
|
Makefile |
||||||
|
Makefile.in |
Loading…
Reference in new issue