Class IdentifierReadOrError
- All Implemented Interfaces:
Consumer<org.antlr.v4.runtime.ParserRuleContext>
The node is the one phase 3 recorded the resolved symbol against: an identifierReference (every
expression read, x++), the identifier of an objectAccessStart (name.length()),
the identifier of a pipelinePart (a stream sink > results, a tee target, a
with/by operand, a head/skip/tail count) and the by step of a
forRange (statement and stream-source forms). The last two were unchecked until 2026-10-07 and compiled
clean into a NullPointerException or a silent misread (absence families A and B,
docs/language-design/EK9_ABSENCE_UNOBSERVABLE.md).
Properties are not judged here - IdentifierAsPropertyOrError sees every identifier and reports
E08060. Which positions are reads, and which consumer checks each, is pinned by ReadPositionGateTest:
a new grammar rule with an identifier child is red until it is classified.
-
Field Summary
Fields inherited from class RuleSupport
errorListener, symbolsAndScopes -
Constructor Summary
ConstructorsConstructorDescriptionIdentifierReadOrError(SymbolsAndScopes symbolsAndScopes, ErrorListener errorListener) -
Method Summary
Modifier and TypeMethodDescriptionvoidaccept(org.antlr.v4.runtime.ParserRuleContext readNode) Check the read at this node.Methods inherited from class TypedSymbolAccess
emitTypeNotResolvedError, getRecordedAndTypedSymbol, isProcessingScopePure, recordATypedSymbol
-
Constructor Details
-
IdentifierReadOrError
IdentifierReadOrError(SymbolsAndScopes symbolsAndScopes, ErrorListener errorListener)
-
-
Method Details
-
accept
-