类的使用
cn.taketoday.bytecode.core.CodeEmitter
使用CodeEmitter的程序包
程序包
说明
Optimised Reflection System
-
cn.taketoday.bytecode.core中CodeEmitter的使用
修饰符和类型字段说明private final CodeEmitterBlock.eprivate CodeEmitterClassEmitter.staticHookprivate CodeEmitterClassEmitter.staticInit修饰符和类型方法说明ClassEmitter.begin_static()ClassEmitter.begin_static(boolean hook) ClassEmitter.begin_static(boolean hook, MethodVisitor visitor) ClassEmitter.beginMethod(int access, MethodSignature sig, Type... exceptions) ClassEmitter.beginMethod(int access, Method method) static CodeEmitterEmitUtils.beginMethod(ClassEmitter e, MethodInfo method) static CodeEmitterEmitUtils.beginMethod(ClassEmitter e, MethodInfo method, int access) Block.getCodeEmitter()ClassEmitter.getStaticHook()参数类型为CodeEmitter的cn.taketoday.bytecode.core中的方法修饰符和类型方法说明static voidEmitUtils.appendString(CodeEmitter e, Type type, EmitUtils.ArrayDelimiters delims, CustomizerRegistry registry) private static voidEmitUtils.appendStringHelper(CodeEmitter e, Type type, EmitUtils.ArrayDelimiters delims, CustomizerRegistry registry, ProcessArrayCallback callback) static voidEmitUtils.constructorSwitch(CodeEmitter e, List constructors, ObjectSwitchCallback callback) voidFieldTypeCustomizer.customize(CodeEmitter e, int index, Type type) Customizesthis.FIELD_0 = ?assignment in key constructorstatic voidEmitUtils.loadClass(CodeEmitter e, Type type) private static voidEmitUtils.loadClassHelper(CodeEmitter e, Type type) static voidEmitUtils.loadClassThis(CodeEmitter e) static voidEmitUtils.loadEmptyArguments(CodeEmitter codeEmitter) static voidEmitUtils.loadMethod(CodeEmitter e, MethodInfo method) private static voidEmitUtils.memberHelperSize(CodeEmitter e, List members, ObjectSwitchCallback callback, EmitUtils.ParameterTyper typer, Label def, Label end) private static voidEmitUtils.memberHelperType(CodeEmitter e, List<MethodInfo> members, ObjectSwitchCallback callback, EmitUtils.ParameterTyper typer, Label def, Label end, BitSet checked) private static voidEmitUtils.memberSwitchHelper(CodeEmitter e, List members, ObjectSwitchCallback callback, boolean useName) static voidEmitUtils.methodSwitch(CodeEmitter e, List methods, ObjectSwitchCallback callback) static voidEmitUtils.notEquals(CodeEmitter e, Type type, Label notEquals, CustomizerRegistry registry) Branches to the specified label if the top two items on the stack are not equal.private static voidEmitUtils.notEqualsHelper(CodeEmitter e, Type type, Label notEquals, CustomizerRegistry registry, ProcessArrayCallback callback) private static voidEmitUtils.nullcmp(CodeEmitter e, Label oneNull, Label bothNull) If both objects on the top of the stack are non-null, does nothing.static voidEmitUtils.processArrays(CodeEmitter e, Type type, ProcessArrayCallback callback) Process two arrays on the stack in parallel.static voidEmitUtils.pushArray(CodeEmitter e, Object[] array) static voidEmitUtils.pushObject(CodeEmitter e, Object obj) private static voidEmitUtils.shrinkStringBuffer(CodeEmitter e, int amt) static voidEmitUtils.stringSwitch(CodeEmitter e, String[] strings, int switchStyle, ObjectSwitchCallback callback) private static voidEmitUtils.stringSwitchHash(CodeEmitter e, String[] strings, ObjectSwitchCallback callback, boolean skipEquals) private static voidEmitUtils.stringSwitchHelper(CodeEmitter e, List strings, ObjectSwitchCallback callback, Label def, Label end, int index) private static voidEmitUtils.stringSwitchTrie(CodeEmitter e, String[] strings, ObjectSwitchCallback callback) static voidEmitUtils.wrapUndeclaredThrowable(CodeEmitter e, Block handler, Type[] exceptions, Type wrapper) 参数类型为CodeEmitter的cn.taketoday.bytecode.core中的构造器 -
cn.taketoday.bytecode.proxy中CodeEmitter的使用
参数类型为CodeEmitter的cn.taketoday.bytecode.proxy中的方法修饰符和类型方法说明voidCallbackGenerator.Context.emitCallback(CodeEmitter ce, int index) private voidEnhancer.emitCommonNewInstance(CodeEmitter e) private voidEnhancer.emitCurrentCallback(CodeEmitter e, int index) voidCallbackGenerator.Context.emitLoadArgsAndInvoke(CodeEmitter e, MethodInfo method) voidCallbackGenerator.generateStatic(CodeEmitter e, CallbackGenerator.Context context, List<MethodInfo> methods) voidDispatcherGenerator.generateStatic(CodeEmitter e, CallbackGenerator.Context context, List<MethodInfo> methods) voidFixedValueGenerator.generateStatic(CodeEmitter e, CallbackGenerator.Context context, List<MethodInfo> methods) voidInvocationHandlerGenerator.generateStatic(CodeEmitter e, CallbackGenerator.Context context, List<MethodInfo> methods) voidLazyLoaderGenerator.generateStatic(CodeEmitter e, CallbackGenerator.Context context, List<MethodInfo> methods) voidMethodInterceptorGenerator.generateStatic(CodeEmitter e, CallbackGenerator.Context context, List<MethodInfo> methods) voidNoOpGenerator.generateStatic(CodeEmitter e, CallbackGenerator.Context context, List methods) private TypeEnhancer.getThisType(CodeEmitter e) private static voidMethodInterceptorGenerator.superHelper(CodeEmitter e, MethodInfo method, CallbackGenerator.Context context) -
cn.taketoday.bytecode.reflect中CodeEmitter的使用
参数类型为CodeEmitter的cn.taketoday.bytecode.reflect中的方法修饰符和类型方法说明private static voidMethodAccessEmitter.invokeSwitchHelper(CodeEmitter e, List members, int arg, Type base) private voidMethodAccessEmitter.signatureSwitchHelper(CodeEmitter e, List<String> signatures) 参数类型为CodeEmitter的cn.taketoday.bytecode.reflect中的构造器 -
cn.taketoday.bytecode.transform.impl中CodeEmitter的使用
修饰符和类型方法说明AddDelegateTransformer.beginMethod(int access, MethodSignature sig, Type... exceptions) AddInitTransformer.beginMethod(int access, MethodSignature sig, Type... exceptions) InterceptFieldTransformer.beginMethod(int access, MethodSignature sig, Type... exceptions) UndeclaredThrowableTransformer.beginMethod(int access, MethodSignature sig, Type... exceptions) -
cn.taketoday.reflect中CodeEmitter的使用
参数类型为CodeEmitter的cn.taketoday.reflect中的方法修饰符和类型方法说明protected voidGeneratorSupport.prepareParameters(CodeEmitter codeEmitter, Executable targetExecutable)