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 }