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

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    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 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