Commit 0271fa41 authored by Romain Reuillon's avatar Romain Reuillon
Browse files

[Core] fix: only delegate the delegate part of a composed dsl container

parent f24a77db
...@@ -214,6 +214,12 @@ package composition { ...@@ -214,6 +214,12 @@ package composition {
case TaskNodeDSL(n) Vector(n) case TaskNodeDSL(n) Vector(n)
} }
def delegate(t: DSL) =
t match {
case c: DSLContainer[_] c.delegate
case t tasks(t).map(_.task)
}
} }
/* -------------------- Transition DSL ---------------------- */ /* -------------------- Transition DSL ---------------------- */
......
...@@ -31,7 +31,7 @@ package object pattern { ...@@ -31,7 +31,7 @@ package object pattern {
val firstEvaluation = EmptyTask() set ((inputs, outputs) += (inputVals: _*)) val firstEvaluation = EmptyTask() set ((inputs, outputs) += (inputVals: _*))
val lastEvaluation = EmptyTask() set ((inputs, outputs) += (outputVals: _*)) val lastEvaluation = EmptyTask() set ((inputs, outputs) += (outputVals: _*))
val puzzle = Strain(firstEvaluation) -- Capsule(evaluation) -- lastEvaluation val puzzle = Strain(firstEvaluation) -- Capsule(evaluation) -- lastEvaluation
DSLContainer(puzzle, delegate = DSL.tasks(evaluation).map(_.task)) DSLContainer(puzzle, delegate = DSL.delegate(evaluation))
} }
} }
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment