507 val (_, build_graph1) = select(build_graph) |
507 val (_, build_graph1) = select(build_graph) |
508 val (selected, imports_graph1) = select(imports_graph) |
508 val (selected, imports_graph1) = select(imports_graph) |
509 (selected, new T(build_graph1, imports_graph1)) |
509 (selected, new T(build_graph1, imports_graph1)) |
510 } |
510 } |
511 |
511 |
512 def build_ancestors(name: String): List[String] = |
|
513 build_graph.all_preds(List(name)).tail.reverse |
|
514 |
|
515 def build_descendants(names: List[String]): List[String] = |
512 def build_descendants(names: List[String]): List[String] = |
516 build_graph.all_succs(names) |
513 build_graph.all_succs(names) |
517 |
514 def build_requirements(names: List[String]): List[String] = |
|
515 build_graph.all_preds(names).reverse |
518 def build_topological_order: List[Info] = |
516 def build_topological_order: List[Info] = |
519 build_graph.topological_order.map(apply(_)) |
517 build_graph.topological_order.map(apply(_)) |
520 |
518 |
521 def imports_ancestors(name: String): List[String] = |
519 def imports_descendants(names: List[String]): List[String] = |
522 imports_graph.all_preds(List(name)).tail.reverse |
520 imports_graph.all_succs(names) |
523 |
521 def imports_requirements(names: List[String]): List[String] = |
|
522 imports_graph.all_preds(names).reverse |
524 def imports_topological_order: List[Info] = |
523 def imports_topological_order: List[Info] = |
525 imports_graph.topological_order.map(apply(_)) |
524 imports_graph.topological_order.map(apply(_)) |
526 |
525 |
527 override def toString: String = |
526 override def toString: String = |
528 imports_graph.keys_iterator.mkString("Sessions.T(", ", ", ")") |
527 imports_graph.keys_iterator.mkString("Sessions.T(", ", ", ")") |