Module jdk.jshell
Package jdk.jshell

## Class Diag

- java.lang.Object
- - jdk.jshell.Diag

    public abstract class Diag
    extends Object

Diagnostic information for a Snippet.

Since:
  9
See Also:
  `JShell.diagnostics(jdk.jshell.Snippet)`

### Field Summary

Fields
`static long` `NOPOS` Used to signal that no position is available.

### Method Summary

All Methods Instance Methods Abstract Methods
`abstract String` `getCode()` Returns a diagnostic code indicating the type of diagnostic.
`abstract long` `getEndPosition()` Returns the character offset from the beginning of the file associated with this diagnostic that indicates the end of the problem.
`abstract String` `getMessage​(Locale locale)` Returns a localized message for the given locale.
`abstract long` `getPosition()` Returns a character offset from the beginning of the source object associated with this diagnostic that indicates the location of the problem.
`abstract long` `getStartPosition()` Returns the character offset from the beginning of the file associated with this diagnostic that indicates the start of the problem.
`abstract boolean` `isError()` Indicates whether this diagnostic is an error (as opposed to a warning or note).

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

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

### Field Detail

#### NOPOS

    public static final long NOPOS

Used to signal that no position is available.

See Also:
  Constant Field Values

### Method Detail

#### isError

    public abstract boolean isError()

Indicates whether this diagnostic is an error (as opposed to a warning or note).

Returns:
  `true` if this diagnostic is an error; otherwise `false`

#### getPosition

    public abstract long getPosition()

Returns a character offset from the beginning of the source object associated with this diagnostic that indicates the location of the problem. In addition, the following must be true:

`getStartPostion() <= getPosition()`

`getPosition() <= getEndPosition()`

Returns:
  character offset from beginning of source; `NOPOS` if the position is not available.

#### getStartPosition

    public abstract long getStartPosition()

Returns the character offset from the beginning of the file associated with this diagnostic that indicates the start of the problem.

Returns:
  offset from beginning of file; `NOPOS` if and only if `getPosition()` returns `NOPOS`

#### getEndPosition

    public abstract long getEndPosition()

Returns the character offset from the beginning of the file associated with this diagnostic that indicates the end of the problem.

Returns:
  offset from beginning of file; `NOPOS` if and only if `getPosition()` returns `NOPOS`

#### getCode

    public abstract String getCode()

Returns a diagnostic code indicating the type of diagnostic. The code is implementation-dependent and might be `null`.

Returns:
  a diagnostic code

#### getMessage

    public abstract String getMessage​(Locale locale)

Returns a localized message for the given locale. The actual message is implementation-dependent. If the locale is `null` use the default locale.

Parameters:
  `locale` - a locale; might be `null`
Returns:
  a localized message