syside.Sema

class Sema

Semantic resolver for SysML. This is responsible for linking references and resolving semantic rules in the pipeline.

Initialization

resolve(documents: Sequence[syside.SharedMutex[syside.Document]], index: syside.StaticIndex, stdlib: syside.Stdlib, reporter: Callable[[syside.Document, syside.Diagnostic], None] = ...) None

Link and resolve semantic rules for documents. Any documents that have already been resolved will be skipped, inferred by build_state >= BuildState.Built. For references to be resolved correctly, they either have to point to elements in unresolved documents, or elements indexed in index. Similarly, semantic rules depend on all the required elements cached by stdlib.

reporter can be used to override default behaviour of how diagnostics are emitted. By default, they are printed to stdout.