类的使用
cn.taketoday.bytecode.tree.analysis.AnalyzerException
使用AnalyzerException的程序包
-
cn.taketoday.bytecode.tree.analysis中AnalyzerException的使用
修饰符和类型方法说明Analyzer.analyze(String owner, MethodNode method) Analyzes the given method.Analyzer.analyzeAndComputeMaxs(String owner, MethodNode method) Analyzes the given method and computes and sets its maximum stack size and maximum number of local variables.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.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.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) 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.protected BasicValueBasicVerifier.getElementValue(BasicValue objectArrayValue) Returns the value corresponding to the type of the elements of the given array reference value.protected voidAnalyzer.init(String owner, MethodNode method) Initializes this analyzer.private voidAnalyzer.merge(int insnIndex, Frame<V> frameBeforeJsr, Frame<V> frameAfterRet, Subroutine subroutineBeforeJsr, boolean[] localsUsed) Merges the given frame and subroutine into the frame and subroutines at the given instruction index (case of a RET instruction).private voidAnalyzer.merge(int insnIndex, Frame<V> frame, Subroutine subroutine) Merges the given frame and subroutine into the frame and subroutines at the given instruction index.booleanFrame.merge(Frame<? extends V> frame, Interpreter<V> interpreter) Merges the given frame into this frame.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.BasicInterpreter.newOperation(AbstractInsnNode insn) abstract VInterpreter.newOperation(AbstractInsnNode insn) Interprets a bytecode instruction without arguments.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.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.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. -
cn.taketoday.bytecode.util中AnalyzerException的使用
修饰符和类型方法说明private voidCheckFrameAnalyzer.checkFrame(int insnIndex, Frame<V> frame, boolean requireFrame) Checks that the given frame is compatible with the frame at the given instruction index, if any.private voidCheckFrameAnalyzer.endControlFlow(int insnIndex) Ends the control flow graph at the given instruction.CheckFrameAnalyzer.expandFrame(String owner, Frame<V> previousFrame, FrameNode frameNode) Returns the expanded representation of the givenFrameNode.private voidCheckFrameAnalyzer.expandFrames(String owner, MethodNode method, Frame<V> initialFrame) Expands theFrameNode"instructions" of the given method intoFrameobjects and stores them at the corresponding indices of theAnalyzer.framesarray.protected voidCheckFrameAnalyzer.init(String owner, MethodNode method) private VCheckFrameAnalyzer.newFrameValue(String owner, FrameNode frameNode, Object type) Creates a newValuethat represents the given stack map frame type.