Skip to content

Commit 93e768b

Browse files
committed
Add node_id to Java serialization
1 parent 804d2c6 commit 93e768b

File tree

3 files changed

+7
-6
lines changed

3 files changed

+7
-6
lines changed

templates/java/org/prism/Loader.java.erb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -358,6 +358,7 @@ public class Loader {
358358

359359
private Nodes.Node loadNode() {
360360
int type = buffer.get() & 0xFF;
361+
int nodeId = loadVarUInt();
361362
int startOffset = loadVarUInt();
362363
int length = loadVarUInt();
363364

@@ -366,7 +367,7 @@ public class Loader {
366367
<%- nodes.each_with_index do |node, index| -%>
367368
case <%= index + 1 %>:
368369
<%-
369-
params = ["startOffset", "length"]
370+
params = ["nodeId", "startOffset", "length"]
370371
params << "buffer.getInt()" if node.needs_serialized_length?
371372
params << "loadFlags()" if node.flags
372373
params.concat node.semantic_fields.map { |field|

templates/java/org/prism/Nodes.java.erb

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,11 +92,13 @@ public abstract class Nodes {
9292

9393
public static final Node[] EMPTY_ARRAY = {};
9494

95+
public final int nodeId;
9596
public final int startOffset;
9697
public final int length;
9798
private boolean newLineFlag = false;
9899

99-
public Node(int startOffset, int length) {
100+
public Node(int nodeId, int startOffset, int length) {
101+
this.nodeId = nodeId;
100102
this.startOffset = startOffset;
101103
this.length = length;
102104
}
@@ -223,13 +225,13 @@ public abstract class Nodes {
223225
<%- end -%>
224226

225227
<%-
226-
params = ["int startOffset", "int length"]
228+
params = ["int nodeId", "int startOffset", "int length"]
227229
params << "int serializedLength" if node.needs_serialized_length?
228230
params << "short flags" if node.flags
229231
params.concat(node.semantic_fields.map { |field| "#{field.java_type} #{field.name}" })
230232
-%>
231233
public <%= node.name -%>(<%= params.join(", ") %>) {
232-
super(startOffset, length);
234+
super(nodeId, startOffset, length);
233235
<%- if node.needs_serialized_length? -%>
234236
this.serializedLength = serializedLength;
235237
<%- end -%>

templates/src/serialize.c.erb

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
7474

7575
size_t offset = buffer->length;
7676

77-
<%- unless Prism::Template::SERIALIZE_ONLY_SEMANTICS_FIELDS -%>
7877
pm_buffer_append_varuint(buffer, node->node_id);
79-
<%- end -%>
8078
pm_serialize_location(parser, &node->location, buffer);
8179

8280
switch (PM_NODE_TYPE(node)) {

0 commit comments

Comments
 (0)