fun getChildEdges()

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()
    }
  }