SpecStructure

Create SpecStructures from header, arguments, fragments

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

Type members

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"!

Extensions

Extensions

extension (s: SpecStructure)
def examplesList(using ee: ExecutionEnv): List[Fragment]
def linkReferencesList(using ee: ExecutionEnv): List[SpecificationRef]
def referencesList(using ee: ExecutionEnv): List[Fragment]
def seeReferencesList(using ee: ExecutionEnv): List[SpecificationRef]
def specificationRefsList(using ee: ExecutionEnv): List[SpecificationRef]
def tagsList(using ee: ExecutionEnv): List[NamedTag]
def textsList(using ee: ExecutionEnv): List[Fragment]