Package serp.bytecode

Class Exceptions

  • All Implemented Interfaces:
    BCEntity, VisitAcceptor

    public class Exceptions
    extends Attribute
    Attribute declaring the checked exceptions a method can throw.
    • Field Detail

      • _indexes

        private java.util.List _indexes
    • Constructor Detail

      • Exceptions

        Exceptions​(int nameIndex,
                   Attributes owner)
    • Method Detail

      • getLength

        int getLength()
        Description copied from class: Attribute
        Return the length of the bytecode representation of this attribute in bytes, excluding the name index.
        Overrides:
        getLength in class Attribute
      • getMethod

        public BCMethod getMethod()
        Return the owning method.
      • getExceptionIndexes

        public int[] getExceptionIndexes()
        Return the indexes in the class ConstantPool of the ClassEntrys for the exception types thrown by this method, or an empty array if none.
      • setExceptionIndexes

        public void setExceptionIndexes​(int[] exceptionIndexes)
        Set the indexes in the class ConstantPool of the ClassEntrys for the exception types thrown by this method. Use null or an empty array for none.
      • getExceptionNames

        public java.lang.String[] getExceptionNames()
        Return the names of the exception types for this method, or an empty array if none. The names will be in a form suitable for a Class.forName(java.lang.String) call.
      • getExceptionTypes

        public java.lang.Class[] getExceptionTypes()
        Return the Class objects for the exception types for this method, or an empty array if none.
      • getExceptionBCs

        public BCClass[] getExceptionBCs()
        Return bytecode for the exception types of this method, or an empty array if none.
      • setExceptions

        public void setExceptions​(java.lang.String[] exceptions)
        Set the checked exceptions thrown by this method. Use null or an empty array for none.
      • setExceptions

        public void setExceptions​(java.lang.Class[] exceptions)
        Set the checked exceptions thrown by this method. Use null or an empty array for none.
      • setExceptions

        public void setExceptions​(BCClass[] exceptions)
        Set the checked exceptions thrown by this method. Use null or an empty array for none.
      • clear

        public void clear()
        Clear this method of all exception declarations.
      • removeException

        public boolean removeException​(java.lang.String type)
        Remove an exception type thrown by this method.
        Returns:
        true if the method had the exception type, false otherwise
      • removeException

        public boolean removeException​(java.lang.Class type)
        Remove an exception thrown by this method.
        Returns:
        true if the method had the exception type, false otherwise
      • removeException

        public boolean removeException​(BCClass type)
        Remove an exception thrown by this method.
        Returns:
        true if the method had the exception type, false otherwise
      • addException

        public void addException​(java.lang.String type)
        Add an exception type to those thrown by this method.
      • addException

        public void addException​(java.lang.Class type)
        Add an exception to those thrown by this method.
      • addException

        public void addException​(BCClass type)
        Add an exception to those thrown by this method.
      • throwsException

        public boolean throwsException​(java.lang.String type)
        Return true if the method declares that it throws the given exception type.
      • throwsException

        public boolean throwsException​(java.lang.Class type)
        Return true if the method declares that it throws the given exception type.
      • throwsException

        public boolean throwsException​(BCClass type)
        Return true if the method declares that it throws the given exception type.
      • acceptVisit

        public void acceptVisit​(BCVisitor visit)
        Description copied from interface: VisitAcceptor
        Accept a visit from a BCVisitor, calling the appropriate methods to notify the visitor that it has entered this entity, and to provide it with the proper callbacks for each sub-entity owned by this one.
      • read

        void read​(Attribute other)
        Description copied from class: Attribute
        Copy the information from the given attribute to this one. Does nothing by default.
        Overrides:
        read in class Attribute
      • read

        void read​(java.io.DataInput in,
                  int length)
           throws java.io.IOException
        Description copied from class: Attribute
        Read the attribute bytecode from the given stream, up to length bytes, excluding the name index. Does nothing by default.
        Overrides:
        read in class Attribute
        Throws:
        java.io.IOException
      • write

        void write​(java.io.DataOutput out,
                   int length)
            throws java.io.IOException
        Description copied from class: Attribute
        Write the attribute bytecode to the given stream, up to length bytes, excluding the name index. Does nothing by default.
        Overrides:
        write in class Attribute
        Throws:
        java.io.IOException