类的使用
cn.taketoday.bytecode.Label
使用Label的程序包
程序包
说明
CGLIB or ASM other byte code library
Provides some useful class and method adapters.
Provides an ASM visitor that constructs a tree representation of the
classes it visits.
Provides ASM visitors that can be useful for programming and
debugging purposes.
-
cn.taketoday.bytecode中Label的使用
返回Label的cn.taketoday.bytecode中的方法修饰符和类型方法说明protected Label[]Attribute.getLabels()Returns the labels corresponding to this attribute.protected LabelReturns the label corresponding to the given bytecode offset.参数类型为Label的cn.taketoday.bytecode中的方法修饰符和类型方法说明protected AttributeAttribute.read(ClassReader classReader, int offset, int length, char[] charBuffer, int codeAttributeOffset, Label[] labels) Reads aAttribute.typeattribute.protected AttributeCodeComment.read(ClassReader classReader, int offset, int length, char[] charBuffer, int codeAttributeOffset, Label[] labels) protected AttributeComment.read(ClassReader classReader, int offset, int length, char[] charBuffer, int codeAttributeOffset, Label[] labels) protected LabelReturns the label corresponding to the given bytecode offset.voidMethodVisitor.visitJumpInsn(int opcode, Label label) Visits a jump instruction.voidMethodVisitor.visitLabel(Label label) Visits a label.voidMethodVisitor.visitLineNumber(int line, Label start) Visits a line number declaration.voidMethodVisitor.visitLocalVariable(String name, String descriptor, String signature, Label start, Label end, int index) Visits a local variable declaration.MethodVisitor.visitLocalVariableAnnotation(int typeRef, TypePath typePath, Label[] start, Label[] end, int[] index, String descriptor, boolean visible) Visits an annotation on a local variable type.voidMethodVisitor.visitLookupSwitchInsn(Label dflt, int[] keys, Label[] labels) Visits a LOOKUPSWITCH instruction.voidMethodVisitor.visitTableSwitchInsn(int min, int max, Label dflt, Label... labels) Visits a TABLESWITCH instruction.voidMethodVisitor.visitTryCatchBlock(Label start, Label end, Label handler, String type) Visits a try catch block. -
cn.taketoday.bytecode.commons中Label的使用
修饰符和类型方法说明protected Label[]CodeComment.getLabels()GeneratorAdapter.mark()Marks the current code position with a new label.GeneratorAdapter.newLabel()Constructs a newLabel.参数类型为Label的cn.taketoday.bytecode.commons中的方法修饰符和类型方法说明voidGeneratorAdapter.catchException(Label start, Label end, Type exception) Marks the start of an exception handler.voidTableSwitchGenerator.generateCase(int key, Label end) Generates the code for a switch case.voidGenerates the instruction to jump to the given label.voidvoidvoidvoidGenerates the instructions to jump to a label based on the comparison of the top two stack values.voidvoidvoidvoidvoidGenerates the instructions to jump to a label based on the comparison of the top two integer stack values.voidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidGenerates the instruction to jump to the given label if the top stack value is not null.voidvoidGenerates the instruction to jump to the given label if the top stack value is null.voidGenerates the instructions to jump to a label based on the comparison of the top integer stack value with zero.voidvoidInstructionAdapter.lookupSwitch(Label dflt, int[] keys, Label[] labels) voidMarks the current code position with the given label.voidprotected AttributeCodeComment.read(ClassReader classReader, int offset, int length, char[] charBuffer, int codeOffset, Label[] labels) protected AttributeComment.read(ClassReader classReader, int offset, int length, char[] charBuffer, int codeOffset, Label[] labels) protected AttributeModuleHashesAttribute.read(ClassReader classReader, int offset, int length, char[] charBuffer, int codeAttributeOffset, Label[] labels) protected AttributeModuleResolutionAttribute.read(ClassReader classReader, int offset, int length, char[] charBuffer, int codeOffset, Label[] labels) protected AttributeModuleTargetAttribute.read(ClassReader classReader, int offset, int length, char[] charBuffer, int codeOffset, Label[] labels) voidInstructionAdapter.tableSwitch(int min, int max, Label dflt, Label... labels) voidAdviceAdapter.visitJumpInsn(int opcode, Label label) voidAnalyzerAdapter.visitJumpInsn(int opcode, Label label) voidCodeSizeEvaluator.visitJumpInsn(int opcode, Label label) voidInstructionAdapter.visitJumpInsn(int opcode, Label label) voidJSRInlinerAdapter.visitJumpInsn(int opcode, Label label) voidAdviceAdapter.visitLabel(Label label) voidAnalyzerAdapter.visitLabel(Label label) voidInstructionAdapter.visitLabel(Label label) voidAnalyzerAdapter.visitLocalVariable(String name, String descriptor, String signature, Label start, Label end, int index) voidLocalVariablesSorter.visitLocalVariable(String name, String descriptor, String signature, Label start, Label end, int index) voidMethodRemapper.visitLocalVariable(String name, String descriptor, String signature, Label start, Label end, int index) LocalVariablesSorter.visitLocalVariableAnnotation(int typeRef, TypePath typePath, Label[] start, Label[] end, int[] index, String descriptor, boolean visible) MethodRemapper.visitLocalVariableAnnotation(int typeRef, TypePath typePath, Label[] start, Label[] end, int[] index, String descriptor, boolean visible) voidAdviceAdapter.visitLookupSwitchInsn(Label dflt, int[] keys, Label[] labels) voidAnalyzerAdapter.visitLookupSwitchInsn(Label dflt, int[] keys, Label[] labels) voidCodeSizeEvaluator.visitLookupSwitchInsn(Label dflt, int[] keys, Label[] labels) voidInstructionAdapter.visitLookupSwitchInsn(Label dflt, int[] keys, Label[] labels) voidAdviceAdapter.visitTableSwitchInsn(int min, int max, Label dflt, Label... labels) voidAnalyzerAdapter.visitTableSwitchInsn(int min, int max, Label dflt, Label... labels) voidCodeSizeEvaluator.visitTableSwitchInsn(int min, int max, Label dflt, Label... labels) voidInstructionAdapter.visitTableSwitchInsn(int min, int max, Label dflt, Label... labels) voidAdviceAdapter.visitTryCatchBlock(Label start, Label end, Label handler, String type) voidMethodRemapper.visitTryCatchBlock(Label start, Label end, Label handler, String type) -
cn.taketoday.bytecode.core中Label的使用
参数类型为Label的cn.taketoday.bytecode.core中的方法修饰符和类型方法说明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.voidObjectSwitchCallback.processCase(Object key, Label end) -
cn.taketoday.bytecode.transform中Label的使用
参数类型为Label的cn.taketoday.bytecode.transform中的方法修饰符和类型方法说明voidMethodVisitorTee.visitJumpInsn(int opcode, Label label) voidMethodVisitorTee.visitLabel(Label label) voidMethodVisitorTee.visitLineNumber(int line, Label start) voidMethodVisitorTee.visitLocalVariable(String name, String desc, String signature, Label start, Label end, int index) MethodVisitorTee.visitLocalVariableAnnotation(int typeRef, TypePath typePath, Label[] start, Label[] end, int[] index, String desc, boolean visible) voidMethodVisitorTee.visitLookupSwitchInsn(Label dflt, int[] keys, Label[] labels) voidMethodVisitorTee.visitTableSwitchInsn(int min, int max, Label dflt, Label... labels) voidMethodVisitorTee.visitTryCatchBlock(Label start, Label end, Label handler, String type) -
cn.taketoday.bytecode.tree中Label的使用
参数类型为Label的cn.taketoday.bytecode.tree中的方法修饰符和类型方法说明protected LabelNodeMethodNode.getLabelNode(Label label) Returns the LabelNode corresponding to the given Label.protected AttributeCodeComment.read(ClassReader classReader, int offset, int length, char[] charBuffer, int codeAttributeOffset, Label[] labels) protected AttributeComment.read(ClassReader classReader, int offset, int length, char[] charBuffer, int codeAttributeOffset, Label[] labels) voidMethodNode.visitJumpInsn(int opcode, Label label) voidMethodNode.visitLabel(Label label) voidMethodNode.visitLineNumber(int line, Label start) voidMethodNode.visitLocalVariable(String name, String descriptor, String signature, Label start, Label end, int index) MethodNode.visitLocalVariableAnnotation(int typeRef, TypePath typePath, Label[] start, Label[] end, int[] index, String descriptor, boolean visible) voidMethodNode.visitLookupSwitchInsn(Label dflt, int[] keys, Label[] labels) voidMethodNode.visitTableSwitchInsn(int min, int max, Label dflt, Label... labels) voidMethodNode.visitTryCatchBlock(Label start, Label end, Label handler, String type) 参数类型为Label的cn.taketoday.bytecode.tree中的构造器 -
cn.taketoday.bytecode.util中Label的使用
类型参数类型为Label的cn.taketoday.bytecode.util中的字段修饰符和类型字段说明ASMifier.labelNamesThe name of the Label variables in the produced code.Textifier.labelNamesThe names of the labels.参数类型为Label的cn.taketoday.bytecode.util中的方法修饰符和类型方法说明protected voidASMifier.appendLabel(Label label) Appends the name of the given label toPrinter.stringBuilder.protected voidTextifier.appendLabel(Label label) Appends the name of the given label toPrinter.stringBuilder.protected voidASMifier.declareLabel(Label label) Appends a declaration of the given label toPrinter.stringBuilder.protected AttributeCodeComment.read(ClassReader classReader, int offset, int length, char[] charBuffer, int codeAttributeOffset, Label[] labels) protected AttributeComment.read(ClassReader classReader, int offset, int length, char[] charBuffer, int codeAttributeOffset, Label[] labels) voidASMifier.visitJumpInsn(int opcode, Label label) voidCheckMethodAdapter.visitJumpInsn(int opcode, Label label) abstract voidPrinter.visitJumpInsn(int opcode, Label label) Method jump instruction.voidTextifier.visitJumpInsn(int opcode, Label label) voidTraceMethodVisitor.visitJumpInsn(int opcode, Label label) voidASMifier.visitLabel(Label label) voidCheckMethodAdapter.visitLabel(Label label) abstract voidPrinter.visitLabel(Label label) Method label.voidTextifier.visitLabel(Label label) voidTraceMethodVisitor.visitLabel(Label label) voidASMifier.visitLineNumber(int line, Label start) voidCheckMethodAdapter.visitLineNumber(int line, Label start) abstract voidPrinter.visitLineNumber(int line, Label start) Method debug info.voidTextifier.visitLineNumber(int line, Label start) voidTraceMethodVisitor.visitLineNumber(int line, Label start) voidASMifier.visitLocalVariable(String name, String descriptor, String signature, Label start, Label end, int index) voidCheckMethodAdapter.visitLocalVariable(String name, String descriptor, String signature, Label start, Label end, int index) abstract voidPrinter.visitLocalVariable(String name, String descriptor, String signature, Label start, Label end, int index) Method debug info.voidTextifier.visitLocalVariable(String name, String descriptor, String signature, Label start, Label end, int index) voidTraceMethodVisitor.visitLocalVariable(String name, String descriptor, String signature, Label start, Label end, int index) ASMifier.visitLocalVariableAnnotation(int typeRef, TypePath typePath, Label[] start, Label[] end, int[] index, String descriptor, boolean visible) CheckMethodAdapter.visitLocalVariableAnnotation(int typeRef, TypePath typePath, Label[] start, Label[] end, int[] index, String descriptor, boolean visible) Printer.visitLocalVariableAnnotation(int typeRef, TypePath typePath, Label[] start, Label[] end, int[] index, String descriptor, boolean visible) Local variable type annotation.Textifier.visitLocalVariableAnnotation(int typeRef, TypePath typePath, Label[] start, Label[] end, int[] index, String descriptor, boolean visible) TraceMethodVisitor.visitLocalVariableAnnotation(int typeRef, TypePath typePath, Label[] start, Label[] end, int[] index, String descriptor, boolean visible) voidASMifier.visitLookupSwitchInsn(Label dflt, int[] keys, Label[] labels) voidCheckMethodAdapter.visitLookupSwitchInsn(Label dflt, int[] keys, Label[] labels) abstract voidPrinter.visitLookupSwitchInsn(Label dflt, int[] keys, Label[] labels) Method instruction.voidTextifier.visitLookupSwitchInsn(Label dflt, int[] keys, Label[] labels) voidTraceMethodVisitor.visitLookupSwitchInsn(Label dflt, int[] keys, Label[] labels) voidASMifier.visitTableSwitchInsn(int min, int max, Label dflt, Label... labels) voidCheckMethodAdapter.visitTableSwitchInsn(int min, int max, Label dflt, Label... labels) abstract voidPrinter.visitTableSwitchInsn(int min, int max, Label dflt, Label... labels) Method instruction.voidTextifier.visitTableSwitchInsn(int min, int max, Label dflt, Label... labels) voidTraceMethodVisitor.visitTableSwitchInsn(int min, int max, Label dflt, Label... labels) voidASMifier.visitTryCatchBlock(Label start, Label end, Label handler, String type) voidCheckMethodAdapter.visitTryCatchBlock(Label start, Label end, Label handler, String type) abstract voidPrinter.visitTryCatchBlock(Label start, Label end, Label handler, String type) Method exception handler.voidTextifier.visitTryCatchBlock(Label start, Label end, Label handler, String type) voidTraceMethodVisitor.visitTryCatchBlock(Label start, Label end, Label handler, String type) 类型变量类型为Label的cn.taketoday.bytecode.util中的方法参数修饰符和类型方法说明voidASMifierSupport.asmify(StringBuilder outputBuilder, String visitorVariableName, Map<Label, String> labelNames) Generates the ASM code to create an attribute equal to this attribute.voidvoidvoidCodeComment.textify(StringBuilder stringBuilder, Map<Label, String> labelNames) voidComment.textify(StringBuilder stringBuilder, Map<Label, String> labelNames) voidTextifierSupport.textify(StringBuilder outputBuilder, Map<Label, String> labelNames) Generates a human readable representation of this attribute.类型变量类型为Label的cn.taketoday.bytecode.util中的构造器参数限定符构造器说明CheckMethodAdapter(int access, String name, String descriptor, MethodVisitor methodVisitor, Map<Label, Integer> labelInsnIndices) Constructs a newCheckMethodAdapterobject.CheckMethodAdapter(MethodVisitor methodVisitor, Map<Label, Integer> labelInsnIndices) Constructs a newCheckMethodAdapterobject.