On this page
Enum Class Snippet.Kind
- All Implemented Interfaces:
Serializable
,Comparable<Snippet.Kind>
,Constable
- Enclosing class:
- Snippet
public static enum Snippet.Kind extends Enum<Snippet.Kind>
Kind
is an immutable property of a Snippet. It is accessed with Snippet.kind()
. The Kind
can be used to determine which subclass of Snippet it is. For example, eval("int three() { return 3; }")
will return a snippet creation event. The Kind
of that Snippet will be METHOD
, from which you know that the subclass of Snippet
is MethodSnippet
and it can be cast as such.
Nested Class Summary
Nested classes/interfaces declared in class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>>
Enum Constant Summary
Enum Constant | Description |
---|---|
ERRONEOUS |
A syntactically incorrect input for which the specific kind could not be determined.
|
EXPRESSION |
An expression, with or without side-effects.
|
IMPORT |
An import declaration: import ...
|
METHOD |
A method declaration.
|
STATEMENT |
A statement.
|
TYPE_DECL |
A type declaration.
|
VAR |
One variable declaration.
|
Method Summary
Modifier and Type | Method | Description |
---|---|---|
boolean |
isPersistent() |
Indicates whether this Kind of Snippet is persistent.
|
static Snippet.Kind |
valueOf |
Returns the enum constant of this class with the specified name.
|
static Snippet.Kind[] |
values() |
Returns an array containing the constants of this enum class, in the order they are declared.
|
Enum Constant Details
IMPORT
public static final Snippet.Kind IMPORT
import
... The snippet is an instance of ImportSnippet
.
An import can be a single type import (Snippet.SubKind.SINGLE_TYPE_IMPORT_SUBKIND
), a static single import (Snippet.SubKind.SINGLE_STATIC_IMPORT_SUBKIND
), an on-demand type import (Snippet.SubKind.TYPE_IMPORT_ON_DEMAND_SUBKIND
), or a static on-demand type import (Snippet.SubKind.SINGLE_STATIC_IMPORT_SUBKIND
) -- use Snippet.subKind()
to distinguish.
An import declaration is persistent.
- See Java Language Specification:
- 7.5 Import Declarations
TYPE_DECL
public static final Snippet.Kind TYPE_DECL
TypeDeclSnippet
.
A type declaration may be an interface Snippet.SubKind.INTERFACE_SUBKIND
, classes Snippet.SubKind.CLASS_SUBKIND
, enums, and annotation interfaces -- see Snippet.SubKind
to differentiate.
A type declaration is persistent.
- See Java Language Specification:
- 7.6 Top Level Type Declarations
METHOD
public static final Snippet.Kind METHOD
MethodSnippet
.
A method declaration is persistent.
- See Java Language Specification:
- 8.4 Method Declarations
VAR
public static final Snippet.Kind VAR
VarSnippet
.
The variable may be with or without initializer, or be a temporary variable representing an expression -- see Snippet.SubKind
to differentiate.
A variable declaration is persistent.
- See Java Language Specification:
- 8.3 Field Declarations
EXPRESSION
public static final Snippet.Kind EXPRESSION
ExpressionSnippet
.
The expression is currently either a simple named reference to a variable (Snippet.SubKind.VAR_VALUE_SUBKIND
) or an assignment (both of which have natural referencing names) -- see Snippet.SubKind
to differentiate. All other expression forms (operators, method calls, ...) generate a scratch variable and so are instead of the VAR Kind.
- See Java Language Specification:
- 15 Expressions
STATEMENT
public static final Snippet.Kind STATEMENT
StatementSnippet
.
- See Java Language Specification:
- 14.5 Statements
ERRONEOUS
public static final Snippet.Kind ERRONEOUS
ErroneousSnippet
.
Method Details
values
public static Snippet.Kind[] values()
- Returns:
- an array containing the constants of this enum class, in the order they are declared
valueOf
public static Snippet.Kind valueOf(String name)
- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException
- if this enum class has no constant with the specified nameNullPointerException
- if the argument is null
isPersistent
public boolean isPersistent()
Kind
of Snippet is persistent. Only declarations are persistent because they influence future Snippets.
Note that though the Kind
of a Snippet may be persistent, that does not mean that the Snippet will persist; For example it may be invalid or have been dropped. See: Snippet.Status.isDefined()
.
- Returns:
true
if thisKind
ofSnippet
is visible to subsequent evaluations; otherwisefalse
© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/jdk.jshell/jdk/jshell/Snippet.Kind.html