1 package polyglot.ast; 2 3 /** 4 * An immutable representation of a Java language <code>synchronized</code> 5 * block. Contains an expression being tested and a statement to be executed 6 * while the expression is <code>true</code>. 7 */ 8 public interface Synchronized extends CompoundStmt 9 { 10 /** The expression to lock. */ 11 Expr expr(); 12 13 /** Set the expression to lock. */ 14 Synchronized expr(Expr expr); 15 16 /** The body in that the lock is held. */ 17 Block body(); 18 19 /** Set the body in that the lock is held. */ 20 Synchronized body(Block body); 21 } 22