package polyglot.ast; import polyglot.types.InitializerInstance; import polyglot.types.Flags; /** * An <code>Initializer</code> is an immutable representation of an * initializer block in a Java class (which appears outside of any * method). Such a block is executed before the code for any of the * constructors. Such a block can optionally be static, in which case * it is executed when the class is loaded. */ public interface Initializer extends CodeDecl { /** Get the initializer's flags. */ Flags flags(); /** Set the initializer's flags. */ Initializer flags(Flags flags); /** * Get the initializer's type object. This field may not be valid until * after signature disambiguation. */ InitializerInstance initializerInstance(); /** Set the initializer's type object. */ Initializer initializerInstance(InitializerInstance ii); }