SpecStructure

Create SpecStructures from header, arguments, fragments

Companion:
class
trait Product
trait Mirror
class Object
trait Matchable
class Any

Type members

Classlikes

implicit implicit class SpecStructureOps(s: SpecStructure)(implicit ee: ExecutionEnv)

Inherited types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Inherited from:
Mirror
type MirroredLabel <: String

The name of the type

The name of the type

Inherited from:
Mirror

Value members

Concrete methods

def apply(header: SpecHeader, arguments: Arguments): SpecStructure
def create(header: SpecHeader, fragments: => Fragments): SpecStructure
def create(header: SpecHeader, arguments: Arguments, fragments: => Fragments): SpecStructure
def dependsOn(ee: ExecutionEnv): (SpecStructure, SpecStructure) => Boolean

return true if s1 depends on s2, i.e, s1 has a link to s2

return true if s1 depends on s2, i.e, s1 has a link to s2

def empty(klass: Class[_]): SpecStructure
Returns:

the class names of all the linked specifications

def linkedSpecifications(spec: SpecStructure, env: Env, classLoader: ClassLoader): Operation[Seq[SpecStructure]]
Returns:

all the linked specifications

def referencedSpecStructures(spec: SpecStructure, env: Env, classLoader: ClassLoader): Operation[Seq[SpecStructure]]
Returns:

all the referenced specifications

Returns:

the class names of all the referenced specifications

def reverseTopologicalSort(specifications: Seq[SpecStructure])(ee: ExecutionEnv): Option[Vector[SpecStructure]]

sort the specifications in topological order where specification i doesn't depend on specification j if i > j

sort the specifications in topological order where specification i doesn't depend on specification j if i > j

means "dependents last"!

Returns:

the class names of all the see specifications

def seeSpecifications(spec: SpecStructure, env: Env, classLoader: ClassLoader): Operation[Seq[SpecStructure]]
Returns:

all the see specifications

Returns:

select only the fragments according to the current arguments

def specStructuresRefs(spec: SpecStructure, env: Env, classLoader: ClassLoader)(refs: SpecStructure => List[SpecificationRef]): Operation[Seq[SpecStructure]]
Returns:

all the referenced spec structures

def topologicalSort(specifications: Seq[SpecStructure])(ee: ExecutionEnv): Option[Vector[SpecStructure]]

sort the specifications in topological order where specification i doesn't depend on specification j if i > j

sort the specifications in topological order where specification i doesn't depend on specification j if i > j

means "dependents first"!

Implicits

Implicits

final implicit def SpecStructureOps(s: SpecStructure)(implicit ee: ExecutionEnv): SpecStructureOps