prism 0.28.0 → 0.29.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +20 -1
- data/config.yml +29 -17
- data/ext/prism/api_node.c +40 -40
- data/ext/prism/extconf.rb +27 -23
- data/ext/prism/extension.h +1 -1
- data/include/prism/ast.h +32 -32
- data/include/prism/diagnostic.h +11 -1
- data/include/prism/version.h +2 -2
- data/lib/prism/desugar_compiler.rb +4 -4
- data/lib/prism/dot_visitor.rb +32 -32
- data/lib/prism/dsl.rb +16 -16
- data/lib/prism/ffi.rb +1 -1
- data/lib/prism/inspect_visitor.rb +16 -16
- data/lib/prism/node.rb +148 -148
- data/lib/prism/node_ext.rb +156 -14
- data/lib/prism/parse_result/comments.rb +1 -1
- data/lib/prism/parse_result/newlines.rb +1 -1
- data/lib/prism/reflection.rb +8 -8
- data/lib/prism/serialize.rb +12 -2
- data/lib/prism/translation/parser/compiler.rb +154 -24
- data/lib/prism/translation/parser.rb +1 -1
- data/lib/prism/translation/ripper.rb +16 -16
- data/lib/prism/translation/ruby_parser.rb +9 -9
- data/prism.gemspec +2 -1
- data/rbi/prism/node.rbi +51 -51
- data/rbi/prism/node_ext.rbi +5 -0
- data/rbi/prism/parse_result.rbi +1 -1
- data/sig/prism/dsl.rbs +9 -9
- data/sig/prism/lex_compat.rbs +10 -0
- data/sig/prism/node.rbs +44 -44
- data/sig/prism/node_ext.rbs +4 -0
- data/src/diagnostic.c +30 -11
- data/src/node.c +48 -48
- data/src/prettyprint.c +48 -48
- data/src/prism.c +256 -133
- data/src/serialize.c +16 -16
- data/src/token_type.c +2 -2
- metadata +3 -2
data/src/serialize.c
CHANGED
@@ -407,8 +407,8 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
407
407
|
}
|
408
408
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_call_operator_write_node_t *)node)->read_name));
|
409
409
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_call_operator_write_node_t *)node)->write_name));
|
410
|
-
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_call_operator_write_node_t *)node)->
|
411
|
-
pm_serialize_location(parser, &((pm_call_operator_write_node_t *)node)->
|
410
|
+
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_call_operator_write_node_t *)node)->binary_operator));
|
411
|
+
pm_serialize_location(parser, &((pm_call_operator_write_node_t *)node)->binary_operator_loc, buffer);
|
412
412
|
pm_serialize_node(parser, (pm_node_t *)((pm_call_operator_write_node_t *)node)->value, buffer);
|
413
413
|
break;
|
414
414
|
}
|
@@ -529,9 +529,9 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
529
529
|
case PM_CLASS_VARIABLE_OPERATOR_WRITE_NODE: {
|
530
530
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_class_variable_operator_write_node_t *)node)->name));
|
531
531
|
pm_serialize_location(parser, &((pm_class_variable_operator_write_node_t *)node)->name_loc, buffer);
|
532
|
-
pm_serialize_location(parser, &((pm_class_variable_operator_write_node_t *)node)->
|
532
|
+
pm_serialize_location(parser, &((pm_class_variable_operator_write_node_t *)node)->binary_operator_loc, buffer);
|
533
533
|
pm_serialize_node(parser, (pm_node_t *)((pm_class_variable_operator_write_node_t *)node)->value, buffer);
|
534
|
-
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_class_variable_operator_write_node_t *)node)->
|
534
|
+
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_class_variable_operator_write_node_t *)node)->binary_operator));
|
535
535
|
break;
|
536
536
|
}
|
537
537
|
case PM_CLASS_VARIABLE_OR_WRITE_NODE: {
|
@@ -566,9 +566,9 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
566
566
|
case PM_CONSTANT_OPERATOR_WRITE_NODE: {
|
567
567
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_constant_operator_write_node_t *)node)->name));
|
568
568
|
pm_serialize_location(parser, &((pm_constant_operator_write_node_t *)node)->name_loc, buffer);
|
569
|
-
pm_serialize_location(parser, &((pm_constant_operator_write_node_t *)node)->
|
569
|
+
pm_serialize_location(parser, &((pm_constant_operator_write_node_t *)node)->binary_operator_loc, buffer);
|
570
570
|
pm_serialize_node(parser, (pm_node_t *)((pm_constant_operator_write_node_t *)node)->value, buffer);
|
571
|
-
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_constant_operator_write_node_t *)node)->
|
571
|
+
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_constant_operator_write_node_t *)node)->binary_operator));
|
572
572
|
break;
|
573
573
|
}
|
574
574
|
case PM_CONSTANT_OR_WRITE_NODE: {
|
@@ -597,9 +597,9 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
597
597
|
}
|
598
598
|
case PM_CONSTANT_PATH_OPERATOR_WRITE_NODE: {
|
599
599
|
pm_serialize_node(parser, (pm_node_t *)((pm_constant_path_operator_write_node_t *)node)->target, buffer);
|
600
|
-
pm_serialize_location(parser, &((pm_constant_path_operator_write_node_t *)node)->
|
600
|
+
pm_serialize_location(parser, &((pm_constant_path_operator_write_node_t *)node)->binary_operator_loc, buffer);
|
601
601
|
pm_serialize_node(parser, (pm_node_t *)((pm_constant_path_operator_write_node_t *)node)->value, buffer);
|
602
|
-
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_constant_path_operator_write_node_t *)node)->
|
602
|
+
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_constant_path_operator_write_node_t *)node)->binary_operator));
|
603
603
|
break;
|
604
604
|
}
|
605
605
|
case PM_CONSTANT_PATH_OR_WRITE_NODE: {
|
@@ -852,9 +852,9 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
852
852
|
case PM_GLOBAL_VARIABLE_OPERATOR_WRITE_NODE: {
|
853
853
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_global_variable_operator_write_node_t *)node)->name));
|
854
854
|
pm_serialize_location(parser, &((pm_global_variable_operator_write_node_t *)node)->name_loc, buffer);
|
855
|
-
pm_serialize_location(parser, &((pm_global_variable_operator_write_node_t *)node)->
|
855
|
+
pm_serialize_location(parser, &((pm_global_variable_operator_write_node_t *)node)->binary_operator_loc, buffer);
|
856
856
|
pm_serialize_node(parser, (pm_node_t *)((pm_global_variable_operator_write_node_t *)node)->value, buffer);
|
857
|
-
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_global_variable_operator_write_node_t *)node)->
|
857
|
+
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_global_variable_operator_write_node_t *)node)->binary_operator));
|
858
858
|
break;
|
859
859
|
}
|
860
860
|
case PM_GLOBAL_VARIABLE_OR_WRITE_NODE: {
|
@@ -1032,8 +1032,8 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1032
1032
|
} else {
|
1033
1033
|
pm_serialize_node(parser, (pm_node_t *)((pm_index_operator_write_node_t *)node)->block, buffer);
|
1034
1034
|
}
|
1035
|
-
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_index_operator_write_node_t *)node)->
|
1036
|
-
pm_serialize_location(parser, &((pm_index_operator_write_node_t *)node)->
|
1035
|
+
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_index_operator_write_node_t *)node)->binary_operator));
|
1036
|
+
pm_serialize_location(parser, &((pm_index_operator_write_node_t *)node)->binary_operator_loc, buffer);
|
1037
1037
|
pm_serialize_node(parser, (pm_node_t *)((pm_index_operator_write_node_t *)node)->value, buffer);
|
1038
1038
|
break;
|
1039
1039
|
}
|
@@ -1093,9 +1093,9 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1093
1093
|
case PM_INSTANCE_VARIABLE_OPERATOR_WRITE_NODE: {
|
1094
1094
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_instance_variable_operator_write_node_t *)node)->name));
|
1095
1095
|
pm_serialize_location(parser, &((pm_instance_variable_operator_write_node_t *)node)->name_loc, buffer);
|
1096
|
-
pm_serialize_location(parser, &((pm_instance_variable_operator_write_node_t *)node)->
|
1096
|
+
pm_serialize_location(parser, &((pm_instance_variable_operator_write_node_t *)node)->binary_operator_loc, buffer);
|
1097
1097
|
pm_serialize_node(parser, (pm_node_t *)((pm_instance_variable_operator_write_node_t *)node)->value, buffer);
|
1098
|
-
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_instance_variable_operator_write_node_t *)node)->
|
1098
|
+
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_instance_variable_operator_write_node_t *)node)->binary_operator));
|
1099
1099
|
break;
|
1100
1100
|
}
|
1101
1101
|
case PM_INSTANCE_VARIABLE_OR_WRITE_NODE: {
|
@@ -1253,10 +1253,10 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1253
1253
|
}
|
1254
1254
|
case PM_LOCAL_VARIABLE_OPERATOR_WRITE_NODE: {
|
1255
1255
|
pm_serialize_location(parser, &((pm_local_variable_operator_write_node_t *)node)->name_loc, buffer);
|
1256
|
-
pm_serialize_location(parser, &((pm_local_variable_operator_write_node_t *)node)->
|
1256
|
+
pm_serialize_location(parser, &((pm_local_variable_operator_write_node_t *)node)->binary_operator_loc, buffer);
|
1257
1257
|
pm_serialize_node(parser, (pm_node_t *)((pm_local_variable_operator_write_node_t *)node)->value, buffer);
|
1258
1258
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_local_variable_operator_write_node_t *)node)->name));
|
1259
|
-
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_local_variable_operator_write_node_t *)node)->
|
1259
|
+
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_local_variable_operator_write_node_t *)node)->binary_operator));
|
1260
1260
|
pm_buffer_append_varuint(buffer, ((pm_local_variable_operator_write_node_t *)node)->depth);
|
1261
1261
|
break;
|
1262
1262
|
}
|
data/src/token_type.c
CHANGED
@@ -422,9 +422,9 @@ pm_token_type_human(pm_token_type_t token_type) {
|
|
422
422
|
case PM_TOKEN_DOT:
|
423
423
|
return "'.'";
|
424
424
|
case PM_TOKEN_DOT_DOT:
|
425
|
-
return "
|
425
|
+
return "..";
|
426
426
|
case PM_TOKEN_DOT_DOT_DOT:
|
427
|
-
return "
|
427
|
+
return "...";
|
428
428
|
case PM_TOKEN_EMBDOC_BEGIN:
|
429
429
|
return "'=begin'";
|
430
430
|
case PM_TOKEN_EMBDOC_END:
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: prism
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.29.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shopify
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-05-
|
11
|
+
date: 2024-05-10 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description:
|
14
14
|
email:
|
@@ -126,6 +126,7 @@ files:
|
|
126
126
|
- sig/prism/dot_visitor.rbs
|
127
127
|
- sig/prism/dsl.rbs
|
128
128
|
- sig/prism/inspect_visitor.rbs
|
129
|
+
- sig/prism/lex_compat.rbs
|
129
130
|
- sig/prism/mutation_compiler.rbs
|
130
131
|
- sig/prism/node.rbs
|
131
132
|
- sig/prism/node_ext.rbs
|