## org.apache.bcel.classfile
Class DescendingVisitor

    java.lang.Object
      |
      +--org.apache.bcel.classfile.DescendingVisitor

All 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

Constructor Summary
`DescendingVisitor(JavaClass clazz, Visitor visitor)`

Method Summary
`java.lang.Object` `current()`
`java.lang.Object` `predecessor()`
`java.lang.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)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### DescendingVisitor

    public DescendingVisitor(JavaClass clazz,
                             Visitor visitor)

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

Method Detail

### predecessor

    public java.lang.Object predecessor()

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

### predecessor

    public java.lang.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

### current

    public java.lang.Object current()

  Returns:
    current object

### visit

    public void visit()

  Start traversal.

### visitJavaClass

    public void visitJavaClass(JavaClass clazz)

  Specified by:
    `visitJavaClass` in interface `Visitor`

### visitField

    public void visitField(Field field)

  Specified by:
    `visitField` in interface `Visitor`

### visitConstantValue

    public void visitConstantValue(ConstantValue cv)

  Specified by:
    `visitConstantValue` in interface `Visitor`

### visitMethod

    public void visitMethod(Method method)

  Specified by:
    `visitMethod` in interface `Visitor`

### visitExceptionTable

    public void visitExceptionTable(ExceptionTable table)

  Specified by:
    `visitExceptionTable` in interface `Visitor`

### visitCode

    public void visitCode(Code code)

  Specified by:
    `visitCode` in interface `Visitor`

### visitCodeException

    public void visitCodeException(CodeException ce)

  Specified by:
    `visitCodeException` in interface `Visitor`

### visitLineNumberTable

    public void visitLineNumberTable(LineNumberTable table)

  Specified by:
    `visitLineNumberTable` in interface `Visitor`

### visitLineNumber

    public void visitLineNumber(LineNumber number)

  Specified by:
    `visitLineNumber` in interface `Visitor`

### visitLocalVariableTable

    public void visitLocalVariableTable(LocalVariableTable table)

  Specified by:
    `visitLocalVariableTable` 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`

### visitLocalVariable

    public void visitLocalVariable(LocalVariable var)

  Specified by:
    `visitLocalVariable` in interface `Visitor`

### visitConstantPool

    public void visitConstantPool(ConstantPool cp)

  Specified by:
    `visitConstantPool` 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`

### visitConstantString

    public void visitConstantString(ConstantString constant)

  Specified by:
    `visitConstantString` in interface `Visitor`

### visitConstantUtf8

    public void visitConstantUtf8(ConstantUtf8 constant)

  Specified by:
    `visitConstantUtf8` in interface `Visitor`

### visitInnerClasses

    public void visitInnerClasses(InnerClasses ic)

  Specified by:
    `visitInnerClasses` in interface `Visitor`

### visitInnerClass

    public void visitInnerClass(InnerClass inner)

  Specified by:
    `visitInnerClass` in interface `Visitor`

### visitDeprecated

    public void visitDeprecated(Deprecated attribute)

  Specified by:
    `visitDeprecated` 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`

### visitSynthetic

    public void visitSynthetic(Synthetic attribute)

  Specified by:
    `visitSynthetic` in interface `Visitor`

### visitUnknown

    public void visitUnknown(Unknown attribute)

  Specified by:
    `visitUnknown` in interface `Visitor`

Copyright © 2002-2003 Apache Software Foundation. All Rights Reserved.