aboutsummaryrefslogtreecommitdiff
path: root/interfaces/src/dotty/tools/dotc/interfaces/Diagnostic.java
blob: c46360afaa3d9abd8f2c5ea43d1d74c32de72da8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package dotty.tools.dotc.interfaces;

import java.util.Optional;

/** A diagnostic is a message emitted during the compilation process.
 *
 *  It can either be an error, a warning or an information.
 *
 *  User code should not implement this interface, but it may have to
 *  manipulate objects of this type.
 */
public interface Diagnostic {
  public static final int ERROR = 2;
  public static final int WARNING = 1;
  public static final int INFO = 0;

  /** @return The message to report */
  String message();

  /** @return Level of the diagnostic, can be either ERROR, WARNING or INFO */
  int level();

  /** @return The position in a source file of the code that caused this diagnostic
   *  to be emitted. */
  Optional<SourcePosition> position();
}