diff options
author | Adrian Thurston <thurston@complang.org> | 2015-02-14 09:54:51 -0500 |
---|---|---|
committer | Adrian Thurston <thurston@complang.org> | 2015-02-14 09:54:51 -0500 |
commit | e730b33092cb1e2ce3e8bf8d54133d6e2b92a643 (patch) | |
tree | 49f178bc92a16b11517d007be3305a3f24747d98 /src/declare.cc | |
parent | c61aaeda6a00d6133cd8042c6a978291ddd44bec (diff) | |
download | colm-e730b33092cb1e2ce3e8bf8d54133d6e2b92a643.tar.gz |
vmap find: only upref result if it is a tree type
Diffstat (limited to 'src/declare.cc')
-rw-r--r-- | src/declare.cc | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/declare.cc b/src/declare.cc index b5ca8efd..9534feb5 100644 --- a/src/declare.cc +++ b/src/declare.cc @@ -354,10 +354,13 @@ void Compiler::addProdRHSVars( ObjectDef *localFrame, ProdElList *prodElList ) void GenericType::declare( Compiler *pd, Namespace *nspace ) { - elUt = elTr->uniqueType; + elUt = elTr->resolveType( pd ); if ( typeId == GEN_MAP || typeId == GEN_VMAP ) - keyUt = keyTr->uniqueType; + keyUt = keyTr->resolveType( pd ); + + if ( typeId == GEN_VMAP ) + valueUt = valueTr->resolveType( pd ); objDef = ObjectDef::cons( ObjectDef::BuiltinType, "generic", pd->nextObjectId++ ); |