zuspec-dataclasses 0.0.1.6340113986__py2.py3-none-any.whl → 0.0.1.6365096825__py2.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.
@@ -88,6 +88,20 @@ class ParamDir(IntEnum):
88
88
  Out = auto()
89
89
  InOut = auto()
90
90
 
91
+ class TypeProcStmtScope(object):
92
+
93
+ def addStatement(self, s):
94
+ raise NotImplementedError("addStatement")
95
+
96
+ def addVariable(self, v):
97
+ raise NotImplementedError("addVariable")
98
+
99
+ def getStatements(self):
100
+ raise NotImplementedError("getStatements")
101
+
102
+ def getVariables(self):
103
+ raise NotImplementedError("getVariables")
104
+
91
105
  class TypeProcStmtVarDecl(object):
92
106
 
93
107
  def name(self) -> str:
@@ -117,6 +131,12 @@ class DataTypeFunction(vsc_ctxt.DataType):
117
131
  def addParameter(self, p : DataTypeFunctionParamDecl):
118
132
  raise NotImplementedError("DataTypeFunction.addParameter")
119
133
 
134
+ def getBody(self):
135
+ raise NotImplementedError("getBody")
136
+
137
+ def setBody(self, b):
138
+ raise NotImplementedError("setBody")
139
+
120
140
  def addImportSpec(self, spec : 'DataTypeFunctionImport'):
121
141
  raise NotImplementedError("addImportSpec")
122
142
 
@@ -156,6 +176,21 @@ class ModelFieldComponent(vsc_ctxt.ModelField):
156
176
  class PoolBindKind(IntEnum):
157
177
  All = 0
158
178
 
179
+ class ExecKindT(IntEnum):
180
+ Body = auto()
181
+ InitDown = auto()
182
+ InitUp = auto()
183
+ PreSolve = auto()
184
+ PostSolve = auto()
185
+
186
+ class TypeExec(object):
187
+
188
+ def getKind(self) -> ExecKindT:
189
+ raise NotImplementedError("getKind")
190
+
191
+ def getBody(self):
192
+ raise NotImplementedError("getBody")
193
+
159
194
  class TypeExprMethodCallStatic(vsc_ctxt.TypeExpr):
160
195
 
161
196
  def getTarget(self) -> DataTypeFunction:
@@ -169,6 +204,12 @@ class TypeFieldActivity(vsc_ctxt.TypeField):
169
204
  def mkActivity(self, ctxt : ModelBuildContext):
170
205
  raise NotImplementedError("mkActivity")
171
206
 
207
+ class TypeProcStmtExpr(object):
208
+
209
+ def getExpr() -> vsc_ctxt.TypeExpr:
210
+ raise NotImplementedError("getExpr")
211
+
212
+
172
213
  class Context(vsc.impl.Context):
173
214
 
174
215
  def findDataTypeAction(self, name) -> 'DataTypeAction':
@@ -211,6 +252,21 @@ class Context(vsc.impl.Context):
211
252
  is_target : bool,
212
253
  is_solve : bool):
213
254
  raise NotImplementedError("mkDataTypeFunction")
255
+
256
+ def addDataTypeFunction(self, f):
257
+ raise NotImplementedError("addDataTypeFunction")
258
+
259
+ def getDataTypeFunctions(self):
260
+ raise NotImplementedError("getDataTypeFunctions")
261
+
262
+ def findDataTypeFunction(self, name):
263
+ raise NotImplementedError("findDataTypeFunction")
264
+
265
+ def mkDataTypeFunctionImport(self,
266
+ lang,
267
+ is_target,
268
+ is_solve):
269
+ raise NotImplementedError("mkDataTypeFunctionImport")
214
270
 
215
271
  def mkDataTypeFunctionParamDecl(self,
216
272
  name,
@@ -220,6 +276,11 @@ class Context(vsc.impl.Context):
220
276
  init : vsc_ctxt.TypeExpr) -> DataTypeFunctionParamDecl:
221
277
  raise NotImplementedError("mkDataTypeFunctionParamDecl")
222
278
 
279
+ def mkTypeExec(self,
280
+ kind,
281
+ body):
282
+ raise NotImplementedError("mkTypeExec")
283
+
223
284
  def mkTypeExprMethodCallStatic(self,
224
285
  target : DataTypeFunction,
225
286
  params : List[vsc_ctxt.TypeExpr]):
@@ -228,5 +289,11 @@ class Context(vsc.impl.Context):
228
289
  def mkTypeFieldActivity(self, name, type : 'DataTypeActivity', owned):
229
290
  raise NotImplementedError("mkTypeFieldActivity")
230
291
 
292
+ def mkTypeProcStmtScope(self):
293
+ raise NotImplementedError("mkTypeProcStmtScope")
294
+
295
+ def mkTypeProcStmtExpr(self, expr):
296
+ raise NotImplementedError("mkTypeProcStmtExpr")
297
+
231
298
 
232
299
  pass
@@ -33,6 +33,7 @@ class Ctor(object):
33
33
  self._component_l = []
34
34
  self._action_typeinfo_m = {}
35
35
  self._activity_s = []
36
+ self._proc_scope_s = []
36
37
 
37
38
  pass
38
39
 
@@ -132,6 +133,21 @@ class Ctor(object):
132
133
  self._activity_l.clear()
133
134
  return ret
134
135
 
136
+ def push_proc_scope(self, s):
137
+ self._proc_scope_s.append(s)
138
+
139
+ def proc_scope(self):
140
+ return self._proc_scope_s[-1]
141
+
142
+ def pop_proc_scope(self):
143
+ from vsc_dataclasses.impl.ctor import Ctor
144
+ vsc_ctor = Ctor.inst()
145
+ ps = self._proc_scope_s.pop()
146
+
147
+ for e in vsc_ctor.pop_exprs():
148
+ ps.addStatement(self._ctxt.mkTypeProcStmtExpr(e.model))
149
+ return ps
150
+
135
151
  def push_activity_scope_mi(self, s_mi):
136
152
  from vsc_dataclasses.impl import Ctor as VscCtor
137
153
  VscCtor.inst().push_bottom_up_scope(s_mi)
@@ -20,19 +20,58 @@
20
20
  #*
21
21
  #****************************************************************************
22
22
 
23
+ import zsp_dataclasses.impl.context as ctxt_api
23
24
  from vsc_dataclasses.impl.generators.vsc_data_model_cpp_gen import VscDataModelCppGen
24
25
  from vsc_dataclasses.impl.pyctxt.data_type_struct import DataTypeStruct
25
- from ..context import DataTypeAction, DataTypeComponent
26
+ from ..context import DataTypeAction, DataTypeComponent, DataTypeFunction, TypeExec, TypeExprMethodCallStatic, TypeProcStmtExpr, TypeProcStmtScope
26
27
  from ..pyctxt.visitor_base import VisitorBase
