1 package polyglot.ast; 2 3 import polyglot.types.Type; 4 import polyglot.types.SemanticException; 5 6 /** 7 * A <code>Catch</code> represents one half of a <code>try-catch</code> 8 * statement. Specifically, the second half. 9 */ 10 public interface Catch extends CompoundStmt 11 { 12 /** 13 * The type of the catch's formal. This is the same as 14 * formal().type().type(). May not be valid until after type-checking. 15 */ 16 Type catchType(); 17 18 /** 19 * The catch block's formal paramter. 20 */ 21 Formal formal(); 22 23 /** 24 * Set the catch block's formal paramter. 25 */ 26 Catch formal(Formal formal); 27 28 /** 29 * The body of the catch block. 30 */ 31 Block body(); 32 33 /** 34 * Set the body of the catch block. 35 */ 36 Catch body(Block body); 37 } 38