summaryrefslogtreecommitdiff
path: root/yarp/node.h
diff options
context:
space:
mode:
authorJemma Issroff <jemmaissroff@gmail.com>2023-08-23 10:30:05 -0700
committergit <svn-admin@ruby-lang.org>2023-08-24 19:06:00 +0000
commit82e1434ef65cf1eead1e9828d12e2ed1a29de0fa (patch)
treee29f1eeeed257ddfbdd6a7aaa8cdac91b1146ca9 /yarp/node.h
parentd81634d3ef21b5b8072934a1e00f431e42cbce8a (diff)
[ruby/yarp] Pulled scope node out of config.yml, added necessary void returns
https://github.com/ruby/yarp/commit/926e6bdd88
Diffstat (limited to 'yarp/node.h')
-rw-r--r--yarp/node.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/yarp/node.h b/yarp/node.h
index a107baddb8..8e059f957a 100644
--- a/yarp/node.h
+++ b/yarp/node.h
@@ -34,3 +34,13 @@ YP_EXPORTED_FUNCTION const char * yp_node_type_to_str(yp_node_type_t node_type);
#define YP_EMPTY_LOCATION_LIST ((yp_location_list_t) { .locations = NULL, .size = 0, .capacity = 0 })
#endif // YARP_NODE_H
+
+// ScopeNodes are helper nodes, and will never
+// be part of the AST. We manually declare them
+// here to avoid generating them
+typedef struct yp_scope_node {
+ yp_node_t base;
+ struct yp_parameters_node *parameters;
+ struct yp_statements_node *statements;
+ yp_constant_id_list_t locals;
+} yp_scope_node_t;