Class AbstractMatcher

    • Field Summary

      Fields 
      Modifier and Type Field Description
      (package private) org.objectweb.asm.tree.AbstractInsnNode cursor  
      (package private) java.util.Map<java.lang.String,​org.objectweb.asm.tree.VarInsnNode> vars  
    • Constructor Summary

      Constructors 
      Constructor Description
      AbstractMatcher()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      (package private) void firstIsALoad0​(org.objectweb.asm.tree.MethodNode methodNode)
      Sets cursor to first instruction of method if it is ALOAD 0, otherwise sets it to null.
      (package private) void next()
      Moves cursor to next instruction.
      (package private) void nextIs​(int opcode)
      Moves cursor to next instruction if it has given opcode, otherwise sets it to null.
      (package private) void nextIsInvokeStatic​(java.lang.String owner, java.lang.String name)  
      (package private) void nextIsInvokeSuper​(java.lang.String owner, java.lang.String desc)
      Moves cursor to next instruction if it is INVOKESPECIAL <init> with given owner and descriptor, otherwise sets it to null.
      (package private) void nextIsInvokeVirtual​(java.lang.String owner, java.lang.String name)  
      (package private) void nextIsSwitch()
      Moves cursor to next instruction if it is TABLESWITCH or LOOKUPSWITCH, otherwise sets it to null.
      (package private) void nextIsType​(int opcode, java.lang.String desc)
      Moves cursor to next instruction if it is TypeInsnNode with given opcode and operand, otherwise sets it to null.
      (package private) void nextIsVar​(int opcode, java.lang.String name)  
      (package private) void skipNonOpcodes()
      Moves cursor through AbstractInsnNode.FRAME, AbstractInsnNode.LABEL, AbstractInsnNode.LINE.
      (package private) static org.objectweb.asm.tree.AbstractInsnNode skipNonOpcodes​(org.objectweb.asm.tree.AbstractInsnNode cursor)
      Returns first instruction from given and following it that is not AbstractInsnNode.FRAME, AbstractInsnNode.LABEL, AbstractInsnNode.LINE.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • vars

        final java.util.Map<java.lang.String,​org.objectweb.asm.tree.VarInsnNode> vars
      • cursor

        org.objectweb.asm.tree.AbstractInsnNode cursor
    • Constructor Detail

      • AbstractMatcher

        AbstractMatcher()
    • Method Detail

      • firstIsALoad0

        final void firstIsALoad0​(org.objectweb.asm.tree.MethodNode methodNode)
        Sets cursor to first instruction of method if it is ALOAD 0, otherwise sets it to null.
      • nextIsType

        final void nextIsType​(int opcode,
                              java.lang.String desc)
        Moves cursor to next instruction if it is TypeInsnNode with given opcode and operand, otherwise sets it to null.
      • nextIsInvokeSuper

        final void nextIsInvokeSuper​(java.lang.String owner,
                                     java.lang.String desc)
        Moves cursor to next instruction if it is INVOKESPECIAL <init> with given owner and descriptor, otherwise sets it to null.
      • nextIsInvokeVirtual

        final void nextIsInvokeVirtual​(java.lang.String owner,
                                       java.lang.String name)
      • nextIsInvokeStatic

        final void nextIsInvokeStatic​(java.lang.String owner,
                                      java.lang.String name)
      • nextIsVar

        final void nextIsVar​(int opcode,
                             java.lang.String name)
      • nextIsSwitch

        final void nextIsSwitch()
        Moves cursor to next instruction if it is TABLESWITCH or LOOKUPSWITCH, otherwise sets it to null.
      • nextIs

        final void nextIs​(int opcode)
        Moves cursor to next instruction if it has given opcode, otherwise sets it to null.
      • next

        final void next()
        Moves cursor to next instruction.
      • skipNonOpcodes

        final void skipNonOpcodes()
        Moves cursor through AbstractInsnNode.FRAME, AbstractInsnNode.LABEL, AbstractInsnNode.LINE.
      • skipNonOpcodes

        static org.objectweb.asm.tree.AbstractInsnNode skipNonOpcodes​(org.objectweb.asm.tree.AbstractInsnNode cursor)
        Returns first instruction from given and following it that is not AbstractInsnNode.FRAME, AbstractInsnNode.LABEL, AbstractInsnNode.LINE.