Package | Description |
---|---|
javassist |
The Javassist Core API.
|
javassist.compiler | |
javassist.convert | |
javassist.expr |
This package contains the classes for modifying a method body.
|
javassist.util.proxy |
Dynamic proxy (similar to
Enhancer of cglib). |
Modifier and Type | Method and Description |
---|---|
(package private) static Bytecode |
CtNewWrappedMethod.makeBody(CtClass clazz,
ClassFile classfile,
CtMethod wrappedBody,
CtClass[] parameters,
CtClass returnType,
CtMethod.ConstParameter cparam) |
protected static Bytecode |
CtNewWrappedConstructor.makeBody(CtClass declaring,
ClassFile classfile,
int howToCallSuper,
CtMethod wrappedBody,
CtClass[] parameters,
CtMethod.ConstParameter cparam) |
Modifier and Type | Method and Description |
---|---|
private void |
CtField.ArrayInitializer.addNewarray(Bytecode code) |
(package private) int |
CtMethod.ConstParameter.compile(Bytecode code) |
(package private) int |
CtMethod.IntConstParameter.compile(Bytecode code) |
(package private) int |
CtMethod.LongConstParameter.compile(Bytecode code) |
(package private) int |
CtMethod.StringConstParameter.compile(Bytecode code) |
(package private) abstract int |
CtField.Initializer.compile(CtClass type,
java.lang.String name,
Bytecode code,
CtClass[] parameters,
Javac drv) |
(package private) int |
CtField.CodeInitializer0.compile(CtClass type,
java.lang.String name,
Bytecode code,
CtClass[] parameters,
Javac drv) |
(package private) int |
CtField.ParamInitializer.compile(CtClass type,
java.lang.String name,
Bytecode code,
CtClass[] parameters,
Javac drv) |
(package private) int |
CtField.NewInitializer.compile(CtClass type,
java.lang.String name,
Bytecode code,
CtClass[] parameters,
Javac drv)
Produces codes in which a new object is created and assigned to
the field as the initial value.
|
(package private) int |
CtField.MethodInitializer.compile(CtClass type,
java.lang.String name,
Bytecode code,
CtClass[] parameters,
Javac drv)
Produces codes in which a new object is created and assigned to
the field as the initial value.
|
(package private) int |
CtField.IntInitializer.compile(CtClass type,
java.lang.String name,
Bytecode code,
CtClass[] parameters,
Javac drv) |
(package private) int |
CtField.LongInitializer.compile(CtClass type,
java.lang.String name,
Bytecode code,
CtClass[] parameters,
Javac drv) |
(package private) int |
CtField.FloatInitializer.compile(CtClass type,
java.lang.String name,
Bytecode code,
CtClass[] parameters,
Javac drv) |
(package private) int |
CtField.DoubleInitializer.compile(CtClass type,
java.lang.String name,
Bytecode code,
CtClass[] parameters,
Javac drv) |
(package private) int |
CtField.StringInitializer.compile(CtClass type,
java.lang.String name,
Bytecode code,
CtClass[] parameters,
Javac drv) |
(package private) int |
CtField.ArrayInitializer.compile(CtClass type,
java.lang.String name,
Bytecode code,
CtClass[] parameters,
Javac drv) |
(package private) int |
CtField.MultiArrayInitializer.compile(CtClass type,
java.lang.String name,
Bytecode code,
CtClass[] parameters,
Javac drv) |
(package private) abstract int |
CtField.Initializer.compileIfStatic(CtClass type,
java.lang.String name,
Bytecode code,
Javac drv) |
(package private) int |
CtField.CodeInitializer0.compileIfStatic(CtClass type,
java.lang.String name,
Bytecode code,
Javac drv) |
(package private) int |
CtField.ParamInitializer.compileIfStatic(CtClass type,
java.lang.String name,
Bytecode code,
Javac drv) |
(package private) int |
CtField.NewInitializer.compileIfStatic(CtClass type,
java.lang.String name,
Bytecode code,
Javac drv)
Produces codes for a static field.
|
(package private) int |
CtField.MethodInitializer.compileIfStatic(CtClass type,
java.lang.String name,
Bytecode code,
Javac drv)
Produces codes for a static field.
|
(package private) int |
CtField.IntInitializer.compileIfStatic(CtClass type,
java.lang.String name,
Bytecode code,
Javac drv) |
(package private) int |
CtField.LongInitializer.compileIfStatic(CtClass type,
java.lang.String name,
Bytecode code,
Javac drv) |
(package private) int |
CtField.FloatInitializer.compileIfStatic(CtClass type,
java.lang.String name,
Bytecode code,
Javac drv) |
(package private) int |
CtField.DoubleInitializer.compileIfStatic(CtClass type,
java.lang.String name,
Bytecode code,
Javac drv) |
(package private) int |
CtField.StringInitializer.compileIfStatic(CtClass type,
java.lang.String name,
Bytecode code,
Javac drv) |
(package private) int |
CtField.ArrayInitializer.compileIfStatic(CtClass type,
java.lang.String name,
Bytecode code,
Javac drv) |
(package private) int |
CtField.MultiArrayInitializer.compileIfStatic(CtClass type,
java.lang.String name,
Bytecode code,
Javac drv) |
(package private) static int |
CtNewWrappedMethod.compileParameterList(Bytecode code,
CtClass[] params,
int regno) |
private static void |
CtNewWrappedMethod.compileReturn(Bytecode code,
CtClass type) |
protected int |
CtField.NewInitializer.compileStringParameter(Bytecode code) |
private int |
CtBehavior.insertAfterAdvice(Bytecode code,
Javac jv,
java.lang.String src,
ConstPool cp,
CtClass rtype,
int varNo) |
private int |
CtBehavior.insertAfterHandler(boolean asFinally,
Bytecode b,
CtClass rtype,
int returnVarNo,
Javac javac,
java.lang.String src) |
private static void |
CtClassType.insertAuxInitializer(CodeAttribute codeAttr,
Bytecode initializer,
int stacksize) |
protected static int |
CtNewWrappedMethod.makeBody0(CtClass clazz,
ClassFile classfile,
CtMethod wrappedBody,
boolean isStatic,
CtClass[] parameters,
CtClass returnType,
CtMethod.ConstParameter cparam,
Bytecode code) |
private int |
CtClassType.makeFieldInitializer(Bytecode code,
CtClass[] parameters) |
private void |
CtClassType.modifyClassConstructor(ClassFile cf,
Bytecode code,
int stacksize,
int localsize) |
Modifier and Type | Field and Description |
---|---|
private Bytecode |
Javac.bytecode |
protected Bytecode |
CodeGen.bytecode |
Modifier and Type | Method and Description |
---|---|
Bytecode |
Javac.compileBody(CtBehavior method,
java.lang.String src)
Compiles a method (or constructor) body.
|
Bytecode |
Javac.getBytecode()
Returns the produced bytecode.
|
Modifier and Type | Method and Description |
---|---|
protected void |
JvstCodeGen.atAssignParamList(CtClass[] params,
Bytecode code) |
static int |
JvstCodeGen.compileParameterList(Bytecode code,
CtClass[] params,
int regno) |
protected void |
JvstCodeGen.compileUnwrapValue(CtClass type,
Bytecode code) |
protected boolean |
MemberCodeGen.JsrHook.doit(Bytecode b,
int opcode) |
protected boolean |
MemberCodeGen.JsrHook2.doit(Bytecode b,
int opcode) |
protected abstract boolean |
CodeGen.ReturnHook.doit(Bytecode b,
int opcode)
Returns true if the generated code ends with return,
throw, or goto.
|
void |
ProceedHandler.doit(JvstCodeGen gen,
Bytecode b,
ASTList args) |
private void |
MemberCodeGen.JsrHook.jsrJmp(Bytecode b) |
private static void |
Javac.makeDefaultBody(Bytecode b,
CtClass type) |
Constructor and Description |
---|
CodeGen(Bytecode b) |
Javac(Bytecode b,
CtClass thisClass)
Constructs a compiler.
|
JvstCodeGen(Bytecode b,
CtClass cc,
ClassPool cp) |
MemberCodeGen(Bytecode b,
CtClass cc,
ClassPool cp) |
Modifier and Type | Method and Description |
---|---|
private void |
TransformBefore.makeCode2(Bytecode save,
Bytecode load,
int i,
int n,
CtClass[] paramTypes,
int var) |
Modifier and Type | Method and Description |
---|---|
void |
FieldAccess.ProceedForRead.doit(JvstCodeGen gen,
Bytecode bytecode,
ASTList args) |
void |
FieldAccess.ProceedForWrite.doit(JvstCodeGen gen,
Bytecode bytecode,
ASTList args) |
void |
Cast.ProceedForCast.doit(JvstCodeGen gen,
Bytecode bytecode,
ASTList args) |
void |
NewArray.ProceedForArray.doit(JvstCodeGen gen,
Bytecode bytecode,
ASTList args) |
void |
NewExpr.ProceedForNew.doit(JvstCodeGen gen,
Bytecode bytecode,
ASTList args) |
void |
Instanceof.ProceedForInstanceof.doit(JvstCodeGen gen,
Bytecode bytecode,
ASTList args) |
protected void |
Expr.replace0(int pos,
Bytecode bytecode,
int size) |
(package private) static void |
Expr.storeStack(CtClass[] params,
boolean isStaticCall,
int regno,
Bytecode bytecode) |
private static void |
Expr.storeStack0(int i,
int n,
CtClass[] params,
int regno,
Bytecode bytecode) |
Modifier and Type | Method and Description |
---|---|
private static int |
ProxyFactory.addLoad(Bytecode code,
int n,
java.lang.Class type) |
private static int |
ProxyFactory.addLoadParameters(Bytecode code,
java.lang.Class[] params,
int offset) |
private static int |
ProxyFactory.addReturn(Bytecode code,
java.lang.Class type) |
private static void |
ProxyFactory.addUnwrapper(Bytecode code,
java.lang.Class type) |
private static void |
ProxyFactory.callFind2Methods(Bytecode code,
java.lang.String superMethod,
java.lang.String thisMethod,
int index,
java.lang.String desc,
int classVar,
int arrayVar) |
private static void |
ProxyFactory.makeParameterList(Bytecode code,
java.lang.Class[] params) |
private static int |
ProxyFactory.makeWrapper(Bytecode code,
java.lang.Class type,
int regno) |