com.sun.mirror.util

## Interface DeclarationVisitor

All Known Implementing Classes:
  SimpleDeclarationVisitor

    public interface DeclarationVisitor

A visitor for declarations, in the style of the standard visitor design pattern. Classes implementing this interface are used to operate on a declaration when the kind of declaration is unknown at compile time. When a visitor is passed to a declaration's `accept` method, the most specific `visitXxx` method applicable to that declaration is invoked.

Since:
  1.5

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `visitAnnotationTypeDeclaration(AnnotationTypeDeclaration d)` Visits an annotation type declaration.
`void` `visitAnnotationTypeElementDeclaration(AnnotationTypeElementDeclaration d)` Visits an annotation type element declaration.
`void` `visitClassDeclaration(ClassDeclaration d)` Visits a class declaration.
`void` `visitConstructorDeclaration(ConstructorDeclaration d)` Visits a constructor declaration.
`void` `visitDeclaration(Declaration d)` Visits a declaration.
`void` `visitEnumConstantDeclaration(EnumConstantDeclaration d)` Visits an enum constant declaration.
`void` `visitEnumDeclaration(EnumDeclaration d)` Visits an enum declaration.
`void` `visitExecutableDeclaration(ExecutableDeclaration d)` Visits a method or constructor declaration.
`void` `visitFieldDeclaration(FieldDeclaration d)` Visits a field declaration.
`void` `visitInterfaceDeclaration(InterfaceDeclaration d)` Visits an interface declaration.
`void` `visitMemberDeclaration(MemberDeclaration d)` Visits a member or constructor declaration.
`void` `visitMethodDeclaration(MethodDeclaration d)` Visits a method declaration.
`void` `visitPackageDeclaration(PackageDeclaration d)` Visits a package declaration.
`void` `visitParameterDeclaration(ParameterDeclaration d)` Visits a parameter declaration.
`void` `visitTypeDeclaration(TypeDeclaration d)` Visits a type declaration.
`void` `visitTypeParameterDeclaration(TypeParameterDeclaration d)` Visits a type parameter declaration.

### Method Detail

#### visitDeclaration

    void visitDeclaration(Declaration d)

Visits a declaration.

Parameters:
  `d` - the declaration to visit

#### visitPackageDeclaration

    void visitPackageDeclaration(PackageDeclaration d)

Visits a package declaration.

Parameters:
  `d` - the declaration to visit

#### visitMemberDeclaration

    void visitMemberDeclaration(MemberDeclaration d)

Visits a member or constructor declaration.

Parameters:
  `d` - the declaration to visit

#### visitTypeDeclaration

    void visitTypeDeclaration(TypeDeclaration d)

Visits a type declaration.

Parameters:
  `d` - the declaration to visit

#### visitClassDeclaration

    void visitClassDeclaration(ClassDeclaration d)

Visits a class declaration.

Parameters:
  `d` - the declaration to visit

#### visitEnumDeclaration

    void visitEnumDeclaration(EnumDeclaration d)

Visits an enum declaration.

Parameters:
  `d` - the declaration to visit

#### visitInterfaceDeclaration

    void visitInterfaceDeclaration(InterfaceDeclaration d)

Visits an interface declaration.

Parameters:
  `d` - the declaration to visit

#### visitAnnotationTypeDeclaration

    void visitAnnotationTypeDeclaration(AnnotationTypeDeclaration d)

Visits an annotation type declaration.

Parameters:
  `d` - the declaration to visit

#### visitFieldDeclaration

    void visitFieldDeclaration(FieldDeclaration d)

Visits a field declaration.

Parameters:
  `d` - the declaration to visit

#### visitEnumConstantDeclaration

    void visitEnumConstantDeclaration(EnumConstantDeclaration d)

Visits an enum constant declaration.

Parameters:
  `d` - the declaration to visit

#### visitExecutableDeclaration

    void visitExecutableDeclaration(ExecutableDeclaration d)

Visits a method or constructor declaration.

Parameters:
  `d` - the declaration to visit

#### visitConstructorDeclaration

    void visitConstructorDeclaration(ConstructorDeclaration d)

Visits a constructor declaration.

Parameters:
  `d` - the declaration to visit

#### visitMethodDeclaration

    void visitMethodDeclaration(MethodDeclaration d)

Visits a method declaration.

Parameters:
  `d` - the declaration to visit

#### visitAnnotationTypeElementDeclaration

    void visitAnnotationTypeElementDeclaration(AnnotationTypeElementDeclaration d)

Visits an annotation type element declaration.

Parameters:
  `d` - the declaration to visit

#### visitParameterDeclaration

    void visitParameterDeclaration(ParameterDeclaration d)

Visits a parameter declaration.

Parameters:
  `d` - the declaration to visit

#### visitTypeParameterDeclaration

    void visitTypeParameterDeclaration(TypeParameterDeclaration d)

Visits a type parameter declaration.

Parameters:
  `d` - the declaration to visit