1 /* 2 * reserved comment block 3 * DO NOT REMOVE OR ALTER! 4 */ 5 /* 6 * Licensed to the Apache Software Foundation (ASF) under one or more 7 * contributor license agreements. See the NOTICE file distributed with 8 * this work for additional information regarding copyright ownership. 9 * The ASF licenses this file to You under the Apache License, Version 2.0 10 * (the "License"); you may not use this file except in compliance with 11 * the License. You may obtain a copy of the License at 12 * 13 * http://www.apache.org/licenses/LICENSE-2.0 14 * 15 * Unless required by applicable law or agreed to in writing, software 16 * distributed under the License is distributed on an "AS IS" BASIS, 17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 * See the License for the specific language governing permissions and 19 * limitations under the License. 20 */ 21 22 package com.sun.org.apache.bcel.internal.classfile; 23 24 25 /** 26 * Interface to make use of the Visitor pattern programming style. 27 * I.e. a class that implements this interface can traverse the contents of 28 * a Java class just by calling the `accept' method which all classes have. 29 * 30 * Implemented by wish of 31 * <A HREF="http://www.inf.fu-berlin.de/~bokowski">Boris Bokowski</A>. 32 * 33 * @author <A HREF="mailto:markus.dahm@berlin.de">M. Dahm</A> 34 */ 35 public interface Visitor { 36 public void visitCode(Code obj); 37 public void visitCodeException(CodeException obj); 38 public void visitConstantClass(ConstantClass obj); 39 public void visitConstantDouble(ConstantDouble obj); 40 public void visitConstantFieldref(ConstantFieldref obj); 41 public void visitConstantFloat(ConstantFloat obj); 42 public void visitConstantInteger(ConstantInteger obj); 43 public void visitConstantInterfaceMethodref(ConstantInterfaceMethodref obj); 44 public void visitConstantLong(ConstantLong obj); 45 public void visitConstantMethodref(ConstantMethodref obj); 46 public void visitConstantNameAndType(ConstantNameAndType obj); 47 public void visitConstantPool(ConstantPool obj); 48 public void visitConstantString(ConstantString obj); 49 public void visitConstantUtf8(ConstantUtf8 obj); 50 public void visitConstantValue(ConstantValue obj); 51 public void visitDeprecated(Deprecated obj); 52 public void visitExceptionTable(ExceptionTable obj); 53 public void visitField(Field obj); 54 public void visitInnerClass(InnerClass obj); 55 public void visitInnerClasses(InnerClasses obj); 56 public void visitJavaClass(JavaClass obj); 57 public void visitLineNumber(LineNumber obj); 58 public void visitLineNumberTable(LineNumberTable obj); 59 public void visitLocalVariable(LocalVariable obj); 60 public void visitLocalVariableTable(LocalVariableTable obj); 61 public void visitLocalVariableTypeTable(LocalVariableTypeTable obj); 62 public void visitMethod(Method obj); 63 public void visitSignature(Signature obj); 64 public void visitSourceFile(SourceFile obj); 65 public void visitSynthetic(Synthetic obj); 66 public void visitUnknown(Unknown obj); 67 public void visitStackMap(StackMap obj); 68 public void visitStackMapEntry(StackMapEntry obj); 69 }