public class BCELifier extends EmptyVisitor
Modifier and Type | Class and Description |
---|---|
static class |
BCELifier.FLAGS
Enum corresponding to flag source.
|
Modifier and Type | Field and Description |
---|---|
private JavaClass |
_clazz |
private ConstantPoolGen |
_cp |
private java.io.PrintWriter |
_out |
private static java.lang.String |
BASE_PACKAGE |
private static java.lang.String |
CONSTANT_PREFIX |
Constructor and Description |
---|
BCELifier(JavaClass clazz,
java.io.OutputStream out) |
Modifier and Type | Method and Description |
---|---|
(package private) static JavaClass |
getJavaClass(java.lang.String name) |
static void |
main(java.lang.String[] argv)
Default main method
|
(package private) static java.lang.String |
printArgumentTypes(Type[] arg_types) |
private void |
printCreate() |
(package private) static java.lang.String |
printFlags(int flags) |
static java.lang.String |
printFlags(int flags,
BCELifier.FLAGS location)
Return a string with the flag settings
|
private void |
printMain() |
(package private) static java.lang.String |
printType(java.lang.String signature) |
(package private) static java.lang.String |
printType(Type type) |
void |
start()
Start Java code generation
|
void |
visitField(Field field) |
void |
visitJavaClass(JavaClass clazz) |
void |
visitMethod(Method method) |
visitAnnotation, visitAnnotationDefault, visitAnnotationEntry, visitBootstrapMethods, visitCode, visitCodeException, visitConstantClass, visitConstantDouble, visitConstantFieldref, visitConstantFloat, visitConstantInteger, visitConstantInterfaceMethodref, visitConstantInvokeDynamic, visitConstantLong, visitConstantMethodHandle, visitConstantMethodref, visitConstantMethodType, visitConstantModule, visitConstantNameAndType, visitConstantPackage, visitConstantPool, visitConstantString, visitConstantUtf8, visitConstantValue, visitDeprecated, visitEnclosingMethod, visitExceptionTable, visitInnerClass, visitInnerClasses, visitLineNumber, visitLineNumberTable, visitLocalVariable, visitLocalVariableTable, visitLocalVariableTypeTable, visitMethodParameters, visitParameterAnnotation, visitParameterAnnotationEntry, visitSignature, visitSourceFile, visitStackMap, visitStackMapEntry, visitSynthetic, visitUnknown
private static final java.lang.String BASE_PACKAGE
private static final java.lang.String CONSTANT_PREFIX
private final JavaClass _clazz
private final java.io.PrintWriter _out
private final ConstantPoolGen _cp
public BCELifier(JavaClass clazz, java.io.OutputStream out)
clazz
- Java class to "decompile"out
- where to output Java programpublic void start()
public void visitJavaClass(JavaClass clazz)
visitJavaClass
in interface Visitor
visitJavaClass
in class EmptyVisitor
private void printCreate()
private void printMain()
public void visitField(Field field)
visitField
in interface Visitor
visitField
in class EmptyVisitor
public void visitMethod(Method method)
visitMethod
in interface Visitor
visitMethod
in class EmptyVisitor
static java.lang.String printFlags(int flags)
public static java.lang.String printFlags(int flags, BCELifier.FLAGS location)
flags
- the flags field to interpretlocation
- the item typestatic java.lang.String printArgumentTypes(Type[] arg_types)
static java.lang.String printType(Type type)
static java.lang.String printType(java.lang.String signature)
public static void main(java.lang.String[] argv) throws java.lang.Exception
java.lang.Exception
static JavaClass getJavaClass(java.lang.String name) throws java.lang.ClassNotFoundException, java.io.IOException
java.lang.ClassNotFoundException
java.io.IOException