Class StackMapTable.Shifter

    • Constructor Summary

      Constructors 
      Constructor Description
      Shifter​(StackMapTable smt, int where, int gap, boolean exclusive)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void appendFrame​(int pos, int offsetDelta, int[] tags, int[] data)
      Invoked if the visited frame is a append_frame.
      void chopFrame​(int pos, int offsetDelta, int k)
      Invoked if the visited frame is a chop_frame.
      void doit()  
      void fullFrame​(int pos, int offsetDelta, int[] localTags, int[] localData, int[] stackTags, int[] stackData)
      Invoked if the visited frame is full_frame.
      (package private) static byte[] insertGap​(byte[] info, int where, int gap)  
      void sameFrame​(int pos, int offsetDelta)
      Invoked if the visited frame is a same_frame or a same_frame_extended.
      void sameLocals​(int pos, int offsetDelta, int stackTag, int stackData)
      Invoked if the visited frame is a same_locals_1_stack_item_frame or a same_locals_1_stack_item_frame_extended.
      (package private) void update​(int pos, int offsetDelta)  
      (package private) void update​(int pos, int offsetDelta, int base, int entry)  
      • Methods inherited from class java.lang.Object

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

      • where

        int where
      • gap

        int gap
      • position

        int position
      • updatedInfo

        byte[] updatedInfo
      • exclusive

        boolean exclusive
    • Constructor Detail

      • Shifter

        public Shifter​(StackMapTable smt,
                       int where,
                       int gap,
                       boolean exclusive)
    • Method Detail

      • sameFrame

        public void sameFrame​(int pos,
                              int offsetDelta)
        Description copied from class: StackMapTable.Walker
        Invoked if the visited frame is a same_frame or a same_frame_extended.
        Overrides:
        sameFrame in class StackMapTable.Walker
        Parameters:
        pos - the position of this frame in the info field of attribute_info structure.
      • sameLocals

        public void sameLocals​(int pos,
                               int offsetDelta,
                               int stackTag,
                               int stackData)
        Description copied from class: StackMapTable.Walker
        Invoked if the visited frame is a same_locals_1_stack_item_frame or a same_locals_1_stack_item_frame_extended.
        Overrides:
        sameLocals in class StackMapTable.Walker
        Parameters:
        pos - the position.
        stackTag - stack[0].tag.
        stackData - stack[0].cpool_index if the tag is OBJECT, or stack[0].offset if the tag is UNINIT.
      • update

        void update​(int pos,
                    int offsetDelta,
                    int base,
                    int entry)
      • insertGap

        static byte[] insertGap​(byte[] info,
                                int where,
                                int gap)
      • chopFrame

        public void chopFrame​(int pos,
                              int offsetDelta,
                              int k)
        Description copied from class: StackMapTable.Walker
        Invoked if the visited frame is a chop_frame.
        Overrides:
        chopFrame in class StackMapTable.Walker
        Parameters:
        pos - the position.
        k - the k last locals are absent.
      • appendFrame

        public void appendFrame​(int pos,
                                int offsetDelta,
                                int[] tags,
                                int[] data)
        Description copied from class: StackMapTable.Walker
        Invoked if the visited frame is a append_frame.
        Overrides:
        appendFrame in class StackMapTable.Walker
        Parameters:
        pos - the position.
        tags - locals[i].tag.
        data - locals[i].cpool_index or locals[i].offset.
      • fullFrame

        public void fullFrame​(int pos,
                              int offsetDelta,
                              int[] localTags,
                              int[] localData,
                              int[] stackTags,
                              int[] stackData)
        Description copied from class: StackMapTable.Walker
        Invoked if the visited frame is full_frame.
        Overrides:
        fullFrame in class StackMapTable.Walker
        Parameters:
        pos - the position.
        localTags - locals[i].tag
        localData - locals[i].cpool_index or locals[i].offset
        stackTags - stack[i].tag
        stackData - stack[i].cpool_index or stack[i].offset
      • update

        void update​(int pos,
                    int offsetDelta)