Skip to content

Commit

Permalink
added user documentation how M1 export scopes handle nodes and ids.
Browse files Browse the repository at this point in the history
  • Loading branch information
Niko Stotz committed Jan 11, 2024
1 parent 574f9b1 commit 3f3fbca
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions docs/reference/converter-lang.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,25 @@ closure::
Converts the listed nodes, all descendants, and all referenced nodes.
We apply this strategy until we include all Annotation, Containment, and Reference targets.


.Inclusion of nodes and ids
The following table lists for each scope whether we include the target node / target node's id into the conversion.
Example: For _descendants_ scope, we include both the target node and the target id of annotations and children; we do not include the target node of references, but we do include the target id of references.

NOTE: If a node is included in the conversion for any reason (e.g. explicitly listed), we include their id at all places it is targeted, even if the _scope_ would not cover it.
Example: Assume we have node with id `a` containing node `b`, and `c` referring to both `a` and `b`.
We export `c` with _closure_ scope.
Now we mention `a` as parent of `b`, as both are included in the conversion.
|===
|Scope |Annotations + Children |References |Parents

|listed |no / yes |no / yes |no / yes
|descendants |yes / yes |no / yes |no / yes
|closure |yes / yes |yes / yes |no / no

|===


=== Import Instance from JSON
Technical name: `ImportInstanceFromJson` / `MergingLionWeb2MpsConverter`

Expand Down

0 comments on commit 3f3fbca

Please sign in to comment.