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 Details

    • _indexes

      private List _indexes
  • Constructor Details

    • Exceptions

      Exceptions(int nameIndex, Attributes owner)
  • Method Details

    • 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 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 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(String[] exceptions)
      Set the checked exceptions thrown by this method. Use null or an empty array for none.
    • setExceptions

      public void setExceptions(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(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(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(String type)
      Add an exception type to those thrown by this method.
    • addException

      public void addException(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(String type)
      Return true if the method declares that it throws the given exception type.
    • throwsException

      public boolean throwsException(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(DataInput in, int length) throws 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:
      IOException
    • write

      void write(DataOutput out, int length) throws 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:
      IOException