JAVEL(1)

NAME
javel - Disassemble java class file bytecode, output dependencies

SYNOPSIS
javel [ -b -c -help -l
 -public|protected|package|private
 -s -verbose -classpath path ] [ -depend ] files ...

DESCRIPTION
Javel is a java bytecode disassembler and dependency maker. Depending on the options, it can output some portions of the disassembled code of the specified files to the standard output. Javel can also write the dependencies of the specified files in a format suitable for usage with 'make' or other makefile utilities.

OPTIONS

-b  For compatibility with javap only. Ignored.

-c  Disassemble bytecode in methods. If the source code was compiled with a debug option and contains a local variables table, then each opcode with access to local variable and/or parameters is displayed along with the real variable name; otherwise only the index is displayed.

-help
    Display a short usage message. All others options are ignored.

-l  Ouput line number information. Only available when the -c option is set. If the class file contains source file information, then javel tries to load the source file in the current directory and display, along with the line number, the corresponding line.

-public
    Show only public classes & members.

-protected
    Show only public and protected classes & members.

-package
    Show only public, protected and package classes & members.

-private
    Show all classes & members.

-s  Print internal type signatures. Ignored.

-verbose
    Print code size, stack size, locals and arguments size for each method.

-classpath <path>
    For compatibility with javap only. Ignored.

-depend
    Output depend information. All others options are ignored if this option is specified.

EXAMPLE
To output the (almost) orinal version of all methods and members of the compiled java class Brol.class on standard output, you can type:
    javel -c -verbose -private Brol.class To output dependencies of all class files in the src directory to the file depend.mk , you can type:
    javel -depend src/*.class > depend.mk

COPYRIGHT
Javel is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See the GNU General Public License for more details.

BUGS
The float or double conversion during the compilation from java source code to class file allows some precision loss on some floating point constants. Due to that, the disassembled float or double constants can be slightly different from the original constant numeric value.

AUTHOR
Laurent Gregoire <l.gregoire@iname.com>