Module jdk.scripting.nashorn
Package jdk.nashorn.api.tree

## Interface Diagnostic

-     @Deprecated(since="11",
                  forRemoval=true)
      public interface Diagnostic

  Deprecated, for removal: This API element is subject to removal in a future version.
  Nashorn JavaScript script engine and APIs, and the jjs tool are deprecated with the intent to remove them in a future release.
  Interface for diagnostics from tools. A diagnostic usually reports a problem at a specific position in a source file. However, not all diagnostics are associated with a position or a file.

  A position is a zero-based character offset from the beginning of a file. Negative values (except `NOPOS`) are not valid positions.

  Line and column numbers begin at 1. Negative values (except `NOPOS`) and 0 are not valid line or column numbers.

  Line terminator is as defined in ECMAScript specification which is one of { \u000A, \u000B, \u2028, \u2029 }.

  Since:
    9

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface | Description
    --- | --- | ---
    `static class` | `Diagnostic.Kind` | Deprecated, for removal: This API element is subject to removal in a future version. Nashorn JavaScript script engine and APIs, and the jjs tool are deprecated with the intent to remove them in a future release.

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static long` | `NOPOS` | Deprecated, for removal: This API element is subject to removal in a future version. Used to signal that no position is available.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `String` | `getCode()` | Deprecated, for removal: This API element is subject to removal in a future version. Gets a diagnostic code indicating the type of diagnostic.
    `long` | `getColumnNumber()` | Deprecated, for removal: This API element is subject to removal in a future version. Gets the column number of the character offset returned by getPosition().
    `String` | `getFileName()` | Deprecated, for removal: This API element is subject to removal in a future version. Gets the source file name.
    `Diagnostic.Kind` | `getKind()` | Deprecated, for removal: This API element is subject to removal in a future version. Gets the kind of this diagnostic, for example, error or warning.
    `long` | `getLineNumber()` | Deprecated, for removal: This API element is subject to removal in a future version. Gets the line number of the character offset returned by getPosition().
    `String` | `getMessage()` | Deprecated, for removal: This API element is subject to removal in a future version. Gets a message for this diagnostic.
    `long` | `getPosition()` | Deprecated, for removal: This API element is subject to removal in a future version. Gets a character offset from the beginning of the source object associated with this diagnostic that indicates the location of the problem.

- - ### Field Detail

    - #### NOPOS

          static final long NOPOS

      Deprecated, for removal: This API element is subject to removal in a future version.
      Used to signal that no position is available.
      See Also:
        Constant Field Values

  - ### Method Detail

    - #### getKind

          Diagnostic.Kind getKind()

      Deprecated, for removal: This API element is subject to removal in a future version.
      Gets the kind of this diagnostic, for example, error or warning.
      Returns:
        the kind of this diagnostic

    - #### getPosition

          long getPosition()

      Deprecated, for removal: This API element is subject to removal in a future version.
      Gets 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 no location is suitable

    - #### getFileName

          String getFileName()

      Deprecated, for removal: This API element is subject to removal in a future version.
      Gets the source file name.
      Returns:
        the file name or null if not available

    - #### getLineNumber

          long getLineNumber()

      Deprecated, for removal: This API element is subject to removal in a future version.
      Gets the line number of the character offset returned by getPosition().
      Returns:
        a line number or `NOPOS` if and only if `getPosition()` returns `NOPOS`

    - #### getColumnNumber

          long getColumnNumber()

      Deprecated, for removal: This API element is subject to removal in a future version.
      Gets the column number of the character offset returned by getPosition().
      Returns:
        a column number or `NOPOS` if and only if `getPosition()` returns `NOPOS`

    - #### getCode

          String getCode()

      Deprecated, for removal: This API element is subject to removal in a future version.
      Gets a diagnostic code indicating the type of diagnostic. The code is implementation-dependent and might be `null`.
      Returns:
        a diagnostic code

    - #### getMessage

          String getMessage()

      Deprecated, for removal: This API element is subject to removal in a future version.
      Gets a message for this diagnostic.
      Returns:
        a message