aas-core-codegen 0.0.24__tar.gz → 0.0.26__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.
Files changed (282) hide show
  1. {aas_core_codegen-0.0.24/aas_core_codegen.egg-info → aas_core_codegen-0.0.26}/PKG-INFO +2 -3
  2. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/__init__.py +1 -1
  3. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/cpp/common.py +26 -5
  4. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/cpp/lib/_generate_constants.py +2 -2
  5. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/cpp/lib/_generate_enhancing.py +61 -23
  6. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/cpp/lib/_generate_iteration.py +48 -19
  7. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/cpp/lib/_generate_jsonization.py +567 -225
  8. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/cpp/lib/_generate_verification.py +166 -91
  9. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/cpp/lib/_generate_visitation.py +34 -17
  10. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/cpp/lib/_generate_xmlization.py +990 -410
  11. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/csharp/lib/_generate_copying.py +115 -22
  12. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/csharp/lib/_generate_enhancing.py +37 -21
  13. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/csharp/lib/_generate_jsonization.py +6 -4
  14. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/csharp/lib/_generate_xmlization.py +453 -43
  15. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/csharp/tests/_generate_test_copying.py +63 -15
  16. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/csharp/transpilation.py +14 -5
  17. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/golang/lib/_generate_enhancing.py +46 -16
  18. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/golang/lib/_generate_jsonization.py +8 -19
  19. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/golang/lib/_generate_types.py +37 -19
  20. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/golang/lib/_generate_verification.py +184 -99
  21. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/golang/lib/_generate_xmlization.py +433 -222
  22. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/golang/tests/_generate_aastesting_deep_equal.py +66 -12
  23. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/golang/tests/_generate_verification_test.py +109 -0
  24. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/intermediate/__init__.py +1 -0
  25. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/intermediate/_translate.py +2 -2
  26. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/intermediate/_types.py +15 -2
  27. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/intermediate/type_inference.py +40 -0
  28. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/parse/_translate.py +11 -3
  29. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/parse/_types.py +2 -2
  30. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/parse/retree/_types.py +1 -1
  31. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/python/lib/_generate_verification.py +58 -14
  32. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/python/lib/_generate_xmlization.py +129 -70
  33. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/python/main.py +10 -0
  34. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/python/tests/__init__.py +2 -0
  35. aas_core_codegen-0.0.26/aas_core_codegen/python/tests/_generate_test_verification.py +191 -0
  36. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/typescript/lib/_generate_jsonization.py +56 -11
  37. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/typescript/lib/_generate_verification.py +46 -10
  38. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/typescript/main.py +43 -0
  39. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/typescript/tests/__init__.py +10 -0
  40. aas_core_codegen-0.0.26/aas_core_codegen/typescript/tests/_generate_jsonization_common_spec.py +74 -0
  41. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/typescript/tests/_generate_jsonization_enums_spec.py +10 -10
  42. aas_core_codegen-0.0.26/aas_core_codegen/typescript/tests/_generate_jsonization_negative_spec.py +316 -0
  43. aas_core_codegen-0.0.26/aas_core_codegen/typescript/tests/_generate_stringification_enums_spec.py +121 -0
  44. aas_core_codegen-0.0.26/aas_core_codegen/typescript/tests/_generate_verification_spec.py +122 -0
  45. aas_core_codegen-0.0.26/aas_core_codegen/typescript/tests/_generate_xmlization_basic_spec.py +95 -0
  46. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/typescript/tests/_generate_xmlization_enums_spec.py +40 -7
  47. aas_core_codegen-0.0.26/aas_core_codegen/typescript/tests/_generate_xmlization_negative_spec.py +411 -0
  48. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/typescript/transpilation.py +7 -13
  49. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/xsd/main.py +52 -53
  50. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26/aas_core_codegen.egg-info}/PKG-INFO +2 -3
  51. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen.egg-info/SOURCES.txt +6 -0
  52. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/pyproject.toml +2 -3
  53. aas_core_codegen-0.0.24/aas_core_codegen/typescript/tests/_generate_xmlization_negative_spec.py +0 -325
  54. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/AUTHORS +0 -0
  55. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/LICENSE +0 -0
  56. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/README.rst +0 -0
  57. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/__main__.py +0 -0
  58. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/common.py +0 -0
  59. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/cpp/__init__.py +0 -0
  60. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/cpp/description.py +0 -0
  61. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/cpp/lib/__init__.py +0 -0
  62. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/cpp/lib/_generate_common.py +0 -0
  63. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/cpp/lib/_generate_pattern.py +0 -0
  64. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/cpp/lib/_generate_revm.py +0 -0
  65. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/cpp/lib/_generate_stringification.py +0 -0
  66. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/cpp/lib/_generate_types.py +0 -0
  67. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/cpp/lib/_generate_wstringification.py +0 -0
  68. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/cpp/main.py +0 -0
  69. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/cpp/naming.py +0 -0
  70. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/cpp/optionaling.py +0 -0
  71. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/cpp/tests/__init__.py +0 -0
  72. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/cpp/tests/_generate_common.py +0 -0
  73. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/cpp/tests/_generate_common_examples.py +0 -0
  74. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/cpp/tests/_generate_common_jsonization.py +0 -0
  75. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/cpp/tests/_generate_common_xmlization.py +0 -0
  76. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/cpp/tests/_generate_test_descent_and_descent_once.py +0 -0
  77. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/cpp/tests/_generate_test_jsonization_dispatch.py +0 -0
  78. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/cpp/tests/_generate_test_jsonization_of_concrete_classes.py +0 -0
  79. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/cpp/tests/_generate_test_revm.py +0 -0
  80. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/cpp/tests/_generate_test_stringification_base64.py +0 -0
  81. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/cpp/tests/_generate_test_stringification_of_enums.py +0 -0
  82. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/cpp/tests/_generate_test_verification.py +0 -0
  83. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/cpp/tests/_generate_test_wstringification_of_enums.py +0 -0
  84. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/cpp/tests/_generate_test_x_or_default.py +0 -0
  85. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/cpp/tests/_generate_test_xmlization_dispatch.py +0 -0
  86. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/cpp/tests/_generate_test_xmlization_of_concrete_classes.py +0 -0
  87. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/cpp/transpilation.py +0 -0
  88. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/cpp/unrolling.py +0 -0
  89. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/cpp/yielding.py +0 -0
  90. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/csharp/__init__.py +0 -0
  91. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/csharp/common.py +0 -0
  92. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/csharp/description.py +0 -0
  93. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/csharp/lib/__init__.py +0 -0
  94. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/csharp/lib/_generate_constants.py +0 -0
  95. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/csharp/lib/_generate_reporting.py +0 -0
  96. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/csharp/lib/_generate_stringification.py +0 -0
  97. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/csharp/lib/_generate_types.py +0 -0
  98. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/csharp/lib/_generate_verification.py +0 -0
  99. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/csharp/lib/_generate_visitation.py +0 -0
  100. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/csharp/main.py +0 -0
  101. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/csharp/naming.py +0 -0
  102. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/csharp/tests/__init__.py +0 -0
  103. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/csharp/tests/_generate_common.py +0 -0
  104. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/csharp/tests/_generate_common_json.py +0 -0
  105. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/csharp/tests/_generate_common_jsonization.py +0 -0
  106. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/csharp/tests/_generate_test_descend_and_visitor_through.py +0 -0
  107. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/csharp/tests/_generate_test_descend_once.py +0 -0
  108. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/csharp/tests/_generate_test_enhancing.py +0 -0
  109. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/csharp/tests/_generate_test_jsonization_of_concrete_classes.py +0 -0
  110. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/csharp/tests/_generate_test_jsonization_of_enums.py +0 -0
  111. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/csharp/tests/_generate_test_jsonization_of_interfaces.py +0 -0
  112. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/csharp/tests/_generate_test_over_x_or_empty.py +0 -0
  113. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/csharp/tests/_generate_test_verification_of_enums.py +0 -0
  114. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/csharp/tests/_generate_test_x_or_default.py +0 -0
  115. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/csharp/tests/_generate_test_xmlization_errors.py +0 -0
  116. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/csharp/tests/_generate_test_xmlization_of_concrete_classes.py +0 -0
  117. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/csharp/tests/_generate_test_xmlization_of_interfaces.py +0 -0
  118. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/csharp/unrolling.py +0 -0
  119. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/golang/__init__.py +0 -0
  120. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/golang/common.py +0 -0
  121. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/golang/description.py +0 -0
  122. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/golang/lib/__init__.py +0 -0
  123. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/golang/lib/_generate_common.py +0 -0
  124. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/golang/lib/_generate_constants.py +0 -0
  125. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/golang/lib/_generate_reporting.py +0 -0
  126. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/golang/lib/_generate_stringification.py +0 -0
  127. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/golang/main.py +0 -0
  128. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/golang/naming.py +0 -0
  129. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/golang/pointering.py +0 -0
  130. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/golang/tests/__init__.py +0 -0
  131. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/golang/tests/_generate_aastesting_common_jsonization.py +0 -0
  132. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/golang/tests/_generate_aastesting_constants.py +0 -0
  133. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/golang/tests/_generate_aastesting_doc.py +0 -0
  134. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/golang/tests/_generate_aastesting_filesystem.py +0 -0
  135. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/golang/tests/_generate_aastesting_tracing.py +0 -0
  136. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/golang/tests/_generate_descend_test_common.py +0 -0
  137. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/golang/tests/_generate_descend_test_descend_once_test.py +0 -0
  138. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/golang/tests/_generate_descend_test_descend_test.py +0 -0
  139. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/golang/tests/_generate_enhancing_test.py +0 -0
  140. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/golang/tests/_generate_is_xxx_test.py +0 -0
  141. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/golang/tests/_generate_jsonization_test_classes_with_descendants_test.py +0 -0
  142. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/golang/tests/_generate_jsonization_test_common_test.py +0 -0
  143. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/golang/tests/_generate_jsonization_test_concrete_classes_test.py +0 -0
  144. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/golang/tests/_generate_jsonization_test_enums_test.py +0 -0
  145. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/golang/tests/_generate_xmlization_test_common_test.py +0 -0
  146. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/golang/tests/_generate_xmlization_test_concrete_classes_test.py +0 -0
  147. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/golang/tests/_generate_xxx_or_default_test.py +0 -0
  148. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/golang/transpilation.py +0 -0
  149. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/golang/unrolling.py +0 -0
  150. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/infer_for_schema/__init__.py +0 -0
  151. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/infer_for_schema/_inline.py +0 -0
  152. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/infer_for_schema/_len.py +0 -0
  153. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/infer_for_schema/_pattern.py +0 -0
  154. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/infer_for_schema/_set.py +0 -0
  155. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/infer_for_schema/_stringify.py +0 -0
  156. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/infer_for_schema/_types.py +0 -0
  157. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/infer_for_schema/match.py +0 -0
  158. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/intermediate/_hierarchy.py +0 -0
  159. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/intermediate/_stringify.py +0 -0
  160. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/intermediate/construction.py +0 -0
  161. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/intermediate/doc.py +0 -0
  162. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/intermediate/pattern_verification.py +0 -0
  163. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/intermediate/revm.py +0 -0
  164. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/java/__init__.py +0 -0
  165. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/java/common.py +0 -0
  166. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/java/description.py +0 -0
  167. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/java/lib/__init__.py +0 -0
  168. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/java/lib/_generate_constants.py +0 -0
  169. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/java/lib/_generate_copying.py +0 -0
  170. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/java/lib/_generate_enhancing.py +0 -0
  171. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/java/lib/_generate_generation.py +0 -0
  172. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/java/lib/_generate_jsonization.py +0 -0
  173. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/java/lib/_generate_reporting.py +0 -0
  174. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/java/lib/_generate_stringification.py +0 -0
  175. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/java/lib/_generate_types.py +0 -0
  176. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/java/lib/_generate_verification.py +0 -0
  177. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/java/lib/_generate_visitation.py +0 -0
  178. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/java/lib/_generate_xmlization.py +0 -0
  179. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/java/main.py +0 -0
  180. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/java/naming.py +0 -0
  181. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/java/optional.py +0 -0
  182. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/java/tests/__init__.py +0 -0
  183. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/java/tests/_generate_common.py +0 -0
  184. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/java/tests/_generate_common_json.py +0 -0
  185. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/java/tests/_generate_common_jsonization.py +0 -0
  186. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/java/tests/_generate_test_copying.py +0 -0
  187. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/java/tests/_generate_test_descend_and_visitor_through.py +0 -0
  188. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/java/tests/_generate_test_descend_once.py +0 -0
  189. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/java/tests/_generate_test_enhancing.py +0 -0
  190. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/java/tests/_generate_test_jsonization_of_concrete_classes.py +0 -0
  191. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/java/tests/_generate_test_jsonization_of_enums.py +0 -0
  192. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/java/tests/_generate_test_jsonization_of_interfaces.py +0 -0
  193. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/java/tests/_generate_test_over_x_or_empty.py +0 -0
  194. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/java/tests/_generate_test_verification_of_enums.py +0 -0
  195. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/java/tests/_generate_test_x_or_default.py +0 -0
  196. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/java/tests/_generate_test_xmlization_of_concrete_classes.py +0 -0
  197. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/java/tests/_generate_test_xmlization_of_interfaces.py +0 -0
  198. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/java/transpilation.py +0 -0
  199. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/jsonschema/__init__.py +0 -0
  200. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/jsonschema/main.py +0 -0
  201. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/main.py +0 -0
  202. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/naming.py +0 -0
  203. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/parse/__init__.py +0 -0
  204. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/parse/_rules.py +0 -0
  205. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/parse/_stringify.py +0 -0
  206. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/parse/retree/__init__.py +0 -0
  207. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/parse/retree/_fix.py +0 -0
  208. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/parse/retree/_parse.py +0 -0
  209. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/parse/retree/_render.py +0 -0
  210. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/parse/retree/_stringify.py +0 -0
  211. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/parse/retree/_visitor.py +0 -0
  212. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/parse/tree.py +0 -0
  213. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/py.typed +0 -0
  214. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/python/__init__.py +0 -0
  215. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/python/common.py +0 -0
  216. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/python/description.py +0 -0
  217. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/python/lib/__init__.py +0 -0
  218. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/python/lib/_generate_common.py +0 -0
  219. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/python/lib/_generate_constants.py +0 -0
  220. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/python/lib/_generate_jsonization.py +0 -0
  221. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/python/lib/_generate_stringification.py +0 -0
  222. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/python/lib/_generate_types.py +0 -0
  223. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/python/naming.py +0 -0
  224. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/python/tests/_generate_common.py +0 -0
  225. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/python/tests/_generate_common_jsonization.py +0 -0
  226. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/python/tests/_generate_common_xmlization.py +0 -0
  227. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/python/tests/_generate_test_descend_and_pass_through_visitor.py +0 -0
  228. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/python/tests/_generate_test_descend_once.py +0 -0
  229. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/python/tests/_generate_test_for_over_x_or_empty.py +0 -0
  230. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/python/tests/_generate_test_for_x_or_default.py +0 -0
  231. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/python/tests/_generate_test_jsonization_of_classes_with_descendants.py +0 -0
  232. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/python/tests/_generate_test_jsonization_of_concrete_classes.py +0 -0
  233. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/python/tests/_generate_test_jsonization_of_enums.py +0 -0
  234. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/python/tests/_generate_test_xmlization_of_classes_with_descendants.py +0 -0
  235. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/python/tests/_generate_test_xmlization_of_concrete_classes.py +0 -0
  236. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/python/transpilation.py +0 -0
  237. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/python/unrolling.py +0 -0
  238. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/run.py +0 -0
  239. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/smoke/__init__.py +0 -0
  240. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/smoke/main.py +0 -0
  241. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/specific_implementations.py +0 -0
  242. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/stringify.py +0 -0
  243. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/typescript/__init__.py +0 -0
  244. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/typescript/common.py +0 -0
  245. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/typescript/description.py +0 -0
  246. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/typescript/lib/__init__.py +0 -0
  247. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/typescript/lib/_generate_common.py +0 -0
  248. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/typescript/lib/_generate_constants.py +0 -0
  249. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/typescript/lib/_generate_index.py +0 -0
  250. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/typescript/lib/_generate_stringification.py +0 -0
  251. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/typescript/lib/_generate_types.py +0 -0
  252. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/typescript/lib/_generate_xmlization.py +0 -0
  253. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/typescript/naming.py +0 -0
  254. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/typescript/tests/_generate_common.py +0 -0
  255. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/typescript/tests/_generate_common_base64_spec.py +0 -0
  256. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/typescript/tests/_generate_common_base64url_spec.py +0 -0
  257. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/typescript/tests/_generate_common_jsonization.py +0 -0
  258. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/typescript/tests/_generate_common_xmlization.py +0 -0
  259. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/typescript/tests/_generate_jsonization_concrete_classes_spec.py +0 -0
  260. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/typescript/tests/_generate_jsonization_interfaces_spec.py +0 -0
  261. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/typescript/tests/_generate_types_casts_spec.py +0 -0
  262. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/typescript/tests/_generate_types_descend_and_pass_through_visitor_spec.py +0 -0
  263. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/typescript/tests/_generate_types_descend_once_spec.py +0 -0
  264. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/typescript/tests/_generate_types_model_type_spec.py +0 -0
  265. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/typescript/tests/_generate_types_over_enum_spec.py +0 -0
  266. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/typescript/tests/_generate_types_over_x_or_empty_spec.py +0 -0
  267. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/typescript/tests/_generate_types_type_matches_spec.py +0 -0
  268. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/typescript/tests/_generate_types_x_or_default_spec.py +0 -0
  269. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/typescript/tests/_generate_xmlization_common_spec.py +0 -0
  270. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/typescript/tests/_generate_xmlization_concrete_classes_spec.py +0 -0
  271. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/typescript/tests/_generate_xmlization_interfaces_spec.py +0 -0
  272. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/typescript/unrolling.py +0 -0
  273. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/xsd/__init__.py +0 -0
  274. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/xsd/naming.py +0 -0
  275. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/yielding/__init__.py +0 -0
  276. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/yielding/flow.py +0 -0
  277. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen/yielding/linear.py +0 -0
  278. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen.egg-info/dependency_links.txt +0 -0
  279. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen.egg-info/entry_points.txt +0 -0
  280. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen.egg-info/requires.txt +0 -0
  281. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/aas_core_codegen.egg-info/top_level.txt +0 -0
  282. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.26}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aas-core-codegen
