## Uses of Interface
com.sun.mirror.declaration.Declaration

Packages that use Declaration
com.sun.mirror.apt: Classes used to communicate information between annotation processors and an annotation processing tool.
com.sun.mirror.declaration: Interfaces used to model program element declarations.
com.sun.mirror.util: Utilities to assist in the processing of declarations and types.

### Uses of Declaration in com.sun.mirror.apt

Methods in com.sun.mirror.apt that return types with arguments of type Declaration
`Collection<Declaration>` AnnotationProcessorEnvironment.`getDeclarationsAnnotatedWith(AnnotationTypeDeclaration a)` Returns the declarations annotated with the given annotation type.

### Uses of Declaration in com.sun.mirror.declaration

Subinterfaces of Declaration in com.sun.mirror.declaration
`interface` `AnnotationTypeDeclaration` Represents the declaration of an annotation type.
`interface` `AnnotationTypeElementDeclaration` Represents an element of an annotation type.
`interface` `ClassDeclaration` Represents the declaration of a class.
`interface` `ConstructorDeclaration` Represents a constructor of a class or interface.
`interface` `EnumConstantDeclaration` Represents an enum constant declaration.
`interface` `EnumDeclaration` Represents the declaration of an enum type.
`interface` `ExecutableDeclaration` Represents a method or constructor of a class or interface.
`interface` `FieldDeclaration` Represents a field of a type declaration.
`interface` `InterfaceDeclaration` Represents the declaration of an interface.
`interface` `MemberDeclaration` Represents a declaration that may be a member or constructor of a declared type.
`interface` `MethodDeclaration` Represents a method of a class or interface.
`interface` `PackageDeclaration` Represents the declaration of a package.
`interface` `ParameterDeclaration` Represents a formal parameter of a method or constructor.
`interface` `TypeDeclaration` Represents the declaration of a class or interface.
`interface` `TypeParameterDeclaration` Represents a formal type parameter of a generic type, method, or constructor declaration.

Methods in com.sun.mirror.declaration that return Declaration
`Declaration` TypeParameterDeclaration.`getOwner()` Returns the type, method, or constructor declaration within which this type parameter is declared.

### Uses of Declaration in com.sun.mirror.util

Methods in com.sun.mirror.util with type parameters of type Declaration
`<D extends Declaration> Collection<D>` DeclarationFilter.`filter(Collection<? extends Declaration> decls, Class<D> resType)` Returns the declarations matched by this filter, with the result being restricted to declarations of a given kind.
`<D extends Declaration> Collection<D>` DeclarationFilter.`filter(Collection<D> decls)` Returns the declarations matched by this filter.

Methods in com.sun.mirror.util with parameters of type Declaration
`boolean` DeclarationFilter.`matches(Declaration decl)` Tests whether this filter matches a given declaration.
`void` SimpleDeclarationVisitor.`visitDeclaration(Declaration d)` Visits a declaration.
`void` DeclarationVisitor.`visitDeclaration(Declaration d)` Visits a declaration.

Method parameters in com.sun.mirror.util with type arguments of type Declaration
`<D extends Declaration> Collection<D>` DeclarationFilter.`filter(Collection<? extends Declaration> decls, Class<D> resType)` Returns the declarations matched by this filter, with the result being restricted to declarations of a given kind.
`static DeclarationFilter` DeclarationFilter.`getFilter(Class<? extends Declaration> kind)` Returns a filter that selects declarations of a particular kind.