summaryrefslogtreecommitdiff
path: root/src/pdabuild.cc
diff options
context:
space:
mode:
authorAdrian Thurston <thurston@complang.org>2015-02-14 12:39:47 -0500
committerAdrian Thurston <thurston@complang.org>2015-02-14 12:39:47 -0500
commitf0089542330fa9ff580faf2e69f18bd6f7367e50 (patch)
treef5c70455c236ae7049a743f7cd61cbf1e8ef6663 /src/pdabuild.cc
parente730b33092cb1e2ce3e8bf8d54133d6e2b92a643 (diff)
downloadcolm-f0089542330fa9ff580faf2e69f18bd6f7367e50.tar.gz
implementing vlist functions
Diffstat (limited to 'src/pdabuild.cc')
-rw-r--r--src/pdabuild.cc26
1 files changed, 16 insertions, 10 deletions
diff --git a/src/pdabuild.cc b/src/pdabuild.cc
index c8a55dc7..62c66e35 100644
--- a/src/pdabuild.cc
+++ b/src/pdabuild.cc
@@ -1573,19 +1573,25 @@ void Compiler::makeRuntimeData()
for ( NamespaceList::Iter nspace = namespaceList; nspace.lte(); nspace++ ) {
for ( GenericList::Iter gen = nspace->genericList; gen.lte(); gen++ ) {
runtimeData->genericInfo[gen->id].type = gen->typeId;
- runtimeData->genericInfo[gen->id].typeArg = gen->elUt->typeId;
- runtimeData->genericInfo[gen->id].keyType = gen->keyUt != 0 ?
- gen->keyUt->typeId : 0;
- runtimeData->genericInfo[gen->id].keyOffset = 0;
- runtimeData->genericInfo[gen->id].parserId =
- gen->typeId == GEN_PARSER ? gen->elUt->langEl->parserId : -1;
+
+ runtimeData->genericInfo[gen->id].elType =
+ gen->elUt->typeId;
+ runtimeData->genericInfo[gen->id].elStructId =
+ ( gen->typeId == GEN_VMAP || gen->typeId == GEN_VLIST ) ?
+ gen->elUt->structEl->id : -1;
runtimeData->genericInfo[gen->id].elOffset =
gen->el != 0 ? gen->el->offset : -1;
- runtimeData->genericInfo[gen->id].elStructId =
- gen->typeId == GEN_VMAP ? gen->elUt->structEl->id : -1;
- runtimeData->genericInfo[gen->id].valueType = gen->valueUt != 0 ?
- gen->valueUt->typeId : 0;
+
+ runtimeData->genericInfo[gen->id].keyType =
+ gen->keyUt != 0 ? gen->keyUt->typeId : 0;
+ runtimeData->genericInfo[gen->id].keyOffset = 0;
+
+ runtimeData->genericInfo[gen->id].valueType =
+ gen->valueUt != 0 ? gen->valueUt->typeId : 0;
runtimeData->genericInfo[gen->id].valueOffset = 0;
+
+ runtimeData->genericInfo[gen->id].parserId =
+ gen->typeId == GEN_PARSER ? gen->elUt->langEl->parserId : -1;
}
}