3
- Version: 0.0.24
3
+ Version: 0.0.26
4
4
  Summary: Generate implementations and schemas based on an AAS meta-model.
5
5
  Author-email: Marko Ristin <marko@ristin.ch>, Nico Braunisch <nico.braunisch@tu-dresden.de>
6
6
  License: MIT
@@ -8,11 +8,10 @@ Project-URL: Homepage, https://github.com/aas-core-works/aas-core-codegen
8
8
  Keywords: asset administration shell,code generation,industry 4.0,industrie 4.0,i4.0
9
9
  Classifier: Development Status :: 5 - Production/Stable
10
10
  Classifier: License :: OSI Approved :: MIT License
11
- Classifier: Programming Language :: Python :: 3.9
12
11
  Classifier: Programming Language :: Python :: 3.10
13
12
  Classifier: Programming Language :: Python :: 3.11
14
13
  Classifier: Programming Language :: Python :: 3.12
15
- Requires-Python: >=3.9
14
+ Requires-Python: >=3.10
16
15
  Description-Content-Type: text/x-rst
17
16
  License-File: LICENSE
18
17
  License-File: AUTHORS
@@ -1,6 +1,6 @@
1
1
  """Generate implementations and schemas based on an AAS meta-model."""
2
2
 
3
- __version__ = "0.0.24"
3
+ __version__ = "0.0.26"
4
4
  __author__ = "Marko Ristin, Nico Braunisch"
