| 197 | } |
| 198 | |
| 199 | SIValue Map_Keys |
| 200 | ( |
| 201 | SIValue map |
| 202 | ) { |
| 203 | ASSERT(SI_TYPE(map) & T_MAP); |
| 204 | |
| 205 | uint key_count = Map_KeyCount(map); |
| 206 | SIValue keys = SIArray_New(key_count); |
| 207 | |
| 208 | for(uint i = 0; i < key_count; i++) { |
| 209 | Pair p = map.map[i]; |
| 210 | SIArray_Append(&keys, p.key); |
| 211 | } |
| 212 | |
| 213 | return keys; |
| 214 | } |
| 215 | |
| 216 | int Map_Compare |
| 217 | ( |