Class InstructionReader
java.lang.Object
org.objectweb.asm.MethodVisitor
net.covers1624.coffeegrinder.util.asm.NodeAwareMethodVisitor
net.covers1624.coffeegrinder.bytecode.InstructionReader
Created by covers1624 on 23/2/21.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Compare.Kind[]static final org.objectweb.asm.Type[]static final Invoke.InvokeKind[]static final Comparison.ComparisonKind[]static final Invoke.InvokeKind[]static final Instruction[]static final org.objectweb.asm.Type[][]static final org.objectweb.asm.Type[]Fields inherited from class org.objectweb.asm.MethodVisitor
api, mv -
Method Summary
Modifier and TypeMethodDescriptionstatic MethodDeclparse(TypeResolver typeResolver, Method method) Completely parse, process, and build aMethodDecl.voidvisitEnd()voidvisitFieldInsn(int opcode, String owner, String name, String descriptor) voidvisitFrame(int type, int numLocal, Object[] locals, int numStack, Object[] stacks) voidvisitIincInsn(int var, int increment) voidvisitImportantLabel(org.objectweb.asm.Label label) voidvisitInsn(int opcode) voidvisitInsn(org.objectweb.asm.tree.AbstractInsnNode node, int index) Called before the respective Insn specific method.voidvisitIntInsn(int opcode, int operand) voidvisitInvokeDynamicInsn(String name, String descriptor, org.objectweb.asm.Handle bootstrapMethodHandle, Object... bootstrapMethodArguments) voidvisitJumpInsn(int opcode, org.objectweb.asm.Label label) voidvisitLabel(org.objectweb.asm.Label label) voidvisitLdcInsn(Object value) voidvisitLineNumber(int line, org.objectweb.asm.Label start) voidvisitLookupSwitchInsn(org.objectweb.asm.Label dflt, int[] keys, org.objectweb.asm.Label[] labels) voidvisitMethodInsn(int opcode, String ownerName, String name, String descriptor, boolean isInterface) voidvisitMultiANewArrayInsn(String descriptor, int numDimensions) voidvisitTableSwitchInsn(int min, int max, org.objectweb.asm.Label dflt, org.objectweb.asm.Label... labels) voidvisitTypeInsn(int opcode, String typeDesc) voidvisitVarInsn(int opcode, int var) Methods inherited from class org.objectweb.asm.MethodVisitor
getDelegate, visitAnnotableParameterCount, visitAnnotation, visitAnnotationDefault, visitAttribute, visitCode, visitInsnAnnotation, visitLocalVariable, visitLocalVariableAnnotation, visitMaxs, visitMethodInsn, visitParameter, visitParameterAnnotation, visitTryCatchAnnotation, visitTryCatchBlock, visitTypeAnnotation
-
Field Details
-
NEG_LDC
-
PRIMITIVE_CAST
public static final org.objectweb.asm.Type[][] PRIMITIVE_CAST -
COMPARISONS
public static final org.objectweb.asm.Type[] COMPARISONS -
CMP_EXT_KINDS
-
IF_CMP_KINDS
-
T_TYPES
public static final org.objectweb.asm.Type[] T_TYPES -
INVOKE_KINDS
-
DYNAMIC_INVOKE_KINDS
-
-
Method Details
-
parse
Completely parse, process, and build aMethodDecl.- Returns:
- The
MethodDecl.
-
visitEnd
public void visitEnd()- Overrides:
visitEndin classorg.objectweb.asm.MethodVisitor
-
visitInsn
public void visitInsn(org.objectweb.asm.tree.AbstractInsnNode node, int index) Description copied from class:NodeAwareMethodVisitorCalled before the respective Insn specific method.- Overrides:
visitInsnin classNodeAwareMethodVisitor- Parameters:
node- The Insn node.
-
visitInsn
public void visitInsn(int opcode) - Overrides:
visitInsnin classorg.objectweb.asm.MethodVisitor
-
visitIntInsn
public void visitIntInsn(int opcode, int operand) - Overrides:
visitIntInsnin classorg.objectweb.asm.MethodVisitor
-
visitVarInsn
public void visitVarInsn(int opcode, int var) - Overrides:
visitVarInsnin classorg.objectweb.asm.MethodVisitor
-
visitTypeInsn
- Overrides:
visitTypeInsnin classorg.objectweb.asm.MethodVisitor
-
visitFieldInsn
- Overrides:
visitFieldInsnin classorg.objectweb.asm.MethodVisitor
-
visitMethodInsn
public void visitMethodInsn(int opcode, String ownerName, String name, String descriptor, boolean isInterface) - Overrides:
visitMethodInsnin classorg.objectweb.asm.MethodVisitor
-
visitInvokeDynamicInsn
public void visitInvokeDynamicInsn(String name, String descriptor, org.objectweb.asm.Handle bootstrapMethodHandle, Object... bootstrapMethodArguments) - Overrides:
visitInvokeDynamicInsnin classorg.objectweb.asm.MethodVisitor
-
visitJumpInsn
public void visitJumpInsn(int opcode, org.objectweb.asm.Label label) - Overrides:
visitJumpInsnin classorg.objectweb.asm.MethodVisitor
-
visitLabel
public void visitLabel(org.objectweb.asm.Label label) - Overrides:
visitLabelin classorg.objectweb.asm.MethodVisitor
-
visitImportantLabel
public void visitImportantLabel(org.objectweb.asm.Label label) -
visitLdcInsn
- Overrides:
visitLdcInsnin classorg.objectweb.asm.MethodVisitor
-
visitIincInsn
public void visitIincInsn(int var, int increment) - Overrides:
visitIincInsnin classorg.objectweb.asm.MethodVisitor
-
visitTableSwitchInsn
public void visitTableSwitchInsn(int min, int max, org.objectweb.asm.Label dflt, org.objectweb.asm.Label... labels) - Overrides:
visitTableSwitchInsnin classorg.objectweb.asm.MethodVisitor
-
visitLookupSwitchInsn
public void visitLookupSwitchInsn(org.objectweb.asm.Label dflt, int[] keys, org.objectweb.asm.Label[] labels) - Overrides:
visitLookupSwitchInsnin classorg.objectweb.asm.MethodVisitor
-
visitMultiANewArrayInsn
- Overrides:
visitMultiANewArrayInsnin classorg.objectweb.asm.MethodVisitor
-
visitFrame
- Overrides:
visitFramein classorg.objectweb.asm.MethodVisitor
-
visitLineNumber
public void visitLineNumber(int line, org.objectweb.asm.Label start) - Overrides:
visitLineNumberin classorg.objectweb.asm.MethodVisitor
-