sysmlpy 0.56.0__tar.gz → 0.58.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/PKG-INFO +1 -1
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/pyproject.toml +1 -1
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/__init__.py +1 -1
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/definition.py +58 -19
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/examples/attribute_values.py +7 -5
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/examples/part_attributes.py +6 -4
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/usage.py +134 -71
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/LICENSE +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/README.md +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/__main__.py +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/antlr/README.md +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/antlr/SysMLv2Lexer.interp +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/antlr/SysMLv2Lexer.py +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/antlr/SysMLv2Lexer.tokens +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/antlr/SysMLv2Parser.interp +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/antlr/SysMLv2Parser.py +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/antlr/SysMLv2Parser.tokens +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/antlr/SysMLv2ParserListener.py +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/antlr/SysMLv2ParserVisitor.py +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/antlr/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.interp +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/antlr/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.py +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/antlr/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.tokens +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/antlr_parser.py +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/antlr_visitor.py +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/boxes_view.py +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/examples/tuples_sequences.py +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/formatting.py +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/grammar/antlr4/README.md +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.g4 +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.interp +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.py +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.tokens +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/grammar/antlr4/SysMLv2Parser.g4 +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/grammar/antlr4/SysMLv2Parser.interp +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/grammar/antlr4/SysMLv2Parser.py +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/grammar/antlr4/SysMLv2Parser.tokens +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/grammar/antlr4/SysMLv2ParserListener.py +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/grammar/antlr4/SysMLv2ParserVisitor.py +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/grammar/antlr4/desc.xml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/grammar/antlr4/examples/camera.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/grammar/antlr4/examples/toaster-system.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/grammar/antlr4/examples/vehicle-model.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/grammar/antlr4/pom.xml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/grammar/classes.py +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/LICENSE +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/README.md +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/__init__.py +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Analysis/AnalysisTooling.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Analysis/SampledFunctions.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Analysis/StateSpaceRepresentation.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Analysis/TradeStudies.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Cause and Effect/CausationConnections.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Cause and Effect/CauseAndEffect.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Geometry/ShapeItems.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Geometry/SpatialItems.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Metadata/ImageMetadata.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Metadata/ModelingMetadata.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Metadata/ParametersOfInterestMetadata.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Metadata/RiskMetadata.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Quantities and Units/ISQ.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Quantities and Units/ISQAcoustics.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Quantities and Units/ISQAtomicNuclear.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Quantities and Units/ISQBase.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Quantities and Units/ISQCharacteristicNumbers.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Quantities and Units/ISQChemistryMolecular.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Quantities and Units/ISQCondensedMatter.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Quantities and Units/ISQElectromagnetism.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Quantities and Units/ISQInformation.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Quantities and Units/ISQLight.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Quantities and Units/ISQMechanics.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Quantities and Units/ISQSpaceTime.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Quantities and Units/ISQThermodynamics.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Quantities and Units/MeasurementRefCalculations.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Quantities and Units/MeasurementReferences.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Quantities and Units/Quantities.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Quantities and Units/QuantityCalculations.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Quantities and Units/SI.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Quantities and Units/SIPrefixes.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Quantities and Units/TensorCalculations.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Quantities and Units/Time.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Quantities and Units/USCustomaryUnits.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Quantities and Units/VectorCalculations.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Requirement Derivation/DerivationConnections.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Requirement Derivation/RequirementDerivation.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/kernel/Base.kerml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/kernel/BaseFunctions.kerml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/kernel/BooleanFunctions.kerml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/kernel/Clocks.kerml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/kernel/CollectionFunctions.kerml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/kernel/Collections.kerml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/kernel/ComplexFunctions.kerml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/kernel/ControlFunctions.kerml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/kernel/ControlPerformances.kerml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/kernel/DataFunctions.kerml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/kernel/FeatureReferencingPerformances.kerml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/kernel/IntegerFunctions.kerml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/kernel/KerML.kerml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/kernel/Links.kerml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/kernel/Metaobjects.kerml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/kernel/NaturalFunctions.kerml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/kernel/NumericalFunctions.kerml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/kernel/Objects.kerml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/kernel/Observation.kerml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/kernel/OccurrenceFunctions.kerml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/kernel/Occurrences.kerml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/kernel/Performances.kerml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/kernel/RationalFunctions.kerml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/kernel/RealFunctions.kerml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/kernel/ScalarFunctions.kerml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/kernel/ScalarValues.kerml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/kernel/SequenceFunctions.kerml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/kernel/SpatialFrames.kerml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/kernel/StatePerformances.kerml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/kernel/StringFunctions.kerml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/kernel/Transfers.kerml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/kernel/TransitionPerformances.kerml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/kernel/TrigFunctions.kerml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/kernel/Triggers.kerml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/kernel/VectorFunctions.kerml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/kernel/VectorValues.kerml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/systems/Actions.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/systems/Allocations.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/systems/AnalysisCases.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/systems/Attributes.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/systems/Calculations.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/systems/Cases.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/systems/Connections.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/systems/Constraints.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/systems/Flows.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/systems/Interfaces.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/systems/Items.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/systems/Metadata.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/systems/Parts.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/systems/Ports.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/systems/Requirements.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/systems/StandardViewDefinitions.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/systems/States.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/systems/SysML.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/systems/UseCases.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/systems/VerificationCases.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/systems/Views.sysml +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/navigate.py +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/plantuml.py +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/project.py +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/semantic.py +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/store.py +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/us_customary_units.txt +0 -0
- {sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/validator.py +0 -0
|
@@ -25,7 +25,7 @@ __all__ = [
|
|
|
25
25
|
"render_state_transition_view_svg", "boxes_view",
|
|
26
26
|
]
|
|
27
27
|
__author__ = "Jon Fox"
|
|
28
|
-
__version__ = "0.
|
|
28
|
+
__version__ = "0.58.0"
|
|
29
29
|
|
|
30
30
|
from sysmlpy.usage import (
|
|
31
31
|
Item, Attribute, Part, Port, Action, Reference, UseCase, Requirement, Interface, Message,
|
|
@@ -170,28 +170,46 @@ class Model(Searchable):
|
|
|
170
170
|
def _ensure_body(self):
|
|
171
171
|
"""Rebuild the grammar body from current children and imports.
|
|
172
172
|
|
|
173
|
-
Serializes all child elements into PackageMember wrappers
|
|
174
|
-
|
|
175
|
-
|
|
173
|
+
Serializes all child elements into PackageMember wrappers while
|
|
174
|
+
preserving ``Import`` and ``AliasMember`` declarations **at their
|
|
175
|
+
original source positions** (v0.58.0). The existing grammar body
|
|
176
|
+
is used as the ordering template: each ``PackageMember`` slot is
|
|
177
|
+
refilled with the fresh serialization of the next child, and any
|
|
178
|
+
children beyond the recorded slots are appended at the end.
|
|
176
179
|
|
|
177
180
|
Returns
|
|
178
181
|
-------
|
|
179
182
|
Model
|
|
180
183
|
Self for chaining.
|
|
181
184
|
"""
|
|
182
|
-
|
|
185
|
+
# Serialize all current children into PackageMember definitions
|
|
186
|
+
child_defs = []
|
|
183
187
|
for abc in self.children:
|
|
184
188
|
v = abc._get_definition(child="PackageBody")
|
|
185
189
|
if isinstance(v, list):
|
|
186
190
|
for subchild in v:
|
|
187
|
-
|
|
191
|
+
child_defs.append(PackageMember(subchild).get_definition())
|
|
188
192
|
else:
|
|
189
|
-
|
|
193
|
+
child_defs.append(PackageMember(v).get_definition())
|
|
190
194
|
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
+
existing = getattr(getattr(self, 'grammar', None), 'children', None)
|
|
196
|
+
|
|
197
|
+
body = []
|
|
198
|
+
if existing:
|
|
199
|
+
member_iter = iter(child_defs)
|
|
200
|
+
for item in existing:
|
|
201
|
+
cn = item.__class__.__name__
|
|
202
|
+
if cn in ('Import', 'AliasMember'):
|
|
203
|
+
body.append(item.get_definition())
|
|
204
|
+
elif cn == 'PackageMember':
|
|
205
|
+
try:
|
|
206
|
+
body.append(next(member_iter))
|
|
207
|
+
except StopIteration:
|
|
208
|
+
break # children shrank; drop stale members
|
|
209
|
+
# children added programmatically beyond recorded slots
|
|
210
|
+
body.extend(member_iter)
|
|
211
|
+
else:
|
|
212
|
+
body = child_defs
|
|
195
213
|
|
|
196
214
|
if len(body) > 0:
|
|
197
215
|
self.grammar = RootNamespace(
|
|
@@ -567,22 +585,43 @@ class Package(Searchable):
|
|
|
567
585
|
def _ensure_body(self):
|
|
568
586
|
"""Rebuild the package grammar body from current children and imports.
|
|
569
587
|
|
|
570
|
-
Serializes all child elements into PackageMember wrappers
|
|
571
|
-
|
|
588
|
+
Serializes all child elements into PackageMember wrappers while
|
|
589
|
+
preserving ``Import`` and ``AliasMember`` declarations **at their
|
|
590
|
+
original source positions** (v0.58.0). The existing grammar body
|
|
591
|
+
is used as the ordering template: each ``PackageMember`` slot is
|
|
592
|
+
refilled with the fresh serialization of the next child, and any
|
|
593
|
+
children beyond the recorded slots are appended at the end.
|
|
572
594
|
"""
|
|
573
|
-
|
|
595
|
+
# Serialize all current children into PackageMember definitions
|
|
596
|
+
child_defs = []
|
|
574
597
|
for abc in self.children:
|
|
575
598
|
v = abc._get_definition(child="PackageBody")
|
|
576
599
|
if isinstance(v, list):
|
|
577
600
|
for subchild in v:
|
|
578
|
-
|
|
601
|
+
child_defs.append(PackageMember(subchild).get_definition())
|
|
579
602
|
else:
|
|
580
|
-
|
|
603
|
+
child_defs.append(PackageMember(v).get_definition())
|
|
581
604
|
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
605
|
+
body_children = getattr(
|
|
606
|
+
getattr(getattr(self, 'grammar', None), 'body', None), 'children', None
|
|
607
|
+
)
|
|
608
|
+
|
|
609
|
+
body = []
|
|
610
|
+
if body_children:
|
|
611
|
+
member_iter = iter(child_defs)
|
|
612
|
+
for item in body_children:
|
|
613
|
+
cn = item.__class__.__name__
|
|
614
|
+
if cn in ('Import', 'AliasMember'):
|
|
615
|
+
body.append(item.get_definition())
|
|
616
|
+
elif cn == 'PackageMember':
|
|
617
|
+
try:
|
|
618
|
+
body.append(next(member_iter))
|
|
619
|
+
except StopIteration:
|
|
620
|
+
break # children shrank; drop stale members
|
|
621
|
+
# children added programmatically beyond recorded slots
|
|
622
|
+
body.extend(member_iter)
|
|
623
|
+
else:
|
|
624
|
+
body = child_defs
|
|
586
625
|
|
|
587
626
|
if len(body) > 0:
|
|
588
627
|
self.grammar.body = PackageBody(
|
|
@@ -107,8 +107,9 @@ print(f"\nColors as list: {colors}")
|
|
|
107
107
|
# 5. Type Resolution
|
|
108
108
|
# =============================================================================
|
|
109
109
|
|
|
110
|
-
# The type is
|
|
111
|
-
#
|
|
110
|
+
# The declared type name is preserved on load (v0.57.0): use
|
|
111
|
+
# attr.typed_by_name. The resolved definition object (`typedby`) still
|
|
112
|
+
# requires programmatic wiring via set_typed_by().
|
|
112
113
|
|
|
113
114
|
model = loads('''
|
|
114
115
|
package Example {
|
|
@@ -122,15 +123,16 @@ package Example {
|
|
|
122
123
|
vehicle = model.children[0].children[0]
|
|
123
124
|
|
|
124
125
|
for attr in vehicle.children:
|
|
125
|
-
#
|
|
126
|
-
print(f"{attr.name}:
|
|
126
|
+
# typed_by_name carries the declared type name since v0.57.0
|
|
127
|
+
print(f"{attr.name}: declared type = {attr.typed_by_name}")
|
|
127
128
|
|
|
128
129
|
# =============================================================================
|
|
129
130
|
# 6. Attribute Multiplicity
|
|
130
131
|
# =============================================================================
|
|
131
132
|
|
|
132
133
|
# Attributes can have multiplicity like Real[3] for arrays
|
|
133
|
-
#
|
|
134
|
+
# Note: top-level (package-level) attribute multiplicity is still a known
|
|
135
|
+
# visitor gap; multiplicity on attributes inside definitions is preserved.
|
|
134
136
|
|
|
135
137
|
model = loads('''
|
|
136
138
|
package Example {
|
|
@@ -97,7 +97,9 @@ print(f"\nAfter setting: {attr.get_value()}")
|
|
|
97
97
|
# 5. Checking Type
|
|
98
98
|
# =============================================================================
|
|
99
99
|
|
|
100
|
-
# NOTE:
|
|
100
|
+
# NOTE (v0.57.0): the declared type name is preserved on load via
|
|
101
|
+
# `typed_by_name`; the resolved definition object (`typedby`) requires
|
|
102
|
+
# programmatic wiring via set_typed_by().
|
|
101
103
|
|
|
102
104
|
model = loads('''
|
|
103
105
|
package Example {
|
|
@@ -111,11 +113,11 @@ package Example {
|
|
|
111
113
|
vehicle = model.children[0].children[0]
|
|
112
114
|
|
|
113
115
|
for attr in vehicle.children:
|
|
114
|
-
if attr.
|
|
115
|
-
print(f"{attr.name} : {attr.
|
|
116
|
+
if attr.typed_by_name:
|
|
117
|
+
print(f"{attr.name} : {attr.typed_by_name}")
|
|
116
118
|
else:
|
|
117
119
|
# Access type from grammar structure
|
|
118
|
-
print(f"{attr.name} : (type in grammar,
|
|
120
|
+
print(f"{attr.name} : (type in grammar, typing not declared)")
|
|
119
121
|
|
|
120
122
|
# =============================================================================
|
|
121
123
|
# 6. Nested Parts
|
|
@@ -167,6 +167,13 @@ class Usage(Searchable):
|
|
|
167
167
|
self.typedby = None
|
|
168
168
|
self._is_definition = None # overridden via the setter below
|
|
169
169
|
self.parent = None
|
|
170
|
+
# Re-declaration chains captured from grammar (v0.57.0).
|
|
171
|
+
# Previously only Action initialized these; all other usage kinds
|
|
172
|
+
# loaded from grammar lost their typing / subsetting information.
|
|
173
|
+
self._typed_by_name = None
|
|
174
|
+
self._specializes_names = []
|
|
175
|
+
self._redefined_refs = []
|
|
176
|
+
self._referenced_refs = []
|
|
170
177
|
|
|
171
178
|
@property
|
|
172
179
|
def is_definition(self):
|
|
@@ -354,6 +361,22 @@ class Usage(Searchable):
|
|
|
354
361
|
return rn
|
|
355
362
|
return ""
|
|
356
363
|
|
|
364
|
+
@property
|
|
365
|
+
def typed_by_name(self):
|
|
366
|
+
"""The declared type of this usage as a name string (v0.57.0).
|
|
367
|
+
|
|
368
|
+
Populated by ``load_from_grammar`` from the grammar's feature
|
|
369
|
+
specialization (``part engine : Engine`` → ``"Engine"``,
|
|
370
|
+
``attribute mass : ScalarValues::Real`` → ``"ScalarValues::Real"``).
|
|
371
|
+
``None`` when the element was not loaded from grammar or carries
|
|
372
|
+
no typing relationship.
|
|
373
|
+
|
|
374
|
+
Note: this is the *declared name*; ``self.typedby`` holds the
|
|
375
|
+
resolved definition object (only when set programmatically via
|
|
376
|
+
``set_typed_by`` or when a second resolution pass has run).
|
|
377
|
+
"""
|
|
378
|
+
return getattr(self, '_typed_by_name', None)
|
|
379
|
+
|
|
357
380
|
def _get_definition(self, child=None):
|
|
358
381
|
"""Build the grammar tree dict for this element.
|
|
359
382
|
|
|
@@ -1038,6 +1061,96 @@ class Usage(Searchable):
|
|
|
1038
1061
|
c.parent = self
|
|
1039
1062
|
self.children.append(c)
|
|
1040
1063
|
|
|
1064
|
+
self._extract_specialization_info(grammar)
|
|
1065
|
+
|
|
1066
|
+
return self
|
|
1067
|
+
|
|
1068
|
+
def _extract_specialization_info(self, grammar):
|
|
1069
|
+
"""Capture Typings / Subsettings / Redefinitions / References names
|
|
1070
|
+
from the grammar's feature specialization so ``_typed_by_name`` and
|
|
1071
|
+
friends are populated on every usage kind loaded from grammar
|
|
1072
|
+
(v0.57.0 — previously only ``Action`` did this, leaving ``Part``,
|
|
1073
|
+
``Attribute``, ``Item``, ``Port``, etc. without typing information
|
|
1074
|
+
on the public-API object even though the grammar object kept it).
|
|
1075
|
+
|
|
1076
|
+
Handles both grammar layouts:
|
|
1077
|
+
- usage-style: ``grammar.usage.declaration.declaration.specialization``
|
|
1078
|
+
(PartUsage, AttributeUsage, ItemUsage, PortUsage, ...)
|
|
1079
|
+
- behavior-style: ``grammar.declaration.declaration.declaration.specialization``
|
|
1080
|
+
(ActionUsage, ...)
|
|
1081
|
+
"""
|
|
1082
|
+
spec = None
|
|
1083
|
+
g = getattr(grammar, 'grammar', grammar)
|
|
1084
|
+
ud = getattr(g, 'usage', None)
|
|
1085
|
+
if ud is not None and getattr(ud, 'declaration', None) is not None:
|
|
1086
|
+
d = ud.declaration
|
|
1087
|
+
if not hasattr(d, 'declaration'):
|
|
1088
|
+
spec = getattr(d, 'specialization', None)
|
|
1089
|
+
else:
|
|
1090
|
+
inner = getattr(d, 'declaration', None)
|
|
1091
|
+
spec = getattr(inner, 'specialization', None) if inner is not None else None
|
|
1092
|
+
else:
|
|
1093
|
+
node = getattr(g, 'declaration', None)
|
|
1094
|
+
for _ in range(3):
|
|
1095
|
+
if node is None or hasattr(node, 'specialization'):
|
|
1096
|
+
break
|
|
1097
|
+
node = getattr(node, 'declaration', None)
|
|
1098
|
+
spec = getattr(node, 'specialization', None) if node is not None else None
|
|
1099
|
+
if spec is None:
|
|
1100
|
+
return
|
|
1101
|
+
for fs in getattr(spec, 'specializations', None) or []:
|
|
1102
|
+
rel = getattr(fs, 'relationship', None)
|
|
1103
|
+
kind = rel.__class__.__name__ if rel is not None else None
|
|
1104
|
+
if kind == 'Typings':
|
|
1105
|
+
tb = getattr(rel, 'typing', None)
|
|
1106
|
+
for ft in getattr(tb, 'relationships', []) or []:
|
|
1107
|
+
rel2 = getattr(ft, 'relationship', None)
|
|
1108
|
+
ftype = getattr(rel2, 'type', None)
|
|
1109
|
+
qn = getattr(ftype, 'type', None)
|
|
1110
|
+
names = getattr(qn, 'names', None)
|
|
1111
|
+
if names:
|
|
1112
|
+
self._typed_by_name = '::'.join(names)
|
|
1113
|
+
break
|
|
1114
|
+
elements = getattr(ftype, 'elements', None) or []
|
|
1115
|
+
seg_names = []
|
|
1116
|
+
for el in elements:
|
|
1117
|
+
if hasattr(el, 'names') and el.names:
|
|
1118
|
+
seg_names.extend(el.names)
|
|
1119
|
+
elif hasattr(el, 'feature'):
|
|
1120
|
+
for seg in getattr(el.feature, 'children', []) or []:
|
|
1121
|
+
cf = getattr(seg, 'chainingFeature', None)
|
|
1122
|
+
if cf is not None and getattr(cf, 'names', None):
|
|
1123
|
+
seg_names.extend(cf.names)
|
|
1124
|
+
if seg_names:
|
|
1125
|
+
self._typed_by_name = '.'.join(seg_names)
|
|
1126
|
+
break
|
|
1127
|
+
elif kind in ('Subsettings', 'Redefinitions', 'References'):
|
|
1128
|
+
target = (
|
|
1129
|
+
self._specializes_names if kind == 'Subsettings'
|
|
1130
|
+
else self._redefined_refs if kind == 'Redefinitions'
|
|
1131
|
+
else self._referenced_refs
|
|
1132
|
+
)
|
|
1133
|
+
for child in getattr(rel, 'children', None) or []:
|
|
1134
|
+
qn = (
|
|
1135
|
+
getattr(child, 'redefinedFeature', None)
|
|
1136
|
+
or getattr(child, 'referencedFeature', None)
|
|
1137
|
+
)
|
|
1138
|
+
if qn is not None and getattr(qn, 'names', None):
|
|
1139
|
+
target.append('::'.join(qn.names))
|
|
1140
|
+
continue
|
|
1141
|
+
elements = getattr(child, 'elements', None) or []
|
|
1142
|
+
seg_names = []
|
|
1143
|
+
for el in elements:
|
|
1144
|
+
if hasattr(el, 'names') and el.names:
|
|
1145
|
+
seg_names.extend(el.names)
|
|
1146
|
+
elif hasattr(el, 'feature'):
|
|
1147
|
+
for seg in getattr(el.feature, 'children', []) or []:
|
|
1148
|
+
cf = getattr(seg, 'chainingFeature', None)
|
|
1149
|
+
if cf is not None and getattr(cf, 'names', None):
|
|
1150
|
+
seg_names.extend(cf.names)
|
|
1151
|
+
if seg_names:
|
|
1152
|
+
target.append('.'.join(seg_names))
|
|
1153
|
+
|
|
1041
1154
|
return self
|
|
1042
1155
|
|
|
1043
1156
|
def add_directed_feature(self, direction, name=str(uuidlib.uuid4())):
|
|
@@ -1131,25 +1244,31 @@ def _load_behavior_child(parent, inner, inner_name):
|
|
|
1131
1244
|
return name_obj.getText()
|
|
1132
1245
|
return None
|
|
1133
1246
|
|
|
1247
|
+
# Behavior usages created without load_from_grammar still capture their
|
|
1248
|
+
# typing from the grammar's feature specialization (v0.57.0).
|
|
1134
1249
|
if inner_name == "AssertConstraintUsage":
|
|
1135
1250
|
c = Constraint()
|
|
1136
1251
|
c.grammar = inner
|
|
1137
1252
|
c.name = _name_from_declaration(inner)
|
|
1253
|
+
c._extract_specialization_info(inner)
|
|
1138
1254
|
return c
|
|
1139
1255
|
if inner_name == "ConstraintUsage":
|
|
1140
1256
|
c = Constraint()
|
|
1141
1257
|
c.grammar = inner
|
|
1142
1258
|
c.name = _name_from_declaration(inner)
|
|
1259
|
+
c._extract_specialization_info(inner)
|
|
1143
1260
|
return c
|
|
1144
1261
|
if inner_name == "CalculationUsage":
|
|
1145
1262
|
c = Calculation()
|
|
1146
1263
|
c.grammar = inner
|
|
1147
1264
|
c.name = _name_from_declaration(inner)
|
|
1265
|
+
c._extract_specialization_info(inner)
|
|
1148
1266
|
return c
|
|
1149
1267
|
if inner_name == "StateUsage":
|
|
1150
1268
|
c = State()
|
|
1151
1269
|
c.grammar = inner
|
|
1152
1270
|
c.name = _name_from_declaration(inner)
|
|
1271
|
+
c._extract_specialization_info(inner)
|
|
1153
1272
|
return c
|
|
1154
1273
|
if inner_name == "ActionUsage":
|
|
1155
1274
|
c = Action(grammar=inner).load_from_grammar(inner)
|
|
@@ -1158,16 +1277,19 @@ def _load_behavior_child(parent, inner, inner_name):
|
|
|
1158
1277
|
c = Requirement()
|
|
1159
1278
|
c.grammar = inner
|
|
1160
1279
|
c.name = _name_from_declaration(inner)
|
|
1280
|
+
c._extract_specialization_info(inner)
|
|
1161
1281
|
return c
|
|
1162
1282
|
if inner_name == "SatisfyRequirementUsage":
|
|
1163
1283
|
c = Requirement()
|
|
1164
1284
|
c.grammar = inner
|
|
1165
1285
|
c.name = _name_from_declaration(inner)
|
|
1286
|
+
c._extract_specialization_info(inner)
|
|
1166
1287
|
return c
|
|
1167
1288
|
if inner_name == "AllocationUsage":
|
|
1168
1289
|
c = Allocation()
|
|
1169
1290
|
c.grammar = inner
|
|
1170
1291
|
c.name = _name_from_declaration(inner)
|
|
1292
|
+
c._extract_specialization_info(inner)
|
|
1171
1293
|
return c
|
|
1172
1294
|
return None
|
|
1173
1295
|
|
|
@@ -1910,7 +2032,9 @@ class Interface(Usage):
|
|
|
1910
2032
|
feat_decl = inner_decl.declaration
|
|
1911
2033
|
if hasattr(feat_decl, 'identification') and feat_decl.identification:
|
|
1912
2034
|
self.name = feat_decl.identification.declaredName
|
|
1913
|
-
|
|
2035
|
+
|
|
2036
|
+
self._extract_specialization_info(grammar)
|
|
2037
|
+
|
|
1914
2038
|
return self
|
|
1915
2039
|
|
|
1916
2040
|
|
|
@@ -2099,73 +2223,6 @@ class Action(Usage):
|
|
|
2099
2223
|
|
|
2100
2224
|
return self
|
|
2101
2225
|
|
|
2102
|
-
def _extract_specialization_info(self, grammar):
|
|
2103
|
-
"""Capture Typings / Subsettings / Redefinitions / References names
|
|
2104
|
-
from the grammar's feature specialization so ``dump()`` can render
|
|
2105
|
-
them (v0.41.0)."""
|
|
2106
|
-
fd = None
|
|
2107
|
-
if getattr(grammar, 'declaration', None) is not None:
|
|
2108
|
-
ud = getattr(grammar.declaration, 'declaration', None)
|
|
2109
|
-
if ud is not None:
|
|
2110
|
-
fd = getattr(ud, 'declaration', None)
|
|
2111
|
-
spec = getattr(fd, 'specialization', None) if fd is not None else None
|
|
2112
|
-
if spec is None:
|
|
2113
|
-
return
|
|
2114
|
-
for fs in getattr(spec, 'specializations', None) or []:
|
|
2115
|
-
rel = getattr(fs, 'relationship', None)
|
|
2116
|
-
kind = rel.__class__.__name__ if rel is not None else None
|
|
2117
|
-
if kind == 'Typings':
|
|
2118
|
-
tb = getattr(rel, 'typing', None)
|
|
2119
|
-
for ft in getattr(tb, 'relationships', []) or []:
|
|
2120
|
-
rel2 = getattr(ft, 'relationship', None)
|
|
2121
|
-
ftype = getattr(rel2, 'type', None)
|
|
2122
|
-
qn = getattr(ftype, 'type', None)
|
|
2123
|
-
names = getattr(qn, 'names', None)
|
|
2124
|
-
if names:
|
|
2125
|
-
self._typed_by_name = '::'.join(names)
|
|
2126
|
-
break
|
|
2127
|
-
elements = getattr(ftype, 'elements', None) or []
|
|
2128
|
-
seg_names = []
|
|
2129
|
-
for el in elements:
|
|
2130
|
-
if hasattr(el, 'names') and el.names:
|
|
2131
|
-
seg_names.extend(el.names)
|
|
2132
|
-
elif hasattr(el, 'feature'):
|
|
2133
|
-
for seg in getattr(el.feature, 'children', []) or []:
|
|
2134
|
-
cf = getattr(seg, 'chainingFeature', None)
|
|
2135
|
-
if cf is not None and getattr(cf, 'names', None):
|
|
2136
|
-
seg_names.extend(cf.names)
|
|
2137
|
-
if seg_names:
|
|
2138
|
-
self._typed_by_name = '.'.join(seg_names)
|
|
2139
|
-
break
|
|
2140
|
-
elif kind in ('Subsettings', 'Redefinitions', 'References'):
|
|
2141
|
-
target = (
|
|
2142
|
-
self._specializes_names if kind == 'Subsettings'
|
|
2143
|
-
else self._redefined_refs if kind == 'Redefinitions'
|
|
2144
|
-
else self._referenced_refs
|
|
2145
|
-
)
|
|
2146
|
-
for child in getattr(rel, 'children', None) or []:
|
|
2147
|
-
qn = (
|
|
2148
|
-
getattr(child, 'redefinedFeature', None)
|
|
2149
|
-
or getattr(child, 'referencedFeature', None)
|
|
2150
|
-
)
|
|
2151
|
-
if qn is not None and getattr(qn, 'names', None):
|
|
2152
|
-
target.append('::'.join(qn.names))
|
|
2153
|
-
continue
|
|
2154
|
-
elements = getattr(child, 'elements', None) or []
|
|
2155
|
-
seg_names = []
|
|
2156
|
-
for el in elements:
|
|
2157
|
-
if hasattr(el, 'names') and el.names:
|
|
2158
|
-
seg_names.extend(el.names)
|
|
2159
|
-
elif hasattr(el, 'feature'):
|
|
2160
|
-
for seg in getattr(el.feature, 'children', []) or []:
|
|
2161
|
-
cf = getattr(seg, 'chainingFeature', None)
|
|
2162
|
-
if cf is not None and getattr(cf, 'names', None):
|
|
2163
|
-
seg_names.extend(cf.names)
|
|
2164
|
-
if seg_names:
|
|
2165
|
-
target.append('.'.join(seg_names))
|
|
2166
|
-
|
|
2167
|
-
return self
|
|
2168
|
-
|
|
2169
2226
|
def _extract_initial_node(self, node):
|
|
2170
2227
|
"""Extract the source name from an InitialNodeMember."""
|
|
2171
2228
|
if hasattr(node, 'child') and node.child:
|
|
@@ -2766,7 +2823,9 @@ class UseCase(Usage):
|
|
|
2766
2823
|
feat_decl = inner_decl.declaration
|
|
2767
2824
|
if hasattr(feat_decl, 'identification') and feat_decl.identification:
|
|
2768
2825
|
self.name = feat_decl.identification.declaredName
|
|
2769
|
-
|
|
2826
|
+
|
|
2827
|
+
self._extract_specialization_info(grammar)
|
|
2828
|
+
|
|
2770
2829
|
return self
|
|
2771
2830
|
|
|
2772
2831
|
|
|
@@ -3044,7 +3103,9 @@ class Requirement(Usage):
|
|
|
3044
3103
|
pass # could extract subject
|
|
3045
3104
|
elif child_class == "ActorMember":
|
|
3046
3105
|
pass # could extract actors
|
|
3047
|
-
|
|
3106
|
+
|
|
3107
|
+
self._extract_specialization_info(grammar)
|
|
3108
|
+
|
|
3048
3109
|
return self
|
|
3049
3110
|
|
|
3050
3111
|
def _extract_nested_requirements(self, def_body_item):
|
|
@@ -3611,7 +3672,9 @@ class State(_BehaviorUsage):
|
|
|
3611
3672
|
decl = decl.declaration
|
|
3612
3673
|
if hasattr(decl, 'identification') and decl.identification:
|
|
3613
3674
|
self.name = decl.identification.declaredName
|
|
3614
|
-
|
|
3675
|
+
|
|
3676
|
+
self._extract_specialization_info(grammar)
|
|
3677
|
+
|
|
3615
3678
|
# Extract nested states, transitions, and actions from body
|
|
3616
3679
|
# StateDefinition: grammar.body -> StateDefBody -> children -> StateBodyPart -> children -> items
|
|
3617
3680
|
# StateUsage: grammar.body -> StateUsageBody -> children -> StateDefBody -> children -> StateBodyPart -> children -> items
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/antlr/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.interp
RENAMED
|
File without changes
|
{sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/antlr/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.py
RENAMED
|
File without changes
|
{sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/antlr/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.tokens
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Analysis/SampledFunctions.sysml
RENAMED
|
File without changes
|
{sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Analysis/StateSpaceRepresentation.sysml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Cause and Effect/CauseAndEffect.sysml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Metadata/ModelingMetadata.sysml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Quantities and Units/ISQAcoustics.sysml
RENAMED
|
File without changes
|
|
File without changes
|
{sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Quantities and Units/ISQBase.sysml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Quantities and Units/ISQLight.sysml
RENAMED
|
File without changes
|
{sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Quantities and Units/ISQMechanics.sysml
RENAMED
|
File without changes
|
{sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Quantities and Units/ISQSpaceTime.sysml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Quantities and Units/Quantities.sysml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Quantities and Units/SIPrefixes.sysml
RENAMED
|
File without changes
|
|
File without changes
|
{sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/domain/Quantities and Units/Time.sysml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sysmlpy-0.56.0 → sysmlpy-0.58.0}/src/sysmlpy/library/kernel/FeatureReferencingPerformances.kerml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|