/*
* Copyright 2000-2004 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package org.apache.bcel5_2_0.classfile;
/**
* Interface to make use of the Visitor pattern programming style.
* I.e. a class that implements this interface can traverse the contents of
* a Java class just by calling the `accept' method which all classes have.
*
* @version $Id: Visitor.java 386056 2006-03-15 11:31:56Z tcurdt $
* @author <A HREF="mailto:m.dahm@gmx.de">M. Dahm</A>
*/
public interface Visitor {
//public void visitAnnotation(Annotations obj);
//public void visitParameterAnnotation(ParameterAnnotations obj);
//public void visitAnnotationEntry(AnnotationEntry obj);
//public void visitAnnotationDefault(AnnotationDefault obj);
public void visitCode( Code obj );
public void visitCodeException( CodeException obj );
public void visitConstantClass( ConstantClass obj );
public void visitConstantDouble( ConstantDouble obj );
public void visitConstantFieldref( ConstantFieldref obj );
public void visitConstantFloat( ConstantFloat obj );
public void visitConstantInteger( ConstantInteger obj );
public void visitConstantInterfaceMethodref( ConstantInterfaceMethodref obj );
public void visitConstantLong( ConstantLong obj );
public void visitConstantMethodref( ConstantMethodref obj );
public void visitConstantNameAndType( ConstantNameAndType obj );
public void visitConstantPool( ConstantPool obj );
public void visitConstantString( ConstantString obj );
public void visitConstantUtf8( ConstantUtf8 obj );
public void visitConstantValue( ConstantValue obj );
public void visitDeprecated( Deprecated obj );
public void visitExceptionTable( ExceptionTable obj );
public void visitField( Field obj );
public void visitInnerClass( InnerClass obj );
public void visitInnerClasses( InnerClasses obj );
public void visitJavaClass( JavaClass obj );
public void visitLineNumber( LineNumber obj );
public void visitLineNumberTable( LineNumberTable obj );
public void visitLocalVariable( LocalVariable obj );
public void visitLocalVariableTable( LocalVariableTable obj );
public void visitMethod( Method obj );
public void visitSignature( Signature obj );
public void visitSourceFile( SourceFile obj );
public void visitSynthetic( Synthetic obj );
public void visitUnknown( Unknown obj );
public void visitStackMap( StackMap obj );
public void visitStackMapEntry( StackMapEntry obj );
}