27
28
 
28
29
  class ZspDataModelCppGen(VscDataModelCppGen,VisitorBase):
29
30
 
30
31
  def __init__(self):
31
32
  VscDataModelCppGen.__init__(self)
33
+ self._define_func = False
32
34
  pass
33
35
 
34
- def generate(self, root_comp : DataTypeComponent, root_action : DataTypeAction):
36
+ def generate(self,
37
+ root_comp : DataTypeComponent,
38
+ root_action : DataTypeAction,
39
+ functions):
35
40
  # TODO: likely need both root component and action type
41
+ if functions is not None and len(functions) > 0:
42
+ # First, declare all functions
43
+ self._define_func = False
44
+ for f in functions:
45
+ self.println("{")
46
+ self.inc_indent()
47
+ f.accept(self)
48
+ self.dec_indent()
49
+ self.println("}")
50
+ self._define_func = True
51
+ for f in functions:
52
+ self.println("{")
53
+ self.inc_indent()
54
+ self.println("zsp::arl::dm::IDataTypeFunction *%s_t = %s->findDataTypeFunction(\"%s\");" % (
55
+ f.name(),
56
+ self._ctxt,
57
+ f.name()))
58
+ if len(f.getImportSpecs()) > 0:
59
+ self.println("%s_t->addImportSpec(" % (self.leaf_name(f.name())))
60
+ self.inc_indent()
61
+ self.println("%s->mkDataTypeFunctionImport(\"%s\", false, false)" % (
62
+ self._ctxt,
63
+ "X",
64
+ ))
65
+ self.dec_indent()
66
+ self.println(");")
67
+ else:
68
+ self.println("%s_t->setBody(" % f.name())
69
+ self.inc_indent()
70
+ f.getBody().accept(self)
71
+ self.dec_indent()
72
+ self.println(");")
73
+ self.dec_indent()
74
+ self.println("}")
36
75
 
37
76
  # Should result in RootComp and RootAction type handles
38
77
  self.println("{")
@@ -78,6 +117,27 @@ class ZspDataModelCppGen(VscDataModelCppGen,VisitorBase):
78
117
  self.println("%s->addDataTypeComponent(%s_t);" % (
79
118
  self._ctxt,
80
119
  self.leaf_name(i.name())))
120
+
121
+ def visitDataTypeFunction(self, i: DataTypeFunction):
122
+ if self._define_func:
123
+ if len(i.getImportSpecs()) == 0:
124
+ i.getBody().accept(self)
125
+ else:
126
+ self.println("zsp::arl::dm::IDataTypeFunction *%s_t = %s->mkDataTypeFunction(" % (
127
+ i.name(),
128
+ self._ctxt))
129
+ self.inc_indent()
130
+ self.println("\"%s\"," % i.name())
131
+ if i.getReturnType() is None:
132
+ self.println("0,")
133
+ else:
134
+ self._emit_type_mode += 1
135
+ i.getReturnType().accept(self)
136
+ self._emit_type_mode -= 1
137
+ self.println("false") # own_rtype
138
+ self.dec_indent()
139
+ self.println(");")
140
+ self.println("%s->addDataTypeFunction(%s_t);" % (self._ctxt, i.name()))
81
141
 
82
142
  def visitTypeConstraint(self, i : 'TypeConstraint'):
83
143
  pass
@@ -89,6 +149,23 @@ class ZspDataModelCppGen(VscDataModelCppGen,VisitorBase):
89
149
  def visitTypeConstraintExpr(self, i : 'TypeConstraintExpr'):
90
150
  i.expr().accept(self)
91
151
 
152
+ def visitTypeExec(self, i: TypeExec):
153
+ exec_kind_m = {
154
+ ctxt_api.ExecKindT.Body : "zsp::arl::dm::ExecKindT::Body",
155
+ ctxt_api.ExecKindT.PreSolve : "zsp::arl::dm::ExecKindT::PreSolve",
156
+ ctxt_api.ExecKindT.PostSolve : "zsp::arl::dm::ExecKindT::PostSolve",
157
+ }
158
+ self.println("%s_t->addExec(%s->mkTypeExecProc(" % (
159
+ self.leaf_name(self._type_s[-1].name()),
160
+ self._ctxt
161
+ ))
162
+ self.inc_indent()
163
+ self.println("%s," % exec_kind_m[i.getKind()])
164
+ self.inc_indent()
165
+ i.getBody().accept(self)
166
+ self.dec_indent()
167
+ self.println("));")
168
+
92
169
  def visitTypeExprBin(self, i : 'TypeExprBin'):
93
170
  i._lhs.accept(self)
94
171
  i._rhs.accept(self)
@@ -96,6 +173,23 @@ class ZspDataModelCppGen(VscDataModelCppGen,VisitorBase):
96
173
  def visitTypeExprFieldRef(self, i : 'TypeExprFieldRef'):
97
174
  pass
98
175
 
176
+ def visitTypeExprMethodCallStatic(self, i: TypeExprMethodCallStatic):
177
+ self.println("%s->mkTypeExprMethodCallStatic(" % self._ctxt)
178
+ self.inc_indent()
179
+ self.println("%s->findDataTypeFunction(\"%s\")," % (
180
+ self._ctxt,
181
+ i.getTarget().name()))
182
+ self.println("{")
183
+ self.inc_indent()
184
+ for ii,p in enumerate(i.getParameters()):
185
+ self.push_comma(ii+1 < len(i.getParameters()))
186
+ p.accept(self)
187
+ self.pop_comma()
188
+ self.dec_indent()
189
+ self.println("}")
190
+ self.dec_indent()
191
+ self.println(")%s" % self.comma())
192
+
99
193
  # def visitTypeField(self, i : 'TypeField'):
100
194
  # super().visitTypeFieldPhy(i)
101
195
  # pass
@@ -122,7 +216,7 @@ class ZspDataModelCppGen(VscDataModelCppGen,VisitorBase):
122
216
  i.name()
123
217
  ))
124
218
  else:
125
- self.println("{")
219
+ self.println("{ // Declare action type %s" % i.name())
126
220
  self.inc_indent()
127
221
  self.println("zsp::arl::dm::IDataTypeAction *%s_t = %s->mkDataTypeAction(\"%s\");" % (
128
222
  self.leaf_name(i.name()),
@@ -130,10 +224,13 @@ class ZspDataModelCppGen(VscDataModelCppGen,VisitorBase):
130
224
  i.name()))
131
225
  self._type_s.append(i)
132
226
  for f in i.getFields():
133
- f.accept(self)
227
+ if f.name() != "comp":
228
+ f.accept(self)
134
229
  for c in i.getConstraints():
