# Class DeclarationSnippet

java.lang.Object
jdk.jshell.Snippet
jdk.jshell.PersistentSnippet
jdk.jshell.DeclarationSnippet

Direct Known Subclasses:
  `MethodSnippet`, `TypeDeclSnippet`, `VarSnippet`

public abstract class DeclarationSnippet extends PersistentSnippet
Grouping for all declaration Snippets: variable declarations (`VarSnippet`), method declarations (`MethodSnippet`), and type declarations (`TypeDeclSnippet`).

Declaration snippets are unique in that they can be active with unresolved references: `RECOVERABLE_DEFINED` or `RECOVERABLE_NOT_DEFINED`. Unresolved references can be queried with `JShell.unresolvedDependencies(DeclarationSnippet)`.

`DeclarationSnippet` is immutable: an access to any of its methods will always return the same result. and thus is thread-safe.

Since:
  9

## Nested Class Summary

### Nested classes/interfaces declared in class jdk.jshell.Snippet

`Snippet.Kind, Snippet.Status, Snippet.SubKind`

## Method Summary

### Methods declared in class jdk.jshell.PersistentSnippet

`name`

### Methods declared in class jdk.jshell.Snippet

`id, kind, source, subKind`

### Methods declared in class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`