aboutsummaryrefslogtreecommitdiff
path: root/src/ast.h
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2025-05-21 14:25:45 -0400
committerBruce Hill <bruce@bruce-hill.com>2025-05-21 14:25:45 -0400
commit6d15697edce2217a2bbc82def26262d18dac6373 (patch)
tree9c00c6211a10dffc99c3a6566ee3fb03f4d6849d /src/ast.h
parente4d7ab31057868739f48638cadc5d70aa4929fae (diff)
Added Set infix operations, as well as Table.with_fallback() and fixed
some bugs with update assignment.
Diffstat (limited to 'src/ast.h')
-rw-r--r--src/ast.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/ast.h b/src/ast.h
index 47ff3caf..486b5818 100644
--- a/src/ast.h
+++ b/src/ast.h
@@ -23,6 +23,7 @@
#define Match(x, _tag) ((x)->tag == _tag ? &(x)->__data._tag : (errx(1, __FILE__ ":%d This was supposed to be a " # _tag "\n", __LINE__), &(x)->__data._tag))
#define DeclareMatch(var, x, _tag) __typeof((x)->__data._tag) *var = Match(x, _tag)
#define BINARY_OPERANDS(ast) ({ if (!is_binary_operation(ast)) errx(1, __FILE__ ":%d This is not a binary operation!", __LINE__); (ast)->__data.Plus; })
+#define UPDATE_OPERANDS(ast) ({ if (!is_update_assignment(ast)) errx(1, __FILE__ ":%d This is not an update assignment!", __LINE__); (ast)->__data.PlusUpdate; })
#define REVERSE_LIST(list) do { \
__typeof(list) _prev = NULL; \