135
230
  c.accept(self)
136
231
  for e in i.getExecs():
232
+ print("Exec: %s" % str(e))
233
+ e.accept(self)
137
234
  pass
138
235
  self._type_s.pop()
139
236
  self.println("%s_t->setComponentType(%s_t);" % (
@@ -149,5 +246,25 @@ class ZspDataModelCppGen(VscDataModelCppGen,VisitorBase):
149
246
  self.dec_indent()
150
247
  self.println("}")
151
248
 
249
+ def visitTypeProcStmtExpr(self, i: TypeProcStmtExpr):
250
+ self.println("%s->mkTypeProcStmtExpr(" % self._ctxt)
251
+ self.inc_indent()
252
+ self.push_comma(False)
253
+ i.getExpr().accept(self)
254
+ self.pop_comma()
255
+ self.dec_indent()
256
+ self.println(")%s" % self.comma())
257
+
258
+ def visitTypeProcStmtScope(self, i: TypeProcStmtScope):
259
+ self.println("%s->mkTypeProcStmtScope({" % self._ctxt)
260
+ self.inc_indent()
261
+ for ii,s in enumerate(i.getStatements()):
262
+ self.push_comma(ii+1 < len(i.getStatements()))
263
+ s.accept(self)
264
+ self.pop_comma()
265
+ self.dec_indent()
266
+ self.println("})%s" % self.comma())
267
+
268
+
152
269
 
153
270
 
@@ -36,9 +36,19 @@ class MethodProxyFn(typeworks.MethodProxy):
36
36
  from .ctor import Ctor
37
37
  ctxt = Ctor.inst().ctxt()
38
38
 
39
- # self._libobj = ctxt.mkDataTypeFunction(
40
- # typeworks.localname(self.T),
41
- # None)
39
+ print("elab_decl: %s" % self.T.__name__)
40
+
41
+ self._libobj = ctxt.mkDataTypeFunction(
42
+ typeworks.localname(self.T),
43
+ None,
44
+ False,
45
+ False,
46
+ False)
47
+ ctxt.addDataTypeFunction(self._libobj)
48
+
49
+ if self._is_import:
50
+ self._libobj.addImportSpec(
51
+ ctxt.mkDataTypeFunctionImport("", False, False))
42
52
 
43
53
  # TODO: need to resolve types for rtype and parameters
44
54
 
@@ -46,15 +56,39 @@ class MethodProxyFn(typeworks.MethodProxy):
46
56
  pass
47
57
 
48
58
  def elab_body(self):
59
+ from .ctor import Ctor
60
+
61
+ print("elab_body: %s" % self.T.__name__)
62
+
49
63
  if self._is_import:
50
- from .ctor import Ctor
51
64
  print("Elab: %s" % typeworks.localname(self.T))
52
65
  else:
53
66
  pass
54
67
  pass
55
68
 
56
69
  def __call__(self, *args, **kwargs):
57
- # TODO:
58
- return self.T(*args, *kwargs)
70
+ from vsc_dataclasses.impl.ctor import Ctor as VscCtor
71
+ from vsc_dataclasses.impl.expr import Expr as VscExpr
72
+ vsc_ctor = VscCtor.inst()
73
+ from .ctor import Ctor
74
+ ctor = Ctor.inst()
75
+ print("__call__ %s %s" % (ctor.is_type_mode(), vsc_ctor.is_type_mode()))
76
+
77
+ if vsc_ctor.is_type_mode():
78
+ print("Function call in type mode")
79
+ params = []
80
+ for a in args:
81
+ e = VscExpr.toExpr(a)
82
+ e = vsc_ctor.pop_expr(e)
83
+ print("Expr: %s" % str(e.model))
84
+ params.append(e.model)
85
+ call_expr = ctor.ctxt().mkTypeExprMethodCallStatic(
86
+ self._libobj,
87
+ params)
88
+ return VscExpr(call_expr)
89
+ else:
90
+ # TODO:
91
+ raise Exception("Illegal to invoke function outside type mode")
92
+ return self.T(*args, *kwargs)
59
93
 
60
94
 
@@ -1,15 +1,23 @@
1
1
 
2
+ from typing import List
2
3
  import zsp_dataclasses.impl.context as ctxt_api
3
4
  import vsc_dataclasses.impl.context as vsc_ctxt
4
5
  import vsc_dataclasses.impl.pyctxt as vsc_pyctxt
6
+
5
7
  from .data_type_action import DataTypeAction
6
8
  from .data_type_component import DataTypeComponent
7
9
  from .data_type_activity_replicate import DataTypeActivityReplicate
8
10
  from .data_type_activity_sequence import DataTypeActivitySequence
9
11
  from .data_type_activity_traverse import DataTypeActivityTraverse
12
+ from .data_type_function import DataTypeFunction
13
+ from .data_type_function_import import DataTypeFunctionImport
10
14
  from .data_type_function_param_decl import DataTypeFunctionParamDecl
15
+ from .type_exec import TypeExec
16
+ from .type_expr_method_call_static import TypeExprMethodCallStatic
11
17
  from .type_field_activity import TypeFieldActivity
12
18
  from .type_proc_stmt_var_decl import TypeProcStmtVarDecl
19
+ from .type_proc_stmt_expr import TypeProcStmtExpr
20
+ from .type_proc_stmt_scope import TypeProcStmtScope
13
21
 
14
22
 
15
23
  class Context(vsc_pyctxt.Context,ctxt_api.Context):
@@ -18,6 +26,8 @@ class Context(vsc_pyctxt.Context,ctxt_api.Context):
18
26
  super().__init__()
19
27
  self._action_t_m = {}
20
28
  self._comp_t_m = {}
29
+ self._data_t_func_m = {}
30
+ self._data_t_func_l = []
21
31
 
22
32
  def findDataTypeAction(self, name) -> 'DataTypeAction':
23
33
  if name in self._action_t_m.keys():
@@ -66,8 +76,21 @@ class Context(vsc_pyctxt.Context,ctxt_api.Context):
66
76
  own_rtype : bool,
67
77
  is_target : bool,
68
78
  is_solve : bool):
69
- return DataTypeFunction(name, type)
70
- raise NotImplementedError("mkDataTypeFunction")
79
+ return DataTypeFunction(name, rtype)
80
+
81
+ def addDataTypeFunction(self, f):
82
+ if f.name() not in self._data_t_func_m.keys():
83
+ self._data_t_func_m[f.name()] = f
84
+ self._data_t_func_l.append(f)
85
+
86
+ def getDataTypeFunctions(self):
87
+ return self._data_t_func_l
88
+
89
+ def mkDataTypeFunctionImport(self,
90
+ lang,
91
+ is_target,
92
+ is_solve):
93
+ return DataTypeFunctionImport(lang, is_target, is_solve)
71
94
 
72
95
  def mkDataTypeFunctionParamDecl(self,
73
96
  name,
@@ -76,11 +99,49 @@ class Context(vsc_pyctxt.Context,ctxt_api.Context):
76
99
  own : bool,
77
100
  init : vsc_ctxt.TypeExpr) -> ctxt_api.DataTypeFunctionParamDecl:
78
101
  return DataTypeFunctionParamDecl(name, dir, type, own, init)
102
+
103
+ def mkTypeExec(self,
104
+ kind,
105
+ body):
106
+ return TypeExec(kind, body)
79
107
 
80
108
 
81
109
  def mkTypeFieldActivity(self, name, type : 'DataTypeActivity', owned):
82
110
  return TypeFieldActivity(name, type)
83
111
 
112
+ def mkTypeFieldPhy(self,
113
+ name,
114
+ dtype : 'DataType',
115
+ own_dtype : bool,
116
+ attr,
117
+ init : 'ModelVal') -> 'TypeFieldPhy':
118
+ print("mkTypeFieldPhy: %s" % name)
119
+ if name.endswith(".Entry"):
120
+ raise Exception("Creating action-named field")
121
+ else:
122
+ return super().mkTypeFieldPhy(name, dtype, own_dtype, attr, init)
123
+
124
+ def mkTypeFieldRef(self,
125
+ name,
126
+ dtype : 'DataType',
127
+ attr) -> 'TypeFieldRef':
128
+ print("mkTypeFieldRef: %s" % name)
129
+ if name.endswith(".Entry"):
130
+ raise Exception("Creating action-named field")
131
+ else:
132
+ return super().mkTypeFieldRef(name, dtype, attr)
133
+
134
+ def mkTypeExprMethodCallStatic(self,
135
+ target: DataTypeFunction,
136
+ params: List[vsc_ctxt.TypeExpr]):
137
+ return TypeExprMethodCallStatic(target, params)
138
+
139
+ def mkTypeProcStmtExpr(self, expr):
140
+ return TypeProcStmtExpr(expr)
141
+
84
142
  def mkTypeProcStmtVarDecl(self, name, type, init):
85
143
  return TypeProcStmtVarDecl(name, type, init)
144
+
145
+ def mkTypeProcStmtScope(self):
146
+ return TypeProcStmtScope()
86
147
 
@@ -16,16 +16,26 @@ class DataTypeAction(ctxt_api.DataTypeAction,DataTypeArlStruct):
16
16
  "comp",
17
17
  None,
18
18
  vsc_ctxt.TypeFieldAttr.NoAttr))
