package polyglot.ast; import java.util.List; /** * A <code>Block</code> represents a Java block statement -- an immutable * sequence of statements. */ public interface Block extends CompoundStmt { /** * Get the statements in the block. * @return A list of {@link polyglot.ast.Stmt Stmt}. */ List statements(); /** * Set the statements in the block. * @param statements A list of {@link polyglot.ast.Stmt Stmt}. */ Block statements(List statements); /** * Append a statement to the block, returning a new block. */ Block append(Stmt stmt); /** * Prepend a statement to the block, returning a new block. */ Block prepend(Stmt stmt); }