zuspec-arl-dm 0.1.0.15264414400rc0__cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.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.
Files changed (166) hide show
  1. zsp_arl_dm/__build_num__.py +1 -0
  2. zsp_arl_dm/__init__.py +22 -0
  3. zsp_arl_dm/__version__.py +3 -0
  4. zsp_arl_dm/core.cpython-312-x86_64-linux-gnu.so +0 -0
  5. zsp_arl_dm/core.pxd +395 -0
  6. zsp_arl_dm/decl.pxd +317 -0
  7. zsp_arl_dm/libzsp-arl-dm.so +0 -0
  8. zsp_arl_dm/pkginfo.py +23 -0
  9. zsp_arl_dm/py_val_to_val_ref.py +46 -0
  10. zsp_arl_dm/share/include/TypeFieldAddrClaim.cpp +39 -0
  11. zsp_arl_dm/share/include/TypeFieldAddrClaim.h +41 -0
  12. zsp_arl_dm/share/include/zsp/arl/dm/FactoryExt.h +6 -0
  13. zsp_arl_dm/share/include/zsp/arl/dm/IAccept.h +28 -0
  14. zsp_arl_dm/share/include/zsp/arl/dm/IArl.h +30 -0
  15. zsp_arl_dm/share/include/zsp/arl/dm/IComponentMap.h +41 -0
  16. zsp_arl_dm/share/include/zsp/arl/dm/IContext.h +443 -0
  17. zsp_arl_dm/share/include/zsp/arl/dm/IContextDumper.h +47 -0
  18. zsp_arl_dm/share/include/zsp/arl/dm/IContextLoader.h +40 -0
  19. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeAction.h +43 -0
  20. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeActivity.h +37 -0
  21. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeActivityBind.h +45 -0
  22. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeActivityParallel.h +17 -0
  23. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeActivityReplicate.h +45 -0
  24. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeActivitySchedule.h +25 -0
  25. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeActivityScope.h +46 -0
  26. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeActivitySequence.h +26 -0
  27. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeActivityTraverse.h +33 -0
  28. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeActivityTraverseType.h +32 -0
  29. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeAddrClaim.h +42 -0
  30. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeAddrClaimTransparent.h +42 -0
  31. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeAddrHandle.h +44 -0
  32. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeAddrSpaceC.h +46 -0
  33. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeAddrSpaceTransparentC.h +41 -0
  34. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeArlStruct.h +51 -0
  35. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeComponent.h +40 -0
  36. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeCoreLibComponent.h +44 -0
  37. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeFlowObj.h +36 -0
  38. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeFunction.h +115 -0
  39. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeFunctionImport.h +45 -0
  40. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeFunctionParamDecl.h +53 -0
  41. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypePackedStruct.h +48 -0
  42. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypePureComponent.h +41 -0
  43. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypePyObj.h +41 -0
  44. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeReg.h +55 -0
  45. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeRegGroup.h +40 -0
  46. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeResource.h +22 -0
  47. zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeTransparentAddrSpace.h +44 -0
  48. zsp_arl_dm/share/include/zsp/arl/dm/IFactory.h +64 -0
  49. zsp_arl_dm/share/include/zsp/arl/dm/IMarker.h +56 -0
  50. zsp_arl_dm/share/include/zsp/arl/dm/IModelActivity.h +39 -0
  51. zsp_arl_dm/share/include/zsp/arl/dm/IModelActivityBind.h +46 -0
  52. zsp_arl_dm/share/include/zsp/arl/dm/IModelActivityParallel.h +41 -0
  53. zsp_arl_dm/share/include/zsp/arl/dm/IModelActivityReplicate.h +49 -0
  54. zsp_arl_dm/share/include/zsp/arl/dm/IModelActivitySchedule.h +30 -0
  55. zsp_arl_dm/share/include/zsp/arl/dm/IModelActivityScope.h +52 -0
  56. zsp_arl_dm/share/include/zsp/arl/dm/IModelActivitySequence.h +28 -0
  57. zsp_arl_dm/share/include/zsp/arl/dm/IModelActivityTraverse.h +53 -0
  58. zsp_arl_dm/share/include/zsp/arl/dm/IModelBuildContext.h +36 -0
  59. zsp_arl_dm/share/include/zsp/arl/dm/IModelComponentTreeData.h +92 -0
  60. zsp_arl_dm/share/include/zsp/arl/dm/IModelEvalIterator.h +72 -0
  61. zsp_arl_dm/share/include/zsp/arl/dm/IModelEvalIteratorListener.h +62 -0
  62. zsp_arl_dm/share/include/zsp/arl/dm/IModelEvaluator.h +41 -0
  63. zsp_arl_dm/share/include/zsp/arl/dm/IModelExec.h +40 -0
  64. zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldAction.h +34 -0
  65. zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldClaim.h +43 -0
  66. zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldComponent.h +32 -0
  67. zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldComponentRoot.h +51 -0
  68. zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldExecutor.h +41 -0
  69. zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldExecutorClaim.h +42 -0
  70. zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldExecutorGroup.h +50 -0
  71. zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldInOut.h +44 -0
  72. zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldPool.h +38 -0
  73. zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldRegGroup.h +41 -0
  74. zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldRegGroupRef.h +40 -0
  75. zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldRegRef.h +41 -0
  76. zsp_arl_dm/share/include/zsp/arl/dm/IPoolBindDirective.h +33 -0
  77. zsp_arl_dm/share/include/zsp/arl/dm/IPyImport.h +45 -0
  78. zsp_arl_dm/share/include/zsp/arl/dm/IRegGroup.h +32 -0
  79. zsp_arl_dm/share/include/zsp/arl/dm/IRewriteContext.h +44 -0
  80. zsp_arl_dm/share/include/zsp/arl/dm/IType.h +30 -0
  81. zsp_arl_dm/share/include/zsp/arl/dm/ITypeAction.h +25 -0
  82. zsp_arl_dm/share/include/zsp/arl/dm/ITypeExec.h +53 -0
  83. zsp_arl_dm/share/include/zsp/arl/dm/ITypeExecGroup.h +50 -0
  84. zsp_arl_dm/share/include/zsp/arl/dm/ITypeExecProc.h +44 -0
  85. zsp_arl_dm/share/include/zsp/arl/dm/ITypeExecTargetTmpl.h +59 -0
  86. zsp_arl_dm/share/include/zsp/arl/dm/ITypeExprMethodCallContext.h +45 -0
  87. zsp_arl_dm/share/include/zsp/arl/dm/ITypeExprMethodCallStatic.h +49 -0
  88. zsp_arl_dm/share/include/zsp/arl/dm/ITypeExprPureCompMethodCall.h +50 -0
  89. zsp_arl_dm/share/include/zsp/arl/dm/ITypeExprPyImportRef.h +44 -0
  90. zsp_arl_dm/share/include/zsp/arl/dm/ITypeExprPythonFieldRef.h +47 -0
  91. zsp_arl_dm/share/include/zsp/arl/dm/ITypeExprPythonMethodCall.h +47 -0
  92. zsp_arl_dm/share/include/zsp/arl/dm/ITypeExprPythonModuleRef.h +45 -0
  93. zsp_arl_dm/share/include/zsp/arl/dm/ITypeExprPythonSubscript.h +40 -0
  94. zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldActivity.h +32 -0
  95. zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldAddrClaim.h +52 -0
  96. zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldAddrClaimTransparent.h +45 -0
  97. zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldClaim.h +27 -0
  98. zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldExecutor.h +40 -0
  99. zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldExecutorClaim.h +41 -0
  100. zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldInOut.h +27 -0
  101. zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldMethod.h +39 -0
  102. zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldPool.h +29 -0
  103. zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldReg.h +47 -0
  104. zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldRegGroup.h +40 -0
  105. zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldRegGroupArr.h +49 -0
  106. zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldRegRef.h +41 -0
  107. zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldRegVec.h +52 -0
  108. zsp_arl_dm/share/include/zsp/arl/dm/ITypeModelDumper.h +47 -0
  109. zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmt.h +43 -0
  110. zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtAssign.h +61 -0
  111. zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtBreak.h +41 -0
  112. zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtContinue.h +40 -0
  113. zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtDeclScope.h +44 -0
  114. zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtExpr.h +44 -0
  115. zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtForeach.h +41 -0
  116. zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtIfClause.h +46 -0
  117. zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtIfElse.h +53 -0
  118. zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtMatch.h +53 -0
  119. zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtMatchChoice.h +48 -0
  120. zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtRepeat.h +47 -0
  121. zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtRepeatWhile.h +46 -0
  122. zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtReturn.h +45 -0
  123. zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtScope.h +62 -0
  124. zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtVarDecl.h +50 -0
  125. zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtWhile.h +47 -0
  126. zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtYield.h +42 -0
  127. zsp_arl_dm/share/include/zsp/arl/dm/IVisitor.h +246 -0
  128. zsp_arl_dm/share/include/zsp/arl/dm/TypeKindE.h +23 -0
  129. zsp_arl_dm/share/include/zsp/arl/dm/impl/ContextDelegator.h +549 -0
  130. zsp_arl_dm/share/include/zsp/arl/dm/impl/CopyVisitor.h +204 -0
  131. zsp_arl_dm/share/include/zsp/arl/dm/impl/IsResourcePool.h +55 -0
  132. zsp_arl_dm/share/include/zsp/arl/dm/impl/ModelBuildContext.h +52 -0
  133. zsp_arl_dm/share/include/zsp/arl/dm/impl/ModelEvalIteratorListenerBase.h +60 -0
  134. zsp_arl_dm/share/include/zsp/arl/dm/impl/RewriteVisitorBase.h +346 -0
  135. zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskActionHasMemClaim.h +76 -0
  136. zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskCollectTopLevelActivities.h +63 -0
  137. zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskFindExecutor.h +69 -0
  138. zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskGetExprDataType.h +84 -0
  139. zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskGetSubField.h +98 -0
  140. zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskGetTypeBitWidth.h +76 -0
  141. zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskIsDataTypeFlowObj.h +73 -0
  142. zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskIsDataTypePyObj.h +55 -0
  143. zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskIsPackedStruct.h +57 -0
  144. zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskIsRefGroupRef.h +60 -0
  145. zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskIsTypeFieldRegGroup.h +60 -0
  146. zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskIsTypeFieldRegGroupArr.h +40 -0
  147. zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskPackStruct2Int.h +80 -0
  148. zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskUnpackInt2Struct.h +123 -0
  149. zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskVisitActionTypeClaimRef.h +70 -0
  150. zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskVisitModelFieldClaim.h +64 -0
  151. zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskVisitModelFieldInOut.h +64 -0
  152. zsp_arl_dm/share/include/zsp/arl/dm/impl/ValRefAction.h +43 -0
  153. zsp_arl_dm/share/include/zsp/arl/dm/impl/ValRefActivity.h +63 -0
  154. zsp_arl_dm/share/include/zsp/arl/dm/impl/ValRefActivityScope.h +51 -0
  155. zsp_arl_dm/share/include/zsp/arl/dm/impl/ValRefPyObj.h +75 -0
  156. zsp_arl_dm/share/include/zsp/arl/dm/impl/ValRefRegGroup.h +32 -0
  157. zsp_arl_dm/share/include/zsp/arl/dm/impl/VisitorBase.h +456 -0
  158. zsp_arl_dm/share/include/zsp/arl/dm/impl/VisitorDelegator.h +356 -0
  159. zsp_arl_dm/share/include/zsp/arl/dm/loader.h +39 -0
  160. zsp_arl_dm/val_ref_to_py_val.py +58 -0
  161. zuspec_arl_dm-0.1.0.15264414400rc0.dist-info/METADATA +25 -0
  162. zuspec_arl_dm-0.1.0.15264414400rc0.dist-info/RECORD +166 -0
  163. zuspec_arl_dm-0.1.0.15264414400rc0.dist-info/WHEEL +6 -0
  164. zuspec_arl_dm-0.1.0.15264414400rc0.dist-info/entry_points.txt +2 -0
  165. zuspec_arl_dm-0.1.0.15264414400rc0.dist-info/licenses/LICENSE +201 -0
  166. zuspec_arl_dm-0.1.0.15264414400rc0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,549 @@
