org.apache.bcel.classfile

Class DescendingVisitor

Implemented Interfaces:
Visitor

public class DescendingVisitor
extends java.lang.Object
implements Visitor

Traverses a JavaClass with another Visitor object 'piggy-backed' that is applied to all components of a JavaClass object. I.e. this class supplies the traversal strategy, other classes can make use of it.

Version:
$Id: DescendingVisitor.java,v 1.2 2002/02/04 13:07:30 enver Exp $

Author:
M. Dahm

Nested Class Summary

Constructor Summary

DescendingVisitor(JavaClass clazz, Visitor visitor)

Method Summary

Object
current()
Object
predecessor()
Object
predecessor(int level)
void
visit()
Start traversal.
void
visitCode(Code code)
void
visitCodeException(CodeException ce)
void
visitConstantClass(ConstantClass constant)
void
visitConstantDouble(ConstantDouble constant)
void
visitConstantFieldref(ConstantFieldref constant)
void
visitConstantFloat(ConstantFloat constant)
void
visitConstantInteger(ConstantInteger constant)
void
visitConstantInterfaceMethodref(ConstantInterfaceMethodref constant)
void
visitConstantLong(ConstantLong constant)
void
visitConstantMethodref(ConstantMethodref constant)
void
visitConstantNameAndType(ConstantNameAndType constant)
void
visitConstantPool(ConstantPool cp)
void
visitConstantString(ConstantString constant)
void
visitConstantUtf8(ConstantUtf8 constant)
void
visitConstantValue(ConstantValue cv)
void
visitDeprecated(Deprecated attribute)
void
visitExceptionTable(ExceptionTable table)
void
visitField(Field field)
void
visitInnerClass(InnerClass inner)
void
visitInnerClasses(InnerClasses ic)
void
visitJavaClass(JavaClass clazz)
void
visitLineNumber(LineNumber number)
void
visitLineNumberTable(LineNumberTable table)
void
visitLocalVariable(LocalVariable var)
void
visitLocalVariableTable(LocalVariableTable table)
void
visitMethod(Method method)
void
visitSignature(Signature attribute)
void
visitSourceFile(SourceFile attribute)
void
visitStackMap(StackMap table)
void
visitStackMapEntry(StackMapEntry var)
void
visitSynthetic(Synthetic attribute)
void
visitUnknown(Unknown attribute)

Constructor Details

DescendingVisitor

public DescendingVisitor(JavaClass clazz,
                         Visitor visitor)

Parameters:
clazz - Class to traverse
visitor - visitor object to apply to all components

Method Details

current

public Object current()

Returns:
current object


predecessor

public Object predecessor()

Returns:
container of current entitity, i.e., predecessor during traversal


predecessor

public Object predecessor(int level)

Parameters:
level - nesting level, i.e., 0 returns the direct predecessor

Returns:
container of current entitity, i.e., predecessor during traversal


visit

public void visit()
Start traversal.


visitCode

public void visitCode(Code code)
Specified by:
visitCode in interface Visitor


visitCodeException

public void visitCodeException(CodeException ce)
Specified by:
visitCodeException in interface Visitor


visitConstantClass

public void visitConstantClass(ConstantClass constant)
Specified by:
visitConstantClass in interface Visitor


visitConstantDouble

public void visitConstantDouble(ConstantDouble constant)
Specified by:
visitConstantDouble in interface Visitor


visitConstantFieldref

public void visitConstantFieldref(ConstantFieldref constant)
Specified by:
visitConstantFieldref in interface Visitor


visitConstantFloat

public void visitConstantFloat(ConstantFloat constant)
Specified by:
visitConstantFloat in interface Visitor


visitConstantInteger

public void visitConstantInteger(ConstantInteger constant)
Specified by:
visitConstantInteger in interface Visitor


visitConstantInterfaceMethodref

public void visitConstantInterfaceMethodref(ConstantInterfaceMethodref constant)
Specified by:
visitConstantInterfaceMethodref in interface Visitor


visitConstantLong

public void visitConstantLong(ConstantLong constant)
Specified by:
visitConstantLong in interface Visitor


visitConstantMethodref

public void visitConstantMethodref(ConstantMethodref constant)
Specified by:
visitConstantMethodref in interface Visitor


visitConstantNameAndType

public void visitConstantNameAndType(ConstantNameAndType constant)
Specified by:
visitConstantNameAndType in interface Visitor


visitConstantPool

public void visitConstantPool(ConstantPool cp)
Specified by:
visitConstantPool in interface Visitor


visitConstantString

public void visitConstantString(ConstantString constant)
Specified by:
visitConstantString in interface Visitor


visitConstantUtf8

public void visitConstantUtf8(ConstantUtf8 constant)
Specified by:
visitConstantUtf8 in interface Visitor


visitConstantValue

public void visitConstantValue(ConstantValue cv)
Specified by:
visitConstantValue in interface Visitor


visitDeprecated

public void visitDeprecated(Deprecated attribute)
Specified by:
visitDeprecated in interface Visitor


visitExceptionTable

public void visitExceptionTable(ExceptionTable table)
Specified by:
visitExceptionTable in interface Visitor


visitField

public void visitField(Field field)
Specified by:
visitField in interface Visitor


visitInnerClass

public void visitInnerClass(InnerClass inner)
Specified by:
visitInnerClass in interface Visitor


visitInnerClasses

public void visitInnerClasses(InnerClasses ic)
Specified by:
visitInnerClasses in interface Visitor


visitJavaClass

public void visitJavaClass(JavaClass clazz)
Specified by:
visitJavaClass in interface Visitor


visitLineNumber

public void visitLineNumber(LineNumber number)
Specified by:
visitLineNumber in interface Visitor


visitLineNumberTable

public void visitLineNumberTable(LineNumberTable table)
Specified by:
visitLineNumberTable in interface Visitor


visitLocalVariable

public void visitLocalVariable(LocalVariable var)
Specified by:
visitLocalVariable in interface Visitor


visitLocalVariableTable

public void visitLocalVariableTable(LocalVariableTable table)
Specified by:
visitLocalVariableTable in interface Visitor


visitMethod

public void visitMethod(Method method)
Specified by:
visitMethod in interface Visitor


visitSignature

public void visitSignature(Signature attribute)
Specified by:
visitSignature in interface Visitor


visitSourceFile

public void visitSourceFile(SourceFile attribute)
Specified by:
visitSourceFile in interface Visitor


visitStackMap

public void visitStackMap(StackMap table)
Specified by:
visitStackMap in interface Visitor


visitStackMapEntry

public void visitStackMapEntry(StackMapEntry var)
Specified by:
visitStackMapEntry in interface Visitor


visitSynthetic

public void visitSynthetic(Synthetic attribute)
Specified by:
visitSynthetic in interface Visitor


visitUnknown

public void visitUnknown(Unknown attribute)
Specified by:
visitUnknown in interface Visitor