public class BytecodeGenerator extends ClassLoader implements BytecodeGeneratorMXBean, org.objectweb.asm.Opcodes
| Modifier and Type | Field and Description |
|---|---|
protected String |
dumpPath |
static BytecodeGenerator |
INSTANCE |
protected AtomicInteger |
totalBytes |
protected AtomicInteger |
totalClasses |
AALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, ASTORE, ATHROW, BALOAD, BASTORE, BIPUSH, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DMUL, DNEG, DOUBLE, DREM, DRETURN, DSTORE, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F_APPEND, F_CHOP, F_FULL, F_NEW, F_SAME, F_SAME1, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FLOAT, FMUL, FNEG, FREM, FRETURN, FSTORE, FSUB, GETFIELD, GETSTATIC, GOTO, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL, IINC, ILOAD, IMUL, INEG, INSTANCEOF, INTEGER, INVOKEDYNAMIC, INVOKEDYNAMIC_OWNER, INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISUB, IUSHR, IXOR, JSR, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDIV, LLOAD, LMUL, LNEG, LONG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, NULL, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, TOP, UNINITIALIZED_THIS, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6, V1_7| Constructor and Description |
|---|
BytecodeGenerator() |
| Modifier and Type | Method and Description |
|---|---|
Class<?> |
defineClass(byte[] classData) |
Class<?> |
defineClassIfNotExists(String className,
byte[] classData) |
void |
dumpClass(byte[] classData,
String className) |
static void |
emitBoxing(org.objectweb.asm.MethodVisitor mv,
Class type) |
static void |
emitDouble(org.objectweb.asm.MethodVisitor mv,
double c) |
static void |
emitFloat(org.objectweb.asm.MethodVisitor mv,
float c) |
static void |
emitGetField(org.objectweb.asm.MethodVisitor mv,
Field f) |
static void |
emitInt(org.objectweb.asm.MethodVisitor mv,
int c) |
static void |
emitInvoke(org.objectweb.asm.MethodVisitor mv,
Constructor c) |
static void |
emitInvoke(org.objectweb.asm.MethodVisitor mv,
Method m) |
static void |
emitLong(org.objectweb.asm.MethodVisitor mv,
long c) |
static void |
emitPutField(org.objectweb.asm.MethodVisitor mv,
Field f) |
static void |
emitThrow(org.objectweb.asm.MethodVisitor mv,
String exceptionClass,
String message) |
static void |
emitUnboxing(org.objectweb.asm.MethodVisitor mv,
Class type) |
String |
getDumpPath() |
int |
getTotalBytes() |
int |
getTotalClasses() |
<T> T |
instantiate(byte[] classData,
Class<T> iface) |
void |
setDumpPath(String dumpPath) |
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findResources, findSystemClass, getClassLoadingLock, getPackage, getPackages, getParent, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, loadClass, registerAsParallelCapable, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSignerspublic static final BytecodeGenerator INSTANCE
protected final AtomicInteger totalClasses
protected final AtomicInteger totalBytes
protected String dumpPath
public Class<?> defineClass(byte[] classData)
public <T> T instantiate(byte[] classData,
Class<T> iface)
public void dumpClass(byte[] classData,
String className)
public static void emitGetField(org.objectweb.asm.MethodVisitor mv,
Field f)
public static void emitPutField(org.objectweb.asm.MethodVisitor mv,
Field f)
public static void emitInvoke(org.objectweb.asm.MethodVisitor mv,
Method m)
public static void emitInvoke(org.objectweb.asm.MethodVisitor mv,
Constructor c)
public static void emitThrow(org.objectweb.asm.MethodVisitor mv,
String exceptionClass,
String message)
public static void emitInt(org.objectweb.asm.MethodVisitor mv,
int c)
public static void emitLong(org.objectweb.asm.MethodVisitor mv,
long c)
public static void emitFloat(org.objectweb.asm.MethodVisitor mv,
float c)
public static void emitDouble(org.objectweb.asm.MethodVisitor mv,
double c)
public static void emitBoxing(org.objectweb.asm.MethodVisitor mv,
Class type)
public static void emitUnboxing(org.objectweb.asm.MethodVisitor mv,
Class type)
public String getDumpPath()
getDumpPath in interface BytecodeGeneratorMXBeanpublic void setDumpPath(String dumpPath)
setDumpPath in interface BytecodeGeneratorMXBeanpublic int getTotalClasses()
getTotalClasses in interface BytecodeGeneratorMXBeanpublic int getTotalBytes()
getTotalBytes in interface BytecodeGeneratorMXBeanCopyright © 2019. All rights reserved.