public class MethodCodeBuilder extends MethodCode
| 限定符和类型 | 字段和说明 |
|---|---|
protected org.objectweb.asm.Label |
labelCurrent |
protected boolean |
labelHasDefineBegin |
protected LocalsStack |
locals |
| 构造器和说明 |
|---|
MethodCodeBuilder(org.objectweb.asm.MethodVisitor mv,
cn.sj1.tinyasm.core.MethodHeaderBuilder mh,
LocalsStack locals) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
BLOCK(java.util.function.Consumer<MethodCode> invocation) |
protected java.lang.String |
codeFieldNameOf(int fieldIndex) |
int |
codeLocalGetLocals(java.lang.String name) |
int |
codeLocalsNextLocal() |
org.objectweb.asm.Label |
codeNewLabel() |
org.objectweb.asm.Type |
codeThisClassFieldType(java.lang.String name) |
org.objectweb.asm.Type |
codeThisFieldType(java.lang.String name) |
int |
define(Annotation annotation,
java.lang.String name,
Clazz clazz) |
int |
define(java.lang.String name,
Clazz clazz) |
void |
END() |
org.objectweb.asm.MethodVisitor |
getMethodVisitor() |
MethodCaller<MethodCode> |
INTERFACE(Clazz objectType,
java.lang.String methodName) |
void |
LINE() |
void |
LINE(int line) |
void |
LINEONLY() |
org.objectweb.asm.Type |
localsLoadAccess(int localsIndex) |
org.objectweb.asm.Type |
localsStoreAccess(int localsIndex,
org.objectweb.asm.Type type) |
void |
RETURN() |
MethodCaller<MethodCode> |
SPECIAL(Clazz objectType,
java.lang.String methodName) |
org.objectweb.asm.Type |
stackPop() |
void |
stackPush(org.objectweb.asm.Type type) |
org.objectweb.asm.Type |
stackTypeOf(int i) |
MethodCaller<MethodCode> |
STATIC(Clazz objectType,
java.lang.String methodName) |
java.lang.String |
toString() |
protected org.objectweb.asm.Type |
typeOfThis() |
MethodCaller<MethodCode> |
VIRTUAL(Clazz objectType,
java.lang.String methodName) |
void |
visitFieldInsn(int opcode,
org.objectweb.asm.Type ownerType,
java.lang.String fieldName,
org.objectweb.asm.Type fieldType) |
void |
visitInsn(int opcode) |
void |
visitInsn(int opcode,
int operand) |
void |
visitInvokeDynamicInsn(java.lang.String name,
java.lang.String descriptor,
org.objectweb.asm.Handle bootstrapMethodHandle,
java.lang.Object... bootstrapMethodArguments) |
void |
visitJumpInsn(int opcode,
org.objectweb.asm.Label label) |
void |
visitLabel(org.objectweb.asm.Label label) |
void |
visitLabel(org.objectweb.asm.Label label,
int line) |
void |
visitLdcInsn(java.lang.Object cst) |
void |
visitLineNumber(int line,
org.objectweb.asm.Label start) |
void |
visitLineNumber(org.objectweb.asm.Label start) |
void |
visitMethodInsn(int opcode,
org.objectweb.asm.Type objectType,
org.objectweb.asm.Type returnType,
java.lang.String methodName,
org.objectweb.asm.Type... paramTypes) |
void |
visitTryCatchBlock(org.objectweb.asm.Label start,
org.objectweb.asm.Label end,
org.objectweb.asm.Label handler,
org.objectweb.asm.Type exctpionClazz) |
void |
visitTypeInsn(int opcode,
org.objectweb.asm.Type type) |
void |
visitVarInsn(int opcode,
int var) |
ADD, advStackSize, AND, ARRAYLENGTH, ARRAYLENGTH, ARRAYLOAD, ARRAYSTORE, ATHROW, BOX_Top, CHECKCAST, CHECKCAST, CHECKCAST, CHECKCAST, CMPG, CMPL, CONVERTTO, CONVERTTO, CONVERTTO, CONVERTTO, DIV, DUP, DUP2, GET_THIS_STATIC, GETFIELD_OF_THIS, GETFIELD_OF_THIS, GETFIELD, GETFIELD, GETFIELD, GETFIELD, GETSTATIC, GETSTATIC, GETSTATIC, GOTO, IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNE, IFNONNULL, IFNULL, IINC, IINC, INIT_OBJECT, INSTANCEOF, INSTANCEOF, INSTANCEOF, INSTANCEOF, INVOKE, InvokeDynamicInsn, INVOKEINTERFACE, INVOKEINTERFACE, INVOKEINTERFACE, INVOKESPECIAL, INVOKESPECIAL, INVOKESPECIAL, INVOKESPECIAL, INVOKESPECIAL, INVOKESTATIC, INVOKESTATIC, INVOKESTATIC, INVOKESTATIC, INVOKEVIRTUAL, INVOKEVIRTUAL, INVOKEVIRTUAL, JUMP, LCMP, LOAD_THIS, LOAD, LOAD, LOADConst, LOADConst, LOADConstByte, LOADConstNULL, LOADConstShort, MATH, MUL, NEG, NEW, NEW, NEW, NEW, NEWARRAY, NEWARRAY, NEWARRAY, NEWARRAY, NOP, OR, POP, POP2, PUT_THIS_STATIC, PUTFIELD_OF_THIS, PUTFIELD_OF_THIS, PUTFIELD, PUTFIELD, PUTFIELD, PUTSTATIC, PUTSTATIC, PUTSTATIC, REM, RETURN, RETURNTop, SHL, SHR, SPECIAL, STORE, STORE, STORE, STOREException, STOREException, SUB, UNBOX_Top, VIRTUAL, XORclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitSTORE, STOREprotected org.objectweb.asm.Label labelCurrent
protected boolean labelHasDefineBegin
protected final LocalsStack locals
public MethodCodeBuilder(org.objectweb.asm.MethodVisitor mv,
cn.sj1.tinyasm.core.MethodHeaderBuilder mh,
LocalsStack locals)
public java.lang.String toString()
toString 在类中 java.lang.Objectpublic void BLOCK(java.util.function.Consumer<MethodCode> invocation)
public org.objectweb.asm.Type stackTypeOf(int i)
stackTypeOf 在类中 MethodCodepublic org.objectweb.asm.Type stackPop()
stackPop 在类中 MethodCodepublic void stackPush(org.objectweb.asm.Type type)
stackPush 在类中 MethodCodepublic org.objectweb.asm.MethodVisitor getMethodVisitor()
getMethodVisitor 在类中 MethodCodepublic int codeLocalsNextLocal()
codeLocalsNextLocal 在类中 MethodCodeprotected java.lang.String codeFieldNameOf(int fieldIndex)
codeFieldNameOf 在类中 MethodCodepublic int codeLocalGetLocals(java.lang.String name)
codeLocalGetLocals 在类中 MethodCodepublic org.objectweb.asm.Type localsLoadAccess(int localsIndex)
localsLoadAccess 在类中 MethodCodepublic org.objectweb.asm.Type localsStoreAccess(int localsIndex,
org.objectweb.asm.Type type)
localsStoreAccess 在类中 MethodCodepublic int define(java.lang.String name,
Clazz clazz)
public int define(Annotation annotation, java.lang.String name, Clazz clazz)
public org.objectweb.asm.Type codeThisClassFieldType(java.lang.String name)
codeThisClassFieldType 在类中 MethodCodepublic org.objectweb.asm.Type codeThisFieldType(java.lang.String name)
codeThisFieldType 在类中 MethodCodepublic void RETURN()
RETURN 在接口中 MethodCodeASMRETURN 在类中 MethodCodepublic void END()
END 在类中 MethodCodepublic org.objectweb.asm.Label codeNewLabel()
public void visitLabel(org.objectweb.asm.Label label)
visitLabel 在类中 MethodCodepublic void visitLabel(org.objectweb.asm.Label label,
int line)
public void LINEONLY()
public void LINE()
public void visitLineNumber(int line,
org.objectweb.asm.Label start)
public void visitLineNumber(org.objectweb.asm.Label start)
public void LINE(int line)
public void visitFieldInsn(int opcode,
org.objectweb.asm.Type ownerType,
java.lang.String fieldName,
org.objectweb.asm.Type fieldType)
public void visitInsn(int opcode)
visitInsn 在类中 MethodCodepublic void visitVarInsn(int opcode,
int var)
public void visitInsn(int opcode,
int operand)
public void visitMethodInsn(int opcode,
org.objectweb.asm.Type objectType,
org.objectweb.asm.Type returnType,
java.lang.String methodName,
org.objectweb.asm.Type... paramTypes)
public void visitTryCatchBlock(org.objectweb.asm.Label start,
org.objectweb.asm.Label end,
org.objectweb.asm.Label handler,
org.objectweb.asm.Type exctpionClazz)
public void visitJumpInsn(int opcode,
org.objectweb.asm.Label label)
public void visitInvokeDynamicInsn(java.lang.String name,
java.lang.String descriptor,
org.objectweb.asm.Handle bootstrapMethodHandle,
java.lang.Object... bootstrapMethodArguments)
visitInvokeDynamicInsn 在类中 MethodCodepublic void visitLdcInsn(java.lang.Object cst)
public void visitTypeInsn(int opcode,
org.objectweb.asm.Type type)
public MethodCaller<MethodCode> STATIC(Clazz objectType, java.lang.String methodName)
public MethodCaller<MethodCode> INTERFACE(Clazz objectType, java.lang.String methodName)
public MethodCaller<MethodCode> SPECIAL(Clazz objectType, java.lang.String methodName)
public MethodCaller<MethodCode> VIRTUAL(Clazz objectType, java.lang.String methodName)
protected org.objectweb.asm.Type typeOfThis()
typeOfThis 在类中 MethodCodeCopyright © 2020–2021. All rights reserved.