@@ -250,43 +250,43 @@ typedef enum {
250
250
YP_NODE_INTERPOLATED_STRING_NODE = 46 ,
251
251
YP_NODE_INTERPOLATED_SYMBOL_NODE = 47 ,
252
252
YP_NODE_INTERPOLATED_X_STRING_NODE = 48 ,
253
- YP_NODE_KEYWORD_PARAMETER_NODE = 49 ,
254
- YP_NODE_KEYWORD_REST_PARAMETER_NODE = 50 ,
255
- YP_NODE_LAMBDA_NODE = 51 ,
256
- YP_NODE_LOCAL_VARIABLE_READ_NODE = 52 ,
257
- YP_NODE_LOCAL_VARIABLE_WRITE_NODE = 53 ,
258
- YP_NODE_MATCH_PREDICATE_NODE = 54 ,
259
- YP_NODE_MATCH_REQUIRED_NODE = 55 ,
260
- YP_NODE_MISSING_NODE = 56 ,
261
- YP_NODE_MODULE_NODE = 57 ,
262
- YP_NODE_MULTI_WRITE_NODE = 58 ,
263
- YP_NODE_NEXT_NODE = 59 ,
264
- YP_NODE_NIL_NODE = 60 ,
265
- YP_NODE_NO_KEYWORDS_PARAMETER_NODE = 61 ,
266
- YP_NODE_OPERATOR_AND_ASSIGNMENT_NODE = 62 ,
267
- YP_NODE_OPERATOR_ASSIGNMENT_NODE = 63 ,
268
- YP_NODE_OPERATOR_OR_ASSIGNMENT_NODE = 64 ,
269
- YP_NODE_OPTIONAL_PARAMETER_NODE = 65 ,
270
- YP_NODE_OR_NODE = 66 ,
271
- YP_NODE_PARAMETERS_NODE = 67 ,
272
- YP_NODE_PARENTHESES_NODE = 68 ,
273
- YP_NODE_PINNED_EXPRESSION_NODE = 69 ,
274
- YP_NODE_PINNED_VARIABLE_NODE = 70 ,
275
- YP_NODE_POST_EXECUTION_NODE = 71 ,
276
- YP_NODE_PRE_EXECUTION_NODE = 72 ,
277
- YP_NODE_PROGRAM_NODE = 73 ,
278
- YP_NODE_RANGE_NODE = 74 ,
279
- YP_NODE_RATIONAL_NODE = 75 ,
280
- YP_NODE_REDO_NODE = 76 ,
281
- YP_NODE_REGULAR_EXPRESSION_NODE = 77 ,
282
- YP_NODE_REQUIRED_DESTRUCTURED_PARAMETER_NODE = 78 ,
283
- YP_NODE_REQUIRED_PARAMETER_NODE = 79 ,
284
- YP_NODE_RESCUE_MODIFIER_NODE = 80 ,
285
- YP_NODE_RESCUE_NODE = 81 ,
286
- YP_NODE_REST_PARAMETER_NODE = 82 ,
287
- YP_NODE_RETRY_NODE = 83 ,
288
- YP_NODE_RETURN_NODE = 84 ,
289
- YP_NODE_SCOPE_NODE = 85 ,
253
+ YP_NODE_KEYWORD_HASH_NODE = 49 ,
254
+ YP_NODE_KEYWORD_PARAMETER_NODE = 50 ,
255
+ YP_NODE_KEYWORD_REST_PARAMETER_NODE = 51 ,
256
+ YP_NODE_LAMBDA_NODE = 52 ,
257
+ YP_NODE_LOCAL_VARIABLE_READ_NODE = 53 ,
258
+ YP_NODE_LOCAL_VARIABLE_WRITE_NODE = 54 ,
259
+ YP_NODE_MATCH_PREDICATE_NODE = 55 ,
260
+ YP_NODE_MATCH_REQUIRED_NODE = 56 ,
261
+ YP_NODE_MISSING_NODE = 57 ,
262
+ YP_NODE_MODULE_NODE = 58 ,
263
+ YP_NODE_MULTI_WRITE_NODE = 59 ,
264
+ YP_NODE_NEXT_NODE = 60 ,
265
+ YP_NODE_NIL_NODE = 61 ,
266
+ YP_NODE_NO_KEYWORDS_PARAMETER_NODE = 62 ,
267
+ YP_NODE_OPERATOR_AND_ASSIGNMENT_NODE = 63 ,
268
+ YP_NODE_OPERATOR_ASSIGNMENT_NODE = 64 ,
269
+ YP_NODE_OPERATOR_OR_ASSIGNMENT_NODE = 65 ,
270
+ YP_NODE_OPTIONAL_PARAMETER_NODE = 66 ,
271
+ YP_NODE_OR_NODE = 67 ,
272
+ YP_NODE_PARAMETERS_NODE = 68 ,
273
+ YP_NODE_PARENTHESES_NODE = 69 ,
274
+ YP_NODE_PINNED_EXPRESSION_NODE = 70 ,
275
+ YP_NODE_PINNED_VARIABLE_NODE = 71 ,
276
+ YP_NODE_POST_EXECUTION_NODE = 72 ,
277
+ YP_NODE_PRE_EXECUTION_NODE = 73 ,
278
+ YP_NODE_PROGRAM_NODE = 74 ,
279
+ YP_NODE_RANGE_NODE = 75 ,
280
+ YP_NODE_RATIONAL_NODE = 76 ,
281
+ YP_NODE_REDO_NODE = 77 ,
282
+ YP_NODE_REGULAR_EXPRESSION_NODE = 78 ,
283
+ YP_NODE_REQUIRED_DESTRUCTURED_PARAMETER_NODE = 79 ,
284
+ YP_NODE_REQUIRED_PARAMETER_NODE = 80 ,
285
+ YP_NODE_RESCUE_MODIFIER_NODE = 81 ,
286
+ YP_NODE_RESCUE_NODE = 82 ,
287
+ YP_NODE_REST_PARAMETER_NODE = 83 ,
288
+ YP_NODE_RETRY_NODE = 84 ,
289
+ YP_NODE_RETURN_NODE = 85 ,
290
290
YP_NODE_SELF_NODE = 86 ,
291
291
YP_NODE_SINGLETON_CLASS_NODE = 87 ,
292
292
YP_NODE_SOURCE_ENCODING_NODE = 88 ,
@@ -412,7 +412,7 @@ typedef struct yp_block_argument_node {
412
412
// BlockNode
413
413
typedef struct yp_block_node {
414
414
yp_node_t base ;
415
- struct yp_scope_node * scope ;
415
+ yp_token_list_t locals ;
416
416
struct yp_block_parameters_node * parameters ;
417
417
struct yp_node * statements ;
418
418
yp_location_t opening_loc ;
@@ -476,7 +476,7 @@ typedef struct yp_case_node {
476
476
// ClassNode
477
477
typedef struct yp_class_node {
478
478
yp_node_t base ;
479
- struct yp_scope_node * scope ;
479
+ yp_token_list_t locals ;
480
480
yp_token_t class_keyword ;
481
481
struct yp_node * constant_path ;
482
482
yp_token_t inheritance_operator ;
@@ -526,7 +526,7 @@ typedef struct yp_def_node {
526
526
struct yp_node * receiver ;
527
527
struct yp_parameters_node * parameters ;
528
528
struct yp_node * statements ;
529
- struct yp_scope_node * scope ;
529
+ yp_token_list_t locals ;
530
530
yp_location_t def_keyword_loc ;
531
531
yp_location_t operator_loc ;
532
532
yp_location_t lparen_loc ;
@@ -716,6 +716,12 @@ typedef struct yp_interpolated_x_string_node {
716
716
yp_token_t closing ;
717
717
} yp_interpolated_x_string_node_t ;
718
718
719
+ // KeywordHashNode
720
+ typedef struct yp_keyword_hash_node {
721
+ yp_node_t base ;
722
+ struct yp_node_list elements ;
723
+ } yp_keyword_hash_node_t ;
724
+
719
725
// KeywordParameterNode
720
726
typedef struct yp_keyword_parameter_node {
721
727
yp_node_t base ;
@@ -733,7 +739,7 @@ typedef struct yp_keyword_rest_parameter_node {
733
739
// LambdaNode
734
740
typedef struct yp_lambda_node {
735
741
yp_node_t base ;
736
- struct yp_scope_node * scope ;
742
+ yp_token_list_t locals ;
737
743
yp_token_t opening ;
738
744
struct yp_block_parameters_node * parameters ;
739
745
struct yp_node * statements ;
@@ -742,7 +748,7 @@ typedef struct yp_lambda_node {
742
748
// LocalVariableReadNode
743
749
typedef struct yp_local_variable_read_node {
744
750
yp_node_t base ;
745
- int depth ;
751
+ uint32_t depth ;
746
752
} yp_local_variable_read_node_t ;
747
753
748
754
// LocalVariableWriteNode
@@ -751,7 +757,7 @@ typedef struct yp_local_variable_write_node {
751
757
yp_location_t name_loc ;
752
758
struct yp_node * value ;
753
759
yp_location_t operator_loc ;
754
- int depth ;
760
+ uint32_t depth ;
755
761
} yp_local_variable_write_node_t ;
756
762
757
763
// MatchPredicateNode
@@ -778,7 +784,7 @@ typedef struct yp_missing_node {
778
784
// ModuleNode
779
785
typedef struct yp_module_node {
780
786
yp_node_t base ;
781
- struct yp_scope_node * scope ;
787
+ yp_token_list_t locals ;
782
788
yp_token_t module_keyword ;
783
789
struct yp_node * constant_path ;
784
790
struct yp_node * statements ;
@@ -911,7 +917,7 @@ typedef struct yp_pre_execution_node {
911
917
// ProgramNode
912
918
typedef struct yp_program_node {
913
919
yp_node_t base ;
914
- struct yp_scope_node * scope ;
920
+ yp_token_list_t locals ;
915
921
struct yp_statements_node * statements ;
916
922
} yp_program_node_t ;
917
923
@@ -994,12 +1000,6 @@ typedef struct yp_return_node {
994
1000
struct yp_arguments_node * arguments ;
995
1001
} yp_return_node_t ;
996
1002
997
- // ScopeNode
998
- typedef struct yp_scope_node {
999
- yp_node_t base ;
1000
- yp_token_list_t locals ;
1001
- } yp_scope_node_t ;
1002
-
1003
1003
// SelfNode
1004
1004
typedef struct yp_self_node {
1005
1005
yp_node_t base ;
@@ -1008,7 +1008,7 @@ typedef struct yp_self_node {
1008
1008
// SingletonClassNode
1009
1009
typedef struct yp_singleton_class_node {
1010
1010
yp_node_t base ;
1011
- struct yp_scope_node * scope ;
1011
+ yp_token_list_t locals ;
1012
1012
yp_token_t class_keyword ;
1013
1013
yp_token_t operator ;
1014
1014
struct yp_node * expression ;
0 commit comments