fancadescala/graph/src/main/scala/tf/bug/fancadegraph/Block.scala

23 lines
457 B
Scala

package tf.bug.fancadegraph
import tf.bug.fancadescodec.{Metadata, Position}
case class Block[T](
position: Position,
definition: BlockDefinition[T],
argument: T
)(
implicit ev: Argument[T]
) {
def metadata: Vector[Metadata] = ev.encode(argument)(position)
}
object Block {
def apply(position: Position, definition: BlockDefinition[Unit]): Block[Unit] =
new Block(
position,
definition,
()
)
}