/******************************************************************************* * Copyright (c) 1998, 2016 Oracle and/or its affiliates. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 * which accompanies this distribution. * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html * and the Eclipse Distribution License is available at * http://www.eclipse.org/org/documents/edl-v10.php. * * Contributors: * Oracle - initial API and implementation from Oracle TopLink ******************************************************************************/ package org.eclipse.persistence.tools.workbench.utility.classfile; import org.eclipse.persistence.tools.workbench.utility.classfile.descriptor.ArrayType; import org.eclipse.persistence.tools.workbench.utility.classfile.descriptor.BaseType; import org.eclipse.persistence.tools.workbench.utility.classfile.descriptor.ObjectType; /** * Standard GOF Visitor pattern that allows a visitor object to traverse * all the parts of a class file tree. */ public interface Visitor { void visit(ClassFile classFile); void visit(AnnotationDefaultAttribute annotationDefaultAttribute); void visit(ArrayType arrayType); void visit(AttributePool attributePool); void visit(BaseType baseType); void visit(ClassConstant classConstant); void visit(ClassDeclaration classDeclaration); void visit(CodeAttribute codeAttribute); void visit(ConstantPool constantPool); void visit(ConstantValueAttribute constantValueAttribute); void visit(DeprecatedAttribute deprecatedAttribute); void visit(DoubleConstant doubleConstant); void visit(EnclosingMethodAttribute enclosingMethodAttribute); void visit(ExceptionHandler exceptionHandler); void visit(ExceptionsAttribute exceptionsAttribute); void visit(Field field); void visit(FieldPool fieldPool); void visit(FieldRefConstant fieldRefConstant); void visit(FloatConstant floatConstant); void visit(ClassFile.Header header); void visit(InnerClass innerClass); void visit(InnerClassesAttribute innerClassesAttribute); void visit(IntegerConstant integerConstant); void visit(InterfaceMethodRefConstant interfaceMethodRefConstant); void visit(InvokeDynamicConstant invokeDynamicConstant); void visit(LineNumber lineNumber); void visit(LineNumberTableAttribute lineNumberTableAttribute); void visit(LocalVariable localVariable); void visit(LocalVariableTableAttribute localVariableTableAttribute); void visit(LocalVariableType localVariableType); void visit(LocalVariableTypeTableAttribute localVariableTypeTableAttribute); void visit(LongConstant longConstant); void visit(Method method); void visit(MethodHandleConstant methodHandleConstant); void visit(MethodPool methodPool); void visit(MethodRefConstant methodRefConstant); void visit(MethodTypeConstant methodTypeConstant); void visit(NameAndTypeConstant nameAndTypeConstant); void visit(NullConstant nullConstant); void visit(ObjectType objectType); void visit(RuntimeInvisibleAnnotationsAttribute runtimeInvisibleAnnotationsAttribute); void visit(RuntimeInvisibleParameterAnnotationsAttribute runtimeInvisibleParameterAnnotationsAttribute); void visit(RuntimeVisibleAnnotationsAttribute runtimeVisibleAnnotationsAttribute); void visit(RuntimeVisibleParameterAnnotationsAttribute runtimeVisibleParameterAnnotationsAttribute); void visit(SignatureAttribute signatureAttribute); void visit(SourceDebugExtensionAttribute sourceDebugExtensionAttribute); void visit(SourceFileAttribute sourceFileAttribute); void visit(StringConstant stringConstant); void visit(SyntheticAttribute syntheticAttribute); void visit(UnknownAttribute unknownAttribute); void visit(UTF8Constant utf8Constant); }