5
5
  __license__ = "License :: OSI Approved :: MIT License"
6
6
  __status__ = "Production/Stable"
@@ -492,12 +492,33 @@ def is_referencable(type_annotation: intermediate.TypeAnnotationUnion) -> bool:
492
492
  if primitive_type is not None:
493
493
  return primitive_type_is_referencable(primitive_type)
494
494
 
495
- if isinstance(type_annotation, intermediate.OurTypeAnnotation) and isinstance(
496
- type_annotation.our_type, intermediate.Enumeration
497
- ):
498
- return False
495
+ else:
496
+ if isinstance(type_annotation, intermediate.PrimitiveTypeAnnotation):
497
+ raise AssertionError("Expected to handle this case before")
498
+
499
+ elif isinstance(type_annotation, intermediate.OurTypeAnnotation):
500
+ if isinstance(type_annotation.our_type, intermediate.Enumeration):
501
+ return False
502
+
503
+ elif isinstance(
504
+ type_annotation.our_type, intermediate.ConstrainedPrimitive
505
+ ):
506
+ raise AssertionError("Expected to handle this case before")
507
+
508
+ elif isinstance(
509
+ type_annotation.our_type,
510
+ (intermediate.AbstractClass, intermediate.ConcreteClass),
511
+ ):
512
+ return True
499
513
 
