in core/src/main/kotlin/motif/core/ResolvedGraph.kt [37:71]
fun getChildEdges(scope: Scope): Iterable<ScopeEdge>
fun getParentEdges(scope: Scope): Iterable<ScopeEdge>
fun getChildUnsatisfied(scopeEdge: ScopeEdge): Iterable<Sink>
fun getUnsatisfied(scope: Scope): Map<Type, List<Sink>>
fun getSources(scope: Scope): Iterable<Source>
fun getSinks(scope: Scope): Iterable<Sink>
fun getSinks(type: Type): Iterable<Sink>
fun getSinks(irType: IrType): Iterable<Sink>
fun getSources(irType: IrType): Iterable<Source>
fun getProviders(sink: Sink): Iterable<Source>
fun getConsumers(source: Source): Iterable<Sink>
fun getRequired(source: Source): Iterable<Sink>
companion object {
fun create(initialScopeClasses: List<IrClass>): ResolvedGraph {
val scopes = Scope.fromClasses(initialScopeClasses)
val scopeGraph = ScopeGraph.create(scopes)
scopeGraph.scopeCycleError?.let {
return ErrorGraph(it)
}
return ResolvedGraphFactory(scopeGraph).create()
}
}