aas-core-codegen 0.0.16__py3-none-any.whl
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.
- aas_core_codegen/__init__.py +6 -0
- aas_core_codegen/__main__.py +8 -0
- aas_core_codegen/common.py +500 -0
- aas_core_codegen/cpp/__init__.py +1 -0
- aas_core_codegen/cpp/aas_common/__init__.py +6 -0
- aas_core_codegen/cpp/aas_common/_generate.py +713 -0
- aas_core_codegen/cpp/common.py +681 -0
- aas_core_codegen/cpp/constants/__init__.py +6 -0
- aas_core_codegen/cpp/constants/_generate.py +568 -0
- aas_core_codegen/cpp/description.py +654 -0
- aas_core_codegen/cpp/enhancing/__init__.py +4 -0
- aas_core_codegen/cpp/enhancing/_generate.py +993 -0
- aas_core_codegen/cpp/iteration/__init__.py +6 -0
- aas_core_codegen/cpp/iteration/_generate.py +2332 -0
- aas_core_codegen/cpp/jsonization/__init__.py +6 -0
- aas_core_codegen/cpp/jsonization/_generate.py +2619 -0
- aas_core_codegen/cpp/main.py +694 -0
- aas_core_codegen/cpp/naming.py +170 -0
- aas_core_codegen/cpp/optionaling.py +557 -0
- aas_core_codegen/cpp/pattern/__init__.py +6 -0
- aas_core_codegen/cpp/pattern/_generate.py +508 -0
- aas_core_codegen/cpp/revm/__init__.py +6 -0
- aas_core_codegen/cpp/revm/_generate.py +1149 -0
- aas_core_codegen/cpp/stringification/__init__.py +5 -0
- aas_core_codegen/cpp/stringification/_generate.py +955 -0
- aas_core_codegen/cpp/structure/__init__.py +7 -0
- aas_core_codegen/cpp/structure/_generate.py +1503 -0
- aas_core_codegen/cpp/transpilation.py +1383 -0
- aas_core_codegen/cpp/unrolling.py +159 -0
- aas_core_codegen/cpp/verification/__init__.py +6 -0
- aas_core_codegen/cpp/verification/_generate.py +3073 -0
- aas_core_codegen/cpp/visitation/__init__.py +6 -0
- aas_core_codegen/cpp/visitation/_generate.py +521 -0
- aas_core_codegen/cpp/wstringification/__init__.py +5 -0
- aas_core_codegen/cpp/wstringification/_generate.py +586 -0
- aas_core_codegen/cpp/xmlization/__init__.py +6 -0
- aas_core_codegen/cpp/xmlization/_generate.py +5373 -0
- aas_core_codegen/cpp/yielding.py +201 -0
- aas_core_codegen/csharp/__init__.py +1 -0
- aas_core_codegen/csharp/common.py +224 -0
- aas_core_codegen/csharp/constants/__init__.py +5 -0
- aas_core_codegen/csharp/constants/_generate.py +409 -0
- aas_core_codegen/csharp/copying/__init__.py +4 -0
- aas_core_codegen/csharp/copying/_generate.py +498 -0
- aas_core_codegen/csharp/description.py +1103 -0
- aas_core_codegen/csharp/enhancing/__init__.py +4 -0
- aas_core_codegen/csharp/enhancing/_generate.py +667 -0
- aas_core_codegen/csharp/jsonization/__init__.py +4 -0
- aas_core_codegen/csharp/jsonization/_generate.py +1630 -0
- aas_core_codegen/csharp/main.py +421 -0
- aas_core_codegen/csharp/naming.py +157 -0
- aas_core_codegen/csharp/reporting/__init__.py +4 -0
- aas_core_codegen/csharp/reporting/_generate.py +266 -0
- aas_core_codegen/csharp/stringification/__init__.py +4 -0
- aas_core_codegen/csharp/stringification/_generate.py +243 -0
- aas_core_codegen/csharp/structure/__init__.py +6 -0
- aas_core_codegen/csharp/structure/_generate.py +1341 -0
- aas_core_codegen/csharp/transpilation.py +990 -0
- aas_core_codegen/csharp/unrolling.py +211 -0
- aas_core_codegen/csharp/verification/__init__.py +6 -0
- aas_core_codegen/csharp/verification/_generate.py +1457 -0
- aas_core_codegen/csharp/visitation/__init__.py +5 -0
- aas_core_codegen/csharp/visitation/_generate.py +579 -0
- aas_core_codegen/csharp/xmlization/__init__.py +4 -0
- aas_core_codegen/csharp/xmlization/_generate.py +1980 -0
- aas_core_codegen/golang/__init__.py +1 -0
- aas_core_codegen/golang/aas_common/__init__.py +4 -0
- aas_core_codegen/golang/aas_common/_generate.py +152 -0
- aas_core_codegen/golang/common.py +303 -0
- aas_core_codegen/golang/constants/__init__.py +5 -0
- aas_core_codegen/golang/constants/_generate.py +339 -0
- aas_core_codegen/golang/description.py +501 -0
- aas_core_codegen/golang/enhancing/__init__.py +4 -0
- aas_core_codegen/golang/enhancing/_generate.py +527 -0
- aas_core_codegen/golang/jsonization/__init__.py +4 -0
- aas_core_codegen/golang/jsonization/_generate.py +1740 -0
- aas_core_codegen/golang/main.py +368 -0
- aas_core_codegen/golang/naming.py +412 -0
- aas_core_codegen/golang/pointering.py +631 -0
- aas_core_codegen/golang/reporting/__init__.py +4 -0
- aas_core_codegen/golang/reporting/_generate.py +218 -0
- aas_core_codegen/golang/stringification/__init__.py +4 -0
- aas_core_codegen/golang/stringification/_generate.py +394 -0
- aas_core_codegen/golang/structure/__init__.py +6 -0
- aas_core_codegen/golang/structure/_generate.py +1493 -0
- aas_core_codegen/golang/transpilation.py +1191 -0
- aas_core_codegen/golang/unrolling.py +159 -0
- aas_core_codegen/golang/verification/__init__.py +6 -0
- aas_core_codegen/golang/verification/_generate.py +1513 -0
- aas_core_codegen/golang/xmlization/__init__.py +4 -0
- aas_core_codegen/golang/xmlization/_generate.py +2507 -0
- aas_core_codegen/infer_for_schema/__init__.py +21 -0
- aas_core_codegen/infer_for_schema/_inline.py +693 -0
- aas_core_codegen/infer_for_schema/_len.py +527 -0
- aas_core_codegen/infer_for_schema/_pattern.py +311 -0
- aas_core_codegen/infer_for_schema/_set.py +394 -0
- aas_core_codegen/infer_for_schema/_stringify.py +201 -0
- aas_core_codegen/infer_for_schema/_types.py +135 -0
- aas_core_codegen/infer_for_schema/match.py +122 -0
- aas_core_codegen/intermediate/__init__.py +78 -0
- aas_core_codegen/intermediate/_hierarchy.py +397 -0
- aas_core_codegen/intermediate/_stringify.py +989 -0
- aas_core_codegen/intermediate/_translate.py +5128 -0
- aas_core_codegen/intermediate/_types.py +2901 -0
- aas_core_codegen/intermediate/construction.py +750 -0
- aas_core_codegen/intermediate/doc.py +344 -0
- aas_core_codegen/intermediate/pattern_verification.py +428 -0
- aas_core_codegen/intermediate/revm.py +985 -0
- aas_core_codegen/intermediate/type_inference.py +2266 -0
- aas_core_codegen/java/__init__.py +1 -0
- aas_core_codegen/java/common.py +197 -0
- aas_core_codegen/java/constants/__init__.py +5 -0
- aas_core_codegen/java/constants/_generate.py +334 -0
- aas_core_codegen/java/copying/__init__.py +4 -0
- aas_core_codegen/java/copying/_generate.py +502 -0
- aas_core_codegen/java/description.py +774 -0
- aas_core_codegen/java/enhancing/__init__.py +4 -0
- aas_core_codegen/java/enhancing/_generate.py +820 -0
- aas_core_codegen/java/generation/__init__.py +5 -0
- aas_core_codegen/java/generation/_generate.py +285 -0
- aas_core_codegen/java/jsonization/__init__.py +4 -0
- aas_core_codegen/java/jsonization/_generate.py +1472 -0
- aas_core_codegen/java/main.py +438 -0
- aas_core_codegen/java/naming.py +187 -0
- aas_core_codegen/java/optional.py +514 -0
- aas_core_codegen/java/reporting/__init__.py +4 -0
- aas_core_codegen/java/reporting/_generate.py +248 -0
- aas_core_codegen/java/stringification/__init__.py +4 -0
- aas_core_codegen/java/stringification/_generate.py +212 -0
- aas_core_codegen/java/structure/__init__.py +6 -0
- aas_core_codegen/java/structure/_generate.py +1767 -0
- aas_core_codegen/java/transpilation.py +1111 -0
- aas_core_codegen/java/verification/__init__.py +6 -0
- aas_core_codegen/java/verification/_generate.py +1536 -0
- aas_core_codegen/java/visitation/__init__.py +5 -0
- aas_core_codegen/java/visitation/_generate.py +689 -0
- aas_core_codegen/java/xmlization/__init__.py +4 -0
- aas_core_codegen/java/xmlization/_generate.py +2274 -0
- aas_core_codegen/jsonld/__init__.py +1 -0
- aas_core_codegen/jsonld/main.py +455 -0
- aas_core_codegen/jsonschema/__init__.py +1 -0
- aas_core_codegen/jsonschema/main.py +982 -0
- aas_core_codegen/main.py +245 -0
- aas_core_codegen/naming.py +133 -0
- aas_core_codegen/opcua/__init__.py +1 -0
- aas_core_codegen/opcua/main.py +1525 -0
- aas_core_codegen/opcua/naming.py +126 -0
- aas_core_codegen/parse/__init__.py +46 -0
- aas_core_codegen/parse/_rules.py +796 -0
- aas_core_codegen/parse/_stringify.py +532 -0
- aas_core_codegen/parse/_translate.py +3940 -0
- aas_core_codegen/parse/_types.py +973 -0
- aas_core_codegen/parse/retree/__init__.py +46 -0
- aas_core_codegen/parse/retree/_fix.py +434 -0
- aas_core_codegen/parse/retree/_parse.py +1143 -0
- aas_core_codegen/parse/retree/_render.py +298 -0
- aas_core_codegen/parse/retree/_stringify.py +199 -0
- aas_core_codegen/parse/retree/_types.py +362 -0
- aas_core_codegen/parse/retree/_visitor.py +70 -0
- aas_core_codegen/parse/tree.py +1303 -0
- aas_core_codegen/protobuf/__init__.py +1 -0
- aas_core_codegen/protobuf/common.py +225 -0
- aas_core_codegen/protobuf/description.py +1102 -0
- aas_core_codegen/protobuf/main.py +115 -0
- aas_core_codegen/protobuf/naming.py +143 -0
- aas_core_codegen/protobuf/structure/__init__.py +6 -0
- aas_core_codegen/protobuf/structure/_generate.py +502 -0
- aas_core_codegen/py.typed +1 -0
- aas_core_codegen/python/__init__.py +1 -0
- aas_core_codegen/python/aas_common/__init__.py +4 -0
- aas_core_codegen/python/aas_common/_generate.py +63 -0
- aas_core_codegen/python/common.py +406 -0
- aas_core_codegen/python/constants/__init__.py +5 -0
- aas_core_codegen/python/constants/_generate.py +377 -0
- aas_core_codegen/python/description.py +508 -0
- aas_core_codegen/python/jsonization/__init__.py +4 -0
- aas_core_codegen/python/jsonization/_generate.py +1391 -0
- aas_core_codegen/python/main.py +323 -0
- aas_core_codegen/python/naming.py +255 -0
- aas_core_codegen/python/stringification/__init__.py +4 -0
- aas_core_codegen/python/stringification/_generate.py +129 -0
- aas_core_codegen/python/structure/__init__.py +6 -0
- aas_core_codegen/python/structure/_generate.py +1801 -0
- aas_core_codegen/python/transpilation.py +958 -0
- aas_core_codegen/python/unrolling.py +156 -0
- aas_core_codegen/python/verification/__init__.py +6 -0
- aas_core_codegen/python/verification/_generate.py +1471 -0
- aas_core_codegen/python/xmlization/__init__.py +4 -0
- aas_core_codegen/python/xmlization/_generate.py +3003 -0
- aas_core_codegen/python_protobuf/__init__.py +1 -0
- aas_core_codegen/python_protobuf/main.py +1424 -0
- aas_core_codegen/python_protobuf/naming.py +85 -0
- aas_core_codegen/rdf_shacl/__init__.py +1 -0
- aas_core_codegen/rdf_shacl/_description.py +351 -0
- aas_core_codegen/rdf_shacl/common.py +206 -0
- aas_core_codegen/rdf_shacl/main.py +114 -0
- aas_core_codegen/rdf_shacl/naming.py +145 -0
- aas_core_codegen/rdf_shacl/rdf.py +435 -0
- aas_core_codegen/rdf_shacl/shacl.py +453 -0
- aas_core_codegen/run.py +124 -0
- aas_core_codegen/smoke/__init__.py +1 -0
- aas_core_codegen/smoke/main.py +219 -0
- aas_core_codegen/specific_implementations.py +72 -0
- aas_core_codegen/stringify.py +333 -0
- aas_core_codegen/typescript/__init__.py +1 -0
- aas_core_codegen/typescript/aas_common/__init__.py +4 -0
- aas_core_codegen/typescript/aas_common/_generate.py +472 -0
- aas_core_codegen/typescript/common.py +340 -0
- aas_core_codegen/typescript/constants/__init__.py +5 -0
- aas_core_codegen/typescript/constants/_generate.py +347 -0
- aas_core_codegen/typescript/description.py +530 -0
- aas_core_codegen/typescript/jsonization/__init__.py +4 -0
- aas_core_codegen/typescript/jsonization/_generate.py +1510 -0
- aas_core_codegen/typescript/main.py +258 -0
- aas_core_codegen/typescript/naming.py +189 -0
- aas_core_codegen/typescript/stringification/__init__.py +4 -0
- aas_core_codegen/typescript/stringification/_generate.py +367 -0
- aas_core_codegen/typescript/structure/__init__.py +6 -0
- aas_core_codegen/typescript/structure/_generate.py +2500 -0
- aas_core_codegen/typescript/transpilation.py +1051 -0
- aas_core_codegen/typescript/unrolling.py +159 -0
- aas_core_codegen/typescript/verification/__init__.py +6 -0
- aas_core_codegen/typescript/verification/_generate.py +1578 -0
- aas_core_codegen/xsd/__init__.py +1 -0
- aas_core_codegen/xsd/main.py +1187 -0
- aas_core_codegen/xsd/naming.py +83 -0
- aas_core_codegen/yielding/__init__.py +1 -0
- aas_core_codegen/yielding/flow.py +139 -0
- aas_core_codegen/yielding/linear.py +754 -0
- aas_core_codegen-0.0.16.dist-info/METADATA +211 -0
- aas_core_codegen-0.0.16.dist-info/RECORD +604 -0
- aas_core_codegen-0.0.16.dist-info/WHEEL +5 -0
- aas_core_codegen-0.0.16.dist-info/entry_points.txt +3 -0
- aas_core_codegen-0.0.16.dist-info/licenses/AUTHORS +9 -0
- aas_core_codegen-0.0.16.dist-info/licenses/LICENSE +23 -0
- aas_core_codegen-0.0.16.dist-info/top_level.txt +2 -0
- dev/continuous_integration/__init__.py +1 -0
- dev/continuous_integration/check_help_in_readme.py +208 -0
- dev/continuous_integration/check_init_and_pyproject_consistent.py +154 -0
- dev/continuous_integration/precommit.py +400 -0
- dev/dev_scripts/__init__.py +1 -0
- dev/dev_scripts/compare_rendered_regexes_against_source_py.py +42 -0
- dev/dev_scripts/copy_to_aas_core3_cpp.py +100 -0
- dev/dev_scripts/copy_to_aas_core3_java.py +90 -0
- dev/dev_scripts/download_latest_aas_core_meta_v3.py +114 -0
- dev/dev_scripts/draw_bipartite_graph_based_on_lines.py +37 -0
- dev/dev_scripts/run_tests_with_rerecord.py +69 -0
- dev/dev_scripts/update_to_aas_core_meta.py +174 -0
- dev/integration_tests/input/jsonschema/boilerplate/main.py +55 -0
- dev/integration_tests/input/meta_model.py +38 -0
- dev/integration_tests/input/python/boilerplate/main.py +153 -0
- dev/integration_tests/main.py +258 -0
- dev/test_data/csharp/test_structure/concrete_class_with_descendants/meta_model.py +15 -0
- dev/test_data/csharp/test_structure/constructor_without_arguments/all_properties_optional/meta_model.py +9 -0
- dev/test_data/csharp/test_structure/constructor_without_arguments/no_properties/meta_model.py +6 -0
- dev/test_data/csharp/test_verification/builtin_functions/len/on_list/meta_model.py +20 -0
- dev/test_data/csharp/test_verification/builtin_functions/len/on_str/meta_model.py +16 -0
- dev/test_data/csharp/test_verification/pattern_verification/utf32_as_literal/as_prefix/meta_model.py +8 -0
- dev/test_data/csharp/test_verification/pattern_verification/utf32_as_literal/as_suffix/meta_model.py +8 -0
- dev/test_data/csharp/test_verification/pattern_verification/utf32_as_literal/in_group_with_quantifier/meta_model.py +8 -0
- dev/test_data/csharp/test_verification/pattern_verification/utf32_as_literal/in_the_middle/meta_model.py +8 -0
- dev/test_data/csharp/test_verification/pattern_verification/utf32_as_literal/in_union/meta_model.py +8 -0
- dev/test_data/csharp/test_verification/pattern_verification/utf32_as_literal/single_utf32_literal/meta_model.py +8 -0
- dev/test_data/csharp/test_verification/pattern_verification/utf32_as_literal/with_quantifier_within_group/meta_model.py +8 -0
- dev/test_data/csharp/test_verification/pattern_verification/utf32_as_literal/with_quantifier_without_group/meta_model.py +8 -0
- dev/test_data/csharp/test_verification/pattern_verification/utf32_in_character_set/literal/at_the_beginning/meta_model.py +8 -0
- dev/test_data/csharp/test_verification/pattern_verification/utf32_in_character_set/literal/at_the_end/meta_model.py +8 -0
- dev/test_data/csharp/test_verification/pattern_verification/utf32_in_character_set/literal/in_the_middle/meta_model.py +8 -0
- dev/test_data/csharp/test_verification/pattern_verification/utf32_in_character_set/literal/multiple/meta_model.py +8 -0
- dev/test_data/csharp/test_verification/pattern_verification/utf32_in_character_set/literal/single/meta_model.py +8 -0
- dev/test_data/csharp/test_verification/pattern_verification/utf32_in_character_set/literal/single_with_quantifier/meta_model.py +8 -0
- dev/test_data/csharp/test_verification/pattern_verification/utf32_in_character_set/range/mixed_with_non_utf32/meta_model.py +8 -0
- dev/test_data/csharp/test_verification/pattern_verification/utf32_in_character_set/range/more_than_two_high_surrogates/meta_model.py +8 -0
- dev/test_data/csharp/test_verification/pattern_verification/utf32_in_character_set/range/multiple_utf32_ranges/meta_model.py +8 -0
- dev/test_data/csharp/test_verification/pattern_verification/utf32_in_character_set/range/multiple_utf32_ranges_mixed_with_non_utf32/meta_model.py +8 -0
- dev/test_data/csharp/test_verification/pattern_verification/utf32_in_character_set/range/same_high_surrogate/meta_model.py +8 -0
- dev/test_data/csharp/test_verification/pattern_verification/utf32_in_character_set/range/same_high_surrogate_with_quantifier/meta_model.py +8 -0
- dev/test_data/csharp/test_verification/pattern_verification/utf32_in_character_set/range/two_high_surrogates/meta_model.py +8 -0
- dev/test_data/intermediate/expected/class/empty/meta_model.py +6 -0
- dev/test_data/intermediate/expected/class/implementation_specific_method/meta_model.py +8 -0
- dev/test_data/intermediate/expected/class/inheritance/meta_model.py +41 -0
- dev/test_data/intermediate/expected/class/methods_with_contracts/meta_model.py +15 -0
- dev/test_data/intermediate/expected/class/only_method_no_property/meta_model.py +7 -0
- dev/test_data/intermediate/expected/class/only_property_no_method/meta_model.py +9 -0
- dev/test_data/intermediate/expected/constant/constant_set/of_enum/meta_model.py +12 -0
- dev/test_data/intermediate/expected/constant/constant_set/of_str/meta_model.py +4 -0
- dev/test_data/intermediate/expected/constant/constant_set/with_description/meta_model.py +6 -0
- dev/test_data/intermediate/expected/constant/constant_set/with_superset_of/meta_model.py +14 -0
- dev/test_data/intermediate/expected/constant/constant_str/only_value/meta_model.py +7 -0
- dev/test_data/intermediate/expected/constant/constant_str/with_description/meta_model.py +5 -0
- dev/test_data/intermediate/expected/documentation/docstring_with_special_characters_in_literal/meta_model.py +20 -0
- dev/test_data/intermediate/expected/documentation/docstring_with_special_characters_outside_literal/meta_model.py +20 -0
- dev/test_data/intermediate/expected/empty/meta_model.py +2 -0
- dev/test_data/intermediate/expected/enumeration/meta_model.py +9 -0
- dev/test_data/intermediate/expected/interface/basic/meta_model.py +14 -0
- dev/test_data/intermediate/expected/interface/empty/meta_model.py +7 -0
- dev/test_data/intermediate/expected/interface/inheritance/meta_model.py +27 -0
- dev/test_data/intermediate/expected/interface/method_signature/meta_model.py +10 -0
- dev/test_data/intermediate/expected/interface/only_constructor/meta_model.py +11 -0
- dev/test_data/intermediate/expected/method/non_mutating/implementation_specific/meta_model.py +12 -0
- dev/test_data/intermediate/expected/method/non_mutating/understood/meta_model.py +11 -0
- dev/test_data/intermediate/expected/type_annotation/atomic/meta_model.py +9 -0
- dev/test_data/intermediate/expected/type_annotation/subscripted/class/meta_model.py +13 -0
- dev/test_data/intermediate/expected/type_annotation/subscripted/primitive/meta_model.py +9 -0
- dev/test_data/intermediate/unexpected/constant_set/of_enum/enumeration_literals_in_subset_outside_of_superset/meta_model.py +20 -0
- dev/test_data/intermediate/unexpected/constant_set/of_enum/invalid_literal/meta_model.py +11 -0
- dev/test_data/intermediate/unexpected/constant_set/of_enum/mismatch_between_enumeration_and_literal/meta_model.py +30 -0
- dev/test_data/intermediate/unexpected/constant_set/of_enum/mismatch_in_enumerations_between_subset_and_superset/meta_model.py +21 -0
- dev/test_data/intermediate/unexpected/constant_set/of_str/literals_in_subset_outside_of_superset/meta_model.py +18 -0
- dev/test_data/intermediate/unexpected/constant_set/of_str/mismatch_between_type_annotation_and_literals/meta_model.py +10 -0
- dev/test_data/intermediate/unexpected/constant_set/of_str/superset_and_subset_mismatch_in_type/meta_model.py +12 -0
- dev/test_data/intermediate/unexpected/constraints/dangling_constraintref/meta_model.py +18 -0
- dev/test_data/intermediate/unexpected/constraints/duplicate_constraints/meta_model.py +20 -0
- dev/test_data/intermediate/unexpected/documentation/unexpected_documentation_elements/meta_model.py +34 -0
- dev/test_data/intermediate/unexpected/invariant/class_invariant_uses_re/meta_model.py +10 -0
- dev/test_data/intermediate/unexpected/invariant/invariant_of_constrained_primitive_uses_re/meta_model.py +7 -0
- dev/test_data/intermediate/unexpected/invariant/unexpected_argument_count_to_len/meta_model.py +20 -0
- dev/test_data/intermediate/unexpected/invariant/unhandled_built_in_function/meta_model.py +16 -0
- dev/test_data/intermediate/unexpected/method_definitions/non_constant_default/meta_model.py +7 -0
- dev/test_data/intermediate/unexpected/optional_constructor_arguments_wo_default/default_non_none/meta_model.py +16 -0
- dev/test_data/intermediate/unexpected/optional_constructor_arguments_wo_default/no_default/meta_model.py +16 -0
- dev/test_data/intermediate/unexpected/properties_and_constructor_arguments_do_not_match/after_inheritance/meta_model.py +58 -0
- dev/test_data/intermediate/unexpected/properties_and_constructor_arguments_do_not_match/type_missmatch/meta_model.py +9 -0
- dev/test_data/intermediate/unexpected/properties_and_constructor_arguments_do_not_match/within_class/meta_model.py +22 -0
- dev/test_data/jsonschema/test_main/regression_when_len_constraints_on_inherited_property/meta_model.py +28 -0
- dev/test_data/opcua/test_main/abstract_and_concrete_classes/meta_model.py +37 -0
- dev/test_data/opcua/test_main/classes_with_invariants/meta_model.py +21 -0
- dev/test_data/opcua/test_main/concrete_class_with_descendant/meta_model.py +27 -0
- dev/test_data/opcua/test_main/concrete_class_with_enum/meta_model.py +21 -0
- dev/test_data/opcua/test_main/concrete_class_with_list_of_instances/meta_model.py +21 -0
- dev/test_data/opcua/test_main/concrete_class_with_primitive_attributes/meta_model.py +41 -0
- dev/test_data/opcua/test_main/concrete_class_with_string/meta_model.py +13 -0
- dev/test_data/opcua/test_main/constrained_primitive/meta_model.py +20 -0
- dev/test_data/opcua/test_main/multiple_inheritance/meta_model.py +25 -0
- dev/test_data/parse/expected/constant/constant_set/of_enum/meta_model.py +12 -0
- dev/test_data/parse/expected/constant/constant_set/of_str/meta_model.py +4 -0
- dev/test_data/parse/expected/constant/constant_set/with_description/meta_model.py +6 -0
- dev/test_data/parse/expected/constant/constant_set/with_superset_of/meta_model.py +14 -0
- dev/test_data/parse/expected/constant/constant_str/only_value/meta_model.py +7 -0
- dev/test_data/parse/expected/constant/constant_str/with_description/meta_model.py +5 -0
- dev/test_data/parse/expected/enum/ok/meta_model.py +15 -0
- dev/test_data/parse/expected/implementation_specific_class/properties_and_methods_in_implementation_specific_class/meta_model.py +17 -0
- dev/test_data/parse/expected/inheritance/basic/meta_model.py +11 -0
- dev/test_data/parse/expected/inheritance/diamond/meta_model.py +26 -0
- dev/test_data/parse/expected/inheritance/inheritance_from_concrete_class/meta_model.py +10 -0
- dev/test_data/parse/expected/invariants/in_relation/meta_model.py +16 -0
- dev/test_data/parse/expected/method/arguments/meta_model.py +7 -0
- dev/test_data/parse/expected/method/basic/meta_model.py +7 -0
- dev/test_data/parse/expected/method/contracts/condition_as_keyword_argument/meta_model.py +8 -0
- dev/test_data/parse/expected/method/contracts/condition_as_positional_argument/meta_model.py +8 -0
- dev/test_data/parse/expected/method/contracts/description_as_keyword_argument/meta_model.py +8 -0
- dev/test_data/parse/expected/method/contracts/description_as_positional_argument/meta_model.py +8 -0
- dev/test_data/parse/expected/method/contracts/multiple_contracts_in_order/meta_model.py +17 -0
- dev/test_data/parse/expected/method/contracts/postcondition/basic/meta_model.py +10 -0
- dev/test_data/parse/expected/method/contracts/postcondition/snapshot/with_keyword_arguments/meta_model.py +9 -0
- dev/test_data/parse/expected/method/contracts/postcondition/snapshot/with_positional_arguments/meta_model.py +9 -0
- dev/test_data/parse/expected/method/default/meta_model.py +9 -0
- dev/test_data/parse/expected/method/description/meta_model.py +8 -0
- dev/test_data/parse/expected/method/is_implementation_specific/meta_model.py +8 -0
- dev/test_data/parse/expected/method/non_mutating/meta_model.py +11 -0
- dev/test_data/parse/expected/method/returns_none/meta_model.py +7 -0
- dev/test_data/parse/expected/method/returns_something/meta_model.py +7 -0
- dev/test_data/parse/expected/single_class/description/meta_model.py +12 -0
- dev/test_data/parse/expected/single_class/empty/meta_model.py +6 -0
- dev/test_data/parse/expected/single_class/property/description/meta_model.py +14 -0
- dev/test_data/parse/expected/single_class/property/mandatory/meta_model.py +6 -0
- dev/test_data/parse/expected/single_class/property/optional/meta_model.py +6 -0
- dev/test_data/parse/expected/single_class/property/recursion_to_entity/meta_model.py +6 -0
- dev/test_data/parse/unexpected/class_decorators/non_name_decorator/meta_model.py +7 -0
- dev/test_data/parse/unexpected/class_decorators/unknown_decorator/meta_model.py +7 -0
- dev/test_data/parse/unexpected/class_definitions/is_abstract_and_implementation_specific/meta_model.py +8 -0
- dev/test_data/parse/unexpected/class_definitions/unexpected_docstring_before_a_method/meta_model.py +11 -0
- dev/test_data/parse/unexpected/class_definitions/unexpected_docstring_for_a_pass/meta_model.py +9 -0
- dev/test_data/parse/unexpected/class_definitions/unexpected_double_description_for_a_property/meta_model.py +10 -0
- dev/test_data/parse/unexpected/class_inheritances/inheriting_from_implementation_specific_parent/meta_model.py +20 -0
- dev/test_data/parse/unexpected/class_inheritances/non_name_super_class/meta_model.py +6 -0
- dev/test_data/parse/unexpected/enum/expression_as_assignment_value/meta_model.py +6 -0
- dev/test_data/parse/unexpected/enum/non_assignment/meta_model.py +8 -0
- dev/test_data/parse/unexpected/enum/non_string_literal/meta_model.py +6 -0
- dev/test_data/parse/unexpected/enum/unexpected_inheritance/meta_model.py +6 -0
- dev/test_data/parse/unexpected/method_contracts/contract/non_lambda_condition/meta_model.py +8 -0
- dev/test_data/parse/unexpected/method_contracts/contract/non_string_literal_description/meta_model.py +8 -0
- dev/test_data/parse/unexpected/method_contracts/contract/without_any_arguments/meta_model.py +8 -0
- dev/test_data/parse/unexpected/method_contracts/contract/without_condition/meta_model.py +8 -0
- dev/test_data/parse/unexpected/method_contracts/postcondition/OLD_in_postcondition_without_snapshot/meta_model.py +8 -0
- dev/test_data/parse/unexpected/method_contracts/postcondition/argument_missing_in_function/meta_model.py +8 -0
- dev/test_data/parse/unexpected/method_contracts/precondition/argument_missing_in_function/meta_model.py +8 -0
- dev/test_data/parse/unexpected/method_contracts/snapshot/argument_missing_in_function/meta_model.py +8 -0
- dev/test_data/parse/unexpected/method_contracts/snapshot/capture_not_a_lambda/meta_model.py +8 -0
- dev/test_data/parse/unexpected/method_contracts/snapshot/invalid_name/meta_model.py +8 -0
- dev/test_data/parse/unexpected/method_contracts/snapshot/name_not_a_string_literal/meta_model.py +8 -0
- dev/test_data/parse/unexpected/method_contracts/snapshot/without_a_capture/meta_model.py +8 -0
- dev/test_data/parse/unexpected/method_contracts/snapshot/without_a_name/meta_model.py +8 -0
- dev/test_data/parse/unexpected/method_decorators/non_mutating/non_mutating_constructor/meta_model.py +8 -0
- dev/test_data/parse/unexpected/method_decorators/non_mutating/non_mutating_verification_function/meta_model.py +8 -0
- dev/test_data/parse/unexpected/method_decorators/non_name_decorator/meta_model.py +8 -0
- dev/test_data/parse/unexpected/method_decorators/unknown_call_decorator/meta_model.py +8 -0
- dev/test_data/parse/unexpected/method_decorators/unknown_name_decorator/meta_model.py +8 -0
- dev/test_data/parse/unexpected/method_definitions/argument_with_final/meta_model.py +7 -0
- dev/test_data/parse/unexpected/method_definitions/argument_without_a_type_annotation/meta_model.py +7 -0
- dev/test_data/parse/unexpected/method_definitions/default_for_self/meta_model.py +7 -0
- dev/test_data/parse/unexpected/method_definitions/dunder/meta_model.py +7 -0
- dev/test_data/parse/unexpected/method_definitions/init_with_return_type/meta_model.py +7 -0
- dev/test_data/parse/unexpected/method_definitions/with_keyword_only_arguments/meta_model.py +7 -0
- dev/test_data/parse/unexpected/method_definitions/with_positional_arguments/meta_model.py +7 -0
- dev/test_data/parse/unexpected/method_definitions/with_type_annotation_for_self/meta_model.py +7 -0
- dev/test_data/parse/unexpected/method_definitions/with_variable_arguments/meta_model.py +7 -0
- dev/test_data/parse/unexpected/method_definitions/with_variable_keyword_arguments/meta_model.py +7 -0
- dev/test_data/parse/unexpected/method_definitions/without_arguments/meta_model.py +7 -0
- dev/test_data/parse/unexpected/method_definitions/without_self/meta_model.py +7 -0
- dev/test_data/parse/unexpected/method_definitions/without_type_annotation_for_result/meta_model.py +7 -0
- dev/test_data/parse/unexpected/property_definitions/final_without_subscript/meta_model.py +6 -0
- dev/test_data/parse/unexpected/property_definitions/nested_final/meta_model.py +6 -0
- dev/test_data/parse/unexpected/property_definitions/non_simple/meta_model.py +6 -0
- dev/test_data/parse/unexpected/property_definitions/unexpected_assignment/meta_model.py +6 -0
- dev/test_data/parse/unexpected/property_definitions/unexpected_non_name_property/meta_model.py +6 -0
- dev/test_data/parse/unexpected/property_definitions/without_type_annotation/meta_model.py +6 -0
- dev/test_data/parse/unexpected/symbol_table/constant_set_with_a_non_set_subset/meta_model.py +6 -0
- dev/test_data/parse/unexpected/symbol_table/dangling_inheritance/meta_model.py +6 -0
- dev/test_data/parse/unexpected/symbol_table/dangling_reference_in_type_annotation_of_a_property/meta_model.py +6 -0
- dev/test_data/parse/unexpected/symbol_table/dangling_reference_in_type_annotation_of_an_argument/meta_model.py +7 -0
- dev/test_data/parse/unexpected/symbol_table/dangling_reference_in_type_annotation_of_constant_set/meta_model.py +6 -0
- dev/test_data/parse/unexpected/symbol_table/dangling_subset_in_constant_set/meta_model.py +4 -0
- dev/test_data/parse/unexpected/symbol_table/inheritance_from_non_class/meta_model.py +10 -0
- dev/test_data/parse_retree/expected/character_set/common_escaping/source.py +1 -0
- dev/test_data/parse_retree/expected/character_set/complementing/double_caret/source.py +1 -0
- dev/test_data/parse_retree/expected/character_set/complementing/multiple_ranges/source.py +1 -0
- dev/test_data/parse_retree/expected/character_set/complementing/suffix_dash/source.py +1 -0
- dev/test_data/parse_retree/expected/character_set/escape_first_caret/source.py +1 -0
- dev/test_data/parse_retree/expected/character_set/literals_which_need_no_escaping_in_characters_set_but_need_escaping_outside/source.py +1 -0
- dev/test_data/parse_retree/expected/character_set/multiple_ranges/source.py +1 -0
- dev/test_data/parse_retree/expected/character_set/single_literal/source.py +1 -0
- dev/test_data/parse_retree/expected/character_set/single_range/source.py +1 -0
- dev/test_data/parse_retree/expected/character_set/unescaped_dash/only_dash/source.py +1 -0
- dev/test_data/parse_retree/expected/character_set/unescaped_dash/prefix_dash/source.py +1 -0
- dev/test_data/parse_retree/expected/character_set/unescaped_dash/suffix_dash/source.py +1 -0
- dev/test_data/parse_retree/expected/dot/source.py +1 -0
- dev/test_data/parse_retree/expected/empty/group/source.py +1 -0
- dev/test_data/parse_retree/expected/empty/group_in_a_group/source.py +1 -0
- dev/test_data/parse_retree/expected/empty/group_of_union_of_empty_concatenations/source.py +1 -0
- dev/test_data/parse_retree/expected/empty/regex/source.py +1 -0
- dev/test_data/parse_retree/expected/empty/union_of_empty_concatenations/source.py +1 -0
- dev/test_data/parse_retree/expected/escaped_literals/source.py +1 -0
- dev/test_data/parse_retree/expected/formatted_value/at_the_beginning/source.py +1 -0
- dev/test_data/parse_retree/expected/formatted_value/at_the_end/source.py +1 -0
- dev/test_data/parse_retree/expected/formatted_value/in_the_middle/source.py +1 -0
- dev/test_data/parse_retree/expected/formatted_value/single_formatted_value/source.py +1 -0
- dev/test_data/parse_retree/expected/literal/source.py +1 -0
- dev/test_data/parse_retree/expected/quantifier/greedy/at_least_3/source.py +1 -0
- dev/test_data/parse_retree/expected/quantifier/greedy/at_least_one/source.py +1 -0
- dev/test_data/parse_retree/expected/quantifier/greedy/at_most_3/source.py +1 -0
- dev/test_data/parse_retree/expected/quantifier/greedy/exactly_3/source.py +1 -0
- dev/test_data/parse_retree/expected/quantifier/greedy/maybe/source.py +1 -0
- dev/test_data/parse_retree/expected/quantifier/greedy/zero_or_more/source.py +1 -0
- dev/test_data/parse_retree/expected/quantifier/non_greedy/at_least_3/source.py +1 -0
- dev/test_data/parse_retree/expected/quantifier/non_greedy/at_least_one/source.py +1 -0
- dev/test_data/parse_retree/expected/quantifier/non_greedy/at_most_3/source.py +1 -0
- dev/test_data/parse_retree/expected/quantifier/non_greedy/exactly_3/source.py +1 -0
- dev/test_data/parse_retree/expected/quantifier/non_greedy/maybe/source.py +1 -0
- dev/test_data/parse_retree/expected/quantifier/non_greedy/zero_or_more/source.py +1 -0
- dev/test_data/parse_retree/expected/quantifier/on_a_character_set/source.py +1 -0
- dev/test_data/parse_retree/expected/quantifier/on_a_formatted_value/source.py +1 -0
- dev/test_data/parse_retree/expected/quantifier/on_a_group/source.py +1 -0
- dev/test_data/parse_retree/expected/quantifier/on_a_literal/source.py +1 -0
- dev/test_data/parse_retree/expected/start_and_stop_symbols/double_end_symbol/source.py +1 -0
- dev/test_data/parse_retree/expected/start_and_stop_symbols/double_start_symbol/source.py +1 -0
- dev/test_data/parse_retree/expected/start_and_stop_symbols/end_symbol_in_the_middle/source.py +1 -0
- dev/test_data/parse_retree/expected/start_and_stop_symbols/only_start_symbol/source.py +1 -0
- dev/test_data/parse_retree/expected/start_and_stop_symbols/only_stop_symbol/source.py +1 -0
- dev/test_data/parse_retree/expected/start_and_stop_symbols/start_symbol_at_the_beginning/source.py +1 -0
- dev/test_data/parse_retree/expected/start_and_stop_symbols/start_symbol_in_the_middle/source.py +1 -0
- dev/test_data/parse_retree/expected/start_and_stop_symbols/stop_symbol_at_the_end/source.py +1 -0
- dev/test_data/parse_retree/expected/union/of_character_sets/source.py +1 -0
- dev/test_data/parse_retree/expected/union/of_groups/source.py +1 -0
- dev/test_data/parse_retree/expected/union/of_string_literals/source.py +1 -0
- dev/test_data/parse_retree/expected/union/within_group/source.py +1 -0
- dev/test_data/parse_retree/expected/whitespace/source.py +1 -0
- dev/test_data/parse_retree/unexpected/improper_escaping/character_literal/Uxxxxxxxx_out_of_range/source.py +1 -0
- dev/test_data/parse_retree/unexpected/improper_escaping/character_literal/only_backslash/source.py +1 -0
- dev/test_data/parse_retree/unexpected/improper_escaping/character_literal/short_Uxxxxxxxx/source.py +1 -0
- dev/test_data/parse_retree/unexpected/improper_escaping/character_literal/short_uxxxx/source.py +1 -0
- dev/test_data/parse_retree/unexpected/improper_escaping/character_literal/short_x/source.py +1 -0
- dev/test_data/parse_retree/unexpected/improper_escaping/character_literal/unexpected_escaping/source.py +1 -0
- dev/test_data/parse_retree/unexpected/improper_escaping/character_literal/unhandled/digit/source.py +1 -0
- dev/test_data/parse_retree/unexpected/improper_escaping/character_literal/unhandled/not_digit/source.py +1 -0
- dev/test_data/parse_retree/unexpected/improper_escaping/character_literal/unhandled/not_whitespace/source.py +1 -0
- dev/test_data/parse_retree/unexpected/improper_escaping/character_literal/unhandled/not_word/source.py +1 -0
- dev/test_data/parse_retree/unexpected/improper_escaping/character_literal/unhandled/whitespace/source.py +1 -0
- dev/test_data/parse_retree/unexpected/improper_escaping/character_literal/unhandled/word/source.py +1 -0
- dev/test_data/parse_retree/unexpected/improper_escaping/range_character/Uxxxxxxxx_out_of_range/source.py +1 -0
- dev/test_data/parse_retree/unexpected/improper_escaping/range_character/only_backslash/source.py +1 -0
- dev/test_data/parse_retree/unexpected/improper_escaping/range_character/short_Uxxxxxxxx/source.py +1 -0
- dev/test_data/parse_retree/unexpected/improper_escaping/range_character/short_uxxxx/source.py +1 -0
- dev/test_data/parse_retree/unexpected/improper_escaping/range_character/short_x/source.py +1 -0
- dev/test_data/parse_retree/unexpected/improper_escaping/range_character/unexpected_escaping/source.py +1 -0
- dev/test_data/parse_retree/unexpected/improper_escaping/range_character/unhandled/digit/source.py +1 -0
- dev/test_data/parse_retree/unexpected/improper_escaping/range_character/unhandled/not_digit/source.py +1 -0
- dev/test_data/parse_retree/unexpected/improper_escaping/range_character/unhandled/not_whitespace/source.py +1 -0
- dev/test_data/parse_retree/unexpected/improper_escaping/range_character/unhandled/not_word/source.py +1 -0
- dev/test_data/parse_retree/unexpected/improper_escaping/range_character/unhandled/whitespace/source.py +1 -0
- dev/test_data/parse_retree/unexpected/improper_escaping/range_character/unhandled/word/source.py +1 -0
- dev/test_data/parse_retree/unexpected/invalid_character_range/source.py +1 -0
- dev/test_data/parse_retree/unexpected/invalid_quantifier/at_least_x/source.py +1 -0
- dev/test_data/parse_retree/unexpected/invalid_quantifier/between_3_and_x/source.py +1 -0
- dev/test_data/parse_retree/unexpected/invalid_quantifier/exactly_x/source.py +1 -0
- dev/test_data/parse_retree/unexpected/unhandled_group_directives/source.py +1 -0
- dev/test_data/parse_retree/unexpected/unterminated/character_set/source.py +1 -0
- dev/test_data/parse_retree/unexpected/unterminated/group/source.py +1 -0
- dev/test_data/parse_retree/unexpected/unterminated/group_of_union_of_empty_concatenations/source.py +1 -0
- dev/test_data/parse_retree/unexpected/unterminated/quantifier/source.py +1 -0
- dev/test_data/parse_retree/unexpected/unterminated/quantifier_with_comma/source.py +1 -0
- dev/test_data/parse_retree/unexpected/unterminated/quantifier_with_number_and_comma/source.py +1 -0
- dev/test_data/proto/test_main/expected/abstract_and_concrete_classes/meta_model.py +37 -0
- dev/test_data/proto/test_main/expected/concrete_class_with_descendants/meta_model.py +30 -0
- dev/test_data/proto/test_main/expected/concrete_class_with_enum/meta_model.py +21 -0
- dev/test_data/proto/test_main/expected/concrete_class_with_list_of_instances/meta_model.py +21 -0
- dev/test_data/proto/test_main/expected/concrete_class_with_primitive_attributes/meta_model.py +41 -0
- dev/test_data/python_protobuf/test_main/abstract_and_concrete_classes/expected_output/pbization.py +532 -0
- dev/test_data/python_protobuf/test_main/abstract_and_concrete_classes/meta_model.py +37 -0
- dev/test_data/python_protobuf/test_main/concrete_class_with_descendant/expected_output/pbization.py +527 -0
- dev/test_data/python_protobuf/test_main/concrete_class_with_descendant/meta_model.py +27 -0
- dev/test_data/python_protobuf/test_main/concrete_class_with_enum/expected_output/pbization.py +290 -0
- dev/test_data/python_protobuf/test_main/concrete_class_with_enum/meta_model.py +21 -0
- dev/test_data/python_protobuf/test_main/concrete_class_with_list_of_instances/expected_output/pbization.py +328 -0
- dev/test_data/python_protobuf/test_main/concrete_class_with_list_of_instances/meta_model.py +23 -0
- dev/test_data/python_protobuf/test_main/concrete_class_with_primitive_attributes/expected_output/pbization.py +274 -0
- dev/test_data/python_protobuf/test_main/concrete_class_with_primitive_attributes/meta_model.py +41 -0
- dev/test_data/rdf_shacl/test_main/expected/regression_when_lang_string_class_is_missing/meta_model.py +29 -0
- dev/test_data/rdf_shacl/test_main/expected/regression_when_len_constraints_on_inherited_property/meta_model.py +27 -0
- dev/test_data/rdf_shacl/test_main/unexpected/regression_len_constraint_on_class_property/meta_model.py +61 -0
- dev/test_data/real_meta_models/aas_core_meta.v3.py +5721 -0
- dev/test_data/smoke/test_main/unexpected/infer_for_schema_error/meta_model.py +12 -0
- dev/test_data/smoke/test_main/unexpected/intermediate_error/meta_model.py +18 -0
- dev/test_data/smoke/test_main/unexpected/parse_error/meta_model.py +5 -0
- dev/test_data/smoke/test_main/unexpected/pattern_verification_unparsable_regex/direct_match/meta_model.py +8 -0
- dev/test_data/smoke/test_main/unexpected/type_error/meta_model.py +18 -0
- dev/tests/__init__.py +1 -0
- dev/tests/common.py +197 -0
- dev/tests/cpp/__init__.py +0 -0
- dev/tests/cpp/test_common.py +32 -0
- dev/tests/cpp/test_main.py +144 -0
- dev/tests/cpp/test_pattern.py +188 -0
- dev/tests/cpp/test_verification.py +189 -0
- dev/tests/cpp/test_yielding.py +225 -0
- dev/tests/csharp/__init__.py +0 -0
- dev/tests/csharp/live_test_main.py +109 -0
- dev/tests/csharp/test_common.py +28 -0
- dev/tests/csharp/test_description.py +684 -0
- dev/tests/csharp/test_main.py +129 -0
- dev/tests/csharp/test_structure.py +93 -0
- dev/tests/csharp/test_verification.py +82 -0
- dev/tests/description.py +29 -0
- dev/tests/golang/__init__.py +0 -0
- dev/tests/golang/test_common.py +78 -0
- dev/tests/golang/test_main.py +128 -0
- dev/tests/infer_for_schema/__init__.py +0 -0
- dev/tests/infer_for_schema/common.py +47 -0
- dev/tests/infer_for_schema/test_len_on_properties.py +955 -0
- dev/tests/infer_for_schema/test_len_on_self.py +580 -0
- dev/tests/infer_for_schema/test_patterns_on_properties.py +686 -0
- dev/tests/infer_for_schema/test_patterns_on_self.py +258 -0
- dev/tests/infer_for_schema/test_property_in_set_of_enumeration_literals.py +600 -0
- dev/tests/infer_for_schema/test_property_in_set_of_primitives.py +549 -0
- dev/tests/intermediate/__init__.py +0 -0
- dev/tests/intermediate/test_constructor.py +719 -0
- dev/tests/intermediate/test_hierarchy.py +221 -0
- dev/tests/intermediate/test_revm.py +134 -0
- dev/tests/intermediate/test_translate.py +337 -0
- dev/tests/intermediate/test_type_inference.py +333 -0
- dev/tests/intermediate/test_types.py +169 -0
- dev/tests/java/__init__.py +0 -0
- dev/tests/java/test_common.py +20 -0
- dev/tests/java/test_description.py +128 -0
- dev/tests/java/test_main.py +234 -0
- dev/tests/jsonld_context/test_main.py +79 -0
- dev/tests/opcua/__init__.py +3 -0
- dev/tests/opcua/test_main.py +110 -0
- dev/tests/our_jsonschema/__init__.py +3 -0
- dev/tests/our_jsonschema/test_main.py +232 -0
- dev/tests/parse/__init__.py +0 -0
- dev/tests/parse/test_parse.py +503 -0
- dev/tests/parse/test_retree.py +272 -0
- dev/tests/proto/__init__.py +0 -0
- dev/tests/proto/test_main.py +112 -0
- dev/tests/python/__init__.py +0 -0
- dev/tests/python/test_common.py +124 -0
- dev/tests/python/test_main.py +126 -0
- dev/tests/python/test_xml_playground.py +254 -0
- dev/tests/python_protobuf/__init__.py +0 -0
- dev/tests/python_protobuf/test_main.py +111 -0
- dev/tests/rdf_shacl/__init__.py +0 -0
- dev/tests/rdf_shacl/test_common.py +32 -0
- dev/tests/rdf_shacl/test_description.py +223 -0
- dev/tests/rdf_shacl/test_main.py +194 -0
- dev/tests/smoke/__init__.py +0 -0
- dev/tests/smoke/test_main.py +83 -0
- dev/tests/test_common.py +94 -0
- dev/tests/typescript/__init__.py +0 -0
- dev/tests/typescript/test_common.py +108 -0
- dev/tests/typescript/test_main.py +125 -0
- dev/tests/xsd/__init__.py +0 -0
- dev/tests/xsd/test_main.py +227 -0
- dev/tests/yielding/__init__.py +0 -0
- dev/tests/yielding/test_linear.py +558 -0
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
# Automatically generated with python_protobuf/main.py.
|
|
2
|
+
# Do NOT edit or append.
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
"""Convert instances from and to Protocol Buffers."""
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
from typing import Mapping, TypeVar
|
|
9
|
+
|
|
10
|
+
import google.protobuf.message
|
|
11
|
+
|
|
12
|
+
from aas_core3 import types
|
|
13
|
+
import aas_core3_protobuf.types_pb2 as types_pb
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
# region From Protocol Buffers
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
# fmt: off
|
|
20
|
+
_MODELLING_KIND_FROM_PB_MAP = {
|
|
21
|
+
types_pb.ModellingKind.Modellingkind_TEMPLATE:
|
|
22
|
+
types.ModellingKind.TEMPLATE,
|
|
23
|
+
types_pb.ModellingKind.Modellingkind_INSTANCE:
|
|
24
|
+
types.ModellingKind.INSTANCE
|
|
25
|
+
} # type: Mapping[types_pb.ModellingKind, types.ModellingKind]
|
|
26
|
+
# fmt: on
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def modelling_kind_from_pb(
|
|
30
|
+
that: types_pb.ModellingKind
|
|
31
|
+
) -> types.ModellingKind:
|
|
32
|
+
"""
|
|
33
|
+
Parse ``that`` enum back from its Protocol Buffer representation.
|
|
34
|
+
|
|
35
|
+
>>> import aas_core3_protobuf.types_pb2 as types_pb
|
|
36
|
+
>>> from aas_core3_protobuf.pbization import modelling_kind_from_pb
|
|
37
|
+
>>> modelling_kind_from_pb(
|
|
38
|
+
... types_pb.ModellingKind.Modellingkind_TEMPLATE
|
|
39
|
+
... )
|
|
40
|
+
<ModellingKind.TEMPLATE: 'Template'>
|
|
41
|
+
"""
|
|
42
|
+
return _MODELLING_KIND_FROM_PB_MAP[that]
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
def something_from_pb(
|
|
46
|
+
that: types_pb.Something
|
|
47
|
+
) -> types.Something:
|
|
48
|
+
"""
|
|
49
|
+
Parse ``that`` Protocol Buffer to an instance of a concrete class.
|
|
50
|
+
|
|
51
|
+
Example usage:
|
|
52
|
+
|
|
53
|
+
.. code-block::
|
|
54
|
+
|
|
55
|
+
import aas_core3_protobuf.types_pb2 as types_pb
|
|
56
|
+
from aas_core3_protobuf.pbization import something_from_pb
|
|
57
|
+
|
|
58
|
+
some_bytes = b'... serialized types_pb.Something ...'
|
|
59
|
+
something_pb = types_pb.Something()
|
|
60
|
+
something_pb.FromString(
|
|
61
|
+
some_bytes
|
|
62
|
+
)
|
|
63
|
+
|
|
64
|
+
something = something_from_pb(
|
|
65
|
+
something_pb
|
|
66
|
+
)
|
|
67
|
+
# Do something with the something...
|
|
68
|
+
|
|
69
|
+
"""
|
|
70
|
+
return types.Something(
|
|
71
|
+
modelling_kind=modelling_kind_from_pb(
|
|
72
|
+
that.modelling_kind
|
|
73
|
+
),
|
|
74
|
+
optional_modelling_kind=(
|
|
75
|
+
modelling_kind_from_pb(
|
|
76
|
+
that.optional_modelling_kind
|
|
77
|
+
)
|
|
78
|
+
if that.HasField('optional_modelling_kind')
|
|
79
|
+
else None
|
|
80
|
+
)
|
|
81
|
+
)
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
# fmt: off
|
|
85
|
+
_FROM_PB_MAP = {
|
|
86
|
+
types_pb.Something:
|
|
87
|
+
something_from_pb
|
|
88
|
+
}
|
|
89
|
+
# fmt: on
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
def from_pb(
|
|
93
|
+
that: google.protobuf.message.Message
|
|
94
|
+
) -> types.Class:
|
|
95
|
+
"""
|
|
96
|
+
Parse ``that`` Protocol Buffer into a model instance.
|
|
97
|
+
|
|
98
|
+
The concrete parsing is determined based on the runtime type of ``that``
|
|
99
|
+
Protocol Buffer. It is assumed that ``that`` is an instance of a message
|
|
100
|
+
coming from the Protocol Buffer definitions corresponding to the meta-model.
|
|
101
|
+
|
|
102
|
+
Example usage:
|
|
103
|
+
|
|
104
|
+
.. code-block::
|
|
105
|
+
|
|
106
|
+
import aas_core3_protobuf.types_pb2 as types_pb
|
|
107
|
+
from aas_core3_protobuf.pbization import from_pb
|
|
108
|
+
|
|
109
|
+
some_bytes = b'... serialized types_pb.Something ...'
|
|
110
|
+
instance_pb = types_pb.Something()
|
|
111
|
+
instance_pb.FromString(
|
|
112
|
+
some_bytes
|
|
113
|
+
)
|
|
114
|
+
|
|
115
|
+
instance = from_pb(
|
|
116
|
+
instance_pb
|
|
117
|
+
)
|
|
118
|
+
# Do something with the instance...
|
|
119
|
+
"""
|
|
120
|
+
from_pb_func = _FROM_PB_MAP.get(that.__class__, None)
|
|
121
|
+
|
|
122
|
+
if from_pb_func is None:
|
|
123
|
+
raise ValueError(
|
|
124
|
+
f"We do not know how to parse the protocol buffer "
|
|
125
|
+
f"of type {that.__class__} into a model instance."
|
|
126
|
+
)
|
|
127
|
+
|
|
128
|
+
result = from_pb_func(that) # type: ignore
|
|
129
|
+
assert isinstance(result, types.Class)
|
|
130
|
+
return result
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
# endregion From Protocol Buffers
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
# region To Protocol Buffers
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
T = TypeVar("T")
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
class _PartialVisitorWithContext(types.AbstractVisitorWithContext[T]):
|
|
143
|
+
"""
|
|
144
|
+
Visit instances in context with double-dispatch.
|
|
145
|
+
|
|
146
|
+
This class is meant to be inherited from. If you do not override a method,
|
|
147
|
+
it will raise an exception. This is a partial visitor, meaning that some
|
|
148
|
+
visits are unexpected by design.
|
|
149
|
+
"""
|
|
150
|
+
# pylint: disable=missing-docstring
|
|
151
|
+
|
|
152
|
+
def visit_something_with_context(
|
|
153
|
+
self,
|
|
154
|
+
that: types.Something,
|
|
155
|
+
context: T
|
|
156
|
+
) -> None:
|
|
157
|
+
raise AssertionError(f"Unexpected visitation of {that.__class__}")
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
# fmt: off
|
|
161
|
+
_MODELLING_KIND_TO_PB_MAP = {
|
|
162
|
+
types.ModellingKind.TEMPLATE:
|
|
163
|
+
types_pb.ModellingKind.Modellingkind_TEMPLATE,
|
|
164
|
+
types.ModellingKind.INSTANCE:
|
|
165
|
+
types_pb.ModellingKind.Modellingkind_INSTANCE
|
|
166
|
+
} # type: Mapping[types.ModellingKind, types_pb.ModellingKind]
|
|
167
|
+
# fmt: on
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
def modelling_kind_to_pb(
|
|
171
|
+
that: types.ModellingKind
|
|
172
|
+
) -> types_pb.ModellingKind:
|
|
173
|
+
"""
|
|
174
|
+
Convert ``that`` enum to its Protocol Buffer representation.
|
|
175
|
+
|
|
176
|
+
>>> from aas_core3_protobuf.pbization import modelling_kind_to_pb
|
|
177
|
+
>>> import aas_core3.types as types
|
|
178
|
+
>>> modelling_kind_to_pb(
|
|
179
|
+
... types.ModellingKind.TEMPLATE
|
|
180
|
+
... )
|
|
181
|
+
1
|
|
182
|
+
"""
|
|
183
|
+
return _MODELLING_KIND_TO_PB_MAP[that]
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
def something_to_pb(
|
|
187
|
+
that: types.Something,
|
|
188
|
+
target: types_pb.Something
|
|
189
|
+
) -> None:
|
|
190
|
+
"""
|
|
191
|
+
Set fields in ``target`` based on ``that`` instance.
|
|
192
|
+
|
|
193
|
+
Example usage:
|
|
194
|
+
|
|
195
|
+
.. code-block::
|
|
196
|
+
|
|
197
|
+
import aas_core3.types as types
|
|
198
|
+
|
|
199
|
+
import aas_core3_protobuf.types_pb2 as types_pb
|
|
200
|
+
from aas_core3_protobuf.pbization import something_to_pb
|
|
201
|
+
|
|
202
|
+
something = types.Something(
|
|
203
|
+
... # some constructor arguments
|
|
204
|
+
)
|
|
205
|
+
|
|
206
|
+
something_pb = types_pb.Something()
|
|
207
|
+
something_to_pb(
|
|
208
|
+
something,
|
|
209
|
+
something_pb
|
|
210
|
+
)
|
|
211
|
+
|
|
212
|
+
some_bytes = something_pb.SerializeToString()
|
|
213
|
+
# Do something with some_bytes. For example, transfer them
|
|
214
|
+
# over the wire.
|
|
215
|
+
"""
|
|
216
|
+
target.modelling_kind = modelling_kind_to_pb(
|
|
217
|
+
that.modelling_kind
|
|
218
|
+
)
|
|
219
|
+
|
|
220
|
+
if that.optional_modelling_kind is not None:
|
|
221
|
+
target.optional_modelling_kind = modelling_kind_to_pb(
|
|
222
|
+
that.optional_modelling_kind
|
|
223
|
+
)
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
class _ToPbTransformer(
|
|
227
|
+
types.AbstractTransformer[google.protobuf.message.Message]
|
|
228
|
+
):
|
|
229
|
+
"""
|
|
230
|
+
Dispatch to-pb conversion to the concrete functions.
|
|
231
|
+
|
|
232
|
+
The classes with descendants (i.e., subtypes) are always going to be converted
|
|
233
|
+
to their concrete Protocol Buffer instead of the choice (union) Protocol Buffer
|
|
234
|
+
class. We made this decision with the compactness of messages in mind.
|
|
235
|
+
"""
|
|
236
|
+
def transform_something(
|
|
237
|
+
self,
|
|
238
|
+
that: types.Something
|
|
239
|
+
) -> google.protobuf.message.Message:
|
|
240
|
+
"""
|
|
241
|
+
Convert ``that`` instance
|
|
242
|
+
to a :py:class:`types_pb.Something`.
|
|
243
|
+
"""
|
|
244
|
+
result = types_pb.Something()
|
|
245
|
+
something_to_pb(that, result)
|
|
246
|
+
return result
|
|
247
|
+
|
|
248
|
+
|
|
249
|
+
_TO_PB_TRANSFORMER = _ToPbTransformer()
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
def to_pb(
|
|
253
|
+
that: types.Class,
|
|
254
|
+
) -> google.protobuf.message.Message:
|
|
255
|
+
"""
|
|
256
|
+
Dispatch to-pb conversion to the concrete functions.
|
|
257
|
+
|
|
258
|
+
The classes with descendants (i.e., subtypes) are always going to be converted
|
|
259
|
+
to their concrete Protocol Buffer message type instead of the choice (union) type.
|
|
260
|
+
We made this decision with the compactness of messages in mind as choice types
|
|
261
|
+
would occupy a tiny bit more space.
|
|
262
|
+
|
|
263
|
+
Example usage:
|
|
264
|
+
|
|
265
|
+
.. code-block::
|
|
266
|
+
|
|
267
|
+
import aas_core3.types as types
|
|
268
|
+
|
|
269
|
+
from aas_core3_protobuf.pbization import to_pb
|
|
270
|
+
|
|
271
|
+
instance = types.Something(
|
|
272
|
+
... # some constructor arguments
|
|
273
|
+
)
|
|
274
|
+
|
|
275
|
+
instance_pb = to_pb(
|
|
276
|
+
instance
|
|
277
|
+
)
|
|
278
|
+
|
|
279
|
+
some_bytes = instance_pb.SerializeToString()
|
|
280
|
+
# Do something with some_bytes. For example, transfer them
|
|
281
|
+
# over the wire.
|
|
282
|
+
"""
|
|
283
|
+
return _TO_PB_TRANSFORMER.transform(that)
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
# endregion To Protocol Buffers
|
|
287
|
+
|
|
288
|
+
|
|
289
|
+
# Automatically generated with python_protobuf/main.py.
|
|
290
|
+
# Do NOT edit or append.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
class Modelling_kind(Enum):
|
|
2
|
+
Template = "Template"
|
|
3
|
+
Instance = "Instance"
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Something:
|
|
7
|
+
modelling_kind: Modelling_kind
|
|
8
|
+
optional_modelling_kind: Optional[Modelling_kind]
|
|
9
|
+
|
|
10
|
+
def __init__(
|
|
11
|
+
self,
|
|
12
|
+
modelling_kind: Modelling_kind,
|
|
13
|
+
optional_modelling_kind: Optional[Modelling_kind] = None
|
|
14
|
+
) -> None:
|
|
15
|
+
self.modelling_kind = modelling_kind
|
|
16
|
+
self.optional_modelling_kind = optional_modelling_kind
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
__version__ = "V198.4"
|
|
20
|
+
|
|
21
|
+
__xml_namespace__ = "https://dummy/198/4"
|
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
# Automatically generated with python_protobuf/main.py.
|
|
2
|
+
# Do NOT edit or append.
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
"""Convert instances from and to Protocol Buffers."""
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
from typing import Mapping, TypeVar
|
|
9
|
+
|
|
10
|
+
import google.protobuf.message
|
|
11
|
+
|
|
12
|
+
from aas_core3 import types
|
|
13
|
+
import aas_core3_protobuf.types_pb2 as types_pb
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
# region From Protocol Buffers
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def item_from_pb(
|
|
20
|
+
that: types_pb.Item
|
|
21
|
+
) -> types.Item:
|
|
22
|
+
"""
|
|
23
|
+
Parse ``that`` Protocol Buffer to an instance of a concrete class.
|
|
24
|
+
|
|
25
|
+
Example usage:
|
|
26
|
+
|
|
27
|
+
.. code-block::
|
|
28
|
+
|
|
29
|
+
import aas_core3_protobuf.types_pb2 as types_pb
|
|
30
|
+
from aas_core3_protobuf.pbization import item_from_pb
|
|
31
|
+
|
|
32
|
+
some_bytes = b'... serialized types_pb.Item ...'
|
|
33
|
+
item_pb = types_pb.Item()
|
|
34
|
+
item_pb.FromString(
|
|
35
|
+
some_bytes
|
|
36
|
+
)
|
|
37
|
+
|
|
38
|
+
item = item_from_pb(
|
|
39
|
+
item_pb
|
|
40
|
+
)
|
|
41
|
+
# Do something with the item...
|
|
42
|
+
|
|
43
|
+
"""
|
|
44
|
+
return types.Item(
|
|
45
|
+
some_str=that.some_str
|
|
46
|
+
)
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
def something_from_pb(
|
|
50
|
+
that: types_pb.Something
|
|
51
|
+
) -> types.Something:
|
|
52
|
+
"""
|
|
53
|
+
Parse ``that`` Protocol Buffer to an instance of a concrete class.
|
|
54
|
+
|
|
55
|
+
Example usage:
|
|
56
|
+
|
|
57
|
+
.. code-block::
|
|
58
|
+
|
|
59
|
+
import aas_core3_protobuf.types_pb2 as types_pb
|
|
60
|
+
from aas_core3_protobuf.pbization import something_from_pb
|
|
61
|
+
|
|
62
|
+
some_bytes = b'... serialized types_pb.Something ...'
|
|
63
|
+
something_pb = types_pb.Something()
|
|
64
|
+
something_pb.FromString(
|
|
65
|
+
some_bytes
|
|
66
|
+
)
|
|
67
|
+
|
|
68
|
+
something = something_from_pb(
|
|
69
|
+
something_pb
|
|
70
|
+
)
|
|
71
|
+
# Do something with the something...
|
|
72
|
+
|
|
73
|
+
"""
|
|
74
|
+
return types.Something(
|
|
75
|
+
items=list(map(
|
|
76
|
+
item_from_pb,
|
|
77
|
+
that.items
|
|
78
|
+
)),
|
|
79
|
+
optional_items=(
|
|
80
|
+
list(map(
|
|
81
|
+
item_from_pb,
|
|
82
|
+
that.optional_items
|
|
83
|
+
))
|
|
84
|
+
if len(that.optional_items) > 0
|
|
85
|
+
else None
|
|
86
|
+
)
|
|
87
|
+
)
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
# fmt: off
|
|
91
|
+
_FROM_PB_MAP = {
|
|
92
|
+
types_pb.Item:
|
|
93
|
+
item_from_pb,
|
|
94
|
+
types_pb.Something:
|
|
95
|
+
something_from_pb
|
|
96
|
+
}
|
|
97
|
+
# fmt: on
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
def from_pb(
|
|
101
|
+
that: google.protobuf.message.Message
|
|
102
|
+
) -> types.Class:
|
|
103
|
+
"""
|
|
104
|
+
Parse ``that`` Protocol Buffer into a model instance.
|
|
105
|
+
|
|
106
|
+
The concrete parsing is determined based on the runtime type of ``that``
|
|
107
|
+
Protocol Buffer. It is assumed that ``that`` is an instance of a message
|
|
108
|
+
coming from the Protocol Buffer definitions corresponding to the meta-model.
|
|
109
|
+
|
|
110
|
+
Example usage:
|
|
111
|
+
|
|
112
|
+
.. code-block::
|
|
113
|
+
|
|
114
|
+
import aas_core3_protobuf.types_pb2 as types_pb
|
|
115
|
+
from aas_core3_protobuf.pbization import from_pb
|
|
116
|
+
|
|
117
|
+
some_bytes = b'... serialized types_pb.Item ...'
|
|
118
|
+
instance_pb = types_pb.Item()
|
|
119
|
+
instance_pb.FromString(
|
|
120
|
+
some_bytes
|
|
121
|
+
)
|
|
122
|
+
|
|
123
|
+
instance = from_pb(
|
|
124
|
+
instance_pb
|
|
125
|
+
)
|
|
126
|
+
# Do something with the instance...
|
|
127
|
+
"""
|
|
128
|
+
from_pb_func = _FROM_PB_MAP.get(that.__class__, None)
|
|
129
|
+
|
|
130
|
+
if from_pb_func is None:
|
|
131
|
+
raise ValueError(
|
|
132
|
+
f"We do not know how to parse the protocol buffer "
|
|
133
|
+
f"of type {that.__class__} into a model instance."
|
|
134
|
+
)
|
|
135
|
+
|
|
136
|
+
result = from_pb_func(that) # type: ignore
|
|
137
|
+
assert isinstance(result, types.Class)
|
|
138
|
+
return result
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
# endregion From Protocol Buffers
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
# region To Protocol Buffers
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
T = TypeVar("T")
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
class _PartialVisitorWithContext(types.AbstractVisitorWithContext[T]):
|
|
151
|
+
"""
|
|
152
|
+
Visit instances in context with double-dispatch.
|
|
153
|
+
|
|
154
|
+
This class is meant to be inherited from. If you do not override a method,
|
|
155
|
+
it will raise an exception. This is a partial visitor, meaning that some
|
|
156
|
+
visits are unexpected by design.
|
|
157
|
+
"""
|
|
158
|
+
# pylint: disable=missing-docstring
|
|
159
|
+
|
|
160
|
+
def visit_item_with_context(
|
|
161
|
+
self,
|
|
162
|
+
that: types.Item,
|
|
163
|
+
context: T
|
|
164
|
+
) -> None:
|
|
165
|
+
raise AssertionError(f"Unexpected visitation of {that.__class__}")
|
|
166
|
+
|
|
167
|
+
def visit_something_with_context(
|
|
168
|
+
self,
|
|
169
|
+
that: types.Something,
|
|
170
|
+
context: T
|
|
171
|
+
) -> None:
|
|
172
|
+
raise AssertionError(f"Unexpected visitation of {that.__class__}")
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
def item_to_pb(
|
|
176
|
+
that: types.Item,
|
|
177
|
+
target: types_pb.Item
|
|
178
|
+
) -> None:
|
|
179
|
+
"""
|
|
180
|
+
Set fields in ``target`` based on ``that`` instance.
|
|
181
|
+
|
|
182
|
+
Example usage:
|
|
183
|
+
|
|
184
|
+
.. code-block::
|
|
185
|
+
|
|
186
|
+
import aas_core3.types as types
|
|
187
|
+
|
|
188
|
+
import aas_core3_protobuf.types_pb2 as types_pb
|
|
189
|
+
from aas_core3_protobuf.pbization import item_to_pb
|
|
190
|
+
|
|
191
|
+
item = types.Item(
|
|
192
|
+
... # some constructor arguments
|
|
193
|
+
)
|
|
194
|
+
|
|
195
|
+
item_pb = types_pb.Item()
|
|
196
|
+
item_to_pb(
|
|
197
|
+
item,
|
|
198
|
+
item_pb
|
|
199
|
+
)
|
|
200
|
+
|
|
201
|
+
some_bytes = item_pb.SerializeToString()
|
|
202
|
+
# Do something with some_bytes. For example, transfer them
|
|
203
|
+
# over the wire.
|
|
204
|
+
"""
|
|
205
|
+
target.some_str = that.some_str
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
def something_to_pb(
|
|
209
|
+
that: types.Something,
|
|
210
|
+
target: types_pb.Something
|
|
211
|
+
) -> None:
|
|
212
|
+
"""
|
|
213
|
+
Set fields in ``target`` based on ``that`` instance.
|
|
214
|
+
|
|
215
|
+
Example usage:
|
|
216
|
+
|
|
217
|
+
.. code-block::
|
|
218
|
+
|
|
219
|
+
import aas_core3.types as types
|
|
220
|
+
|
|
221
|
+
import aas_core3_protobuf.types_pb2 as types_pb
|
|
222
|
+
from aas_core3_protobuf.pbization import something_to_pb
|
|
223
|
+
|
|
224
|
+
something = types.Something(
|
|
225
|
+
... # some constructor arguments
|
|
226
|
+
)
|
|
227
|
+
|
|
228
|
+
something_pb = types_pb.Something()
|
|
229
|
+
something_to_pb(
|
|
230
|
+
something,
|
|
231
|
+
something_pb
|
|
232
|
+
)
|
|
233
|
+
|
|
234
|
+
some_bytes = something_pb.SerializeToString()
|
|
235
|
+
# Do something with some_bytes. For example, transfer them
|
|
236
|
+
# over the wire.
|
|
237
|
+
"""
|
|
238
|
+
for items_item in that.items:
|
|
239
|
+
items_item_pb = target.items.add()
|
|
240
|
+
item_to_pb(
|
|
241
|
+
items_item,
|
|
242
|
+
items_item_pb)
|
|
243
|
+
|
|
244
|
+
if that.optional_items is not None:
|
|
245
|
+
for optional_items_item in that.optional_items:
|
|
246
|
+
optional_items_item_pb = target.optional_items.add()
|
|
247
|
+
item_to_pb(
|
|
248
|
+
optional_items_item,
|
|
249
|
+
optional_items_item_pb)
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
class _ToPbTransformer(
|
|
253
|
+
types.AbstractTransformer[google.protobuf.message.Message]
|
|
254
|
+
):
|
|
255
|
+
"""
|
|
256
|
+
Dispatch to-pb conversion to the concrete functions.
|
|
257
|
+
|
|
258
|
+
The classes with descendants (i.e., subtypes) are always going to be converted
|
|
259
|
+
to their concrete Protocol Buffer instead of the choice (union) Protocol Buffer
|
|
260
|
+
class. We made this decision with the compactness of messages in mind.
|
|
261
|
+
"""
|
|
262
|
+
def transform_item(
|
|
263
|
+
self,
|
|
264
|
+
that: types.Item
|
|
265
|
+
) -> google.protobuf.message.Message:
|
|
266
|
+
"""
|
|
267
|
+
Convert ``that`` instance
|
|
268
|
+
to a :py:class:`types_pb.Item`.
|
|
269
|
+
"""
|
|
270
|
+
result = types_pb.Item()
|
|
271
|
+
item_to_pb(that, result)
|
|
272
|
+
return result
|
|
273
|
+
|
|
274
|
+
def transform_something(
|
|
275
|
+
self,
|
|
276
|
+
that: types.Something
|
|
277
|
+
) -> google.protobuf.message.Message:
|
|
278
|
+
"""
|
|
279
|
+
Convert ``that`` instance
|
|
280
|
+
to a :py:class:`types_pb.Something`.
|
|
281
|
+
"""
|
|
282
|
+
result = types_pb.Something()
|
|
283
|
+
something_to_pb(that, result)
|
|
284
|
+
return result
|
|
285
|
+
|
|
286
|
+
|
|
287
|
+
_TO_PB_TRANSFORMER = _ToPbTransformer()
|
|
288
|
+
|
|
289
|
+
|
|
290
|
+
def to_pb(
|
|
291
|
+
that: types.Class,
|
|
292
|
+
) -> google.protobuf.message.Message:
|
|
293
|
+
"""
|
|
294
|
+
Dispatch to-pb conversion to the concrete functions.
|
|
295
|
+
|
|
296
|
+
The classes with descendants (i.e., subtypes) are always going to be converted
|
|
297
|
+
to their concrete Protocol Buffer message type instead of the choice (union) type.
|
|
298
|
+
We made this decision with the compactness of messages in mind as choice types
|
|
299
|
+
would occupy a tiny bit more space.
|
|
300
|
+
|
|
301
|
+
Example usage:
|
|
302
|
+
|
|
303
|
+
.. code-block::
|
|
304
|
+
|
|
305
|
+
import aas_core3.types as types
|
|
306
|
+
|
|
307
|
+
from aas_core3_protobuf.pbization import to_pb
|
|
308
|
+
|
|
309
|
+
instance = types.Item(
|
|
310
|
+
... # some constructor arguments
|
|
311
|
+
)
|
|
312
|
+
|
|
313
|
+
instance_pb = to_pb(
|
|
314
|
+
instance
|
|
315
|
+
)
|
|
316
|
+
|
|
317
|
+
some_bytes = instance_pb.SerializeToString()
|
|
318
|
+
# Do something with some_bytes. For example, transfer them
|
|
319
|
+
# over the wire.
|
|
320
|
+
"""
|
|
321
|
+
return _TO_PB_TRANSFORMER.transform(that)
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
# endregion To Protocol Buffers
|
|
325
|
+
|
|
326
|
+
|
|
327
|
+
# Automatically generated with python_protobuf/main.py.
|
|
328
|
+
# Do NOT edit or append.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
class Item:
|
|
2
|
+
some_str: str
|
|
3
|
+
|
|
4
|
+
def __init__(self, some_str: str) -> None:
|
|
5
|
+
self.some_str = some_str
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class Something:
|
|
9
|
+
items: List[Item]
|
|
10
|
+
optional_items: Optional[List[Item]]
|
|
11
|
+
|
|
12
|
+
def __init__(
|
|
13
|
+
self,
|
|
14
|
+
items: List[Item],
|
|
15
|
+
optional_items: Optional[List[Item]] = None
|
|
16
|
+
) -> None:
|
|
17
|
+
self.items = items
|
|
18
|
+
self.optional_items = optional_items
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
__version__ = "V198.4"
|
|
22
|
+
|
|
23
|
+
__xml_namespace__ = "https://dummy/198/4"
|