org.apache.bcel.util

Class BCELifier

public class BCELifier extends EmptyVisitor

This class takes a given JavaClass object and converts it to a Java program that creates that very class using BCEL. This gives new users of BCEL a useful example showing how things are done with BCEL. It does not cover all features of BCEL, but tries to mimic hand-written code as close as possible.

Version: $Id: BCELifier.java 394939 2006-04-18 13:23:49Z tcurdt $

Author: M. Dahm

Field Summary
static intFLAG_FOR_CLASS
static intFLAG_FOR_METHOD
static intFLAG_FOR_UNKNOWN
JavaClass_clazz
ConstantPoolGen_cp
PrintWriter_out
Constructor Summary
BCELifier(JavaClass clazz, OutputStream out)
Method Summary
static voidmain(String[] argv)
Default main method
static StringprintArgumentTypes(Type[] arg_types)
voidprintCreate()
static StringprintFlags(int flags)
static StringprintFlags(int flags, int reason)
voidprintMain()
static StringprintType(Type type)
static StringprintType(String signature)
voidstart()
Start Java code generation
voidvisitField(Field field)
voidvisitJavaClass(JavaClass clazz)
voidvisitMethod(Method method)

Field Detail

FLAG_FOR_CLASS

private static final int FLAG_FOR_CLASS

FLAG_FOR_METHOD

private static final int FLAG_FOR_METHOD

FLAG_FOR_UNKNOWN

private static final int FLAG_FOR_UNKNOWN

_clazz

private JavaClass _clazz

_cp

private ConstantPoolGen _cp

_out

private PrintWriter _out

Constructor Detail

BCELifier

public BCELifier(JavaClass clazz, OutputStream out)

Parameters: clazz Java class to "decompile" out where to output Java program

Method Detail

main

public static void main(String[] argv)
Default main method

printArgumentTypes

static String printArgumentTypes(Type[] arg_types)

printCreate

private void printCreate()

printFlags

static String printFlags(int flags)

printFlags

static String printFlags(int flags, int reason)

printMain

private void printMain()

printType

static String printType(Type type)

printType

static String printType(String signature)

start

public void start()
Start Java code generation

visitField

public void visitField(Field field)

visitJavaClass

public void visitJavaClass(JavaClass clazz)

visitMethod

public void visitMethod(Method method)