Module java.compiler
Package javax.tools

Interface Diagnostic<S>

类型参数:
S - 此诊断使用的源对象的类型

public interface Diagnostic<S>
工具生成的诊断接口。诊断通常报告源文件中特定位置的问题。但是,并非所有诊断都与位置或文件相关联。

位置是从文件开头的零基字符偏移量。负值(除了NOPOS)不是有效位置。

行号和列号从1开始。负值(除了NOPOS)和0不是有效行号或列号。

自版本:
1.6
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static enum 
    诊断的种类,例如,错误或警告。
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final long
    用于表示没有可用位置。
  • Method Summary

    Modifier and Type
    Method
    Description
    返回指示诊断类型的诊断代码。
    long
    返回由getPosition()返回的字符偏移量的列号。
    long
    返回与此诊断相关联的文件开头的字符偏移量,指示问题的结束。
    返回此诊断的种类,例如,错误或警告。
    long
    返回由getPosition()返回的字符偏移量的行号。
    getMessage(Locale locale)
    返回给定区域设置的本地化消息。
    long
    返回与此诊断相关联的源对象的字符偏移量,指示问题的位置。
    S
    返回与此诊断相关联的源对象。
    long
    返回与此诊断相关联的文件开头的字符偏移量,指示问题的开始。
  • Field Details

    • NOPOS

      static final long NOPOS
      用于表示没有可用位置。
      参见:
  • Method Details

    • getKind

      Diagnostic.Kind getKind()
      返回此诊断的种类,例如,错误或警告。
      返回:
      此诊断的种类
    • getSource

      S getSource()
      返回与此诊断相关联的源对象。
      返回:
      与此诊断相关联的源对象。如果没有与诊断相关联的源对象,则返回null
    • getPosition

      long getPosition()
      返回与此诊断相关联的源对象的字符偏移量,指示问题的位置。此外,以下条件必须为真:

      getStartPosition() <= getPosition()

      getPosition() <= getEndPosition()

      返回:
      从源文件开头的字符偏移量;如果getSource()将返回null或没有合适的位置,则返回NOPOS
    • getStartPosition

      long getStartPosition()
      返回与此诊断相关联的文件开头的字符偏移量,指示问题的开始。
      返回:
      从文件开头的偏移量;如果且仅当getPosition()返回NOPOS时返回NOPOS
    • getEndPosition

      long getEndPosition()
      返回与此诊断相关联的文件开头的字符偏移量,指示问题的结束。
      返回:
      从文件开头的偏移量;如果且仅当getPosition()返回NOPOS时返回NOPOS
    • getLineNumber

      long getLineNumber()
      返回由getPosition()返回的字符偏移量的行号。
      返回:
      行号或如果且仅当getPosition()返回NOPOS时返回NOPOS
    • getColumnNumber

      long getColumnNumber()
      返回由getPosition()返回的字符偏移量的列号。
      返回:
      列号或如果且仅当getPosition()返回NOPOS时返回NOPOS
    • getCode

      String getCode()
      返回指示诊断类型的诊断代码。该代码是实现相关的,可能为null
      返回:
      诊断代码
    • getMessage

      String getMessage(Locale locale)
      返回给定区域设置的本地化消息。实际消息是实现相关的。如果区域设置为null,则使用默认区域设置。
      参数:
      locale - 区域设置;可能为null
      返回:
      本地化消息