1
+ /**
2
+ * ContextDelegator.h
3
+ *
4
+ * Copyright 2022 Matthew Ballance and Contributors
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may
7
+ * not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at:
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ *
18
+ * Created on:
19
+ * Author:
20
+ */
21
+ #pragma once
22
+ #include "vsc/dm/impl/ContextDelegator.h"
23
+ #include "zsp/arl/dm/IContext.h"
24
+
25
+ namespace zsp {
26
+ namespace arl {
27
+ namespace dm {
28
+
29
+
30
+ class ContextDelegator :
31
+ public virtual IContext,
32
+ public virtual vsc::dm::ContextDelegator {
33
+ public:
34
+
35
+ ContextDelegator(IContext *ctxt, bool owned=true) :
36
+ vsc::dm::ContextDelegator(ctxt, owned) { }
37
+
38
+ virtual ~ContextDelegator() { }
39
+
40
+ virtual vsc::dm::IValOps *getValOps(DataTypeKind kind) override {
41
+ return ctxt()->getValOps(kind);
42
+ }
43
+
44
+ virtual void setValOps(DataTypeKind kind, vsc::dm::IValOps *ops, bool owned=true) {
45
+ ctxt()->setValOps(kind, ops, owned);
46
+ }
47
+
48
+ virtual vsc::dm::IDataType *getDataTypeCoreArl(DataTypeCoreE t) override {
49
+ return ctxt()->getDataTypeCoreArl(t);
50
+ }
51
+
52
+ virtual IDataTypeAction *findDataTypeAction(const std::string &name) override {
53
+ return ctxt()->findDataTypeAction(name);
54
+ }
55
+
56
+ virtual IDataTypeAction *mkDataTypeAction(const std::string &name) override {
57
+ return ctxt()->mkDataTypeAction(name);
58
+ }
59
+
60
+ virtual IDataTypeAddrHandle *mkDataTypeAddrHandle(const std::string &name) override {
61
+ return ctxt()->mkDataTypeAddrHandle(name);
62
+ }
63
+
64
+ virtual IDataTypeAddrSpaceC *mkDataTypeAddrSpaceC(
65
+ const std::string &name,
66
+ vsc::dm::IDataTypeStruct *trait_t) override {
67
+ return ctxt()->mkDataTypeAddrSpaceC(name, trait_t);
68
+ }
69
+
70
+ virtual IDataTypeAddrSpaceTransparentC *mkDataTypeAddrSpaceTransparentC(
71
+ const std::string &name,
72
+ vsc::dm::IDataTypeStruct *trait_t) override {
73
+ return ctxt()->mkDataTypeAddrSpaceTransparentC(name, trait_t);
74
+ }
75
+
76
+ virtual bool addDataTypeAction(IDataTypeAction *t) override {
77
+ return ctxt()->addDataTypeAction(t);
78
+ }
79
+
80
+ virtual IDataTypeFunction *findDataTypeFunction(const std::string &name) override {
81
+ return ctxt()->findDataTypeFunction(name);
82
+ }
83
+
84
+ virtual IDataTypeFunction *mkDataTypeFunction(
85
+ const std::string &name,
86
+ vsc::dm::IDataType *rtype,
87
+ bool own_rtype,
88
+ DataTypeFunctionFlags flags,
89
+ IDataTypeArlStruct *context) override {
90
+ return ctxt()->mkDataTypeFunction(name, rtype, own_rtype, flags, context);
91
+ }
92
+
93
+ virtual IDataTypeFunctionImport *mkDataTypeFunctionImport(
94
+ const std::string &lang,
95
+ bool is_target,
96
+ bool is_solve) {
97
+ return ctxt()->mkDataTypeFunctionImport(lang, is_target, is_solve);
98
+ }
99
+
100
+ virtual IDataTypeFunctionParamDecl *mkDataTypeFunctionParamDecl(
101
+ const std::string &name,
102
+ ParamDir dir,
103
+ vsc::dm::IDataType *type,
104
+ bool own,
105
+ vsc::dm::ITypeExpr *init) {
106
+ return ctxt()->mkDataTypeFunctionParamDecl(
107
+ name, dir, type, own, init
108
+ );
109
+ }
110
+
111
+ virtual bool addDataTypeFunction(IDataTypeFunction *f) {
112
+ return ctxt()->addDataTypeFunction(f);
113
+ }
114
+
115
+ virtual const std::vector<IDataTypeFunction *> &getDataTypeFunctions() const override {
116
+ return ctxt()->getDataTypeFunctions();
117
+ }
118
+
119
+ virtual IDataTypeRegGroup *mkDataTypeRegGroup(const std::string &name) override {
120
+ return ctxt()->mkDataTypeRegGroup(name);
121
+ }
122
+
123
+ virtual IDataTypeActivityBind *mkDataTypeActivityBind(
124
+ const std::vector<vsc::dm::ITypeExprFieldRef *> &targets,
125
+ bool owned=true) override {
126
+ return ctxt()->mkDataTypeActivityBind(targets, owned);
127
+ }
128
+
129
+ virtual IDataTypeActivityParallel *mkDataTypeActivityParallel() {
130
+ return ctxt()->mkDataTypeActivityParallel();
131
+ }
132
+
133
+ virtual IDataTypeActivityReplicate *mkDataTypeActivityReplicate(
134
+ vsc::dm::ITypeExpr *count) {
135
+ return ctxt()->mkDataTypeActivityReplicate(count);
136
+ }
137
+
138
+ virtual IDataTypeActivitySchedule *mkDataTypeActivitySchedule() {
139
+ return ctxt()->mkDataTypeActivitySchedule();
140
+ }
141
+
142
+ virtual IDataTypeActivitySequence *mkDataTypeActivitySequence() {
143
+ return ctxt()->mkDataTypeActivitySequence();
144
+ }
145
+
146
+ virtual IDataTypeActivityTraverse *mkDataTypeActivityTraverse(
147
+ vsc::dm::ITypeExpr *target,
148
+ vsc::dm::ITypeConstraint *with_c) {
149
+ return ctxt()->mkDataTypeActivityTraverse(target, with_c);
150
+ }
151
+
152
+ virtual IDataTypeComponent *findDataTypeComponent(const std::string &name) {
153
+ return ctxt()->findDataTypeComponent(name);
154
+ }
155
+
156
+ virtual IDataTypeComponent *mkDataTypeComponent(const std::string &name) {
157
+ return ctxt()->mkDataTypeComponent(name);
158
+ }
159
+
160
+ virtual bool addDataTypeComponent(IDataTypeComponent *t) {
161
+ return ctxt()->addDataTypeComponent(t);
162
+ }
163
+
164
+ virtual IDataTypeFlowObj *findDataTypeFlowObj(
165
+ const std::string &name,
166
+ FlowObjKindE kind) {
167
+ return ctxt()->findDataTypeFlowObj(name, kind);
168
+ }
169
+
170
+ virtual IDataTypeFlowObj *mkDataTypeFlowObj(
171
+ const std::string &name,
172
+ FlowObjKindE kind) {
173
+ return ctxt()->mkDataTypeFlowObj(name, kind);
174
+ }
175
+
176
+ virtual bool addDataTypeFlowObj(IDataTypeFlowObj *t) {
177
+ return ctxt()->addDataTypeFlowObj(t);
178
+ }
179
+
180
+ virtual IDataTypePackedStruct *findDataTypePackedStruct(
181
+ const std::string &name) {
182
+ return ctxt()->findDataTypePackedStruct(name);
183
+ }
184
+
185
+ virtual IDataTypePackedStruct *mkDataTypePackedStruct(
186
+ const std::string &name,
187
+ Endian endian=Endian::Little) override {
188
+ return ctxt()->mkDataTypePackedStruct(name, endian);
189
+ }
190
+
191
+ virtual bool addDataTypePackedStruct(
192
+ IDataTypePackedStruct *type) override {
193
+ return ctxt()->addDataTypePackedStruct(type);
194
+ }
195
+
196
+ virtual IModelActivityParallel *mkModelActivityParallel() {
197
+ return ctxt()->mkModelActivityParallel();
198
+ }
199
+
200
+ virtual IModelActivityReplicate *mkModelActivityReplicate(
201
+ vsc::dm::IModelExpr *count) {
202
+ return ctxt()->mkModelActivityReplicate(count);
203
+ }
204
+
205
+ virtual IModelActivitySchedule *mkModelActivitySchedule() {
206
+ return ctxt()->mkModelActivitySchedule();
207
+ }
208
+
209
+ virtual IModelActivityScope *mkModelActivityScope(ModelActivityScopeT t) {
210
+ return ctxt()->mkModelActivityScope(t);
211
+ }
212
+
213
+ virtual IModelActivitySequence *mkModelActivitySequence() {
214
+ return ctxt()->mkModelActivitySequence();
215
+ }
216
+
217
+ virtual IModelActivityTraverse *mkModelActivityTraverse(
218
+ IModelFieldAction *target,
219
+ vsc::dm::IModelConstraint *with_c,
220
+ bool own_with_c,
221
+ IModelActivity *activity,
222
+ bool owned) {
223
+ return ctxt()->mkModelActivityTraverse(target, with_c, own_with_c, activity, owned);
224
+ }
225
+
226
+ virtual IModelEvalIterator *mkModelEvalIterator(
227
+ IModelActivityScope *activity) {
228
+ return ctxt()->mkModelEvalIterator(activity);
229
+ }
230
+
231
+ virtual IModelFieldAction *mkModelFieldActionRoot(
232
+ const std::string &name,
233
+ IDataTypeAction *type) {
234
+ return ctxt()->mkModelFieldActionRoot(name, type);
235
+ }
236
+
237
+ virtual IModelFieldAction *mkModelFieldActionType(
238
+ vsc::dm::ITypeField *type) {
239
+ return ctxt()->mkModelFieldActionType(type);
240
+ }
241
+
242
+ virtual IModelFieldClaim *mkModelFieldClaim(
243
+ ITypeFieldClaim *type) {
244
+ return ctxt()->mkModelFieldClaim(type);
245
+ }
246
+
247
+ virtual IModelFieldComponent *mkModelFieldComponentRoot(
248
+ IDataTypeComponent *type,
249
+ const std::string &name,
250
+ const vsc::dm::ValRef &val) {
251
+ return ctxt()->mkModelFieldComponentRoot(type, name, val);
252
+ }
253
+
254
+ virtual IModelFieldComponent *mkModelFieldComponentType(
255
+ vsc::dm::ITypeField *type) {
256
+ return ctxt()->mkModelFieldComponentType(type);
257
+ }
258
+
259
+ virtual IModelFieldExecutor *mkModelFieldExecutor(
260
+ vsc::dm::ITypeField *type) {
261
+ return ctxt()->mkModelFieldExecutor(type);
262
+ }
263
+
264
+ virtual IModelFieldExecutorClaim *mkModelFieldExecutorClaim(
265
+ vsc::dm::ITypeField *type) {
266
+ return ctxt()->mkModelFieldExecutorClaim(type);
267
+ }
268
+
269
+ virtual IModelFieldInOut *mkModelFieldInOut(
270
+ ITypeFieldInOut *type) {
271
+ return ctxt()->mkModelFieldInOut(type);
272
+ }
273
+
274
+ virtual IModelFieldPool *mkModelFieldPoolType(
275
+ vsc::dm::ITypeField *type) {
276
+ return ctxt()->mkModelFieldPoolType(type);
277
+ }
278
+
279
+ virtual IModelFieldRegGroup *mkModelFieldRegGroup(
280
+ vsc::dm::ITypeField *type) {
281
+ return ctxt()->mkModelFieldRegGroup(type);
282
+ }
283
+
284
+ virtual IPoolBindDirective *mkPoolBindDirective(
285
+ PoolBindKind kind,
286
+ vsc::dm::ITypeExprFieldRef *pool,
287
+ vsc::dm::ITypeExprFieldRef *target) {
288
+ return ctxt()->mkPoolBindDirective(kind, pool, target);
289
+ }
290
+
291
+ virtual IPyImport *findPyImport(
292
+ const std::string &path,
293
+ bool create=true) override {
294
+ return ctxt()->findPyImport(path, create);
295
+ }
296
+
297
+ virtual const std::vector<IPyImportUP> &getPyImports() const override {
298
+ return ctxt()->getPyImports();
299
+ }
300
+
301
+ virtual IPyImport *mkPyImport(
302
+ const std::string &path) override {
303
+ return ctxt()->mkPyImport(path);
304
+ }
305
+
306
+ virtual bool addPyImport(IPyImport *imp) override {
307
+ return ctxt()->addPyImport(imp);
308
+ }
309
+
310
+ virtual ITypeExecGroup *mkTypeExecGroup(
311
+ ExecKindT kind,
312
+ ITypeExecGroup *super) override {
313
+ return ctxt()->mkTypeExecGroup(kind, super);
314
+ }
315
+
316
+ virtual ITypeExecProc *mkTypeExecProc(
317
+ ExecKindT kind,
318
+ ITypeProcStmtScope *body) {
319
+ return ctxt()->mkTypeExecProc(kind, body);
320
+ }
321
+
322
+ virtual ITypeExprMethodCallContext *mkTypeExprMethodCallContext(
323
+ IDataTypeFunction *target,
324
+ vsc::dm::ITypeExpr *context,
325
+ const std::vector<vsc::dm::ITypeExpr *> &params,
326
+ bool owned=true) override {
327
+ return ctxt()->mkTypeExprMethodCallContext(target, context, params, owned);
328
+ }
329
+
330
+ virtual ITypeExprMethodCallStatic *mkTypeExprMethodCallStatic(
331
+ IDataTypeFunction *target,
332
+ const std::vector<vsc::dm::ITypeExpr *> &params,
333
+ bool owned=true) override {
334
+ return ctxt()->mkTypeExprMethodCallStatic(target, params, owned);
335
+ }
336
+
337
+ virtual ITypeExprPyImportRef *mkTypeExprPyImportRef(
338
+ IPyImport *imp) override {
339
+ return ctxt()->mkTypeExprPyImportRef(imp);
340
+ }
341
+
342
+ virtual ITypeExprPythonFieldRef *mkTypeExprPythonFieldRef(
343
+ vsc::dm::ITypeExpr *base,
344
+ bool owned,
345
+ const std::string &name) override {
346
+ return ctxt()->mkTypeExprPythonFieldRef(base, owned, name);
347
+ }
348
+
349
+ virtual ITypeExprPythonMethodCall *mkTypeExprPythonMethodCall(
350
+ vsc::dm::ITypeExpr *base,
351
+ bool owned,
352
+ const std::vector<vsc::dm::ITypeExpr *> &params) override {
353
+ return ctxt()->mkTypeExprPythonMethodCall(base, owned, params);
354
+ }
355
+
356
+ virtual ITypeExprPythonModuleRef *mkTypeExprPythonModuleRef(
357
+ IPyImport *imp) override {
358
+ return ctxt()->mkTypeExprPythonModuleRef(imp);
359
+ }
360
+
361
+ virtual ITypeFieldActivity *mkTypeFieldActivity(
362
+ const std::string &name,
363
+ IDataTypeActivity *type,
364
+ bool owned) {
365
+ return ctxt()->mkTypeFieldActivity(name, type, owned);
366
+ }
367
+
368
+ virtual ITypeFieldAddrClaim *mkTypeFieldAddrClaim(
369
+ const std::string &name,
370
+ vsc::dm::IDataType *type,
371
+ bool owned,
372
+ vsc::dm::IDataTypeStruct *trait_t) {
373
+ return ctxt()->mkTypeFieldAddrClaim(name, type, owned, trait_t);
374
+ }
375
+
376
+ virtual ITypeFieldAddrClaimTransparent *mkTypeFieldAddrClaimTransparent(
377
+ const std::string &name,
378
+ vsc::dm::IDataType *type,
379
+ bool owned,
380
+ vsc::dm::IDataTypeStruct *trait_t) {
381
+ return ctxt()->mkTypeFieldAddrClaimTransparent(name, type, owned, trait_t);
382
+ }
383
+
384
+ virtual ITypeFieldClaim *mkTypeFieldClaim(
385
+ const std::string &name,
386
+ vsc::dm::IDataType *type,
387
+ bool is_lock) {
388
+ return ctxt()->mkTypeFieldClaim(name, type, is_lock);
389
+ }
390
+
391
+ virtual ITypeFieldExecutor *mkTypeFieldExecutor(
392
+ const std::string &name,
393
+ vsc::dm::IDataType *type,
394
+ bool owned) {
395
+ return ctxt()->mkTypeFieldExecutor(name, type, owned);
396
+ }
397
+
398
+ virtual ITypeFieldExecutorClaim *mkTypeFieldExecutorClaim(
399
+ const std::string &name,
400
+ vsc::dm::IDataType *type,
401
+ bool owned) {
402
+ return ctxt()->mkTypeFieldExecutorClaim(name, type, owned);
403
+ }
404
+
405
+ virtual ITypeFieldInOut *mkTypeFieldInOut(
406
+ const std::string &name,
407
+ vsc::dm::IDataType *type,
408
+ bool is_input) {
409
+ return ctxt()->mkTypeFieldInOut(name, type, is_input);
410
+ }
411
+
412
+ virtual ITypeFieldPool *mkTypeFieldPool(
413
+ const std::string &name,
414
+ vsc::dm::IDataType *type,
415
+ bool own,
416
+ vsc::dm::TypeFieldAttr attr,
417
+ int32_t decl_size) {
418
+ return ctxt()->mkTypeFieldPool(name, type, own, attr, decl_size);
419
+ }
420
+
421
+ virtual ITypeFieldReg *mkTypeFieldReg(
422
+ const std::string &name,
423
+ vsc::dm::IDataType *type,
424
+ bool own) override {
425
+ return ctxt()->mkTypeFieldReg(name, type, own);
426
+ }
427
+
428
+ virtual ITypeFieldRegGroup *mkTypeFieldRegGroup(
429
+ const std::string &name,
430
+ vsc::dm::IDataType *type,
431
+ bool own) override {
432
+ return ctxt()->mkTypeFieldRegGroup(name, type, own);
433
+ }
434
+
435
+ virtual ITypeFieldRegGroupArr *mkTypeFieldRegGroupArr(
436
+ const std::string &name,
437
+ vsc::dm::IDataType *type,
438
+ bool own_type,
439
+ vsc::dm::IDataType *elem_type,
440
+ bool own_elem_type,
441
+ int32_t size) override {
442
+ return ctxt()->mkTypeFieldRegGroupArr(name, type,
443
+ own_type, elem_type, own_elem_type, size);
444
+ }
445
+
446
+ virtual ITypeProcStmtAssign *mkTypeProcStmtAssign(
447
+ vsc::dm::ITypeExpr *lhs,
448
+ TypeProcStmtAssignOp op,
449
+ vsc::dm::ITypeExpr *rhs) {
450
+ return ctxt()->mkTypeProcStmtAssign(lhs, op, rhs);
451
+ }
452
+
453
+ virtual ITypeProcStmtBreak *mkTypeProcStmtBreak() {
454
+ return ctxt()->mkTypeProcStmtBreak();
455
+ }
456
+
457
+ virtual ITypeProcStmtContinue *mkTypeProcStmtContinue() {
458
+ return ctxt()->mkTypeProcStmtContinue();
459
+ }
460
+
461
+ virtual ITypeProcStmtExpr *mkTypeProcStmtExpr(vsc::dm::ITypeExpr *e) {
462
+ return ctxt()->mkTypeProcStmtExpr(e);
463
+ }
464
+
465
+ virtual ITypeProcStmtForeach *mkTypeProcStmtForeach(
466
+ vsc::dm::ITypeExpr *target,
467
+ ITypeProcStmt *body) override {
468
+ return ctxt()->mkTypeProcStmtForeach(target, body);
469
+ }
470
+
471
+ virtual ITypeProcStmtIfClause *mkTypeProcStmtIfClause(
472
+ vsc::dm::ITypeExpr *cond,
473
+ ITypeProcStmt *stmt) override {
474
+ return ctxt()->mkTypeProcStmtIfClause(cond, stmt);
475
+ }
476
+
477
+ virtual ITypeProcStmtIfElse *mkTypeProcStmtIfElse(
478
+ const std::vector<ITypeProcStmtIfClause *> &if_c,
479
+ ITypeProcStmt *else_c) override {
480
+ return ctxt()->mkTypeProcStmtIfElse(if_c, else_c);
481
+ }
482
+
483
+ virtual ITypeProcStmtMatch *mkTypeProcStmtMatch(
484
+ vsc::dm::ITypeExpr *cond) {
485
+ return ctxt()->mkTypeProcStmtMatch(cond);
486
+ }
487
+
488
+ virtual ITypeProcStmtMatchChoice *mkTypeProcStmtMatchChoice(
489
+ vsc::dm::ITypeExprRangelist *cond,
490
+ ITypeProcStmt *body) override {
491
+ return ctxt()->mkTypeProcStmtMatchChoice(cond, body);
492
+ }
493
+
494
+ virtual ITypeProcStmtRepeat *mkTypeProcStmtRepeat(
495
+ vsc::dm::ITypeExpr *cond,
496
+ ITypeProcStmt *body) {
497
+ return ctxt()->mkTypeProcStmtRepeat(cond, body);
498
+ }
499
+
500
+ virtual ITypeProcStmtRepeatWhile *mkTypeProcStmtRepeatWhile(
501
+ vsc::dm::ITypeExpr *cond,
502
+ ITypeProcStmt *body) {
503
+ return ctxt()->mkTypeProcStmtRepeatWhile(cond, body);
504
+ }
505
+
506
+ virtual ITypeProcStmtReturn *mkTypeProcStmtReturn(vsc::dm::ITypeExpr *expr) {
507
+ return ctxt()->mkTypeProcStmtReturn(expr);
508
+ }
509
+
510
+ virtual ITypeProcStmtScope *mkTypeProcStmtScope() {
511
+ return ctxt()->mkTypeProcStmtScope();
512
+ }
513
+
514
+ virtual ITypeProcStmtScope *mkTypeProcStmtScope(const std::vector<ITypeProcStmt *> &stmts) {
515
+ return ctxt()->mkTypeProcStmtScope(stmts);
516
+ }
517
+
518
+ virtual ITypeProcStmtVarDecl *mkTypeProcStmtVarDecl(
519
+ const std::string &name,
520
+ vsc::dm::IDataType *type,
521
+ bool own,
522
+ vsc::dm::ITypeExpr *init) {
523
+ return ctxt()->mkTypeProcStmtVarDecl(name, type, own, init);
524
+ }
525
+
526
+ virtual ITypeProcStmtWhile *mkTypeProcStmtWhile(
527
+ vsc::dm::ITypeExpr *cond,
528
+ ITypeProcStmt *body) override {
529
+ return ctxt()->mkTypeProcStmtWhile(cond, body);
530
+ }
531
+
532
+ virtual ITypeProcStmtYield *mkTypeProcStmtYield() {
533
+ return ctxt()->mkTypeProcStmtYield();
534
+ }
535
+
536
+ virtual ValRefPyObj mkValPyObj(pyapi::PyEvalObj *obj) override {
537
+ return ctxt()->mkValPyObj(obj);
538
+ }
539
+
540
+ protected:
541
+ IContext *ctxt() const { return dynamic_cast<IContext *>(m_ctxt.get()); }
542
+
543
+ };
544
+
545
+ }
546
+ }
547
+ }
548
+
549
+