syside.Document

class Document

Bases: syside.BasicDocument

property root_node: syside.Namespace
nodes(kind: type[syside.TElement]) Iterable[syside.TElement]

Returns the iterator to nodes in this documents that are instances of kind, excluding any subtypes.

all_nodes(kind: type[syside.TElement]) Iterable[syside.TElement]

Returns the iterator to all nodes in this document that are instances of kind, including all subtypes.

static parse_string_st(source: str, language: syside.ModelLanguage) tuple[syside.SharedMutex[syside.Document], list[syside.Diagnostic]]

Parse a document from string for single-threaded applications without resolving references. Note that this disables GIL optimization during Executor.run using this document.

static parse_string_mt(source: str, language: syside.ModelLanguage) tuple[syside.SharedMutex[syside.Document], list[syside.Diagnostic]]

Parse a document from string for multi-threaded applications without resolving references. This allows the Executor to release GIL during execution allowing other Python threads to execute in the meantime but only if all the other documents were also created with create_mt.

static create_st() syside.SharedMutex[syside.Document]

Create a document for single-threaded applications. Note that this disables GIL optimization during Executor.run using this document.

static create_st(arg: syside.DocumentOptions, /) syside.SharedMutex[syside.Document]
static create_st(url: syside.Url, language: syside.ModelLanguage, tier: syside.DocumentTier = DocumentTier.Project, document_id: syside.DocumentID | None = None, owning_library: syside.LibraryID | None = None) syside.SharedMutex[syside.Document]
static create_mt() syside.SharedMutex[syside.Document]

Create a document for multi-threaded applications. This allows the Executor to release GIL during execution allowing other Python threads to execute in the meantime but only if all the other documents were also created with create_mt.

static create_mt(arg: syside.DocumentOptions, /) syside.SharedMutex[syside.Document]
static create_mt(url: syside.Url, language: syside.ModelLanguage, tier: syside.DocumentTier = DocumentTier.Project, document_id: syside.DocumentID | None = None, owning_library: syside.LibraryID | None = None) syside.SharedMutex[syside.Document]
__cpp_name__: str = 'syside::Document<syside::sysml::SysMLTraits>'
property text_document: syside.SharedMutex[syside.TextDocument] | None
property url: syside.Url
property build_state: syside.BuildState
property document_state: syside.DocumentState
property document_tier: syside.DocumentTier
change_document_tier(arg: syside.DocumentTier, /) None

Set document_tier to another value. This is a method rather than a function because tier should not change throughout document lifetime. Nevertheless, this is still useful in cases where a document has just been constructed and its attributes need to be changed.

property language: str
property version: syside.DocumentVersion

The version of the last build. This corresponds to the version of TextDocument this was built from.

increment_version() None

Increment sema version. Source version is automatically handled by source parser.

__hash__() int