19
+ print("Field: %s (%s)" % (self.getField(0).name(), type(self.getField(0)).__qualname__))
19
20
 
20
21
  def getComponentType(self) -> 'DataTypeComponent':
21
22
  return self._comp_t
22
23
 
23
24
  def setComponentType(self, t : 'DataTypeComponent'):
25
+ print("setComponent")
26
+ print("Field: %s (%s)" % (self.getField(0).name(), type(self.getField(0)).__qualname__))
24
27
  self.getField(0).setDataType(t)
25
28
  self._comp_t = t
29
+ pass
26
30
 
27
31
  def getCompField(self) -> 'vsc_ctxt.TypeFieldRef':
28
32
  return self._fields[0]
33
+
34
+ def addField(self, f: 'TypeField'):
35
+ print("DataTypeAction.addField %s" % f.name())
36
+ if f.name().endswith(".Entry"):
37
+ raise Exception("Bad addition")
38
+ return super().addField(f)
29
39
 
30
40
  def addActivity(self, activity : 'TypeFieldActivity'):
31
41
  self._activities.append(activity)
@@ -19,28 +19,24 @@
19
19
  #* Author:
20
20
  #*
21
21
  #****************************************************************************
22
- from zsp_dataclasses.impl.context import DataTypeArlStruct
22
+ import zsp_dataclasses.impl.context as ctxt_api
23
23
  from vsc_dataclasses.impl.pyctxt.data_type_struct import DataTypeStruct
24
24
 
25
- class DataTypeArlStruct(DataTypeArlStruct,DataTypeStruct):
25
+ class DataTypeArlStruct(ctxt_api.DataTypeArlStruct, DataTypeStruct):
26
26
 
27
27
  def __init__(self, name):
28
28
  DataTypeStruct.__init__(self, name)
29
- self._execs = []
30
- self._functions = []
29
+ self._exec_l = []
30
+ pass
31
31
 
32
32
  def addExec(self, exec : 'TypeExec'):
33
- self._execs.append(exec)
33
+ self._exec_l.append(exec)
34
34
 
35
35
  def getExecs(self):
36
- return self._execs
36
+ return self._exec_l
37
37
 
38
38
  def addFunction(self, f : 'DataTypeFunction'):
39
- self._functions.append(f)
39
+ raise NotImplementedError("addFunction")
40
40
 
41
41
  def getFunctions(self):
42
- return self._functions
43
-
44
- def accept(self, v):
45
- v.visitDataTypeArlStruct(self)
46
-
42
+ raise NotImplementedError("getFunctions")
@@ -30,6 +30,7 @@ class DataTypeFunction(object):
30
30
  self._name = name
31
31
  self._rtype = rtype
32
32
  self._params = []
33
+ self._body = None
33
34
  self._imp_specs = []
34
35
 
35
36
  def name(self):
@@ -44,6 +45,12 @@ class DataTypeFunction(object):
44
45
  def addParameter(self, p : 'DataTypeFunctionParamDecl'):
45
46
  self._params.append(p)
46
47
 
48
+ def getBody(self):
49
+ return self._body
50
+
51
+ def setBody(self, b):
52
+ self._body = b
53
+
47
54
  def addImportSpec(self, spec : 'DataTypeFunctionImport'):
48
55
  self._imp_specs.append(spec)
49
56
 
