1 package polyglot.ast; 2 3 import polyglot.types.InitializerInstance; 4 import polyglot.types.Flags; 5 6 /** 7 * An <code>Initializer</code> is an immutable representation of an 8 * initializer block in a Java class (which appears outside of any 9 * method). Such a block is executed before the code for any of the 10 * constructors. Such a block can optionally be static, in which case 11 * it is executed when the class is loaded. 12 */ 13 public interface Initializer extends CodeDecl 14 { 15 /** Get the initializer's flags. */ 16 Flags flags(); 17 /** Set the initializer's flags. */ 18 Initializer flags(Flags flags); 19 20 /** 21 * Get the initializer's type object. This field may not be valid until 22 * after signature disambiguation. 23 */ 24 InitializerInstance initializerInstance(); 25 26 /** Set the initializer's type object. */ 27 Initializer initializerInstance(InitializerInstance ii); 28 } 29