Class InstructionReader

java.lang.Object
org.objectweb.asm.MethodVisitor
net.covers1624.coffeegrinder.util.asm.NodeAwareMethodVisitor
net.covers1624.coffeegrinder.bytecode.InstructionReader

public class InstructionReader extends NodeAwareMethodVisitor
Created by covers1624 on 23/2/21.
  • Field Details

    • NEG_LDC

      public static final Instruction[] 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

      public static final Compare.Kind[] CMP_EXT_KINDS
    • IF_CMP_KINDS

      public static final Comparison.ComparisonKind[] IF_CMP_KINDS
    • T_TYPES

      public static final org.objectweb.asm.Type[] T_TYPES
    • INVOKE_KINDS

      public static final Invoke.InvokeKind[] INVOKE_KINDS
  • Method Details

    • parse

      public static MethodDecl parse(TypeResolver typeResolver, Method method)
      Completely parse, process, and build a MethodDecl.
      Returns:
      The MethodDecl.
    • visitEnd

      public void visitEnd()
      Overrides:
      visitEnd in class org.objectweb.asm.MethodVisitor
    • visitInsn

      public void visitInsn(org.objectweb.asm.tree.AbstractInsnNode node, int index)
      Description copied from class: NodeAwareMethodVisitor
      Called before the respective Insn specific method.
      Overrides:
      visitInsn in class NodeAwareMethodVisitor
      Parameters:
      node - The Insn node.
    • visitInsn

      public void visitInsn(int opcode)
      Overrides:
      visitInsn in class org.objectweb.asm.MethodVisitor
    • visitIntInsn

      public void visitIntInsn(int opcode, int operand)
      Overrides:
      visitIntInsn in class org.objectweb.asm.MethodVisitor
    • visitVarInsn

      public void visitVarInsn(int opcode, int var)
      Overrides:
      visitVarInsn in class org.objectweb.asm.MethodVisitor
    • visitTypeInsn

      public void visitTypeInsn(int opcode, String typeDesc)
      Overrides:
      visitTypeInsn in class org.objectweb.asm.MethodVisitor
    • visitFieldInsn

      public void visitFieldInsn(int opcode, String owner, String name, String descriptor)
      Overrides:
      visitFieldInsn in class org.objectweb.asm.MethodVisitor
    • visitMethodInsn

      public void visitMethodInsn(int opcode, String ownerName, String name, String descriptor, boolean isInterface)
      Overrides:
      visitMethodInsn in class org.objectweb.asm.MethodVisitor
    • visitInvokeDynamicInsn

      public void visitInvokeDynamicInsn(String name, String descriptor, org.objectweb.asm.Handle bootstrapMethodHandle, Object... bootstrapMethodArguments)
      Overrides:
      visitInvokeDynamicInsn in class org.objectweb.asm.MethodVisitor
    • visitJumpInsn

      public void visitJumpInsn(int opcode, org.objectweb.asm.Label label)
      Overrides:
      visitJumpInsn in class org.objectweb.asm.MethodVisitor
    • visitLabel

      public void visitLabel(org.objectweb.asm.Label label)
      Overrides:
      visitLabel in class org.objectweb.asm.MethodVisitor
    • visitImportantLabel

      public void visitImportantLabel(org.objectweb.asm.Label label)
    • visitLdcInsn

      public void visitLdcInsn(Object value)
      Overrides:
      visitLdcInsn in class org.objectweb.asm.MethodVisitor
    • visitIincInsn

      public void visitIincInsn(int var, int increment)
      Overrides:
      visitIincInsn in class org.objectweb.asm.MethodVisitor
    • visitTableSwitchInsn

      public void visitTableSwitchInsn(int min, int max, org.objectweb.asm.Label dflt, org.objectweb.asm.Label... labels)
      Overrides:
      visitTableSwitchInsn in class org.objectweb.asm.MethodVisitor
    • visitLookupSwitchInsn

      public void visitLookupSwitchInsn(org.objectweb.asm.Label dflt, int[] keys, org.objectweb.asm.Label[] labels)
      Overrides:
      visitLookupSwitchInsn in class org.objectweb.asm.MethodVisitor
    • visitMultiANewArrayInsn

      public void visitMultiANewArrayInsn(String descriptor, int numDimensions)
      Overrides:
      visitMultiANewArrayInsn in class org.objectweb.asm.MethodVisitor
    • visitFrame

      public void visitFrame(int type, int numLocal, Object[] locals, int numStack, Object[] stacks)
      Overrides:
      visitFrame in class org.objectweb.asm.MethodVisitor
    • visitLineNumber

      public void visitLineNumber(int line, org.objectweb.asm.Label start)
      Overrides:
      visitLineNumber in class org.objectweb.asm.MethodVisitor