001    /* Copyright 2000, 2001, Compaq Computer Corporation */
002    
003    package javafe.tc;
004    
005    import javafe.ast.*;
006    
007    
008    /**
009     * The interface for listeners of <code>CompilationUnit</code>-loading
010     * notification events (sent by <code>OutsideEnv</code>). <p>
011     *
012     * @see CompilationUnit
013     * @see OutsideEnv
014     */
015    
016    public interface Listener {
017        /**
018         * Each time a <code>CompilationUnit</code> is loaded by
019         * <code>OutsideEnv</code>, this routine in the current
020         * <code>Listener</code> (see <code>OutsideEnv.setListener</code>)
021         * is called with the newly-loaded
022         * <code>CompilationUnit</code>. <p>
023         *
024         * The passed <code>CompilationUnit</code> will already have
025         * the <code>sig</code> fields of its direct <code>TypeDecl</code>s
026         * adjusted.  (See the class comments for
027         * <code>OutsideEnv</code>).<p>
028         */
029        //@ requires justLoaded != null;
030        public void notify(CompilationUnit justLoaded);
031    }