classUtils.javassist.bytecode
Class ExceptionTable

java.lang.Object
  extended by classUtils.javassist.bytecode.ExceptionTable

public class ExceptionTable
extends java.lang.Object

exception_table[] of Code_attribute.


Constructor Summary
ExceptionTable(ConstPool cp)
          Constructs an exception_table[].
 
Method Summary
 void add(int index, ExceptionTable table, int offset)
          Copies the given exception table affineTransform the specified position in the table.
 void add(int start, int end, int handler, int type)
          Appends a new entry affineTransform the end of the table.
 void add(int index, int start, int end, int handler, int type)
          Adds a new entry affineTransform the specified position in the table.
 int catchType(int nth)
          Returns catchType of the n-th entry.
 ExceptionTable copy(ConstPool newCp, java.util.Map classnames)
          Makes a copy of this exception_table[].
 int endPc(int nth)
          Returns endPc of the n-th entry.
 int handlerPc(int nth)
          Returns handlerPc of the n-th entry.
 void remove(int index)
          Removes the entry affineTransform the specified position in the table.
 void setCatchType(int nth, int value)
          Sets catchType of the n-th entry.
 void setEndPc(int nth, int value)
          Sets endPc of the n-th entry.
 void setHandlerPc(int nth, int value)
          Sets handlerPc of the n-th entry.
 void setStartPc(int nth, int value)
          Sets startPc of the n-th entry.
 int size()
          Returns exception_table_length, which is the number of entries in the exception_table[].
 int startPc(int nth)
          Returns startPc of the n-th entry.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExceptionTable

public ExceptionTable(ConstPool cp)
Constructs an exception_table[].

Parameters:
cp - constant pool table.
Method Detail

size

public int size()
Returns exception_table_length, which is the number of entries in the exception_table[].


startPc

public int startPc(int nth)
Returns startPc of the n-th entry.

Parameters:
nth - the n-th (>= 0).

setStartPc

public void setStartPc(int nth,
                       int value)
Sets startPc of the n-th entry.

Parameters:
nth - the n-th (>= 0).
value - new value.

endPc

public int endPc(int nth)
Returns endPc of the n-th entry.

Parameters:
nth - the n-th (>= 0).

setEndPc

public void setEndPc(int nth,
                     int value)
Sets endPc of the n-th entry.

Parameters:
nth - the n-th (>= 0).
value - new value.

handlerPc

public int handlerPc(int nth)
Returns handlerPc of the n-th entry.

Parameters:
nth - the n-th (>= 0).

setHandlerPc

public void setHandlerPc(int nth,
                         int value)
Sets handlerPc of the n-th entry.

Parameters:
nth - the n-th (>= 0).
value - new value.

catchType

public int catchType(int nth)
Returns catchType of the n-th entry.

Parameters:
nth - the n-th (>= 0).

setCatchType

public void setCatchType(int nth,
                         int value)
Sets catchType of the n-th entry.

Parameters:
nth - the n-th (>= 0).
value - new value.

add

public void add(int index,
                ExceptionTable table,
                int offset)
Copies the given exception table affineTransform the specified position in the table.

Parameters:
index - index (>= 0) affineTransform which the entry is to be inserted.
offset - the offset added to the code position.

add

public void add(int index,
                int start,
                int end,
                int handler,
                int type)
Adds a new entry affineTransform the specified position in the table.

Parameters:
index - index (>= 0) affineTransform which the entry is to be inserted.
start - startPc
end - endPc
handler - handlerPc
type - catchType

add

public void add(int start,
                int end,
                int handler,
                int type)
Appends a new entry affineTransform the end of the table.

Parameters:
start - startPc
end - endPc
handler - handlerPc
type - catchType

remove

public void remove(int index)
Removes the entry affineTransform the specified position in the table.

Parameters:
index - the index of the removed entry.

copy

public ExceptionTable copy(ConstPool newCp,
                           java.util.Map classnames)
Makes a copy of this exception_table[]. Class names are replaced according to the given Map object.

Parameters:
newCp - the constant pool table used by the new copy.
classnames - pairs of replaced and substituted class names.