500
- return True
514
+ else:
515
+ assert_never(type_annotation.our_type)
516
+
517
+ elif isinstance(type_annotation, intermediate.ListTypeAnnotation):
518
+ return True
519
+
520
+ else:
521
+ assert_never(type_annotation)
501
522
 
502
523
 
503
524
  def generate_type_with_const_ref_if_applicable(
@@ -147,7 +147,7 @@ const std::wstring {constant_name} = (
147
147
  )
148
148
 
149
149
  elif constant.a_type is intermediate.PrimitiveType.BYTEARRAY:
150
- assert isinstance(constant.value, bytearray)
150
+ assert isinstance(constant.value, bytes)
151
151
 
152
152
  literal, _ = cpp_common.bytes_literal(value=constant.value)
153
153
 
@@ -275,7 +275,7 @@ std::unordered_set<
275
275
  )
276
276
 
277
277
  for literal in constant.literals:
278
- assert isinstance(literal.value, bytearray)
278
+ assert isinstance(literal.value, bytes)
279
279
  literal_code, _ = cpp_common.bytes_literal(literal.value)
280
280
  literal_codes.append(literal_code)
281
281
 
@@ -379,32 +379,47 @@ that->{setter_name}(
379
379
  else:
380
380
  # noinspection PyTypeChecker
381
381
  assert_never(type_anno.our_type)
382
+
382
383
  elif isinstance(type_anno, intermediate.ListTypeAnnotation):
383
- assert isinstance(
384
- type_anno.items, intermediate.OurTypeAnnotation
385
- ) and isinstance(
386
- type_anno.items.our_type,
387
- (intermediate.AbstractClass, intermediate.ConcreteClass),
388
- ), (
389
- f"NOTE (mristin): We expect only lists of classes "
390
- f"at the moment, but you specified {type_anno}. "
391
- f"Please contact the developers if you need this feature."
392
- )
384
+ if isinstance(type_anno.items, intermediate.PrimitiveTypeAnnotation):
385
+ # Nothing to recurse into.
386
+ return Stripped("")
393
387
 
394
- getter_name = cpp_naming.getter_name(prop.name)
395
- const_ref_prop_type = cpp_common.generate_type_with_const_ref_if_applicable(
396
- type_annotation=type_anno, types_namespace=Identifier("types")
397
- )
398
- prop_type = cpp_common.generate_type(
399
- type_annotation=type_anno, types_namespace=cpp_common.TYPES_NAMESPACE
400
- )
388
+ elif isinstance(type_anno.items, intermediate.OurTypeAnnotation):
389
+ if isinstance(type_anno.items.our_type, intermediate.Enumeration):
390
+ # Nothing to recurse into.
391
+ return Stripped("")
392
+
393
+ elif isinstance(
394
+ type_anno.items.our_type, intermediate.ConstrainedPrimitive
395
+ ):
396
+ # Nothing to recurse into.
397
+ return Stripped("")
398
+
399
+ elif isinstance(
400
+ type_anno.items.our_type,
401
+ (intermediate.AbstractClass, intermediate.ConcreteClass),
402
+ ):
403
+ getter_name = cpp_naming.getter_name(prop.name)
404
+
405
+ const_ref_prop_type = (
406
+ cpp_common.generate_type_with_const_ref_if_applicable(
407
+ type_annotation=type_anno, types_namespace=Identifier("types")
408
+ )
409
+ )
401
410
 
402
- item_type = cpp_common.generate_type_with_const_ref_if_applicable(
403
- type_annotation=type_anno.items, types_namespace=cpp_common.TYPES_NAMESPACE
404
- )
411
+ prop_type = cpp_common.generate_type(
412
+ type_annotation=type_anno,
413
+ types_namespace=cpp_common.TYPES_NAMESPACE,
414
+ )
405
415
 
406
- return Stripped(
407
- f"""\
416
+ item_type = cpp_common.generate_type_with_const_ref_if_applicable(
417
+ type_annotation=type_anno.items,
418
+ types_namespace=cpp_common.TYPES_NAMESPACE,
419
+ )
420
+
421
+ return Stripped(
422
+ f"""\
408
423
  {{
409
424
  {I}{indent_but_first_line(const_ref_prop_type, I)} value(
410
425
  {II}that->{getter_name}()
@@ -430,7 +445,30 @@ that->{setter_name}(
430
445
  {II}std::move(wrapped)
431
446
  {I});
432
447
  }}"""
433
- )
448
+ )
449
+
450
+ else:
451
+ assert_never(type_anno.items.our_type)
452
+
453
+ elif isinstance(type_anno.items, intermediate.OptionalTypeAnnotation):
454
+ raise NotImplementedError(
455
+ f"NOTE (mristin, 2026-05-09): We do not currently support "
456
+ f"the generation of enhancing code for lists of optionals, "
457
+ f"but you specified {type_anno}. Please contact the developers if "
458
+ f"you need this feature."
459
+ )
460
+
461
+ elif isinstance(type_anno.items, intermediate.ListTypeAnnotation):
462
+ raise NotImplementedError(
463
+ f"NOTE (mristin, 2026-05-09): We do not currently support "
464
+ f"the generation of enhancing code for lists of lists, "
465
+ f"but you specified {type_anno}. Please contact the developers if "
466
+ f"you need this feature."
467
+ )
468
+
469
+ else:
470
+ assert_never(type_anno.items)
471
+
434
472
  else:
435
473
  # noinspection PyTypeChecker
436
474
  assert_never(type_anno)
@@ -775,30 +775,59 @@ class IteratorQualities:
775
775
  for prop in cls.properties:
776
776
  type_anno = intermediate.beneath_optional(prop.type_annotation)
777
777
 
778
- if isinstance(type_anno, intermediate.OurTypeAnnotation) and isinstance(
779
- type_anno.our_type,
780
- (intermediate.AbstractClass, intermediate.ConcreteClass),
781
- ):
782
- relevant_properties.append(prop)
778
+ if isinstance(type_anno, intermediate.PrimitiveTypeAnnotation):
779
+ pass
783
780
 
784
- elif isinstance(type_anno, intermediate.ListTypeAnnotation):
785
- assert isinstance(
786
- type_anno.items, intermediate.OurTypeAnnotation
787
- ) and isinstance(
788
- type_anno.items.our_type,
781
+ elif isinstance(type_anno, intermediate.OurTypeAnnotation):
782
+ if isinstance(type_anno.our_type, intermediate.Enumeration):
783
+ pass
784
+
785
+ elif isinstance(type_anno.our_type, intermediate.ConstrainedPrimitive):
786
+ pass
787
+
788
+ elif isinstance(
789
+ type_anno.our_type,
789
790
  (intermediate.AbstractClass, intermediate.ConcreteClass),
790
- ), (
791
- f"NOTE (mristin): We expect only lists of classes "
792
- f"at the moment, but you specified {prop.type_annotation} "
793
- f"in class {cls.name!r} and property {prop.name!r}. "
794
- f"Please contact the developers if you need this feature."
795
- )
791
+ ):
792
+ relevant_properties.append(prop)
796
793
 
797
- cls_contains_a_list_property = True
794
+ else:
795
+ assert_never(type_anno.our_type)
796
+
797
+ elif isinstance(type_anno, intermediate.ListTypeAnnotation):
798
+ if isinstance(type_anno.items, intermediate.PrimitiveTypeAnnotation):
799
+ pass
800
+
801
+ elif isinstance(type_anno.items, intermediate.OurTypeAnnotation):
802
+ if isinstance(type_anno.items.our_type, intermediate.Enumeration):
803
+ pass
804
+
805
+ elif isinstance(
806
+ type_anno.items.our_type, intermediate.ConstrainedPrimitive
807
+ ):
808
+ pass
809
+
810
+ elif isinstance(
811
+ type_anno.items.our_type,
812
+ (intermediate.AbstractClass, intermediate.ConcreteClass),
813
+ ):
814
+ cls_contains_a_list_property = True
815
+
816
+ relevant_properties.append(prop)
817
+
818
+ else:
819
+ assert_never(type_anno.items.our_type)
820
+
821
+ else:
822
+ raise NotImplementedError(
823
+ f"NOTE (mristin): We expect only lists of atomic values "
824
+ f"at the moment, but you specified {prop.type_annotation} "
825
+ f"in class {cls.name!r} and property {prop.name!r}. "
826
+ f"Please contact the developers if you need this feature."
827
+ )
798
828
 
799
- relevant_properties.append(prop)
800
829
  else:
801
- pass
830
+ assert_never(type_anno)
802
831
 
803
832
  self.cls = cls
804
833
  self.relevant_properties = relevant_properties