@@ -309,11 +309,6 @@ def evaluate_and_or(node, scope, and_op:)
309309 end
310310 end
311311
312- def operator_write_node_binop ( node )
313- # `operator` is deprecated in Prism 0.29.0
314- node . respond_to? ( :binary_operator ) ? node . binary_operator : node . operator
315- end
316-
317312 def evaluate_call_operator_write_node ( node , scope ) = evaluate_call_write ( node , scope , :operator , node . write_name )
318313 def evaluate_call_and_write_node ( node , scope ) = evaluate_call_write ( node , scope , :and , node . write_name )
319314 def evaluate_call_or_write_node ( node , scope ) = evaluate_call_write ( node , scope , :or , node . write_name )
@@ -347,14 +342,14 @@ def evaluate_call_write(node, scope, operator, write_name)
347342 Types ::UnionType [ left , right ]
348343 else
349344 right = evaluate node . value , scope
350- method_call left , operator_write_node_binop ( node ) , [ right ] , nil , nil , scope , name_match : false
345+ method_call left , node . binary_operator , [ right ] , nil , nil , scope , name_match : false
351346 end
352347 end
353348
354349 def evaluate_variable_operator_write ( node , scope )
355350 left = scope [ node . name . to_s ] || Types ::OBJECT
356351 right = evaluate node . value , scope
357- scope [ node . name . to_s ] = method_call left , operator_write_node_binop ( node ) , [ right ] , nil , nil , scope , name_match : false
352+ scope [ node . name . to_s ] = method_call left , node . binary_operator , [ right ] , nil , nil , scope , name_match : false
358353 end
359354 alias evaluate_global_variable_operator_write_node evaluate_variable_operator_write
360355 alias evaluate_local_variable_operator_write_node evaluate_variable_operator_write
@@ -383,7 +378,7 @@ def evaluate_variable_or_write(node, scope)
383378 def evaluate_constant_operator_write_node ( node , scope )
384379 left = scope [ node . name . to_s ] || Types ::OBJECT
385380 right = evaluate node . value , scope
386- scope [ node . name . to_s ] = method_call left , operator_write_node_binop ( node ) , [ right ] , nil , nil , scope , name_match : false
381+ scope [ node . name . to_s ] = method_call left , node . binary_operator , [ right ] , nil , nil , scope , name_match : false
387382 end
388383
389384 def evaluate_constant_and_write_node ( node , scope )
@@ -400,7 +395,7 @@ def evaluate_constant_or_write_node(node, scope)
400395 def evaluate_constant_path_operator_write_node ( node , scope )
401396 left , receiver , _parent_module , name = evaluate_constant_node_info node . target , scope
402397 right = evaluate node . value , scope
403- value = method_call left , operator_write_node_binop ( node ) , [ right ] , nil , nil , scope , name_match : false
398+ value = method_call left , node . binary_operator , [ right ] , nil , nil , scope , name_match : false
404399 const_path_write receiver , name , value , scope
405400 value
406401 end
@@ -424,8 +419,7 @@ def evaluate_constant_path_or_write_node(node, scope)
424419 def evaluate_constant_path_write_node ( node , scope )
425420 receiver = evaluate node . target . parent , scope if node . target . parent
426421 value = evaluate node . value , scope
427- name = const_path_name ( node . target )
428- const_path_write receiver , name , value , scope
422+ const_path_write receiver , node . target . name . to_s , value , scope
429423 value
430424 end
431425
@@ -844,16 +838,6 @@ def evaluate_call_node_arguments(call_node, scope)
844838 [ args_types , kwargs_types , block_sym_node , !!block_arg ]
845839 end
846840
847- def const_path_name ( node )
848- if node . respond_to? ( :name )
849- # ConstantPathNode#name ConstantPathTargetNode#name is added in Prism 0.28.0
850- node . name . to_s
851- else
852- # ConstantPathNode#child ConstantPathTargetNode#child is deprecated in Prism 0.28.0
853- node . child . name . to_s
854- end
855- end
856-
857841 def const_path_write ( receiver , name , value , scope )
858842 if receiver # receiver::A = value
859843 singleton_type = receiver . types . find { _1 . is_a? Types ::SingletonType }
@@ -880,9 +864,9 @@ def assign_required_parameter(node, value, scope)
880864 end
881865
882866 def evaluate_constant_node_info ( node , scope )
867+ name = node . name . to_s
883868 case node
884869 when Prism ::ConstantPathNode
885- name = const_path_name ( node )
886870 if node . parent
887871 receiver = evaluate node . parent , scope
888872 if receiver . is_a? Types ::SingletonType
@@ -898,7 +882,6 @@ def evaluate_constant_node_info(node, scope)
898882 type = Types ::NIL
899883 end
900884 when Prism ::ConstantReadNode
901- name = node . name . to_s
902885 type = scope [ name ]
903886 end
904887 @dig_targets . resolve type , scope if @dig_targets . target? node
@@ -1053,8 +1036,7 @@ def evaluate_write(node, value, scope, evaluated_receivers)
10531036 scope [ node . name . to_s ] = value
10541037 when Prism ::ConstantPathTargetNode
10551038 receiver = evaluated_receivers &.[]( node . parent ) || evaluate ( node . parent , scope ) if node . parent
1056- name = const_path_name ( node )
1057- const_path_write receiver , name , value , scope
1039+ const_path_write receiver , node . name . to_s , value , scope
10581040 end
10591041 end
10601042
0 commit comments