@@ -0,0 +1,38 @@
1
+ #****************************************************************************
2
+ #* type_exec.py
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
+ #****************************************************************************
22
+ import zsp_dataclasses.impl.context as ctxt_api
23
+ from zsp_dataclasses.impl.context import ExecKindT
24
+
25
+ class TypeExec(ctxt_api.TypeExec):
26
+
27
+ def __init__(self, kind, body):
28
+ self._kind = kind
29
+ self._body = body
30
+
31
+ def getKind(self) -> ExecKindT:
32
+ return self._kind
33
+
34
+ def getBody(self):
35
+ return self._body
36
+
37
+ def accept(self, v):
38
+ v.visitTypeExec(self)
@@ -0,0 +1,34 @@
1
+ #****************************************************************************
2
+ #* type_proc_stmt_expr.py
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
+ #****************************************************************************
22
+
23
+ import zsp_dataclasses.impl.context as ctxt_api
24
+
25
+ class TypeProcStmtExpr(ctxt_api.TypeProcStmtExpr):
26
+
27
+ def __init__(self, expr):
28
+ self._expr = expr
29
+
30
+ def getExpr(self):
31
+ return self._expr
32
+
33
+ def accept(self, v):
34
+ v.visitTypeProcStmtExpr(self)
@@ -0,0 +1,45 @@
1
+ #****************************************************************************
2
+ #* type_proc_stmt_scope.py
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
+ #****************************************************************************
22
+ import zsp_dataclasses.impl.context as ctxt_api
23
+
24
+ class TypeProcStmtScope(ctxt_api.TypeProcStmtScope):
25
+
26
+ def __init__(self):
27
+ self._statements = []
28
+ self._variables = []
29
+
30
+ def addStatement(self, s):
31
+ self._statements.append(s)
32
+
33
+ def addVariable(self, v):
34
+ self._variables.append(v)
35
+
36
+ def getStatements(self):
37
+ return self._statements
38
+
39
+ def getVariables(self):
40
+ return self._variables
41
+
42
+ def accept(self, v):
43
+ v.visitTypeProcStmtScope(self)
44
+
45
+
@@ -24,7 +24,8 @@ from vsc_dataclasses.impl.pyctxt.visitor_base import VisitorBase as VscVisitorBa
24
24
  from ..context import DataTypeAction, DataTypeActivity, DataTypeActivityScope
25
25
  from ..context import DataTypeActivityTraverse
26
26
  from ..context import DataTypeComponent, DataTypeArlStruct, DataTypeFunction, DataTypeFunctionParamDecl
27
- from ..context import TypeExprMethodCallStatic, TypeProcStmtVarDecl
27
+ from ..context import TypeExprMethodCallStatic, TypeProcStmtExpr, TypeProcStmtVarDecl
28
+ from ..context import TypeExec, TypeProcStmtScope
28
29
 
29
30
  class VisitorBase(VscVisitorBase):
30
31
 
@@ -66,11 +67,21 @@ class VisitorBase(VscVisitorBase):
66
67
  def visitDataTypeFunctionParamDecl(self, i : DataTypeFunctionParamDecl):
67
68
  self.visitTypeProcStmtVarDecl(i)
68
69
 
70
+ def visitTypeExec(self, i : TypeExec):
71
+ i.getBody().accept(self)
72
+
69
73
  def visitTypeExprMethodCallStatic(self, i : TypeExprMethodCallStatic):
70
74
  i.getTarget().accept(self)
71
75
  for p in i.getParameters():
72
76
  p.accept(self)
73
77
 
78
+ def visitTypeProcStmtExpr(self, i : TypeProcStmtExpr):
79
+ i.getExpr().accept(self)
80
+
81
+ def visitTypeProcStmtScope(self, i : TypeProcStmtScope):
82
+ for s in i.getStatements():
83
+ s.accept(self)
84
+
74
85
  def visitTypeProcStmtVarDecl(self, i : TypeProcStmtVarDecl):
75
86
  i.getDataType().accept(self)
76
87
  if i.getInit() is not None:
