# 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
Modifier and Type
Field
Description
`static final long`
`NOPOS`
Used to signal that no position is available.

## Method Summary

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

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

## Field Details

### NOPOS

public static final long NOPOS
Used to signal that no position is available.

See Also:
  - Constant Field Values

## Method Details

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