diff options
author | Adrian Thurston <thurston@complang.org> | 2015-02-13 18:36:08 -0500 |
---|---|---|
committer | Adrian Thurston <thurston@complang.org> | 2015-02-13 18:36:08 -0500 |
commit | 7971f22167db5f108430e4735e4cc1b492e6bd9d (patch) | |
tree | 3a8d0f36a13b7fab5c13c3c5d44dcff859da649d /src/map.c | |
parent | ccf380421c08b6ec1f8b9c4ce6c62eb1fbf5e1e5 (diff) | |
download | colm-7971f22167db5f108430e4735e4cc1b492e6bd9d.tar.gz |
work on value list and value map, can insert into vmap
Diffstat (limited to 'src/map.c')
-rw-r--r-- | src/map.c | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -651,6 +651,18 @@ MapEl *colm_map_insert( Program *prg, Map *map, MapEl *mapEl ) return mapInsertEl( prg, map, mapEl, 0 ); } +MapEl *colm_vmap_insert( Program *prg, Map *map, Struct *key, Struct *value ) +{ + struct colm_struct *s = colm_struct_new( prg, map->genericInfo->elStructId ); + + colm_struct_set_field( s, Struct*, map->genericInfo->elOffset, key ); + colm_struct_set_field( s, Struct*, 0, value ); + + MapEl *mapEl = colm_struct_get_addr( s, MapEl*, map->genericInfo->elOffset ); + + colm_map_insert( prg, map, mapEl ); +} + void colm_map_detach( Program *prg, Map *map, MapEl *mapEl ) { mapDetach( prg, map, mapEl ); |