Interface SemanticErrorReporter

All Known Implementing Classes:
ErrorListener

public interface SemanticErrorReporter
The narrow 'produce a semantic diagnostic' surface of ErrorListener.

The hundreds of rule/validator classes only ever need to emit semantic errors (and occasionally check whether fuzzy suggestions are enabled, or fold a source-file name into a message). They have no business reaching the error store, the mutable error-level/source-line configuration, or the ANTLR syntaxError callback that the full ErrorListener also carries.

Depending on this interface instead of the concrete listener keeps those validators honest (they cannot accidentally query or reconfigure the error store - ISP), decouples them from the concrete implementation (DIP), and lets tests substitute a lightweight collecting sink. ErrorListener is the production implementation; orchestrators that genuinely need the store/config/ANTLR roles continue to depend on the concrete class.