diff options
author | Adrian Thurston <thurston@complang.org> | 2015-02-14 12:39:47 -0500 |
---|---|---|
committer | Adrian Thurston <thurston@complang.org> | 2015-02-14 12:39:47 -0500 |
commit | f0089542330fa9ff580faf2e69f18bd6f7367e50 (patch) | |
tree | f5c70455c236ae7049a743f7cd61cbf1e8ef6663 /src/pdabuild.cc | |
parent | e730b33092cb1e2ce3e8bf8d54133d6e2b92a643 (diff) | |
download | colm-f0089542330fa9ff580faf2e69f18bd6f7367e50.tar.gz |
implementing vlist functions
Diffstat (limited to 'src/pdabuild.cc')
-rw-r--r-- | src/pdabuild.cc | 26 |
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; } } |