Package one.nio.http.gen
Class RequestHandlerGenerator
- java.lang.Object
-
- java.lang.ClassLoader
-
- one.nio.gen.BytecodeGenerator
-
- one.nio.http.gen.RequestHandlerGenerator
-
- All Implemented Interfaces:
BytecodeGeneratorMXBean,org.objectweb.asm.Opcodes
public class RequestHandlerGenerator extends BytecodeGenerator
-
-
Field Summary
Fields Modifier and Type Field Description private intcount-
Fields inherited from class one.nio.gen.BytecodeGenerator
dumpPath, INSTANCE, totalBytes, totalClasses
-
Fields 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, V19, V20, V21, V22, V23, V24, V25, V26, V9
-
-
Constructor Summary
Constructors Constructor Description RequestHandlerGenerator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidconvertArgument(org.objectweb.asm.MethodVisitor mv, java.lang.Class type, boolean needNullCheck)RequestHandlergenerateFor(java.lang.reflect.Method m, java.lang.Object router)private RequestHandlerinstantiate(byte[] classData, java.lang.reflect.Method m, java.lang.Object router)private org.objectweb.asm.LabelsetupArguments(org.objectweb.asm.MethodVisitor mv, java.lang.reflect.Method m)private voidsetupHeader(org.objectweb.asm.MethodVisitor mv, java.lang.Class type, Header header)private voidsetupParam(org.objectweb.asm.MethodVisitor mv, java.lang.Class type, Param param)-
Methods inherited from class one.nio.gen.BytecodeGenerator
defineClass, defineClassIfNotExists, dumpClass, emitBoxing, emitDouble, emitFloat, emitGetField, emitInt, emitInvoke, emitInvoke, emitInvoke, emitLong, emitPutField, emitThrow, emitUnboxing, getDumpPath, getTotalBytes, getTotalClasses, instantiate, setDumpPath
-
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
-
-
-
-
Method Detail
-
generateFor
public RequestHandler generateFor(java.lang.reflect.Method m, java.lang.Object router)
-
setupArguments
private org.objectweb.asm.Label setupArguments(org.objectweb.asm.MethodVisitor mv, java.lang.reflect.Method m)
-
setupParam
private void setupParam(org.objectweb.asm.MethodVisitor mv, java.lang.Class type, Param param)
-
setupHeader
private void setupHeader(org.objectweb.asm.MethodVisitor mv, java.lang.Class type, Header header)
-
convertArgument
private void convertArgument(org.objectweb.asm.MethodVisitor mv, java.lang.Class type, boolean needNullCheck)
-
instantiate
private RequestHandler instantiate(byte[] classData, java.lang.reflect.Method m, java.lang.Object router)
-
-