summaryrefslogtreecommitdiff
path: root/prism/templates/src
diff options
context:
space:
mode:
authoreileencodes <[email protected]>2023-10-13 13:30:02 -0400
committergit <[email protected]>2023-10-13 19:38:57 +0000
commit42484d1281868a50dd06cd819aaa3d9f977b3ae2 (patch)
tree0fcf3097e0f839c2d9c9c0520fc02d6d41ddc95d /prism/templates/src
parent17697c968e8cd00cdd581459c11868d1f2025f3a (diff)
[ruby/prism] Move common flags to top bits
Moves the common flag bits to the top. This lets us eliminate the `COMMON` constant, and also allows us to group encoding flags on a nibble so we can more easily mask them. https://github.com/ruby/prism/commit/895508659e
Diffstat (limited to 'prism/templates/src')
-rw-r--r--prism/templates/src/prettyprint.c.erb2
-rw-r--r--prism/templates/src/serialize.c.erb2
2 files changed, 2 insertions, 2 deletions
diff --git a/prism/templates/src/prettyprint.c.erb b/prism/templates/src/prettyprint.c.erb
index 0dd8632616..c5d05485b8 100644
--- a/prism/templates/src/prettyprint.c.erb
+++ b/prism/templates/src/prettyprint.c.erb
@@ -80,7 +80,7 @@ prettyprint_node(pm_buffer_t *buffer, pm_parser_t *parser, pm_node_t *node) {
pm_buffer_append_str(buffer, <%= field.name %>_buffer, strlen(<%= field.name %>_buffer));
<%- when Prism::FlagsField -%>
char <%= field.name %>_buffer[12];
- snprintf(<%= field.name %>_buffer, sizeof(<%= field.name %>_buffer), "+%d", node->flags >> <%= Prism::COMMON_FLAGS %>);
+ snprintf(<%= field.name %>_buffer, sizeof(<%= field.name %>_buffer), "+%d", (uint32_t)(node->flags & ~PM_NODE_FLAG_COMMON_MASK));
pm_buffer_append_str(buffer, <%= field.name %>_buffer, strlen(<%= field.name %>_buffer));
<%- else -%>
<%- raise -%>
diff --git a/prism/templates/src/serialize.c.erb b/prism/templates/src/serialize.c.erb
index cc2d4db7a0..e9ebc31590 100644
--- a/prism/templates/src/serialize.c.erb
+++ b/prism/templates/src/serialize.c.erb
@@ -110,7 +110,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
<%- when Prism::UInt32Field -%>
pm_buffer_append_u32(buffer, ((pm_<%= node.human %>_t *)node)-><%= field.name %>);
<%- when Prism::FlagsField -%>
- pm_buffer_append_u32(buffer, node->flags >> <%= Prism::COMMON_FLAGS %>);
+ pm_buffer_append_u32(buffer, (uint32_t)(node->flags & ~PM_NODE_FLAG_COMMON_MASK));
<%- else -%>
<%- raise -%>
<%- end -%>