Refactored all OP_ functions to vm/CATEGORY/ and renamed the files.
This commit is contained in:
parent
108be8c41e
commit
50a91d0b6f
67 changed files with 91 additions and 92 deletions
|
|
@ -1,17 +0,0 @@
|
|||
case OP_MAKE_MAP: {
|
||||
int pairs = inst.operand;
|
||||
if (pairs < 0) { fprintf(stderr, "MAKE_MAP invalid pair count\n"); exit(1); }
|
||||
Value m = make_map_empty();
|
||||
for (int i = 0; i < pairs; ++i) {
|
||||
Value val = pop_value(vm);
|
||||
Value key = pop_value(vm);
|
||||
if (key.type != VAL_STRING) { fprintf(stderr, "Map literal keys must be strings\n"); exit(1); }
|
||||
if (!map_set(&m, key.s ? key.s : "", val)) {
|
||||
fprintf(stderr, "Map literal set failed\n"); exit(1);
|
||||
}
|
||||
free_value(key);
|
||||
/* val ownership moved */
|
||||
}
|
||||
push_value(vm, m);
|
||||
break;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue