Class CodeAttribute

    • Constructor Detail

      • CodeAttribute

        public CodeAttribute​(ConstPool cp,
                             int stack,
                             int locals,
                             byte[] code,
                             ExceptionTable etable)
        Constructs a Code_attribute.
        Parameters:
        cp - constant pool table
        stack - max_stack
        locals - max_locals
        code - code[]
        etable - exception_table[]
    • Method Detail

      • length

        public int length()
        Returns the length of this attribute_info structure. The returned value is attribute_length + 6.
        Overrides:
        length in class AttributeInfo
      • getDeclaringClass

        public String getDeclaringClass()
        Returns the name of the class declaring the method including this code attribute.
      • getMaxStack

        public int getMaxStack()
        Returns max_stack.
      • setMaxStack

        public void setMaxStack​(int value)
        Sets max_stack.
      • computeMaxStack

        public int computeMaxStack()
                            throws BadBytecode
        Computes the maximum stack size and sets max_stack to the computed size.
        Returns:
        the newly computed value of max_stack
        Throws:
        BadBytecode - if this method fails in computing.
      • getMaxLocals

        public int getMaxLocals()
        Returns max_locals.
      • setMaxLocals

        public void setMaxLocals​(int value)
        Sets max_locals.
      • getCodeLength

        public int getCodeLength()
        Returns code_length.
      • getCode

        public byte[] getCode()
        Returns code[].
      • iterator

        public CodeIterator iterator()
        Makes a new iterator for reading this code attribute.
      • getExceptionTable

        public ExceptionTable getExceptionTable()
        Returns exception_table[].
      • getAttributes

        public List<AttributeInfo> getAttributes()
        Returns attributes[]. It returns a list of AttributeInfo. A new element can be added to the returned list and an existing element can be removed from the list.
        See Also:
        AttributeInfo
      • getAttribute

        public AttributeInfo getAttribute​(String name)
        Returns the attribute with the specified name. If it is not found, this method returns null.
        Parameters:
        name - attribute name
        Returns:
        an AttributeInfo object or null.
      • setAttribute

        public void setAttribute​(StackMapTable smt)
        Adds a stack map table. If another copy of stack map table is already contained, the old one is removed.
        Parameters:
        smt - the stack map table added to this code attribute. If it is null, a new stack map is not added. Only the old stack map is removed.
      • setAttribute

        public void setAttribute​(StackMap sm)
        Adds a stack map table for J2ME (CLDC). If another copy of stack map table is already contained, the old one is removed.
        Parameters:
        sm - the stack map table added to this code attribute. If it is null, a new stack map is not added. Only the old stack map is removed.
        Since:
        3.12