@@ -5,6 +5,7 @@ Created on Apr 4, 2022
5
5
  '''
6
6
  import dataclasses
7
7
  import vsc_dataclasses.impl as vsc_impl
8
+ import zsp_dataclasses.impl.context as ctxt_api
8
9
  from typing import Dict, List, Tuple
9
10
  from .exec_kind_e import ExecKindE
10
11
  from .exec_group import ExecGroup
@@ -37,6 +38,7 @@ class TypeInfo(vsc_impl.TypeInfoRandClass):
37
38
  self._function_l : List[MethodProxyFn] = []
38
39
 
39
40
  def addExec(self, exec_t : ExecType):
41
+ print("TypeInfo.addExec")
40
42
  if exec_t.kind not in self._exec_m.keys():
41
43
  self._exec_m[exec_t.kind] = ExecGroup(exec_t.kind)
42
44
  self._exec_m[exec_t.kind].add_exec(exec_t)
@@ -81,13 +83,38 @@ class TypeInfo(vsc_impl.TypeInfoRandClass):
81
83
 
82
84
  def _elabExecs(self, obj):
83
85
  from .ctor import Ctor
86
+ exec_kind_m = {
87
+ ExecKindE.Body : ctxt_api.ExecKindT.Body,
88
+ ExecKindE.InitDown : ctxt_api.ExecKindT.InitDown,
89
+ ExecKindE.InitUp : ctxt_api.ExecKindT.InitUp,
90
+ ExecKindE.PreSolve : ctxt_api.ExecKindT.PreSolve,
91
+ ExecKindE.PostSolve : ctxt_api.ExecKindT.PostSolve
92
+ }
84
93
 
85
94
  ctxt = Ctor.inst().ctxt()
86
95
  for kind in self._exec_m.keys():
87
96
  print("Elaborating exec-kind %s" % str(kind))
97
+ root_scope = None
98
+ scope = None
88
99
  for e in self._exec_m[kind].execs:
89
- print(" Exec %s" % str(e))
90
- e.func(obj)
100
+ print(" Exec %s" % str(e))
101
+ if scope is not None:
102
+ if root_scope is None:
103
+ root_scope = ctxt.mkTypeProcStmtScope()
104
+ root_scope.addStatement(scope)
105
+ scope = ctxt.mkTypeProcStmtScope()
106
+ Ctor.inst().push_proc_scope(scope)
107
+ e.func(obj)
108
+ Ctor.inst().pop_proc_scope()
109
+
110
+ if root_scope is not None:
111
+ root_scope.addStatement(scope)
112
+ if root_scope is not None:
113
+ self._lib_typeobj.addExec(
114
+ ctxt.mkTypeExec(exec_kind_m[kind], root_scope))
115
+ else:
116
+ self._lib_typeobj.addExec(
117
+ ctxt.mkTypeExec(exec_kind_m[kind], scope))
91
118
 
92
119
  def _elabFields(self):
93
120
  from .rand_t import RandT
@@ -38,10 +38,14 @@ class TypeInfoAction(TypeInfo):
38
38
 
39
39
  def elab(self, obj):
40
40
  print("TypeInfoAction.elab")
41
+ print("Field[0]=%s" % self.lib_typeobj.getField(0).name())
41
42
  self.lib_typeobj.setComponentType(self.component_ti.lib_typeobj)
43
+ print("Field[0]=%s" % self.lib_typeobj.getField(0).name())
42
44
  super().elab(obj)
45
+ print("Field[0]=%s" % self.lib_typeobj.getField(0).name())
43
46
 
44
47
  self.elabActivities(obj)
48
+ print("Field[0]=%s" % self.lib_typeobj.getField(0).name())
45
49
  pass
46
50
 
47
51
  def addActivity(self, activity_t):
@@ -21,6 +21,7 @@
21
21
  #****************************************************************************
22
22
  import vsc_dataclasses.impl as vsc_impl
23
23
  import vsc_dataclasses.impl.context as vsc_ctxt
24
+ from vsc_dataclasses.impl.ctor import Ctor as VscCtor
24
25
 
25
26
  from .modelinfo_component import ModelInfoComponent
26
27
 
@@ -97,6 +98,8 @@ class TypeInfoComponent(TypeInfo):
97
98
  self._invokeInit(obj)
98
99
 
99
100
  def _invokeInit(self, obj):
101
+ ctor = Ctor.inst()
102
+ vsc_ctor = vsc_impl.Ctor.inst()
100
103
  ctxt = RtCtxt.inst()
101
104
 
102
105
  typeinfo : TypeInfoComponent = obj._modelinfo._typeinfo
@@ -107,7 +110,14 @@ class TypeInfoComponent(TypeInfo):
107
110
 
108
111
  ctxt.push_exec_group(exec_g)
109
112
  for e in exec_g.execs:
113
+ # Push stmt scope to put
114
+ print("--> push_proc_scope")
115
+ ctor.push_proc_scope(None)
110
116
  e.func(obj)
117
+ ctor.pop_proc_scope()
118
+ print("<-- pop_proc_scope")
119
+
120
+ # for le in vsc_ctor.pop_expr()
111
121
  ctxt.pop_exec_group()
112
122
 
113
123
  for comp_mi in obj._modelinfo.component_fields:
@@ -167,6 +177,7 @@ class TypeInfoComponent(TypeInfo):
167
177
  vsc_ctor.pop_scope()
168
178
 
169
179
  print("<-- TypeInfoComponent.elab %s %d" % (self.info.T.__name__, len(vsc_ctor._scope_s)))
180
+ print("Field[0]=%s" % self._action_t[0].lib_typeobj.getField(0).name())
170
181
 
171
182
  def addActionT(self, a):
172
183
  self._action_t.append(a)
@@ -35,6 +35,7 @@ class if_then(object):
35
35
  cond_e = Expr.toExpr(e)
36
36
  ctor.pop_expr(cond_e)
37
37
 
38
+ # Have constraint, proc, and activity
38
39
  if ctor.is_type_mode():
39
40
  true_c = ctor.ctxt().mkTypeConstraintScope()
40
41
  self.stmt = ctor.ctxt().mkTypeConstraintIfElse(
@@ -86,9 +86,10 @@ def main():
86
86
  gen = ZspDataModelCppGen()
87
87
  gen._ctxt = "m_ctxt"
88
88
  with open(header_path, "w") as fp:
89
- fp.write(gen.generate(root_comp, root_action))
90
-
91
- pass
89
+ fp.write(gen.generate(
90
+ root_comp,
91
+ root_action,
92
+ Ctor.inst().ctxt().getDataTypeFunctions()))
92
93
 
93
94
  if args.depfile is not None:
94
95
  with open(args.depfile, "w") as fp:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: zuspec-dataclasses
3
- Version: 0.0.1.6340113986
3
+ Version: 0.0.1.6365096825
4
4
  Summary: Front-end for capturing Action Relation Level models using dataclasses
5
5
  Home-page: https://github.com/zuspec/zuspec-dataclasses
6
6
  Author: Matthew Ballance
@@ -3,7 +3,7 @@ zsp_dataclasses/activity_stmts.py,sha256=UjXG4-j_XsRyMq68qkhBRv6EhdHx4-G4ZpknVja
3
3
  zsp_dataclasses/claims_refs.py,sha256=pxQEJf4jDEP6LP0Qn1yz1H1IPz0Js2JFcUcWbKfLYew,483
4
4
  zsp_dataclasses/core_lib.py,sha256=XCE210ZpPsJzP1NZ0L6aWNa-jyUu6iWzT7NZQ3MpkEw,1061
5
5
  zsp_dataclasses/decorators.py,sha256=LPjWaPyY_y9NALj3cbs9zHc-jNVNErdYzqdm6OM7T3U,5954
6
- zsp_dataclasses/shared_stmts.py,sha256=0jk7c39QEOsTqs10lUlSp8l-Nwt1vXXropSTQExFq2w,6099
6
+ zsp_dataclasses/shared_stmts.py,sha256=LWLZEqSqWp6pdBVM2JrMc2UvLg1N4OwEWXGM_cKA57U,6145
7
7
  zsp_dataclasses/types.py,sha256=4vkNqnn_NE8EwByAWcVexjIwXfbKF0tbzuUQYqj0aZE,354
8
8
  zsp_dataclasses/impl/__init__.py,sha256=8QR6sFeZsEInPOeKswViD7vKt5qssIucbngAT8JfgC0,24
9
9
  zsp_dataclasses/impl/action_decl.py,sha256=sOfUnE4xBurFPghfxqh9yHxUL9FzOqgOgtnqjUv_mic,105
@@ -29,8 +29,8 @@ zsp_dataclasses/impl/component_base.py,sha256=EMkIv4crlwTDVUo4kNP3oOzQcMJ__Ah1Z1
29
29
  zsp_dataclasses/impl/component_decorator_impl.py,sha256=1IK5-fYw8IYP8t55FYqMnmdzcFQqq0Kv6dH8pkGgMrI,6267
30
30
  zsp_dataclasses/impl/component_impl.py,sha256=_FEaLbmsha1xWySpbMlmf782cX0v2865meFYyx2hSL4,4758
31
31
  zsp_dataclasses/impl/constraint_impl.py,sha256=qEbh7cBRjEOULEEpgX8cqSvNuIDfbKYwG2kZovHdIWQ,190
32
- zsp_dataclasses/impl/context.py,sha256=ORjTCQmnQE0dqlfWXlxzslhF9nckPZaqp8w2rvI2v08,7485
33
- zsp_dataclasses/impl/ctor.py,sha256=0zcWhlvDXsmJpnnZIXkSKzjPg_xFoZ5-k2HC8nqHuiY,6770
32
+ zsp_dataclasses/impl/context.py,sha256=1zKagVTAvCIRTnRw0ioqBll1gv4G8l_A2f4STzPbhvs,9283
33
+ zsp_dataclasses/impl/ctor.py,sha256=wAc5LVj0Da_qgKlAOlMpkXBtx-NOvgN_0MJdxqflKb4,7224
34
34
  zsp_dataclasses/impl/ctor_scope.py,sha256=HsWpJqE6eQl0--aWPLm11WEzuFF3CKHc7S_P89PeZX4,956
35
35
  zsp_dataclasses/impl/decorator_impl_base.py,sha256=2g9PgX2WKDqdlQW4HhCa_Ayfm9-b9LIbQrJh_T0dOdg,3817
36
36
  zsp_dataclasses/impl/do_impl.py,sha256=IGajJ-sAOR9noOdXcb2SrboE0g9YS6MNaWkyPWLLf14,1597
@@ -54,7 +54,7 @@ zsp_dataclasses/impl/input_meta_t.py,sha256=bQeK2CaOlltSleGvwdOkUenxyMKf7AE0LYZj
54
54
  zsp_dataclasses/impl/input_output_t.py,sha256=QNWp8aEg_0T-sSDQAlcU5G-TKZJw-sM-UJ8ChplSe_E,440
55
55
  zsp_dataclasses/impl/lock_meta_t.py,sha256=xsAlVUwW5VVj61aTwCSzz0jAtBC6S11gan3nwTT3IuI,502
56
56
  zsp_dataclasses/impl/lock_share_t.py,sha256=ewgVyUwAbc7fSWxasb_52fO70JrBpgmNgEMGL4b2g-E,574
57
- zsp_dataclasses/impl/method_proxy_fn.py,sha256=JtpTIQz3XTIU5X7BqOnNpdrjs-l2hR8l1E5cJauALDs,1733
57
+ zsp_dataclasses/impl/method_proxy_fn.py,sha256=v0-mun9F52Sygi5KYa9iP-6Zw_Ta619dGy2EzwrQn9w,2919
58
58
  zsp_dataclasses/impl/modelinfo_activity.py,sha256=ymJMpoXT8mnG1vq-BZNNcPbrBgYsieEMJMx-mtb8ZZ0,267
59
59
  zsp_dataclasses/impl/modelinfo_component.py,sha256=JFievD4qHH6avu1Mc5ZQ0CGF9gyMSbYigl0bSLmUi0k,353
60
60
  zsp_dataclasses/impl/obj_base.py,sha256=mRGs3UOUBOoxq5yS8Ed_Ug4sShxW3aS2OULjbxqqi9E,935
@@ -68,12 +68,12 @@ zsp_dataclasses/impl/rt_ctxt.py,sha256=DSvaI3P-7Q2anoj6IGMdz1hwJRCjBwbdyjcQW8NMZ
68
68
  zsp_dataclasses/impl/share_meta_t.py,sha256=LrakSQeWQfrJ_VRIfjjDiC8nThdnn05MKgfVaqJfcr0,506
69
69
  zsp_dataclasses/impl/struct_decorator_impl.py,sha256=W5IwBKzQok51lxAJnlewAk9dpoLCVkmvbJpcELKt-yk,1739
70
70
  zsp_dataclasses/impl/struct_kind_e.py,sha256=gUrxFdT8YnK0NrMSKuHFIPIBHl7Q7y4BGRU1dvYrDo8,216
71
- zsp_dataclasses/impl/type_info.py,sha256=CHFcynN8crFHQk7p41QxMEDVX7G5tGskVZh-bzfkn5o,7620
71
+ zsp_dataclasses/impl/type_info.py,sha256=Um61SeNhTc08JRszXSn_3yU2sZVeMu44cEqUHsggbU8,8798
72
72
  zsp_dataclasses/impl/type_kind_e.py,sha256=3EqUEeQrtmQMGPcXGKnuA1dFDMu46lN40BHQzSsuCLI,330
73
- zsp_dataclasses/impl/typeinfo_action.py,sha256=66BBe15H4eUW7lTcd6HMtQGCjgikQE4WM8YWJvedv0U,4034
73
+ zsp_dataclasses/impl/typeinfo_action.py,sha256=Bu-M-49IwXXxPHObp1V2FwWdR2QrtXgzxIlWgeKjpjw,4302
74
74
  zsp_dataclasses/impl/typeinfo_claim.py,sha256=TlN200FoSakB-hqpNPY-ZjZq9BeVsXNnawAFtLU26So,1775
75
75
  zsp_dataclasses/impl/typeinfo_comp_ref.py,sha256=Y1ek3i2k9Clf3GrINEb6uo_P79PX5jUUPzBAYWwQ3IM,952
76
- zsp_dataclasses/impl/typeinfo_component.py,sha256=vovYUjjXLdwdsswIzy6k5Qfwo4KP9Uw-Ur6eYwWaEt4,6619
76
+ zsp_dataclasses/impl/typeinfo_component.py,sha256=vIQE6NB-b6ubGQpiQvD0tXe7UEDBHZP9dPFtaweykgg,7080
77
77
  zsp_dataclasses/impl/typeinfo_extend_action.py,sha256=Z9SjpxpzphaSIcJsqiK1G0aTHR2Kp0CSFOJQY2loZrY,1682
78
78
  zsp_dataclasses/impl/typeinfo_extend_base.py,sha256=l_u6K0xE7KD6MYhSW2-hJJvwd0rwjEial_JBdGk8fcM,1723
79
79
  zsp_dataclasses/impl/typeinfo_flow_obj.py,sha256=g64ZoQ4o4_xIcVwqQdunopp6OBwFbLeohaIFM0Ut4EE,451
@@ -81,28 +81,31 @@ zsp_dataclasses/impl/typeinfo_flow_obj_ref.py,sha256=NhNwKY2Qp6umQWgPRpAyqLPQsjX
81
81
  zsp_dataclasses/impl/typeinfo_pool.py,sha256=-fbPtyoiorI1GwEKxXEn6Birxq4WJCNn_0exAwTAIdw,443
82
82
  zsp_dataclasses/impl/typeinfo_struct.py,sha256=JF-1NJGaNxgm6aTEkNHPEx230yMXExnORLlJIHe4KBI,333
83
83
  zsp_dataclasses/impl/generators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
84
- zsp_dataclasses/impl/generators/zsp_data_model_cpp_gen.py,sha256=gktOuHQLkQJY56aVfv4wqJiXWANs-qb6Z3oFY1NcAzI,5200
85
- zsp_dataclasses/impl/pyctxt/context.py,sha256=VuodJ0lHqmkJUZ90y_v6jm6UsfmtIe1OammO7jL2DGs,3166
86
- zsp_dataclasses/impl/pyctxt/data_type_action.py,sha256=jMPEA8MKXeVIuDbQaCmnZT4U6kjLIqTLQs8YzULKYzY,1166
84
+ zsp_dataclasses/impl/generators/zsp_data_model_cpp_gen.py,sha256=BzHQeT3x0SbqeIipb2zE4K5Fhyvt8sJAewV3SiCswKg,9819
85
+ zsp_dataclasses/impl/pyctxt/context.py,sha256=KWcgCABeDSRre5de6HHpmuqUmpb6vzLppz2DZPGQD60,5223
86
+ zsp_dataclasses/impl/pyctxt/data_type_action.py,sha256=v5DR7eFqov0_iPMhLE30meuqMM98YQ0VcMV7_P1FPas,1622
87
87
  zsp_dataclasses/impl/pyctxt/data_type_activity_replicate.py,sha256=RE3uNEAjs-FeeThN-KClneFCXWAfTuefaA0Fhlui_38,1298
88
88
  zsp_dataclasses/impl/pyctxt/data_type_activity_scope.py,sha256=u_Lg2p_bUUydtXq7l0Ah45FvurJ2M68R29Ez0QJBEeg,1404
89
89
  zsp_dataclasses/impl/pyctxt/data_type_activity_sequence.py,sha256=k97zrkLTEpP9cFG8auBlZ4LVkITb8JYlEnsoO9DTPwo,1090
90
90
  zsp_dataclasses/impl/pyctxt/data_type_activity_traverse.py,sha256=naSl1YL8zG1PNdtBsdt4cpdiNxbyUsjoo_OP6T7ZyII,1432
91
- zsp_dataclasses/impl/pyctxt/data_type_arl_struct.py,sha256=HchSnbnaEhg7qxm7aiNzAfV_hk0Lj6Ft-R2_LNfkIWw,1516
91
+ zsp_dataclasses/impl/pyctxt/data_type_arl_struct.py,sha256=nw-Z2J5NesoNkWxQAp1o52nvg2kRNdYdf0iY8nZruUY,1466
92
92
  zsp_dataclasses/impl/pyctxt/data_type_component.py,sha256=w6S3GUmQ_AKxEz-wLYfhF4Hv7SP-X5Zf_556VQyL7Ok,1122
93
- zsp_dataclasses/impl/pyctxt/data_type_function.py,sha256=pMzWDfY_L9EkcnEOWwkjmcec6PgZ9mh4nhAuOBugj38,1710
93
+ zsp_dataclasses/impl/pyctxt/data_type_function.py,sha256=JpY63pYzeB7sjDer40MDBzUw6VB39X4Ts2ZwbLzOh28,1840
94
94
  zsp_dataclasses/impl/pyctxt/data_type_function_import.py,sha256=hZmhCukuDiz2jo0Vvc4VtI3IhfmodYbVQP47G-LQDyk,1228
95
95
  zsp_dataclasses/impl/pyctxt/data_type_function_param_decl.py,sha256=rAel2RQX7Zc_NlqH0RP6JLWsny1kF50_dexcUDFE9-M,1277
96
96
  zsp_dataclasses/impl/pyctxt/model_field_component.py,sha256=GP9BjIde7pBamGgMx56dY0dd2CG5kSzQZSIpaoHVoQw,1180
97
+ zsp_dataclasses/impl/pyctxt/type_exec.py,sha256=Un9cst7m--P65lvNQ7iNssGU1CNimM0N6yBRyfwg0Dk,1225
97
98
  zsp_dataclasses/impl/pyctxt/type_expr_method_call_static.py,sha256=5c9lMjPEGrb0m_G9OMAK_QZL6AytKE4isPmtO4O5KrQ,1365
98
99
  zsp_dataclasses/impl/pyctxt/type_field_activity.py,sha256=SFpdm_fOQgE1F3qKTM9gU9ocnG4ZxFmtwkdb0Mi3F_A,1286
100
+ zsp_dataclasses/impl/pyctxt/type_proc_stmt_expr.py,sha256=V2UsVyGI9bExvZ2Eqz3wNJ39LMC_3EXICo6JZsenV0c,1115
101
+ zsp_dataclasses/impl/pyctxt/type_proc_stmt_scope.py,sha256=TfbqEcHgLOlKn7M99IDnwzTjkhhp0wxcMaca5X57JwY,1355
99
102
  zsp_dataclasses/impl/pyctxt/type_proc_stmt_var_decl.py,sha256=gHmRGhPQDQeN2F4dZ7FBY7-HhF5t1ZDMd16_EakYhHg,1306
100
- zsp_dataclasses/impl/pyctxt/visitor_base.py,sha256=-TYWwR4Jju9sLHKxmHlzICYMWlRJXzWAMo_bOleSTSU,2772
103
+ zsp_dataclasses/impl/pyctxt/visitor_base.py,sha256=G5DiaYlfULVmOyRLnIV4m1Gb70FeX65U5_lMV7foLHk,3135
101
104
  zsp_dataclasses/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
102
105
  zsp_dataclasses/util/extract_cpp_embedded_dsl.py,sha256=SyMMLumZD6fsubj40hyekYzWyrcoUGTijJH3NmK1ihY,5630
103
- zsp_dataclasses/util/gen_cpp_dt_defs/__main__.py,sha256=xUbDpPaC9JrRkfDFKDMAVo-CBvqJla6NeJX8vzUGXo8,3311
104
- zuspec_dataclasses-0.0.1.6340113986.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
105
- zuspec_dataclasses-0.0.1.6340113986.dist-info/METADATA,sha256=MQzqRfQM7GFZXFiDLbHajtUaMYQUFguLE-qIYqNKms8,499
106
- zuspec_dataclasses-0.0.1.6340113986.dist-info/WHEEL,sha256=iYlv5fX357PQyRT2o6tw1bN-YcKFFHKqB_LwHO5wP-g,110
107
- zuspec_dataclasses-0.0.1.6340113986.dist-info/top_level.txt,sha256=BHigRYcGvNv_xCJUUv5OXgSPSoczsH3Tle0gABks4l0,16
108
- zuspec_dataclasses-0.0.1.6340113986.dist-info/RECORD,,
106
+ zsp_dataclasses/util/gen_cpp_dt_defs/__main__.py,sha256=LdfPAEzhMPtW1Ie15A5pmYAlL8DQFj-l7Pbey3EJiJg,3391
107
+ zuspec_dataclasses-0.0.1.6365096825.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
108
+ zuspec_dataclasses-0.0.1.6365096825.dist-info/METADATA,sha256=aJ8acCMq9O6_hcZ4SwO7_ZNlCRj0vQ8dQ9l6TfgfvgI,499
109
+ zuspec_dataclasses-0.0.1.6365096825.dist-info/WHEEL,sha256=iYlv5fX357PQyRT2o6tw1bN-YcKFFHKqB_LwHO5wP-g,110
110
+ zuspec_dataclasses-0.0.1.6365096825.dist-info/top_level.txt,sha256=BHigRYcGvNv_xCJUUv5OXgSPSoczsH3Tle0gABks4l0,16
111
+ zuspec_dataclasses-0.0.1.6365096825.dist-info/RECORD,,