Class StreamReplaceNeedsFreshValueOrError
java.lang.Object
org.ek9lang.compiler.common.RuleSupport
org.ek9lang.compiler.common.TypedSymbolAccess
org.ek9lang.compiler.phase5.StreamReplaceNeedsFreshValueOrError
THE check that a stream statement's
> (which REPLACES its target, Steve 2026-10-27: "let's make >
consistent") is only written where the target can give the fresh value it is built on (E08278): a concrete type
with an accessible no-argument constructor and a :=:. Where it cannot, > would have had to append
into the target, which is what >> says; so it is an error that names >>, never a quiet append.
The decision is StreamStages.needsFreshValueError(int, Ek9Types, ISymbol), the very one the IR generation replaces by - the error
and the replacement cannot disagree.-
Field Summary
Fields inherited from class RuleSupport
errorListener, symbolsAndScopes -
Constructor Summary
ConstructorsConstructorDescriptionStreamReplaceNeedsFreshValueOrError(SymbolsAndScopes symbolsAndScopes, ErrorListener errorListener) -
Method Summary
Modifier and TypeMethodDescription(package private) voidMethods inherited from class TypedSymbolAccess
emitTypeNotResolvedError, getRecordedAndTypedSymbol, isAlreadyInError, isProcessingScopePure, isPureReassignmentDisallowed, recordATypedSymbol
-
Constructor Details
-
StreamReplaceNeedsFreshValueOrError
StreamReplaceNeedsFreshValueOrError(SymbolsAndScopes symbolsAndScopes, ErrorListener errorListener)
-
-
Method Details
-
accept
-