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
Version:
  1.3 04/04/20
Author:
  Joseph D. Darcy, Scott Seligman

## Method Summary

Modifier and Type
Method
Description
`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 Details

### 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