Package 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