Class ConcurrentEntryPointMarker
java.lang.Object
org.ek9lang.compiler.common.RuleSupport
org.ek9lang.compiler.common.TypedSymbolAccess
org.ek9lang.compiler.phase3.ConcurrentEntryPointMarker
- All Implemented Interfaces:
BiConsumer<CallSymbol, EK9Parser.ParamExpressionContext>
final class ConcurrentEntryPointMarker
extends TypedSymbolAccess
implements BiConsumer<CallSymbol, EK9Parser.ParamExpressionContext>
Sets
CONCURRENT_ENTRY_POINT = "TRUE" squirrelled data on function/method symbols
passed as the handler argument to stdlib thread-spawning calls
(TCP.accept, Signals.register).
The marker is invisible to the user — it's consumed by the phase-5 data-race check (E08251) to know which function bodies to walk.
Part of EK9's compile-time data-race detection (slice 1, step 5).
-
Field Summary
Fields inherited from class RuleSupport
errorListener, symbolsAndScopes -
Constructor Summary
ConstructorsConstructorDescriptionConcurrentEntryPointMarker(SymbolsAndScopes symbolsAndScopes, ErrorListener errorListener) -
Method Summary
Modifier and TypeMethodDescriptionvoidaccept(CallSymbol callSymbol, EK9Parser.ParamExpressionContext paramExpression) Methods inherited from class TypedSymbolAccess
getRecordedAndTypedSymbol, isProcessingScopePure, recordATypedSymbolMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface BiConsumer
andThen
-
Constructor Details
-
ConcurrentEntryPointMarker
ConcurrentEntryPointMarker(SymbolsAndScopes symbolsAndScopes, ErrorListener errorListener)
-
-
Method Details
-
accept
- Specified by:
acceptin interfaceBiConsumer<CallSymbol, EK9Parser.ParamExpressionContext>
-