/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You 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.bcel.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.
/** * 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. * */
public interface Visitor { void visitCode(Code obj); void visitCodeException(CodeException obj); void visitConstantClass(ConstantClass obj); void visitConstantDouble(ConstantDouble obj); void visitConstantFieldref(ConstantFieldref obj); void visitConstantFloat(ConstantFloat obj); void visitConstantInteger(ConstantInteger obj); void visitConstantInterfaceMethodref(ConstantInterfaceMethodref obj); void visitConstantInvokeDynamic(ConstantInvokeDynamic obj); void visitConstantLong(ConstantLong obj); void visitConstantMethodref(ConstantMethodref obj); void visitConstantNameAndType(ConstantNameAndType obj); void visitConstantPool(ConstantPool obj); void visitConstantString(ConstantString obj); void visitConstantUtf8(ConstantUtf8 obj); void visitConstantValue(ConstantValue obj); void visitDeprecated(Deprecated obj); void visitExceptionTable(ExceptionTable obj); void visitField(Field obj); void visitInnerClass(InnerClass obj); void visitInnerClasses(InnerClasses obj); void visitJavaClass(JavaClass obj); void visitLineNumber(LineNumber obj); void visitLineNumberTable(LineNumberTable obj); void visitLocalVariable(LocalVariable obj); void visitLocalVariableTable(LocalVariableTable obj); void visitMethod(Method obj); void visitSignature(Signature obj); void visitSourceFile(SourceFile obj); void visitSynthetic(Synthetic obj); void visitUnknown(Unknown obj); void visitStackMap(StackMap obj); void visitStackMapEntry(StackMapEntry obj);
Since:6.0
/** * @since 6.0 */
void visitAnnotation(Annotations obj);
Since:6.0
/** * @since 6.0 */
void visitParameterAnnotation(ParameterAnnotations obj);
Since:6.0
/** * @since 6.0 */
void visitAnnotationEntry(AnnotationEntry obj);
Since:6.0
/** * @since 6.0 */
void visitAnnotationDefault(AnnotationDefault obj);
Since:6.0
/** * @since 6.0 */
void visitLocalVariableTypeTable(LocalVariableTypeTable obj);
Since:6.0
/** * @since 6.0 */
void visitEnclosingMethod(EnclosingMethod obj);
Since:6.0
/** * @since 6.0 */
void visitBootstrapMethods(BootstrapMethods obj);
Since:6.0
/** * @since 6.0 */
void visitMethodParameters(MethodParameters obj);
Since:6.4.0
/** * @since 6.4.0 */
default void visitMethodParameter(final MethodParameter obj) { // empty }
Since:6.0
/** * @since 6.0 */
void visitConstantMethodType(ConstantMethodType obj);
Since:6.0
/** * @since 6.0 */
void visitConstantMethodHandle(ConstantMethodHandle obj);
Since:6.0
/** * @since 6.0 */
void visitParameterAnnotationEntry(ParameterAnnotationEntry obj);
Since:6.1
/** * @since 6.1 */
void visitConstantPackage(ConstantPackage constantPackage);
Since:6.1
/** * @since 6.1 */
void visitConstantModule(ConstantModule constantModule);
Since:6.3
/** * @since 6.3 */
default void visitConstantDynamic(final ConstantDynamic constantDynamic) { // empty }
Since:6.4.0
/** * @since 6.4.0 */
default void visitModule(final Module constantModule) { // empty }
Since:6.4.0
/** * @since 6.4.0 */
default void visitModuleRequires(final ModuleRequires constantModule) { // empty }
Since:6.4.0
/** * @since 6.4.0 */
default void visitModuleExports(final ModuleExports constantModule) { // empty }
Since:6.4.0
/** * @since 6.4.0 */
default void visitModuleOpens(final ModuleOpens constantModule) { // empty }
Since:6.4.0
/** * @since 6.4.0 */
default void visitModuleProvides(final ModuleProvides constantModule) { // empty }
Since:6.4.0
/** * @since 6.4.0 */
default void visitModulePackages(final ModulePackages constantModule) { // empty }
Since:6.4.0
/** * @since 6.4.0 */
default void visitModuleMainClass(final ModuleMainClass obj) { // empty }
Since:6.4.0
/** * @since 6.4.0 */
default void visitNestHost(final NestHost obj) { // empty }
Since:6.4.0
/** * @since 6.4.0 */
default void visitNestMembers(final NestMembers obj) { // empty } }