类的使用
cn.taketoday.bytecode.tree.AbstractInsnNode
使用AbstractInsnNode的程序包
-
cn.taketoday.bytecode.tree中AbstractInsnNode的使用
修饰符和类型类说明classA node that represents a field instruction.classA node that represents a stack map frame.classA node that represents an IINC instruction.classA node that represents a zero operand instruction.classA node that represents an instruction with a single int operand.classA node that represents an invokedynamic instruction.classA node that represents a jump instruction.classAnAbstractInsnNodethat encapsulates aLabel.classA node that represents an LDC instruction.classA node that represents a line number declaration.classA node that represents a LOOKUPSWITCH instruction.classA node that represents a method instruction.classA node that represents a MULTIANEWARRAY instruction.classA node that represents a TABLESWITCH instruction.classA node that represents a type instruction.classA node that represents a local variable instruction.修饰符和类型字段说明(专用程序包) AbstractInsnNode[]InsnList.cacheA cache of the instructions of this list.private AbstractInsnNodeInsnList.firstInsnThe first instruction in this list.private AbstractInsnNodeInsnList.lastInsnThe last instruction in this list.(专用程序包) AbstractInsnNodeAbstractInsnNode.nextInsnThe next instruction in the list to which this instruction belongs.(专用程序包) AbstractInsnNodeInsnList.InsnListIterator.nextInsn(专用程序包) AbstractInsnNodeAbstractInsnNode.previousInsnThe previous instruction in the list to which this instruction belongs.(专用程序包) AbstractInsnNodeInsnList.InsnListIterator.previousInsn(专用程序包) AbstractInsnNodeInsnList.InsnListIterator.remove修饰符和类型方法说明abstract AbstractInsnNodeReturns a copy of this instruction.protected final AbstractInsnNodeAbstractInsnNode.cloneAnnotations(AbstractInsnNode insnNode) Clones the annotations of the given instruction into this instruction.InsnList.get(int index) Returns the instruction whose index is given.InsnList.getFirst()Returns the first instruction in this list.InsnList.getLast()Returns the last instruction in this list.AbstractInsnNode.getNext()Returns the next instruction in the list to which this instruction belongs, if any.AbstractInsnNode.getPrevious()Returns the previous instruction in the list to which this instruction belongs, if any.InsnList.toArray()Returns an array containing all the instructions in this list.返回变量类型为AbstractInsnNode的类型的cn.taketoday.bytecode.tree中的方法修饰符和类型方法说明InsnList.iterator()Returns an iterator over the instructions in this list.InsnList.iterator(int index) Returns an iterator over the instructions in this list.修饰符和类型方法说明voidInsnList.add(AbstractInsnNode insnNode) Adds the given instruction to the end of this list.protected final AbstractInsnNodeAbstractInsnNode.cloneAnnotations(AbstractInsnNode insnNode) Clones the annotations of the given instruction into this instruction.booleanInsnList.contains(AbstractInsnNode insnNode) Returns true if the given instruction belongs to this list.intInsnList.indexOf(AbstractInsnNode insnNode) Returns the index of the given instruction in this list.voidInsnList.insert(AbstractInsnNode insnNode) Inserts the given instruction at the beginning of this list.voidInsnList.insert(AbstractInsnNode previousInsn, AbstractInsnNode insnNode) Inserts the given instruction after the specified instruction.voidInsnList.insert(AbstractInsnNode previousInsn, InsnList insnList) Inserts the given instructions after the specified instruction.voidInsnList.insertBefore(AbstractInsnNode nextInsn, AbstractInsnNode insnNode) Inserts the given instruction before the specified instruction.voidInsnList.insertBefore(AbstractInsnNode nextInsn, InsnList insnList) Inserts the given instructions before the specified instruction.voidInsnList.remove(AbstractInsnNode insnNode) Removes the given instruction from this list.voidInsnList.set(AbstractInsnNode oldInsnNode, AbstractInsnNode newInsnNode) Replaces an instruction of this list with another instruction. -
cn.taketoday.bytecode.tree.analysis中AbstractInsnNode的使用
修饰符和类型字段说明final Set<AbstractInsnNode>SourceValue.insnsThe instructions that can produce this value.修饰符和类型方法说明BasicInterpreter.binaryOperation(AbstractInsnNode insn, BasicValue value1, BasicValue value2) BasicVerifier.binaryOperation(AbstractInsnNode insn, BasicValue value1, BasicValue value2) abstract VInterpreter.binaryOperation(AbstractInsnNode insn, V value1, V value2) Interprets a bytecode instruction with two arguments.SourceInterpreter.binaryOperation(AbstractInsnNode insn, SourceValue value1, SourceValue value2) BasicInterpreter.copyOperation(AbstractInsnNode insn, BasicValue value) BasicVerifier.copyOperation(AbstractInsnNode insn, BasicValue value) abstract VInterpreter.copyOperation(AbstractInsnNode insn, V value) Interprets a bytecode instruction that moves a value on the stack or to or from local variables.SourceInterpreter.copyOperation(AbstractInsnNode insn, SourceValue value) voidFrame.execute(AbstractInsnNode insn, Interpreter<V> interpreter) Simulates the execution of the given instruction on this execution stack frame.private booleanFrame.executeDupX2(AbstractInsnNode insn, V value1, Interpreter<V> interpreter) private voidFrame.executeInvokeInsn(AbstractInsnNode insn, String methodDescriptor, Interpreter<V> interpreter) BasicInterpreter.naryOperation(AbstractInsnNode insn, List<? extends BasicValue> values) BasicVerifier.naryOperation(AbstractInsnNode insn, List<? extends BasicValue> values) abstract VInterpreter.naryOperation(AbstractInsnNode insn, List<? extends V> values) Interprets a bytecode instruction with a variable number of arguments.SourceInterpreter.naryOperation(AbstractInsnNode insn, List<? extends SourceValue> values) BasicInterpreter.newOperation(AbstractInsnNode insn) abstract VInterpreter.newOperation(AbstractInsnNode insn) Interprets a bytecode instruction without arguments.SourceInterpreter.newOperation(AbstractInsnNode insn) voidBasicInterpreter.returnOperation(AbstractInsnNode insn, BasicValue value, BasicValue expected) voidBasicVerifier.returnOperation(AbstractInsnNode insn, BasicValue value, BasicValue expected) abstract voidInterpreter.returnOperation(AbstractInsnNode insn, V value, V expected) Interprets a bytecode return instruction.voidSourceInterpreter.returnOperation(AbstractInsnNode insn, SourceValue value, SourceValue expected) BasicInterpreter.ternaryOperation(AbstractInsnNode insn, BasicValue value1, BasicValue value2, BasicValue value3) BasicVerifier.ternaryOperation(AbstractInsnNode insn, BasicValue value1, BasicValue value2, BasicValue value3) abstract VInterpreter.ternaryOperation(AbstractInsnNode insn, V value1, V value2, V value3) Interprets a bytecode instruction with three arguments.SourceInterpreter.ternaryOperation(AbstractInsnNode insn, SourceValue value1, SourceValue value2, SourceValue value3) BasicInterpreter.unaryOperation(AbstractInsnNode insn, BasicValue value) BasicVerifier.unaryOperation(AbstractInsnNode insn, BasicValue value) abstract VInterpreter.unaryOperation(AbstractInsnNode insn, V value) Interprets a bytecode instruction with a single argument.SourceInterpreter.unaryOperation(AbstractInsnNode insn, SourceValue value) 类型变量类型为AbstractInsnNode的cn.taketoday.bytecode.tree.analysis中的方法参数修饰符和类型方法说明private voidAnalyzer.findSubroutine(int insnIndex, Subroutine subroutine, ArrayList<AbstractInsnNode> jsrInsns) Follows the control flow graph of the currently analyzed method, starting at the given instruction index, and stores a copy of the given subroutine inAnalyzer.subroutinesfor each encountered instruction.限定符构造器说明AnalyzerException(AbstractInsnNode insn, String message) Constructs a newAnalyzerException.AnalyzerException(AbstractInsnNode insn, String message, Object expected, Value actual) Constructs a newAnalyzerException.AnalyzerException(AbstractInsnNode insn, String message, Throwable cause) Constructs a newAnalyzerException.SourceValue(int size, AbstractInsnNode insnNode) Constructs a newSourceValue.类型变量类型为AbstractInsnNode的cn.taketoday.bytecode.tree.analysis中的构造器参数 -
cn.taketoday.bytecode.util中AbstractInsnNode的使用
修饰符和类型方法说明private static booleanCheckFrameAnalyzer.isJvmInsnNode(AbstractInsnNode insnNode) Returns true if the given instruction node corresponds to a real JVM instruction.