lingua-franca 0.10.1
Lingua Franca code generator
Loading...
Searching...
No Matches
org.lflang.MessageReporter Interface Reference

Interface for reporting messages like errors or info. More...

Inherited by org.lflang.DefaultMessageReporter, org.lflang.MessageReporterBase, and org.lflang.federated.generator.LineAdjustingMessageReporter.

Classes

interface  Stage2
 Interface to report a message with a specific severity. More...

Public Member Functions

Stage2 at (EObject node)
 Position the message on the given node (must be non-null).
Stage2 at (EObject node, EStructuralFeature feature)
 Position the message on the given node and structural feature (both must be non-null).
default Stage2 at (Path file)
 Position the message in the file (non-null), at an unknown line.
default Stage2 at (Path file, int line)
 Position the message in the file (non-null), on the given line.
default Stage2 at (Path file, Position pos)
 Position the message in the file, using a position object.
Stage2 at (Path file, Range range)
 Position the message on the given range in a given file (both must be non-null).
default Stage2 atNullableLine (Path file, Integer line)
 Position the message in the given file.
default void clearHistory ()
 Clear error history, if exists.
boolean getErrorsOccurred ()
 Check if errors where reported.
Stage2 nowhere ()
 Specify that the message has no relevant position, ie it does not belong to a particular file.

Detailed Description

Interface for reporting messages like errors or info.

This interface is a staged builder: first call one of the at methods to specify the position of the message, then use one of the report methods on the returned Stage2 instance.

Examples:

errorReporter.at(file, line).error("an error")
errorReporter.at(node).warning("a warning reported on a node")
errorReporter.nowhere().error("Some error that has no specific position")
See also
MessageReporterBase
Author
Edward A. Lee
Marten Lohstroh
Christian Menard
Clément Fournier

Member Function Documentation

◆ at() [1/6]

Stage2 org.lflang.MessageReporter.at ( EObject node)

Position the message on the given node (must be non-null).

Implemented in org.lflang.federated.generator.LineAdjustingMessageReporter, and org.lflang.MessageReporterBase.

◆ at() [2/6]

Stage2 org.lflang.MessageReporter.at ( EObject node,
EStructuralFeature feature )

Position the message on the given node and structural feature (both must be non-null).

Implemented in org.lflang.federated.generator.LineAdjustingMessageReporter, and org.lflang.MessageReporterBase.

◆ at() [3/6]

default Stage2 org.lflang.MessageReporter.at ( Path file)

Position the message in the file (non-null), at an unknown line.

Implementations usually will report on the first line of the file.

◆ at() [4/6]

default Stage2 org.lflang.MessageReporter.at ( Path file,
int line )

Position the message in the file (non-null), on the given line.

Implemented in org.lflang.federated.generator.LineAdjustingMessageReporter, and org.lflang.generator.LanguageServerMessageReporter.

◆ at() [5/6]

default Stage2 org.lflang.MessageReporter.at ( Path file,
Position pos )

Position the message in the file, using a position object.

◆ at() [6/6]

Stage2 org.lflang.MessageReporter.at ( Path file,
Range range )

Position the message on the given range in a given file (both must be non-null).

Implemented in org.lflang.federated.generator.LineAdjustingMessageReporter, and org.lflang.MessageReporterBase.

◆ atNullableLine()

default Stage2 org.lflang.MessageReporter.atNullableLine ( Path file,
Integer line )

Position the message in the given file.

The line may be null. This is a convenience wrapper that calls either at(Path, int) or at(Path).

◆ clearHistory()

default void org.lflang.MessageReporter.clearHistory ( )

Clear error history, if exists.

This is usually only the case for error markers in Epoch (Eclipse).

Implemented in org.lflang.MessageReporterBase.

◆ getErrorsOccurred()

◆ nowhere()

Stage2 org.lflang.MessageReporter.nowhere ( )

Specify that the message has no relevant position, ie it does not belong to a particular file.

Implemented in org.lflang.federated.generator.LineAdjustingMessageReporter, and org.lflang.MessageReporterBase.


The documentation for this interface was generated from the following file:
  • /Users/runner/work/lingua-franca/lingua-franca/core/src/main/java/org/lflang/MessageReporter.java