zuspec-arl-dm 0.1.0.15264414400rc0__cp311-cp311-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.
- zsp_arl_dm/__build_num__.py +1 -0
- zsp_arl_dm/__init__.py +22 -0
- zsp_arl_dm/__version__.py +3 -0
- zsp_arl_dm/core.cpython-311-x86_64-linux-gnu.so +0 -0
- zsp_arl_dm/core.pxd +395 -0
- zsp_arl_dm/decl.pxd +317 -0
- zsp_arl_dm/libzsp-arl-dm.so +0 -0
- zsp_arl_dm/pkginfo.py +23 -0
- zsp_arl_dm/py_val_to_val_ref.py +46 -0
- zsp_arl_dm/share/include/TypeFieldAddrClaim.cpp +39 -0
- zsp_arl_dm/share/include/TypeFieldAddrClaim.h +41 -0
- zsp_arl_dm/share/include/zsp/arl/dm/FactoryExt.h +6 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IAccept.h +28 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IArl.h +30 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IComponentMap.h +41 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IContext.h +443 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IContextDumper.h +47 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IContextLoader.h +40 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeAction.h +43 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeActivity.h +37 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeActivityBind.h +45 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeActivityParallel.h +17 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeActivityReplicate.h +45 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeActivitySchedule.h +25 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeActivityScope.h +46 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeActivitySequence.h +26 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeActivityTraverse.h +33 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeActivityTraverseType.h +32 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeAddrClaim.h +42 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeAddrClaimTransparent.h +42 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeAddrHandle.h +44 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeAddrSpaceC.h +46 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeAddrSpaceTransparentC.h +41 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeArlStruct.h +51 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeComponent.h +40 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeCoreLibComponent.h +44 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeFlowObj.h +36 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeFunction.h +115 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeFunctionImport.h +45 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeFunctionParamDecl.h +53 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypePackedStruct.h +48 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypePureComponent.h +41 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypePyObj.h +41 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeReg.h +55 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeRegGroup.h +40 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeResource.h +22 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IDataTypeTransparentAddrSpace.h +44 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IFactory.h +64 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IMarker.h +56 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelActivity.h +39 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelActivityBind.h +46 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelActivityParallel.h +41 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelActivityReplicate.h +49 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelActivitySchedule.h +30 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelActivityScope.h +52 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelActivitySequence.h +28 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelActivityTraverse.h +53 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelBuildContext.h +36 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelComponentTreeData.h +92 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelEvalIterator.h +72 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelEvalIteratorListener.h +62 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelEvaluator.h +41 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelExec.h +40 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldAction.h +34 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldClaim.h +43 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldComponent.h +32 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldComponentRoot.h +51 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldExecutor.h +41 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldExecutorClaim.h +42 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldExecutorGroup.h +50 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldInOut.h +44 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldPool.h +38 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldRegGroup.h +41 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldRegGroupRef.h +40 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IModelFieldRegRef.h +41 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IPoolBindDirective.h +33 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IPyImport.h +45 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IRegGroup.h +32 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IRewriteContext.h +44 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IType.h +30 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeAction.h +25 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeExec.h +53 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeExecGroup.h +50 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeExecProc.h +44 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeExecTargetTmpl.h +59 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeExprMethodCallContext.h +45 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeExprMethodCallStatic.h +49 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeExprPureCompMethodCall.h +50 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeExprPyImportRef.h +44 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeExprPythonFieldRef.h +47 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeExprPythonMethodCall.h +47 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeExprPythonModuleRef.h +45 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeExprPythonSubscript.h +40 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldActivity.h +32 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldAddrClaim.h +52 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldAddrClaimTransparent.h +45 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldClaim.h +27 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldExecutor.h +40 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldExecutorClaim.h +41 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldInOut.h +27 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldMethod.h +39 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldPool.h +29 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldReg.h +47 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldRegGroup.h +40 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldRegGroupArr.h +49 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldRegRef.h +41 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeFieldRegVec.h +52 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeModelDumper.h +47 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmt.h +43 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtAssign.h +61 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtBreak.h +41 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtContinue.h +40 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtDeclScope.h +44 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtExpr.h +44 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtForeach.h +41 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtIfClause.h +46 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtIfElse.h +53 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtMatch.h +53 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtMatchChoice.h +48 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtRepeat.h +47 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtRepeatWhile.h +46 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtReturn.h +45 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtScope.h +62 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtVarDecl.h +50 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtWhile.h +47 -0
- zsp_arl_dm/share/include/zsp/arl/dm/ITypeProcStmtYield.h +42 -0
- zsp_arl_dm/share/include/zsp/arl/dm/IVisitor.h +246 -0
- zsp_arl_dm/share/include/zsp/arl/dm/TypeKindE.h +23 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/ContextDelegator.h +549 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/CopyVisitor.h +204 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/IsResourcePool.h +55 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/ModelBuildContext.h +52 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/ModelEvalIteratorListenerBase.h +60 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/RewriteVisitorBase.h +346 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskActionHasMemClaim.h +76 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskCollectTopLevelActivities.h +63 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskFindExecutor.h +69 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskGetExprDataType.h +84 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskGetSubField.h +98 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskGetTypeBitWidth.h +76 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskIsDataTypeFlowObj.h +73 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskIsDataTypePyObj.h +55 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskIsPackedStruct.h +57 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskIsRefGroupRef.h +60 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskIsTypeFieldRegGroup.h +60 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskIsTypeFieldRegGroupArr.h +40 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskPackStruct2Int.h +80 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskUnpackInt2Struct.h +123 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskVisitActionTypeClaimRef.h +70 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskVisitModelFieldClaim.h +64 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/TaskVisitModelFieldInOut.h +64 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/ValRefAction.h +43 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/ValRefActivity.h +63 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/ValRefActivityScope.h +51 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/ValRefPyObj.h +75 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/ValRefRegGroup.h +32 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/VisitorBase.h +456 -0
- zsp_arl_dm/share/include/zsp/arl/dm/impl/VisitorDelegator.h +356 -0
- zsp_arl_dm/share/include/zsp/arl/dm/loader.h +39 -0
- zsp_arl_dm/val_ref_to_py_val.py +58 -0
- zuspec_arl_dm-0.1.0.15264414400rc0.dist-info/METADATA +25 -0
- zuspec_arl_dm-0.1.0.15264414400rc0.dist-info/RECORD +166 -0
- zuspec_arl_dm-0.1.0.15264414400rc0.dist-info/WHEEL +6 -0
- zuspec_arl_dm-0.1.0.15264414400rc0.dist-info/entry_points.txt +2 -0
- zuspec_arl_dm-0.1.0.15264414400rc0.dist-info/licenses/LICENSE +201 -0
- zuspec_arl_dm-0.1.0.15264414400rc0.dist-info/top_level.txt +1 -0
zsp_arl_dm/decl.pxd
ADDED
@@ -0,0 +1,317 @@
|
|
1
|
+
|
2
|
+
cimport vsc_dm.decl as vsc
|
3
|
+
cimport debug_mgr.decl as dm
|
4
|
+
|
5
|
+
from libcpp.string cimport string as cpp_string
|
6
|
+
from libcpp.vector cimport vector as cpp_vector
|
7
|
+
from libcpp.memory cimport unique_ptr
|
8
|
+
from libcpp cimport bool
|
9
|
+
from libc.stdint cimport int32_t
|
10
|
+
from libc.stdint cimport int64_t
|
11
|
+
from libc.stdint cimport uint64_t
|
12
|
+
cimport cpython.ref as cpy_ref
|
13
|
+
|
14
|
+
ctypedef IContext *IContextP
|
15
|
+
ctypedef IDataTypeAction *IDataTypeActionP
|
16
|
+
ctypedef IDataTypeActivity *IDataTypeActivityP
|
17
|
+
ctypedef vsc.UP[IDataTypeActivity] IDataTypeActivityUP
|
18
|
+
ctypedef IDataTypeActivityScope *IDataTypeActivityScopeP
|
19
|
+
ctypedef IDataTypeActivityParallel *IDataTypeActivityParallelP
|
20
|
+
ctypedef IDataTypeActivityReplicate *IDataTypeActivityReplicateP
|
21
|
+
ctypedef IDataTypeActivitySchedule *IDataTypeActivityScheduleP
|
22
|
+
ctypedef IDataTypeActivitySequence *IDataTypeActivitySequenceP
|
23
|
+
ctypedef IDataTypeActivityTraverse *IDataTypeActivityTraverseP
|
24
|
+
ctypedef IDataTypeAddrClaim *IDataTypeAddrClaimP
|
25
|
+
ctypedef IDataTypeAddrClaimTransparent *IDataTypeAddrClaimTransparentP
|
26
|
+
ctypedef IDataTypeAddrHandle *IDataTypeAddrHandleP
|
27
|
+
ctypedef IDataTypeArlStruct *IDataTypeArlStructP
|
28
|
+
ctypedef IDataTypeComponent *IDataTypeComponentP
|
29
|
+
ctypedef IDataTypeFlowObj *IDataTypeFlowObjP
|
30
|
+
ctypedef IDataTypeFunction *IDataTypeFunctionP
|
31
|
+
ctypedef IDataTypeFunctionParamDecl *IDataTypeFunctionParamDeclP
|
32
|
+
ctypedef IDataTypePackedStruct *IDataTypePackedStructP
|
33
|
+
ctypedef IFactory *IFactoryP
|
34
|
+
ctypedef IModelEvalIterator *IModelEvalIteratorP
|
35
|
+
ctypedef IModelFieldAction *IModelFieldActionP
|
36
|
+
ctypedef IModelFieldComponent *IModelFieldComponentP
|
37
|
+
ctypedef IModelFieldComponentRoot *IModelFieldComponentRootP
|
38
|
+
ctypedef IModelFieldExecutor *IModelFieldExecutorP
|
39
|
+
ctypedef IModelFieldPool *IModelFieldPoolP
|
40
|
+
ctypedef IPoolBindDirective *IPoolBindDirectiveP
|
41
|
+
ctypedef vsc.UP[IPoolBindDirective] IPoolBindDirectiveUP
|
42
|
+
ctypedef ITypeFieldActivity *ITypeFieldActivityP
|
43
|
+
ctypedef vsc.UP[ITypeFieldActivity] ITypeFieldActivityUP
|
44
|
+
ctypedef ITypeFieldClaim *ITypeFieldClaimP
|
45
|
+
ctypedef ITypeFieldInOut *ITypeFieldInOutP
|
46
|
+
ctypedef ITypeFieldPool *ITypeFieldPoolP
|
47
|
+
ctypedef ITypeFieldReg *ITypeFieldRegP
|
48
|
+
ctypedef ITypeProcStmt *ITypeProcStmtP
|
49
|
+
ctypedef ITypeProcStmtDeclScope *ITypeProcStmtDeclScopeP
|
50
|
+
ctypedef ITypeProcStmtVarDecl *ITypeProcStmtVarDeclP
|
51
|
+
|
52
|
+
cdef extern from "zsp/arl/dm/IContext.h" namespace "zsp::arl::dm":
|
53
|
+
cdef cppclass IContext(vsc.IContext):
|
54
|
+
IDataTypeAction *findDataTypeAction(const cpp_string &)
|
55
|
+
IDataTypeFunction *findDataTypeFunction(const cpp_string &)
|
56
|
+
IDataTypeAction *mkDataTypeAction(const cpp_string &)
|
57
|
+
const cpp_vector[IDataTypeFunctionP] &getDataTypeFunctions() const
|
58
|
+
IDataTypeActivityParallel *mkDataTypeActivityParallel()
|
59
|
+
IDataTypeActivityReplicate *mkDataTypeActivityReplicate(vsc.ITypeExpr *)
|
60
|
+
IDataTypeActivitySchedule *mkDataTypeActivitySchedule()
|
61
|
+
IDataTypeActivitySequence *mkDataTypeActivitySequence()
|
62
|
+
IDataTypeActivityTraverse *mkDataTypeActivityTraverse(
|
63
|
+
vsc.ITypeExprFieldRef *,
|
64
|
+
vsc.ITypeConstraint *)
|
65
|
+
bool addDataTypeAction(IDataTypeAction *)
|
66
|
+
# IDataTypeArlStructP mkDataTypeArlStruct(const cpp_string &)
|
67
|
+
IDataTypeAddrClaimP mkDataTypeAddrClaim(const cpp_string &)
|
68
|
+
IDataTypeAddrClaimTransparentP mkDataTypeAddrClaimTransparent(const cpp_string &)
|
69
|
+
IDataTypeComponent *findDataTypeComponent(const cpp_string &)
|
70
|
+
IDataTypeComponent *mkDataTypeComponent(const cpp_string &)
|
71
|
+
bool addDataTypeComponent(IDataTypeComponent *)
|
72
|
+
IDataTypeFlowObj *findDataTypeFlowObj(const cpp_string &name, FlowObjKindE kind)
|
73
|
+
IDataTypeFlowObj *mkDataTypeFlowObj(const cpp_string &name, FlowObjKindE kind)
|
74
|
+
bool addDataTypeFlowObj(IDataTypeFlowObj *)
|
75
|
+
|
76
|
+
#TODO: IModelEvaluator *mkModelEvaluator()
|
77
|
+
|
78
|
+
IPoolBindDirective *mkPoolBindDirective(
|
79
|
+
PoolBindKind kind,
|
80
|
+
vsc.ITypeExprFieldRef *pool,
|
81
|
+
vsc.ITypeExprFieldRef *target)
|
82
|
+
ITypeFieldActivity *mkTypeFieldActivity(const cpp_string &, IDataTypeActivity *, bool)
|
83
|
+
ITypeFieldClaim *mkTypeFieldClaim(const cpp_string &, vsc.IDataType *, bool)
|
84
|
+
ITypeFieldInOut *mkTypeFieldInOut(const cpp_string &, vsc.IDataType *, bool)
|
85
|
+
ITypeFieldPool *mkTypeFieldPool(
|
86
|
+
const cpp_string &,
|
87
|
+
vsc.IDataType *,
|
88
|
+
bool own,
|
89
|
+
vsc.TypeFieldAttr,
|
90
|
+
int32_t)
|
91
|
+
|
92
|
+
cdef extern from "zsp/arl/dm/IDataTypeAction.h" namespace "zsp::arl::dm":
|
93
|
+
cdef cppclass IDataTypeAction(vsc.IDataTypeStruct):
|
94
|
+
IDataTypeComponent *getComponentType()
|
95
|
+
void setComponentType(IDataTypeComponent *)
|
96
|
+
vsc.ITypeFieldRef *getCompField() const
|
97
|
+
const cpp_vector[ITypeFieldActivityUP] &activities() const
|
98
|
+
void addActivity(ITypeFieldActivity *)
|
99
|
+
|
100
|
+
cdef extern from "zsp/arl/dm/IDataTypeActivity.h" namespace "zsp::arl::dm":
|
101
|
+
cdef cppclass IDataTypeActivity(vsc.IDataType):
|
102
|
+
pass
|
103
|
+
|
104
|
+
cdef extern from "zsp/arl/dm/IDataTypeActivityScope.h" namespace "zsp::arl::dm":
|
105
|
+
cdef cppclass IDataTypeActivityScope(IDataTypeActivity, vsc.IDataTypeStruct):
|
106
|
+
void addActivity(ITypeFieldActivity *)
|
107
|
+
const cpp_vector[ITypeFieldActivityUP] &getActivities() const
|
108
|
+
# const cpp_string &name() const
|
109
|
+
# void addField(vsc.ITypeField *)
|
110
|
+
# vsc.ITypeField *getField(int32_t idx)
|
111
|
+
# const cpp_vector[unique_ptr[vsc.ITypeField]] &getFields() const
|
112
|
+
# void addConstraint(vsc.ITypeConstraint *)
|
113
|
+
# const cpp_vector[unique_ptr[vsc.ITypeConstraint]] &getConstraints() const
|
114
|
+
|
115
|
+
pass
|
116
|
+
|
117
|
+
cdef extern from "zsp/arl/dm/IDataTypeActivityReplicate.h" namespace "zsp::arl::dm":
|
118
|
+
cdef cppclass IDataTypeActivityReplicate(IDataTypeActivityScope):
|
119
|
+
vsc.ITypeExpr *getCount() const
|
120
|
+
|
121
|
+
cdef extern from "zsp/arl/dm/IDataTypeActivityParallel.h" namespace "zsp::arl::dm":
|
122
|
+
cdef cppclass IDataTypeActivityParallel(IDataTypeActivityScope):
|
123
|
+
pass
|
124
|
+
|
125
|
+
cdef extern from "zsp/arl/dm/IDataTypeActivitySchedule.h" namespace "zsp::arl::dm":
|
126
|
+
cdef cppclass IDataTypeActivitySchedule(IDataTypeActivityScope):
|
127
|
+
pass
|
128
|
+
|
129
|
+
cdef extern from "zsp/arl/dm/IDataTypeActivitySequence.h" namespace "zsp::arl::dm":
|
130
|
+
cdef cppclass IDataTypeActivitySequence(IDataTypeActivityScope):
|
131
|
+
pass
|
132
|
+
|
133
|
+
cdef extern from "zsp/arl/dm/IDataTypeActivityTraverse.h" namespace "zsp::arl::dm":
|
134
|
+
cdef cppclass IDataTypeActivityTraverse(IDataTypeActivity):
|
135
|
+
vsc.ITypeExprFieldRef *getTarget() const
|
136
|
+
vsc.ITypeConstraint *getWithC() const
|
137
|
+
void setWithC(vsc.ITypeConstraint *c)
|
138
|
+
|
139
|
+
cdef extern from "zsp/arl/dm/IDataTypeArlStruct.h" namespace "zsp::arl::dm":
|
140
|
+
cdef cppclass IDataTypeArlStruct(vsc.IDataTypeStruct):
|
141
|
+
pass
|
142
|
+
|
143
|
+
cdef extern from "zsp/arl/dm/IDataTypeAddrClaim.h" namespace "zsp::arl::dm":
|
144
|
+
cdef cppclass IDataTypeAddrClaim(IDataTypeArlStruct):
|
145
|
+
pass
|
146
|
+
|
147
|
+
cdef extern from "zsp/arl/dm/IDataTypeAddrClaimTransparent.h" namespace "zsp::arl::dm":
|
148
|
+
cdef cppclass IDataTypeAddrClaimTransparent(IDataTypeAddrClaim):
|
149
|
+
pass
|
150
|
+
|
151
|
+
cdef extern from "zsp/arl/dm/IDataTypeAddrHandle.h" namespace "zsp::arl::dm":
|
152
|
+
cdef cppclass IDataTypeAddrHandle(vsc.IDataTypeStruct):
|
153
|
+
pass
|
154
|
+
|
155
|
+
cdef extern from "zsp/arl/dm/IDataTypeComponent.h" namespace "zsp::arl::dm":
|
156
|
+
cdef cppclass IDataTypeComponent(vsc.IDataTypeStruct):
|
157
|
+
const cpp_vector[IDataTypeActionP] &getActionTypes() const
|
158
|
+
void addActionType(IDataTypeAction *)
|
159
|
+
void addPoolBindDirective(IPoolBindDirective *)
|
160
|
+
cpp_vector[IPoolBindDirectiveUP] &getPoolBindDirectives() const
|
161
|
+
pass
|
162
|
+
|
163
|
+
cdef extern from "zsp/arl/dm/IDataTypeFlowObj.h" namespace "zsp::arl::dm":
|
164
|
+
cdef enum FlowObjKindE:
|
165
|
+
Buffer "zsp::arl::dm::FlowObjKindE::Buffer"
|
166
|
+
Resource "zsp::arl::dm::FlowObjKindE::Resource"
|
167
|
+
State "zsp::arl::dm::FlowObjKindE::State"
|
168
|
+
Stream "zsp::arl::dm::FlowObjKindE::Stream"
|
169
|
+
|
170
|
+
cdef cppclass IDataTypeFlowObj(vsc.IDataTypeStruct):
|
171
|
+
FlowObjKindE kind() const
|
172
|
+
|
173
|
+
cdef extern from "zsp/arl/dm/ITypeProcStmt.h" namespace "zsp::arl::dm":
|
174
|
+
cdef cppclass ITypeProcStmt(vsc.IAccept):
|
175
|
+
pass
|
176
|
+
|
177
|
+
cdef extern from "zsp/arl/dm/ITypeProcStmtDeclScope.h" namespace "zsp::arl::dm":
|
178
|
+
cdef cppclass ITypeProcStmtDeclScope(vsc.IAccept):
|
179
|
+
vsc.IAssociatedData *getAssociatedData()
|
180
|
+
void setAssociatedData(vsc.IAssociatedData *)
|
181
|
+
pass
|
182
|
+
|
183
|
+
cdef extern from "zsp/arl/dm/ITypeProcStmtVarDecl.h" namespace "zsp::arl::dm":
|
184
|
+
cdef cppclass ITypeProcStmtVarDecl(ITypeProcStmt):
|
185
|
+
const cpp_string &name() const
|
186
|
+
vsc.IDataType *getDataType() const
|
187
|
+
vsc.ITypeExpr *getInit() const
|
188
|
+
|
189
|
+
cdef extern from "zsp/arl/dm/IDataTypeFunctionParamDecl.h" namespace "zsp::arl::dm":
|
190
|
+
cdef enum ParamDir:
|
191
|
+
In "zsp::arl::dm::ParamDir::In"
|
192
|
+
Out "zsp::arl::dm::ParamDir::Out"
|
193
|
+
InOut "zsp::arl::dm::ParamDir::InOut"
|
194
|
+
|
195
|
+
cdef cppclass IDataTypeFunctionParamDecl(ITypeProcStmtVarDecl):
|
196
|
+
ParamDir getDirection() const
|
197
|
+
|
198
|
+
cdef extern from "zsp/arl/dm/IDataTypeFunction.h" namespace "zsp::arl::dm":
|
199
|
+
cdef enum DataTypeFunctionFlags:
|
200
|
+
NoFlags "zsp::arl::dm::DataTypeFunctionFlags::NoFlags"
|
201
|
+
Solve "zsp::arl::dm::DataTypeFunctionFlags::Solve"
|
202
|
+
Target "zsp::arl::dm::DataTypeFunctionFlags::Target"
|
203
|
+
Core "zsp::arl::dm::DataTypeFunctionFlags::Core"
|
204
|
+
|
205
|
+
cdef cppclass IDataTypeFunction(ITypeProcStmtDeclScope):
|
206
|
+
const cpp_string &name()
|
207
|
+
vsc.IDataType *getReturnType() const
|
208
|
+
const cpp_vector[IDataTypeFunctionParamDeclP] &getParameters() const
|
209
|
+
DataTypeFunctionFlags getFlags() const
|
210
|
+
bool hasFlags(DataTypeFunctionFlags) const
|
211
|
+
|
212
|
+
cdef extern from "zsp/arl/dm/IDataTypePackedStruct.h" namespace "zsp::arl::dm":
|
213
|
+
cdef cppclass IDataTypePackedStruct(vsc.IDataTypeStruct):
|
214
|
+
pass
|
215
|
+
|
216
|
+
cdef extern from "zsp/arl/dm/IFactory.h" namespace "zsp::arl::dm":
|
217
|
+
cdef cppclass IFactory:
|
218
|
+
void init(dm.IDebugMgr *)
|
219
|
+
IContext *mkContext(vsc.IContext *vsc_ctxt)
|
220
|
+
|
221
|
+
cdef extern from "zsp/arl/dm/IModelBuildContext.h" namespace "zsp::arl::dm":
|
222
|
+
cdef cppclass IModelBuildContext:
|
223
|
+
IContext *ctxt()
|
224
|
+
pass
|
225
|
+
|
226
|
+
#cdef extern from "zsp/arl/dm/IModelEvaluator.h" namespace "zsp::arl::dm":
|
227
|
+
# cdef cppclass IModelEvaluator:
|
228
|
+
# IModelEvalIterator *eval(
|
229
|
+
# vsc.IRandState *,
|
230
|
+
# IModelFieldComponent *,
|
231
|
+
# IDataTypeAction *)
|
232
|
+
|
233
|
+
cdef extern from "zsp/arl/dm/IModelEvalIterator.h" namespace "zsp::arl::dm":
|
234
|
+
cdef enum ModelEvalNodeT:
|
235
|
+
Action "zsp::arl::dm::ModelEvalNodeT::Action"
|
236
|
+
Parallel "zsp::arl::dm::ModelEvalNodeT::Parallel"
|
237
|
+
Sequence "zsp::arl::dm::ModelEvalNodeT::Sequence"
|
238
|
+
cdef cppclass IModelEvalIterator:
|
239
|
+
bool next()
|
240
|
+
ModelEvalNodeT type() const
|
241
|
+
IModelFieldAction *action()
|
242
|
+
IModelEvalIterator *iterator()
|
243
|
+
|
244
|
+
cdef extern from "zsp/arl/dm/IModelEvalIterator.h" namespace "zsp::arl::dm":
|
245
|
+
cdef cppclass IModelEvalIterator:
|
246
|
+
pass
|
247
|
+
|
248
|
+
cdef extern from "zsp/arl/dm/IModelFieldAction.h" namespace "zsp::arl::dm":
|
249
|
+
cdef cppclass IModelFieldAction(vsc.IModelField):
|
250
|
+
bool isCompound() const
|
251
|
+
pass
|
252
|
+
|
253
|
+
cdef extern from "zsp/arl/dm/IModelFieldComponent.h" namespace "zsp::arl::dm":
|
254
|
+
cdef cppclass IModelFieldComponent(vsc.IModelField):
|
255
|
+
pass
|
256
|
+
|
257
|
+
cdef extern from "zsp/arl/dm/IModelFieldComponentRoot.h" namespace "zsp::arl::dm":
|
258
|
+
cdef cppclass IModelFieldComponentRoot(IModelFieldComponent):
|
259
|
+
void initCompTree()
|
260
|
+
|
261
|
+
cdef extern from "zsp/arl/dm/IModelFieldExecutor.h" namespace "zsp::arl::dm":
|
262
|
+
cdef cppclass IModelFieldExecutor(vsc.IModelField):
|
263
|
+
pass
|
264
|
+
|
265
|
+
cdef extern from "zsp/arl/dm/IModelFieldPool.h" namespace "zsp::arl::dm":
|
266
|
+
cdef cppclass IModelFieldPool(vsc.IModelField):
|
267
|
+
pass
|
268
|
+
|
269
|
+
cdef extern from "zsp/arl/dm/IPoolBindDirective.h" namespace "zsp::arl::dm":
|
270
|
+
cdef enum PoolBindKind:
|
271
|
+
All "zsp::arl::dm::PoolBindKind::All"
|
272
|
+
Ref "zsp::arl::dm::PoolBindKind::Ref"
|
273
|
+
|
274
|
+
cdef cppclass IPoolBindDirective:
|
275
|
+
PoolBindKind kind() const
|
276
|
+
vsc.ITypeExprFieldRef *getPool() const
|
277
|
+
vsc.ITypeExprFieldRef *getTarget() const
|
278
|
+
|
279
|
+
cdef extern from "zsp/arl/dm/ITypeExec.h" namespace "zsp::arl::dm":
|
280
|
+
cdef enum ExecKindT:
|
281
|
+
ExecBody "zsp::arl::dm::ExecKindT::Body"
|
282
|
+
ExecPreSolve "zsp::arl::dm::ExecKindT::PreSolve"
|
283
|
+
ExecPostSolve "zsp::arl::dm::ExecKindT::PostSolve"
|
284
|
+
|
285
|
+
cdef extern from "zsp/arl/dm/ITypeFieldActivity.h" namespace "zsp::arl::dm":
|
286
|
+
cdef cppclass ITypeFieldActivity(vsc.ITypeField):
|
287
|
+
pass
|
288
|
+
|
289
|
+
cdef extern from "zsp/arl/dm/ITypeFieldClaim.h" namespace "zsp::arl::dm":
|
290
|
+
cdef cppclass ITypeFieldClaim(vsc.ITypeField):
|
291
|
+
bool isLock() const
|
292
|
+
|
293
|
+
cdef extern from "zsp/arl/dm/ITypeFieldInOut.h" namespace "zsp::arl::dm":
|
294
|
+
cdef cppclass ITypeFieldInOut(vsc.ITypeField):
|
295
|
+
bool isInput() const
|
296
|
+
|
297
|
+
cdef extern from "zsp/arl/dm/ITypeFieldPool.h" namespace "zsp::arl::dm":
|
298
|
+
cdef cppclass ITypeFieldPool(vsc.ITypeField):
|
299
|
+
int32_t getDeclSize()
|
300
|
+
|
301
|
+
cdef extern from "zsp/arl/dm/ITypeFieldReg.h" namespace "zsp::arl::dm":
|
302
|
+
cdef cppclass ITypeFieldReg(vsc.ITypeField):
|
303
|
+
int64_t getAddrOffset()
|
304
|
+
void setAddrOffset(int64_t off)
|
305
|
+
int32_t getWidth() const
|
306
|
+
|
307
|
+
cdef extern from "zsp/arl/dm/IVisitor.h" namespace "zsp::arl::dm":
|
308
|
+
cdef cppclass IVisitor(vsc.IVisitor):
|
309
|
+
pass
|
310
|
+
|
311
|
+
cdef extern from "VisitorProxy.h" namespace "zsp::arl::dm":
|
312
|
+
cdef cppclass VisitorProxy(IVisitor):
|
313
|
+
VisitorProxy(cpy_ref.PyObject *)
|
314
|
+
|
315
|
+
cdef extern IModelBuildContext *mkModelBuildContextArl(IContext *ctxt)
|
316
|
+
|
317
|
+
|
Binary file
|
zsp_arl_dm/pkginfo.py
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
import os
|
2
|
+
import ivpm
|
3
|
+
|
4
|
+
class PkgInfo(ivpm.PkgInfo):
|
5
|
+
|
6
|
+
def __init__(self):
|
7
|
+
pkgdir = os.path.dirname(os.path.abspath(__file__))
|
8
|
+
projdir = os.path.dirname(os.path.dirname(pkgdir))
|
9
|
+
super().__init__("zuspec-arl-dm", os.path.dirname(pkgdir))
|
10
|
+
|
11
|
+
if os.path.isdir(os.path.join(projdir, "src")):
|
12
|
+
self._incdirs = [
|
13
|
+
os.path.join(projdir, "src", "include"),
|
14
|
+
os.path.join(projdir, "python")]
|
15
|
+
self._libdirs = [
|
16
|
+
os.path.join(projdir, "build", "lib"),
|
17
|
+
os.path.join(projdir, "build", "lib64")]
|
18
|
+
else:
|
19
|
+
self._incdirs = [os.path.join(pkgdir, "share", "include")]
|
20
|
+
self._libdirs = [os.path.join(pkgdir)]
|
21
|
+
|
22
|
+
self._deps = ["vsc-dm"]
|
23
|
+
self._libs = ["zsp-arl-dm"]
|
@@ -0,0 +1,46 @@
|
|
1
|
+
#****************************************************************************
|
2
|
+
#* py_val_to_val_ref.py
|
3
|
+
#*
|
4
|
+
#* Copyright 2023 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
|
+
class PyValToValRef(object):
|
24
|
+
|
25
|
+
def __init__(self, ctxt):
|
26
|
+
self._ctxt = ctxt
|
27
|
+
|
28
|
+
def toValRef(self, v):
|
29
|
+
ret = None
|
30
|
+
if type(v) == int:
|
31
|
+
is_signed = (v < 0)
|
32
|
+
if v > 0xFFFFFFFF:
|
33
|
+
width = 64
|
34
|
+
elif v > 0xFFFF:
|
35
|
+
width = 32
|
36
|
+
elif v > 0xFF:
|
37
|
+
width = 16
|
38
|
+
else:
|
39
|
+
width = 8
|
40
|
+
ret = self._ctxt.mkValRefInt(v, is_signed, width)
|
41
|
+
else:
|
42
|
+
raise Exception("Unknown value type %s" % str(v))
|
43
|
+
print("v=%s ret=%s" % (str(v), str(ret)))
|
44
|
+
return ret
|
45
|
+
|
46
|
+
|
@@ -0,0 +1,39 @@
|
|
1
|
+
/*
|
2
|
+
* TypeFieldAddrClaim.cpp
|
3
|
+
*
|
4
|
+
* Copyright 2023 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
|
+
#include "TypeFieldAddrClaim.h"
|
22
|
+
|
23
|
+
|
24
|
+
namespace zsp {
|
25
|
+
namespace arl {
|
26
|
+
namespace dm {
|
27
|
+
|
28
|
+
|
29
|
+
TypeFieldAddrClaim::TypeFieldAddrClaim() {
|
30
|
+
|
31
|
+
}
|
32
|
+
|
33
|
+
TypeFieldAddrClaim::~TypeFieldAddrClaim() {
|
34
|
+
|
35
|
+
}
|
36
|
+
|
37
|
+
}
|
38
|
+
}
|
39
|
+
}
|
@@ -0,0 +1,41 @@
|
|
1
|
+
/**
|
2
|
+
* TypeFieldAddrClaim.h
|
3
|
+
*
|
4
|
+
* Copyright 2023 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
|
+
|
23
|
+
namespace zsp {
|
24
|
+
namespace arl {
|
25
|
+
namespace dm {
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
class TypeFieldAddrClaim {
|
30
|
+
public:
|
31
|
+
TypeFieldAddrClaim();
|
32
|
+
|
33
|
+
virtual ~TypeFieldAddrClaim();
|
34
|
+
|
35
|
+
};
|
36
|
+
|
37
|
+
}
|
38
|
+
}
|
39
|
+
}
|
40
|
+
|
41
|
+
|
@@ -0,0 +1,28 @@
|
|
1
|
+
/*
|
2
|
+
* IAccept.h
|
3
|
+
*
|
4
|
+
* Created on: Apr 2, 2022
|
5
|
+
* Author: mballance
|
6
|
+
*/
|
7
|
+
|
8
|
+
#pragma once
|
9
|
+
#include "zsp/arl/dm/IVisitor.h"
|
10
|
+
|
11
|
+
namespace zsp {
|
12
|
+
namespace arl {
|
13
|
+
namespace dm {
|
14
|
+
|
15
|
+
|
16
|
+
class IAccept {
|
17
|
+
public:
|
18
|
+
|
19
|
+
virtual ~IAccept () { }
|
20
|
+
|
21
|
+
virtual void accept(IVisitor *v) = 0;
|
22
|
+
|
23
|
+
};
|
24
|
+
|
25
|
+
}
|
26
|
+
}
|
27
|
+
}
|
28
|
+
|
@@ -0,0 +1,30 @@
|
|
1
|
+
/*
|
2
|
+
* IArl.h
|
3
|
+
*
|
4
|
+
* Created on: Apr 3, 2022
|
5
|
+
* Author: mballance
|
6
|
+
*/
|
7
|
+
|
8
|
+
#pragma once
|
9
|
+
#include "zsp/arl/dm/IContext.h"
|
10
|
+
#include "dmgr/IDebugMgr.h"
|
11
|
+
|
12
|
+
namespace zsp {
|
13
|
+
namespace arl {
|
14
|
+
namespace dm {
|
15
|
+
|
16
|
+
|
17
|
+
class IArl {
|
18
|
+
public:
|
19
|
+
|
20
|
+
virtual ~IArl() { }
|
21
|
+
|
22
|
+
virtual void init(dmgr::IDebugMgr *dbg_mgr) = 0;
|
23
|
+
|
24
|
+
virtual IContext *mkContext(vsc::dm::IContext *ctxt) = 0;
|
25
|
+
|
26
|
+
};
|
27
|
+
|
28
|
+
}
|
29
|
+
}
|
30
|
+
}
|
@@ -0,0 +1,41 @@
|
|
1
|
+
|
2
|
+
#pragma once
|
3
|
+
#include <vector>
|
4
|
+
#include "zsp/arl/dm/IDataTypeComponent.h"
|
5
|
+
#include "zsp/arl/dm/IModelFieldPool.h"
|
6
|
+
|
7
|
+
namespace zsp {
|
8
|
+
namespace arl {
|
9
|
+
namespace dm {
|
10
|
+
|
11
|
+
|
12
|
+
class IModelFieldComponent;
|
13
|
+
|
14
|
+
class IComponentMap {
|
15
|
+
public:
|
16
|
+
|
17
|
+
virtual ~IComponentMap() { }
|
18
|
+
|
19
|
+
virtual void addSubComponentMap(const IComponentMap *m) = 0;
|
20
|
+
|
21
|
+
/**
|
22
|
+
* @brief Return all legal sub-contexts for the specified component type
|
23
|
+
*/
|
24
|
+
virtual const std::vector<IModelFieldComponent *> &getSubContexts(IDataTypeComponent *t) const = 0;
|
25
|
+
|
26
|
+
virtual const std::vector<IDataTypeComponent *> &getComponentTypes() const = 0;
|
27
|
+
|
28
|
+
virtual void addPoolMapping(vsc::dm::ITypeField *claim_ref, IModelFieldPool *pool) = 0;
|
29
|
+
|
30
|
+
/**
|
31
|
+
* @brief Returns the pool mapped to the specified claim field in this context
|
32
|
+
*
|
33
|
+
*/
|
34
|
+
virtual IModelFieldPool *getPool(vsc::dm::ITypeField *claim_ref) const = 0;
|
35
|
+
|
36
|
+
|
37
|
+
};
|
38
|
+
|
39
|
+
}
|
40
|
+
}
|
41
|
+
}
|