From 0cfae753aa131f949253f3fba1e3a36c2bde6ac0 Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Wed, 24 Sep 2025 21:20:44 -0400 Subject: Revert "Deprecate `defer`" This reverts commit 7e3e245f6809946ea06ef1998bcabb7e0902fbd7. --- src/ast.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/ast.c') diff --git a/src/ast.c b/src/ast.c index 7baf08b8..80127cf7 100644 --- a/src/ast.c +++ b/src/ast.c @@ -260,6 +260,7 @@ Text_t ast_to_sexp(ast_t *ast) { T(Skip, "(Skip ", quoted_text(data.target), ")"); T(Stop, "(Stop ", quoted_text(data.target), ")"); T(Pass, "(Pass)"); + T(Defer, "(Defer ", ast_to_sexp(data.body), ")"); T(Return, "(Return ", ast_to_sexp(data.value), ")"); T(StructDef, "(StructDef \"", data.name, "\" ", arg_defs_to_sexp(data.fields), " ", ast_to_sexp(data.namespace), ")"); @@ -618,6 +619,10 @@ void ast_visit(ast_t *ast, void (*visitor)(ast_t *, void *), void *userdata) { case Skip: case Stop: case Pass: return; + case Defer: { + ast_visit(Match(ast, Defer)->body, visitor, userdata); + return; + } case Return: { ast_visit(Match(ast, Return)->value, visitor, userdata); return; -- cgit v1.2.3