summaryrefslogtreecommitdiffhomepage
path: root/vm.h
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2021-05-18 10:45:21 +0200
committerJo-Philipp Wich <jo@mein.io>2021-05-18 13:11:33 +0200
commitff6811f29065951ab3917460f3d76ffe6ddb0c81 (patch)
tree7d3925b2640c9dfc07959faaf866699d77a30d00 /vm.h
parent5803d8605b84ef362cc7f96f9e523eff5d0d81bc (diff)
syntax: implement `delete` as proper operator
Turn `delete` into a proper operator mimicking ECMAScript semantics. Also ensure to transparently turn deprecated `delete(obj, propname)` function calls into `delete obj.propname` expressions during compilation. When strict mode is active, legacy delete() calls throw a syntax error instead. Finally drop the `delete()` function from the stdlib as it is shadowed by the delete operator syntax now. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'vm.h')
-rw-r--r--vm.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/vm.h b/vm.h
index 30844f7..c0d81d9 100644
--- a/vm.h
+++ b/vm.h
@@ -87,7 +87,8 @@ __insn(CALL) \
__insn(MCALL) \
__insn(PRINT) \
__insn(NEXTK) \
-__insn(NEXTKV)
+__insn(NEXTKV) \
+__insn(DELETE)
#undef __insn