Package one.nio.gen
Class BytecodeGenerator
java.lang.Object
java.lang.ClassLoader
one.nio.gen.BytecodeGenerator
- All Implemented Interfaces:
BytecodeGeneratorMXBean,org.objectweb.asm.Opcodes
- Direct Known Subclasses:
DateFormatGenerator,DelegateGenerator,RequestHandlerGenerator,StubGenerator
public class BytecodeGenerator
extends ClassLoader
implements BytecodeGeneratorMXBean, org.objectweb.asm.Opcodes
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Stringstatic final BytecodeGeneratorprotected final AtomicIntegerprotected final AtomicIntegerFields inherited from interface org.objectweb.asm.Opcodes
AALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_MANDATED, ACC_MODULE, ACC_NATIVE, ACC_OPEN, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_RECORD, ACC_STATIC, ACC_STATIC_PHASE, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_TRANSITIVE, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, ASM10_EXPERIMENTAL, ASM4, ASM5, ASM6, ASM7, ASM8, ASM9, 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, H_GETFIELD, H_GETSTATIC, H_INVOKEINTERFACE, H_INVOKESPECIAL, H_INVOKESTATIC, H_INVOKEVIRTUAL, H_NEWINVOKESPECIAL, H_PUTFIELD, H_PUTSTATIC, 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, 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, SOURCE_DEPRECATED, SOURCE_MASK, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, TOP, UNINITIALIZED_THIS, V_PREVIEW, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6, V1_7, V1_8, V10, V11, V12, V13, V14, V15, V16, V17, V18, V9 -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionClass<?> defineClass(byte[] classData) Class<?> defineClassIfNotExists(String className, byte[] classData) voidstatic voidemitBoxing(org.objectweb.asm.MethodVisitor mv, Class type) static voidemitDouble(org.objectweb.asm.MethodVisitor mv, double c) static voidemitFloat(org.objectweb.asm.MethodVisitor mv, float c) static voidemitGetField(org.objectweb.asm.MethodVisitor mv, Field f) static voidemitInt(org.objectweb.asm.MethodVisitor mv, int c) static voidemitInvoke(org.objectweb.asm.MethodVisitor mv, MethodHandleInfo m) static voidemitInvoke(org.objectweb.asm.MethodVisitor mv, Constructor c) static voidemitInvoke(org.objectweb.asm.MethodVisitor mv, Method m) static voidemitLong(org.objectweb.asm.MethodVisitor mv, long c) static voidemitPutField(org.objectweb.asm.MethodVisitor mv, Field f) static voidstatic voidemitUnboxing(org.objectweb.asm.MethodVisitor mv, Class type) intint<T> Tinstantiate(byte[] classData, Class<T> iface) voidsetDumpPath(String dumpPath) Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findClass, findLibrary, findLoadedClass, findResource, findResource, findResources, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
-
Field Details
-
INSTANCE
-
totalClasses
-
totalBytes
-
dumpPath
-
-
Constructor Details
-
BytecodeGenerator
public BytecodeGenerator() -
BytecodeGenerator
-
-
Method Details
-
defineClass
-
defineClassIfNotExists
-
instantiate
-
dumpClass
-
emitGetField
-
emitPutField
-
emitInvoke
-
emitInvoke
-
emitInvoke
-
emitThrow
-
emitInt
public static void emitInt(org.objectweb.asm.MethodVisitor mv, int c) -
emitLong
public static void emitLong(org.objectweb.asm.MethodVisitor mv, long c) -
emitFloat
public static void emitFloat(org.objectweb.asm.MethodVisitor mv, float c) -
emitDouble
public static void emitDouble(org.objectweb.asm.MethodVisitor mv, double c) -
emitBoxing
-
emitUnboxing
-
getDumpPath
- Specified by:
getDumpPathin interfaceBytecodeGeneratorMXBean
-
setDumpPath
- Specified by:
setDumpPathin interfaceBytecodeGeneratorMXBean
-
getTotalClasses
public int getTotalClasses()- Specified by:
getTotalClassesin interfaceBytecodeGeneratorMXBean
-
getTotalBytes
public int getTotalBytes()- Specified by:
getTotalBytesin interfaceBytecodeGeneratorMXBean
-