Class Assembler

    • Constructor Detail

      • Assembler

        public Assembler()
      • Assembler

        protected Assembler​(CodeDataOutput out,
                            java.util.Map<java.lang.String,​Label> labels)
    • Method Detail

      • setWideIndex

        public void setWideIndex​(boolean wideIndex)
        Set goto and jsr to use wide index
        Parameters:
        wideIndex -
      • fixAddress

        public void fixAddress​(java.lang.String name)
                        throws java.io.IOException
        Fixes address here for object
        Parameters:
        name -
        Throws:
        java.io.IOException
      • getLabel

        public Label getLabel​(java.lang.String name)
      • labelForAddress

        public Label labelForAddress​(int address)
      • createBranch

        public Label.Branch createBranch​(java.lang.String name)
                                  throws java.io.IOException
        Creates a branch for possibly unknown address
        Parameters:
        name -
        Returns:
        Throws:
        java.io.IOException
      • isReferenced

        public boolean isReferenced​(java.lang.String target)
      • getCode

        public byte[] getCode()
      • fixLabels

        public void fixLabels​(byte[] code)
      • position

        public int position()
                     throws java.io.IOException
        Throws:
        java.io.IOException
      • pushType

        private void pushType​(javax.lang.model.type.TypeMirror type)
        Parameters:
        type -
      • popType

        private void popType()
      • txor

        private void txor()
                   throws java.io.IOException
        Throws:
        java.io.IOException
      • txor

        public void txor​(javax.lang.model.type.TypeMirror type)
                  throws java.io.IOException
        Throws:
        java.io.IOException
      • tushr

        private void tushr()
                    throws java.io.IOException
        Throws:
        java.io.IOException
      • tushr

        public void tushr​(javax.lang.model.type.TypeMirror type)
                   throws java.io.IOException
        Throws:
        java.io.IOException
      • tsub

        private void tsub()
                   throws java.io.IOException
        Throws:
        java.io.IOException
      • tsub

        public void tsub​(javax.lang.model.type.TypeMirror type)
                  throws java.io.IOException
        Throws:
        java.io.IOException
      • tstore

        private void tstore​(int index)
                     throws java.io.IOException
        Throws:
        java.io.IOException
      • tstore

        public void tstore​(javax.lang.model.type.TypeMirror type,
                           int index)
                    throws java.io.IOException
        Throws:
        java.io.IOException
      • tshr

        private void tshr()
                   throws java.io.IOException
        Throws:
        java.io.IOException
      • tshr

        public void tshr​(javax.lang.model.type.TypeMirror type)
                  throws java.io.IOException
        Throws:
        java.io.IOException
      • tshl

        private void tshl()
                   throws java.io.IOException
        Throws:
        java.io.IOException
      • tshl

        public void tshl​(javax.lang.model.type.TypeMirror type)
                  throws java.io.IOException
        Throws:
        java.io.IOException
      • treturn

        private void treturn()
                      throws java.io.IOException
        Throws:
        java.io.IOException
      • treturn

        public void treturn​(javax.lang.model.type.TypeMirror type)
                     throws java.io.IOException
        Throws:
        java.io.IOException
      • trem

        private void trem()
                   throws java.io.IOException
        Throws:
        java.io.IOException
      • trem

        public void trem​(javax.lang.model.type.TypeMirror type)
                  throws java.io.IOException
        Throws:
        java.io.IOException
      • tor

        private void tor()
                  throws java.io.IOException
        Throws:
        java.io.IOException
      • tor

        public void tor​(javax.lang.model.type.TypeMirror type)
                 throws java.io.IOException
        Throws:
        java.io.IOException
      • tneg

        private void tneg()
                   throws java.io.IOException
        Throws:
        java.io.IOException
      • tneg

        public void tneg​(javax.lang.model.type.TypeMirror type)
                  throws java.io.IOException
        Throws:
        java.io.IOException
      • tmul

        private void tmul()
                   throws java.io.IOException
        Throws:
        java.io.IOException
      • tmul

        public void tmul​(javax.lang.model.type.TypeMirror type)
                  throws java.io.IOException
        Throws:
        java.io.IOException
      • tload

        private void tload​(int index)
                    throws java.io.IOException
        Throws:
        java.io.IOException
      • tload

        public void tload​(javax.lang.model.type.TypeMirror type,
                          int index)
                   throws java.io.IOException
        Throws:
        java.io.IOException
      • tipush

        private void tipush​(int b)
                     throws java.io.IOException
        Throws:
        java.io.IOException
      • tipush

        public void tipush​(javax.lang.model.type.TypeMirror type,
                           int b)
                    throws java.io.IOException
        Throws:
        java.io.IOException
      • tinc

        private void tinc​(int index,
                          int con)
                   throws java.io.IOException
        Throws:
        java.io.IOException
      • tinc

        public void tinc​(javax.lang.model.type.TypeMirror type,
                         int index,
                         int con)
                  throws java.io.IOException
        Throws:
        java.io.IOException
      • tdiv

        private void tdiv()
                   throws java.io.IOException
        Throws:
        java.io.IOException
      • tdiv

        public void tdiv​(javax.lang.model.type.TypeMirror type)
                  throws java.io.IOException
        Throws:
        java.io.IOException
      • tconst_null

        private void tconst_null()
                          throws java.io.IOException
        Throws:
        java.io.IOException
      • tconst

        private void tconst​(int i)
                     throws java.io.IOException
        Throws:
        java.io.IOException
      • tconst

        public void tconst​(javax.lang.model.type.TypeMirror type,
                           int i)
                    throws java.io.IOException
        Throws:
        java.io.IOException
      • tcmpl

        public void tcmpl()
                   throws java.io.IOException
        Throws:
        java.io.IOException
      • tcmpl

        public void tcmpl​(javax.lang.model.type.TypeMirror type)
                   throws java.io.IOException
        Throws:
        java.io.IOException
      • tcmpg

        private void tcmpg()
                    throws java.io.IOException
        Throws:
        java.io.IOException
      • tcmpg

        public void tcmpg​(javax.lang.model.type.TypeMirror type)
                   throws java.io.IOException
        Throws:
        java.io.IOException
      • tcmp

        private void tcmp()
                   throws java.io.IOException
        Throws:
        java.io.IOException
      • tcmp

        public void tcmp​(javax.lang.model.type.TypeMirror type)
                  throws java.io.IOException
        Throws:
        java.io.IOException
      • tastore

        private void tastore()
                      throws java.io.IOException
        Store into array

        Stack: ..., arrayref, index, value => ...

        Throws:
        java.io.IOException
      • tastore

        public void tastore​(javax.lang.model.type.TypeMirror type)
                     throws java.io.IOException
        Throws:
        java.io.IOException
      • tand

        private void tand()
                   throws java.io.IOException
        Throws:
        java.io.IOException
      • tand

        public void tand​(javax.lang.model.type.TypeMirror type)
                  throws java.io.IOException
        Throws:
        java.io.IOException
      • taload

        private void taload()
                     throws java.io.IOException
        Load from array

        Stack: ..., arrayref, index => ..., value

        Throws:
        java.io.IOException
      • taload

        public void taload​(javax.lang.model.type.TypeMirror type)
                    throws java.io.IOException
        Load from array

        Stack: ..., arrayref, index => ..., value

        Parameters:
        type -
        Throws:
        java.io.IOException
      • tadd

        private void tadd()
                   throws java.io.IOException
        Throws:
        java.io.IOException
      • tadd

        public void tadd​(javax.lang.model.type.TypeMirror type)
                  throws java.io.IOException
        Throws:
        java.io.IOException
      • l2t

        public void l2t()
                 throws java.io.IOException
        Throws:
        java.io.IOException
      • if_tcmpne

        private void if_tcmpne​(java.lang.String target)
                        throws java.io.IOException
        Throws:
        java.io.IOException
      • if_tcmpne

        public void if_tcmpne​(javax.lang.model.type.TypeMirror type,
                              java.lang.String target)
                       throws java.io.IOException
        ne succeeds if and only if value1 != value2

        Stack: ..., value1, value2 => ...

        Parameters:
        type -
        target -
        Throws:
        java.io.IOException
      • if_tcmplt

        private void if_tcmplt​(java.lang.String target)
                        throws java.io.IOException
        Throws:
        java.io.IOException
      • if_tcmplt

        public void if_tcmplt​(javax.lang.model.type.TypeMirror type,
                              java.lang.String target)
                       throws java.io.IOException
        lt succeeds if and only if value1 < value2

        Stack: ..., value1, value2 => ...

        Parameters:
        type -
        target -
        Throws:
        java.io.IOException
      • if_tcmple

        private void if_tcmple​(java.lang.String target)
                        throws java.io.IOException
        Throws:
        java.io.IOException
      • if_tcmple

        public void if_tcmple​(javax.lang.model.type.TypeMirror type,
                              java.lang.String target)
                       throws java.io.IOException
        le succeeds if and only if value1 <= value2

        Stack: ..., value1, value2 => ...

        Parameters:
        type -
        target -
        Throws:
        java.io.IOException
      • if_tcmpgt

        private void if_tcmpgt​(java.lang.String target)
                        throws java.io.IOException
        Throws:
        java.io.IOException
      • if_tcmpgt

        public void if_tcmpgt​(javax.lang.model.type.TypeMirror type,
                              java.lang.String target)
                       throws java.io.IOException
        gt succeeds if and only if value1 > value2

        Stack: ..., value1, value2 => ...

        Parameters:
        type -
        target -
        Throws:
        java.io.IOException
      • if_tcmpge

        private void if_tcmpge​(java.lang.String target)
                        throws java.io.IOException
        Throws:
        java.io.IOException
      • if_tcmpge

        public void if_tcmpge​(javax.lang.model.type.TypeMirror type,
                              java.lang.String target)
                       throws java.io.IOException
        ge succeeds if and only if value1 >= value2

        Stack: ..., value1, value2 => ...

        Parameters:
        type -
        target -
        Throws:
        java.io.IOException
      • if_tcmpeq

        private void if_tcmpeq​(java.lang.String target)
                        throws java.io.IOException
        Throws:
        java.io.IOException
      • if_tcmpeq

        public void if_tcmpeq​(javax.lang.model.type.TypeMirror type,
                              java.lang.String target)
                       throws java.io.IOException
        eq succeeds if and only if value1 == value2

        Stack: ..., value1, value2 => ...

        Parameters:
        type -
        target -
        Throws:
        java.io.IOException
      • if_icmpeq

        public void if_icmpeq​(java.lang.String target)
                       throws java.io.IOException
        Branch if value1 = value2

        Stack: ..., value1, value2 => ...

        Throws:
        java.io.IOException
      • if_icmpne

        public void if_icmpne​(java.lang.String target)
                       throws java.io.IOException
        Branch if value1 != value2

        Stack: ..., value1, value2 => ...

        Throws:
        java.io.IOException
      • if_icmplt

        public void if_icmplt​(java.lang.String target)
                       throws java.io.IOException
        Branch if value1 < value2

        Stack: ..., value1, value2 => ...

        Throws:
        java.io.IOException
      • if_icmple

        public void if_icmple​(java.lang.String target)
                       throws java.io.IOException
        Branch if value1 <= value2

        Stack: ..., value1, value2 => ...

        Throws:
        java.io.IOException
      • if_icmpgt

        public void if_icmpgt​(java.lang.String target)
                       throws java.io.IOException
        Branch if value1 > value2

        Stack: ..., value1, value2 => ...

        Throws:
        java.io.IOException
      • if_icmpge

        public void if_icmpge​(java.lang.String target)
                       throws java.io.IOException
        Branch if value1 >= value2

        Stack: ..., value1, value2 => ...

        Throws:
        java.io.IOException
      • i2t

        public void i2t()
                 throws java.io.IOException
        Throws:
        java.io.IOException
      • f2t

        public void f2t()
                 throws java.io.IOException
        Throws:
        java.io.IOException
      • d2t

        public void d2t()
                 throws java.io.IOException
        Throws:
        java.io.IOException
      • anewarray

        public void anewarray​(int count)
                       throws java.io.IOException
        Throws:
        java.io.IOException
      • arraylength

        public void arraylength()
                         throws java.io.IOException
        Throws:
        java.io.IOException
      • athrow

        public void athrow()
                    throws java.io.IOException
        Throws:
        java.io.IOException
      • checkcast

        public void checkcast​(int objectref)
                       throws java.io.IOException
        Throws:
        java.io.IOException
      • dup

        public void dup()
                 throws java.io.IOException
        Duplicate the top operand stack value

        Stack: ..., value => ;..., value, value

        Duplicate the top value on the operand stack and push the duplicated value onto the operand stack. The dup instruction must not be used unless value is a value of a category 1 computational type

        Throws:
        java.io.IOException
        See Also:
        category1
      • dup_x1

        public void dup_x1()
                    throws java.io.IOException
        Duplicate the top operand stack value and insert two values down

        Stack: ..., value2, value1 => ..., value1, value2, value1

        Duplicate the top value on the operand stack and insert the duplicated value two values down in the operand stack. The dup_x1 instruction must not be used unless both value1 and value2 are values of a category 1 computational type

        Throws:
        java.io.IOException
        See Also:
        category1
      • dup_x2

        public void dup_x2()
                    throws java.io.IOException
        Duplicate the top operand stack value and insert two or three values down

        Stack1: ..., value3, value2, value1 => ..., value1, value3, value2, value1

        where value1, value2, and value3 are all values of a category 1 computational type

        Stack2: ..., value2, value1 => ..., value1, value2, value1

        where value1 is a value of a category 1 computational type and value2 is a value of a category 2 computational type

        Duplicate the top value on the operand stack and insert the duplicated value two or three values down in the operand stack

        Throws:
        java.io.IOException
        See Also:
        category1, category2
      • dup2

        public void dup2()
                  throws java.io.IOException
        Duplicate the top one or two operand stack values

        Stack1: ..., value2, value1 => ..., value2, value1, value2, value1

        where both value1 and value2 are values of a category 1 computational type

        Stack2: ..., value => ..., value, value

        where value is a value of a category 2 computational type

        Duplicate the top one or two values on the operand stack and push the duplicated value or values back onto the operand stack in the original order

        Throws:
        java.io.IOException
        See Also:
        category1, category2
      • dup2_x1

        public void dup2_x1()
                     throws java.io.IOException
        Duplicate the top one or two operand stack values and insert two or three values down

        Stack1: ..., value3, value2, value1 => ..., value2, value1, value3, value2, value1

        where value1, value2, and value3 are all values of a category 1 computational type

        Stack2: ..., value2, value1 => ..., value1, value2, value1

        where value1 is a value of a category 2 computational type and value2 is a value of a category 1 computational type

        Duplicate the top one or two values on the operand stack and insert the duplicated values, in the original order, one value beneath the original value or values in the operand stack.

        Throws:
        java.io.IOException
        See Also:
        category1, category2
      • dup2_x2

        public void dup2_x2()
                     throws java.io.IOException
        Duplicate the top one or two operand stack values and insert two, three, or four values down

        Stack1: ..., value4, value3, value2, value1 => ..., value2, value1, value4, value3, value2, value1

        where value1, value2, value3, and value4 are all values of a category 1 computational type

        Stack2: ..., value3, value2, value1 => ..., value1, value3, value2, value1

        where value1 is a value of a category 2 computational type and value2 and value3 are both values of a category 1 computational type

        Stack3: ..., value3, value2, value1 => ..., value2, value1, value3, value2, value1

        where value1 and value2 are both values of a category 1 computational type and value3 is a value of a category 2 computational type

        Stack4: ..., value2, value1 => ..., value1, value2, value1

        where value1 and value2 are both values of a category 2 computational type

        Duplicate the top one or two values on the operand stack and insert the duplicated values, in the original order, into the operand stack

        Throws:
        java.io.IOException
        See Also:
        category1, category2
      • getfield

        public void getfield​(int index)
                      throws java.io.IOException
        Throws:
        java.io.IOException
      • getstatic

        public void getstatic​(int index)
                       throws java.io.IOException
        Throws:
        java.io.IOException
      • goto_n

        public void goto_n​(java.lang.String target)
                    throws java.io.IOException
        Branch always
        Parameters:
        target -
        Throws:
        java.io.IOException
      • goto_w

        public void goto_w​(java.lang.String target)
                    throws java.io.IOException
        Throws:
        java.io.IOException
      • optimizeGoto

        private boolean optimizeGoto​(java.lang.String target)
                              throws java.io.IOException
        Branch always (wide index)
        Parameters:
        target -
        Throws:
        java.io.IOException
      • i2c

        public void i2c()
                 throws java.io.IOException
        Throws:
        java.io.IOException
      • ifeq

        public void ifeq​(java.lang.String target)
                  throws java.io.IOException
        eq succeeds if and only if value == 0
        Parameters:
        target -
        Throws:
        java.io.IOException
      • ifne

        public void ifne​(java.lang.String target)
                  throws java.io.IOException
        ne succeeds if and only if value != 0
        Parameters:
        target -
        Throws:
        java.io.IOException
      • iflt

        public void iflt​(java.lang.String target)
                  throws java.io.IOException
        lt succeeds if and only if value < 0
        Parameters:
        target -
        Throws:
        java.io.IOException
      • ifge

        public void ifge​(java.lang.String target)
                  throws java.io.IOException
        ge succeeds if and only if value >= 0
        Parameters:
        target -
        Throws:
        java.io.IOException
      • ifgt

        public void ifgt​(java.lang.String target)
                  throws java.io.IOException
        gt succeeds if and only if value > 0
        Parameters:
        target -
        Throws:
        java.io.IOException
      • ifle

        public void ifle​(java.lang.String target)
                  throws java.io.IOException
        le succeeds if and only if value <= 0
        Parameters:
        target -
        Throws:
        java.io.IOException
      • ifnonnull

        public void ifnonnull​(java.lang.String target)
                       throws java.io.IOException
        Throws:
        java.io.IOException
      • ifnull

        public void ifnull​(java.lang.String target)
                    throws java.io.IOException
        Throws:
        java.io.IOException
      • instanceo

        public void instanceo​(int index)
                       throws java.io.IOException
        Throws:
        java.io.IOException
      • invokeinterface

        public void invokeinterface​(int index,
                                    int count)
                             throws java.io.IOException
        Throws:
        java.io.IOException
      • invokespecial

        public void invokespecial​(int index)
                           throws java.io.IOException
        Throws:
        java.io.IOException
      • invokestatic

        public void invokestatic​(int index)
                          throws java.io.IOException
        Throws:
        java.io.IOException
      • invokevirtual

        public void invokevirtual​(int index)
                           throws java.io.IOException
        Throws:
        java.io.IOException
      • ior

        public void ior()
                 throws java.io.IOException
        Throws:
        java.io.IOException
      • irem

        public void irem()
                  throws java.io.IOException
        Throws:
        java.io.IOException
      • ireturn

        public void ireturn()
                     throws java.io.IOException
        Throws:
        java.io.IOException
      • ishl

        public void ishl()
                  throws java.io.IOException
        Throws:
        java.io.IOException
      • ishr

        public void ishr()
                  throws java.io.IOException
        Throws:
        java.io.IOException
      • istore

        public void istore​(int index)
                    throws java.io.IOException
        Throws:
        java.io.IOException
      • isub

        public void isub()
                  throws java.io.IOException
        Throws:
        java.io.IOException
      • iushr

        public void iushr()
                   throws java.io.IOException
        Throws:
        java.io.IOException
      • ixor

        public void ixor()
                  throws java.io.IOException
        Throws:
        java.io.IOException
      • jsr

        public void jsr​(java.lang.String target)
                 throws java.io.IOException
        Throws:
        java.io.IOException
      • jsr_w

        public void jsr_w​(java.lang.String target)
                   throws java.io.IOException
        Throws:
        java.io.IOException
      • ldc

        public void ldc​(int index)
                 throws java.io.IOException
        Throws:
        java.io.IOException
      • ldc_w

        public void ldc_w​(int index)
                   throws java.io.IOException
        Throws:
        java.io.IOException
      • ldc2_w

        public void ldc2_w​(int index)
                    throws java.io.IOException
        Throws:
        java.io.IOException
      • lookupswitch

        public void lookupswitch​(java.lang.String def,
                                 LookupList list)
                          throws java.io.IOException
        Throws:
        java.io.IOException
      • monitorenter

        public void monitorenter()
                          throws java.io.IOException
        Throws:
        java.io.IOException
      • monitorexit

        public void monitorexit()
                         throws java.io.IOException
        Throws:
        java.io.IOException
      • multianewarray

        public void multianewarray​(int index,
                                   int dimensions)
                            throws java.io.IOException
        Throws:
        java.io.IOException
      • anew

        public void anew​(int index)
                  throws java.io.IOException
        Throws:
        java.io.IOException
      • newarray

        public void newarray​(int type)
                      throws java.io.IOException
        Throws:
        java.io.IOException
      • nop

        public void nop()
                 throws java.io.IOException
        Throws:
        java.io.IOException
      • pop

        public void pop()
                 throws java.io.IOException
        Throws:
        java.io.IOException
      • pop2

        public void pop2()
                  throws java.io.IOException
        Throws:
        java.io.IOException
      • putfield

        public void putfield​(int index)
                      throws java.io.IOException
        Throws:
        java.io.IOException
      • putstatic

        public void putstatic​(int index)
                       throws java.io.IOException
        Throws:
        java.io.IOException
      • ret

        public void ret​(int index)
                 throws java.io.IOException
        Throws:
        java.io.IOException
      • swap

        public void swap()
                  throws java.io.IOException
        Throws:
        java.io.IOException
      • tableswitch

        public void tableswitch​(java.lang.String def,
                                int low,
                                int high,
                                java.lang.String... symbols)
                         throws java.io.IOException
        Throws:
        java.io.IOException
      • aconst_null

        public void aconst_null()
                         throws java.io.IOException
        Throws:
        java.io.IOException
      • iconst

        public void iconst​(int value)
                    throws java.io.IOException
        Push int constant

        Stack: ...=>..., i

        Parameters:
        value - int value
        Throws:
        java.io.IOException
      • lconst

        public void lconst​(int value)
                    throws java.io.IOException
        Push long constant

        Stack: ...=>..., i

        Parameters:
        value - int value
        Throws:
        java.io.IOException
      • fconst

        public void fconst​(int value)
                    throws java.io.IOException
        Push float constant

        Stack: ...=>..., i

        Parameters:
        value - int value
        Throws:
        java.io.IOException
      • dconst

        public void dconst​(int value)
                    throws java.io.IOException
        Push double constant

        Stack: ...=>..., i

        Parameters:
        value - int value
        Throws:
        java.io.IOException
      • bipush

        public void bipush​(byte value)
                    throws java.io.IOException
        Push byte constant

        Stack: ...=>..., i

        Parameters:
        value - int value
        Throws:
        java.io.IOException
      • sipush

        public void sipush​(short value)
                    throws java.io.IOException
        Push short constant

        Stack: ...=>..., i

        Parameters:
        value - int value
        Throws:
        java.io.IOException
      • iload

        public void iload​(int index)
                   throws java.io.IOException
        Load int from local variable

        Stack: ...=>..., value

        Parameters:
        index -
        Throws:
        java.io.IOException
      • lload

        public void lload​(int index)
                   throws java.io.IOException
        Load long from local variable

        Stack: ...=>..., value

        Parameters:
        index -
        Throws:
        java.io.IOException
      • fload

        public void fload​(int index)
                   throws java.io.IOException
        Load float from local variable

        Stack: ...=>..., value

        Parameters:
        index -
        Throws:
        java.io.IOException
      • dload

        public void dload​(int index)
                   throws java.io.IOException
        Load double from local variable

        Stack: ...=>..., value

        Parameters:
        index -
        Throws:
        java.io.IOException
      • aload

        public void aload​(int index)
                   throws java.io.IOException
        Load Object from local variable

        Stack: ...=>..., value

        Parameters:
        index -
        Throws:
        java.io.IOException
      • iaload

        public void iaload()
                    throws java.io.IOException
        Load int from array

        Stack: ..., arrayref, index=>..., value

        Throws:
        java.io.IOException
      • laload

        public void laload()
                    throws java.io.IOException
        Load long from array

        Stack: ..., arrayref, index=>..., value

        Throws:
        java.io.IOException
      • faload

        public void faload()
                    throws java.io.IOException
        Load float from array

        Stack: ..., arrayref, index=>..., value

        Throws:
        java.io.IOException
      • daload

        public void daload()
                    throws java.io.IOException
        Load double from array

        Stack: ..., arrayref, index=>..., value

        Throws:
        java.io.IOException
      • aaload

        public void aaload()
                    throws java.io.IOException
        Load Object from array

        Stack: ..., arrayref, index=>..., value

        Throws:
        java.io.IOException
      • baload

        public void baload()
                    throws java.io.IOException
        Load byte from array

        Stack: ..., arrayref, index=>..., value

        Throws:
        java.io.IOException
      • caload

        public void caload()
                    throws java.io.IOException
        Load char from array

        Stack: ..., arrayref, index=>..., value

        Throws:
        java.io.IOException
      • saload

        public void saload()
                    throws java.io.IOException
        Load short from array

        Stack: ..., arrayref, index=>..., value

        Throws:
        java.io.IOException
      • lstore

        public void lstore​(int index)
                    throws java.io.IOException
        Store long into local variable

        Stack: ..., value=>...

        Parameters:
        index -
        Throws:
        java.io.IOException
      • fstore

        public void fstore​(int index)
                    throws java.io.IOException
        Store float into local variable

        Stack: ..., value=>...

        Parameters:
        index -
        Throws:
        java.io.IOException
      • dstore

        public void dstore​(int index)
                    throws java.io.IOException
        Store double into local variable

        Stack: ..., value=>...

        Parameters:
        index -
        Throws:
        java.io.IOException
      • astore

        public void astore​(int index)
                    throws java.io.IOException
        Store Object into local variable

        Stack: ..., value=>...

        Parameters:
        index -
        Throws:
        java.io.IOException
      • iastore

        public void iastore()
                     throws java.io.IOException
        Store into int array

        Stack: ..., arrayref, index, value=>...

        Throws:
        java.io.IOException
      • lastore

        public void lastore()
                     throws java.io.IOException
        Store into long array

        Stack: ..., arrayref, index, value=>...

        Throws:
        java.io.IOException
      • fastore

        public void fastore()
                     throws java.io.IOException
        Store into float array

        Stack: ..., arrayref, index, value=>...

        Throws:
        java.io.IOException
      • dastore

        public void dastore()
                     throws java.io.IOException
        Store into double array

        Stack: ..., arrayref, index, value=>...

        Throws:
        java.io.IOException
      • aastore

        public void aastore()
                     throws java.io.IOException
        Store into Object array

        Stack: ..., arrayref, index, value=>...

        Throws:
        java.io.IOException
      • bastore

        public void bastore()
                     throws java.io.IOException
        Store into byte array

        Stack: ..., arrayref, index, value=>...

        Throws:
        java.io.IOException
      • castore

        public void castore()
                     throws java.io.IOException
        Store into char array

        Stack: ..., arrayref, index, value=>...

        Throws:
        java.io.IOException
      • sastore

        public void sastore()
                     throws java.io.IOException
        Store into short array

        Stack: ..., arrayref, index, value=>...

        Throws:
        java.io.IOException
      • iadd

        public void iadd()
                  throws java.io.IOException
        Add int

        Stack: ..., value1, value2=>..., result

        Throws:
        java.io.IOException
      • ladd

        public void ladd()
                  throws java.io.IOException
        Add long

        Stack: ..., value1, value2=>..., result

        Throws:
        java.io.IOException
      • fadd

        public void fadd()
                  throws java.io.IOException
        Add float

        Stack: ..., value1, value2=>..., result

        Throws:
        java.io.IOException
      • dadd

        public void dadd()
                  throws java.io.IOException
        Add double

        Stack: ..., value1, value2=>..., result

        Throws:
        java.io.IOException
      • lsub

        public void lsub()
                  throws java.io.IOException
        Subtract long

        Stack: ..., value1, value2=>..., result

        Throws:
        java.io.IOException
      • fsub

        public void fsub()
                  throws java.io.IOException
        Subtract float

        Stack: ..., value1, value2=>..., result

        Throws:
        java.io.IOException
      • dsub

        public void dsub()
                  throws java.io.IOException
        Subtract double

        Stack: ..., value1, value2=>..., result

        Throws:
        java.io.IOException
      • imul

        public void imul()
                  throws java.io.IOException
        Multiply int

        Stack: ..., value1, value2=>..., result

        Throws:
        java.io.IOException
      • lmul

        public void lmul()
                  throws java.io.IOException
        Multiply long

        Stack: ..., value1, value2=>..., result

        Throws:
        java.io.IOException
      • fmul

        public void fmul()
                  throws java.io.IOException
        Multiply float

        Stack: ..., value1, value2=>..., result

        Throws:
        java.io.IOException
      • dmul

        public void dmul()
                  throws java.io.IOException
        Multiply double

        Stack: ..., value1, value2=>..., result

        Throws:
        java.io.IOException
      • idiv

        public void idiv()
                  throws java.io.IOException
        Divide int

        Stack: ..., value1, value2=>..., result

        Throws:
        java.io.IOException
      • ldiv

        public void ldiv()
                  throws java.io.IOException
        Divide long

        Stack: ..., value1, value2=>..., result

        Throws:
        java.io.IOException
      • fdiv

        public void fdiv()
                  throws java.io.IOException
        Divide float

        Stack: ..., value1, value2=>..., result

        Throws:
        java.io.IOException
      • ddiv

        public void ddiv()
                  throws java.io.IOException
        Divide double

        Stack: ..., value1, value2=>..., result

        Throws:
        java.io.IOException
      • lrem

        public void lrem()
                  throws java.io.IOException
        Remainder long

        Stack: ..., value1, value2=>..., result

        Throws:
        java.io.IOException
      • frem

        public void frem()
                  throws java.io.IOException
        Remainder float

        Stack: ..., value1, value2=>..., result

        Throws:
        java.io.IOException
      • lneg

        public void lneg()
                  throws java.io.IOException
        Negate long

        Stack: ..., value=>..., result

        Throws:
        java.io.IOException
      • fneg

        public void fneg()
                  throws java.io.IOException
        Negate float

        Stack: ..., value=>..., result

        Throws:
        java.io.IOException
      • dneg

        public void dneg()
                  throws java.io.IOException
        Negate double

        Stack: ..., value=>..., result

        Throws:
        java.io.IOException
      • lshl

        public void lshl()
                  throws java.io.IOException
        Shift left long

        Stack: ..., value1, value2=>..., result

        Throws:
        java.io.IOException
      • lshr

        public void lshr()
                  throws java.io.IOException
        Arithmetic shift right long

        Stack: ..., value1, value2=>..., result

        Throws:
        java.io.IOException
      • lushr

        public void lushr()
                   throws java.io.IOException
        Logical shift right long

        Stack: ..., value1, value2=>..., result

        Throws:
        java.io.IOException
      • iand

        public void iand()
                  throws java.io.IOException
        Boolean AND int

        Stack: ..., value1, value2=>..., result

        Throws:
        java.io.IOException
      • land

        public void land()
                  throws java.io.IOException
        Boolean AND long

        Stack: ..., value1, value2=>..., result

        Throws:
        java.io.IOException
      • lor

        public void lor()
                 throws java.io.IOException
        Boolean OR long

        Stack: ..., value1, value2=>..., result

        Throws:
        java.io.IOException
      • lxor

        public void lxor()
                  throws java.io.IOException
        Boolean XOR long

        Stack: ..., value1, value2=>..., result

        Throws:
        java.io.IOException
      • iinc

        public void iinc​(int index,
                         int con)
                  throws java.io.IOException
        Increment local variable by constant

        Stack: No change

        Parameters:
        index - into local variable
        con - constant value
        Throws:
        java.io.IOException
      • i2l

        public void i2l()
                 throws java.io.IOException
        Convert int to long

        Stack: ..., value=>..., result

        Throws:
        java.io.IOException
      • i2f

        public void i2f()
                 throws java.io.IOException
        Convert int to float

        Stack: ..., value=>..., result

        Throws:
        java.io.IOException
      • i2d

        public void i2d()
                 throws java.io.IOException
        Convert int to double

        Stack: ..., value=>..., result

        Throws:
        java.io.IOException
      • l2i

        public void l2i()
                 throws java.io.IOException
        Convert long to int

        Stack: ..., value=>..., result

        Throws:
        java.io.IOException
      • l2f

        public void l2f()
                 throws java.io.IOException
        Convert long to float

        Stack: ..., value=>..., result

        Throws:
        java.io.IOException
      • l2d

        public void l2d()
                 throws java.io.IOException
        Convert long to double

        Stack: ..., value=>..., result

        Throws:
        java.io.IOException
      • f2i

        public void f2i()
                 throws java.io.IOException
        Convert float to int

        Stack: ..., value=>..., result

        Throws:
        java.io.IOException
      • f2l

        public void f2l()
                 throws java.io.IOException
        Convert float to long

        Stack: ..., value=>..., result

        Throws:
        java.io.IOException
      • f2d

        public void f2d()
                 throws java.io.IOException
        Convert float to double

        Stack: ..., value=>..., result

        Throws:
        java.io.IOException
      • d2i

        public void d2i()
                 throws java.io.IOException
        Convert double to int

        Stack: ..., value=>..., result

        Throws:
        java.io.IOException
      • d2l

        public void d2l()
                 throws java.io.IOException
        Convert double to long

        Stack: ..., value=>..., result

        Throws:
        java.io.IOException
      • d2f

        public void d2f()
                 throws java.io.IOException
        Convert double to float

        Stack: ..., value=>..., result

        Throws:
        java.io.IOException
      • i2b

        public void i2b()
                 throws java.io.IOException
        Convert int to byte

        Stack: ..., value=>..., result

        Throws:
        java.io.IOException
      • i2s

        public void i2s()
                 throws java.io.IOException
        Convert int to short

        Stack: ..., value=>..., result

        Throws:
        java.io.IOException
      • createBranch

        public java.lang.String createBranch()
        Return a unique branch name
        Returns:
      • startBlock

        public Block startBlock()
                         throws java.io.IOException
        Throws:
        java.io.IOException
      • endBlock

        public void endBlock​(Block block)
                      throws java.io.IOException
        Throws:
        java.io.IOException
      • convert

        public void convert​(javax.lang.model.type.TypeMirror from,
                            javax.lang.model.type.TypeMirror to)
                     throws java.io.IOException
        Throws:
        java.io.IOException