001    package serp.bytecode.visitor;
002    
003    
004    /**
005     * Interface denoting an entity that can accept a {@link BCVisitor} and
006     * provide its internal state to it. All entities in the bytecode framework
007     * implement this interface.
008     *
009     * @author Abe White
010     */
011    public interface VisitAcceptor {
012        /**
013         * Accept a visit from a {@link BCVisitor}, calling the appropriate methods
014         * to notify the visitor that it has entered this entity, and
015         * to provide it with the proper callbacks for each sub-entity owned
016         * by this one.
017         */
018        public void acceptVisit(BCVisitor visitor);
019    }