00001 package de.fub.bytecode.classfile; 00002 00003 /** 00004 * Interface to make use of the Visitor pattern programming style. 00005 * I.e. a class that implements this interface can traverse the contents of 00006 * a Java class just by calling the `accept' method which all classes have. 00007 * 00008 * Implemented by wish of 00009 * <A HREF="http://www.inf.fu-berlin.de/~bokowski">Boris Bokowski</A>. 00010 * 00011 * @version $Id: Visitor.java,v 1.1.1.1 2002/01/24 03:44:00 pserver Exp $ 00012 * @author <A HREF="http://www.inf.fu-berlin.de/~dahm">M. Dahm</A> 00013 */ 00014 public interface Visitor { 00015 public void visitCode(Code obj); 00016 public void visitCodeException(CodeException obj); 00017 public void visitConstantClass(ConstantClass obj); 00018 public void visitConstantDouble(ConstantDouble obj); 00019 public void visitConstantFieldref(ConstantFieldref obj); 00020 public void visitConstantFloat(ConstantFloat obj); 00021 public void visitConstantInteger(ConstantInteger obj); 00022 public void visitConstantInterfaceMethodref(ConstantInterfaceMethodref obj); 00023 public void visitConstantLong(ConstantLong obj); 00024 public void visitConstantMethodref(ConstantMethodref obj); 00025 public void visitConstantNameAndType(ConstantNameAndType obj); 00026 public void visitConstantPool(ConstantPool obj); 00027 public void visitConstantString(ConstantString obj); 00028 public void visitConstantUtf8(ConstantUtf8 obj); 00029 public void visitConstantValue(ConstantValue obj); 00030 public void visitDeprecated(Deprecated obj); 00031 public void visitExceptionTable(ExceptionTable obj); 00032 public void visitField(Field obj); 00033 public void visitInnerClass(InnerClass obj); 00034 public void visitInnerClasses(InnerClasses obj); 00035 public void visitJavaClass(JavaClass obj); 00036 public void visitLineNumber(LineNumber obj); 00037 public void visitLineNumberTable(LineNumberTable obj); 00038 public void visitLocalVariable(LocalVariable obj); 00039 public void visitLocalVariableTable(LocalVariableTable obj); 00040 public void visitMethod(Method obj); 00041 public void visitSourceFile(SourceFile obj); 00042 public void visitSynthetic(Synthetic obj); 00043 public void visitUnknown(Unknown obj); 00044 }