Class ReachableInjections
java.lang.Object
org.ek9lang.compiler.phase5.ReachableInjections
final class ReachableInjections
extends Object
implements Function<Set<String>, Map<ISymbol,String>>
THE injections that can run when the given callables run - transitively, through the phase-5 call graph: an
injection (
name as T!) in a body the roots reach, or a property injection of a type they construct (a
property's injection belongs to its type and runs wherever the type is constructed). What can run is
CallGraph.getReachableIncludingReferences(Set, Function) with each constructed type's construction and members taken as
run (the runtime calls its operators with no call site). Sound, never precise. Used by DI completeness
(ReachableInjectionsOrError, from each program) and by the registered-type fact
(RegisteredTypeMarker, from every concurrent entry point: a registration concurrent code can inject is
shared with runtime threads, S2c) - never a second walk.-
Constructor Summary
ConstructorsConstructorDescriptionReachableInjections(CallGraph callGraph, Parameterisations parameterisations) -
Method Summary
Modifier and TypeMethodDescriptionEvery injection that can run from the roots, in source order, each with where it lives (for a message).membersOf(IAggregateSymbol aggregate) Every method and operator of a type, its supers' and its traits' included.
-
Constructor Details
-
ReachableInjections
ReachableInjections(CallGraph callGraph, Parameterisations parameterisations)
-
-
Method Details
-
apply
-
membersOf
Every method and operator of a type, its supers' and its traits' included.
-