@@ -0,0 +1,1782 @@
+package sds.assemble;%0A%0Aimport sds.classfile.attributes.Code.ExceptionTable;%0A%0A/**%0A * This class is for contents of method's try-catch-finally statement.%0A * @author inagaki%0A */%0Apublic class ExceptionContent %7B%0A%09private int%5B%5D from, to, target;%0A%09private String%5B%5D exception;%0A%0A%09public ExceptionContent(ExceptionTable%5B%5D table, String%5B%5D exception) %7B%0A%09%09this.from   = new int%5Btable.length%5D;%0A%09%09this.to     = new int%5Btable.length%5D;%0A%09%09this.target = new int%5Btable.length%5D;%0A%09%09for(int i = 0; i %3C table.length; i++) %7B%0A%09%09%09from%5Bi%5D   = table%5Bi%5D.getNumber(%22start_pc%22);%0A%09%09%09to%5Bi%5D     = table%5Bi%5D.getNumber(%22end_pc%22);%0A%09%09%09target%5Bi%5D = table%5Bi%5D.getNumber(%22handler_pc%22);%0A%09%09%7D%0A%09%09this.exception = exception;%0A%09%7D%0A%0A%09/**%0A%09 * returns from-indexes into code array.%0A%09 * @return from-indexes%0A%09 */%0A%09public int%5B%5D getFrom() %7B%0A%09%09return from;%0A%09%7D%0A%0A%09/**%0A%09 * returns to-indexes into code array.%0A%09 * @return to-indexes%0A%09 */%0A%09public int%5B%5D getTo() %7B%0A%09%09return to;%0A%09%7D%0A%0A%09/**%0A%09 * returns target indexes into code array.%0A%09 * @return target indexes%0A%09 */%0A%09public int%5B%5D getTarget() %7B%0A%09%09return target;%0A%09%7D%0A%0A%09/**%0A%09 * returns exception class names.%0A%09 * @return exception class names%0A%09 */%0A%09public String%5B%5D getException() %7B%0A%09%09return exception;%0A%09%7D%0A%0A%09/**%0A%09 * returns array index which specified pc is%0A%09 * in range between from-index and (to-index - 1).%3Cbr%3E%0A%09 * if the array index didn't find, this method returns -1.%0A%09 * @param pc index into code array%0A%09 * @param isAny whether the range has no exception%0A%09 * @return array index%0A%09 */%0A%09public int getIndexInRange(int pc, boolean isAny) %7B%0A%09%09for(int i = 0; i %3C from.length; i++) %7B%0A%09%09%09if(from%5Bi%5D %3C= pc && pc %3C to%5Bi%5D) %7B%0A%09%09%09%09if(isAny) %7B%0A%09%09%09%09%09if(exception%5Bi%5D.equals(%22any%22)) %7B%0A%09%09%09%09%09%09return i;%0A%09%09%09%09%09%7D%0A%09%09%09%09%7D else %7B%0A%09%09%09%09%09if(! exception%5Bi%5D.equals(%22any%22)) %7B%0A%09%09%09%09%09%09return i;%0A%09%09%09%09%09%7D%0A%09%09%09%09%7D%0A%09%09%09%7D%0A%09%09%7D%0A%09%09return -1;%0A%09%7D%0A%7D

add class for contents of method's try-catch-finally statement.