summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authoreileencodes <[email protected]>2024-01-16 16:11:24 -0500
committerAaron Patterson <[email protected]>2024-01-17 13:08:49 -0800
commitf657fd150f46ab4d93344d34bcb663630d7f064a (patch)
tree8bdcb481167ea908b57e5ce82d1e29311d5f50eb /test
parenta6e924cf5f67368b49d5745f5cae22bc68ef21a1 (diff)
[Prism] Implement defined? for PM_CALL_AND_WRITE_NODE
Ruby code: ```ruby defined?(PrismTestSubclass.test_call_and_write_node &&= 1) ``` Instructions: ``` "********* Ruby *************" == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,58)> 0000 putobject "assignment" ( 59)[Li] 0002 leave "********* PRISM *************" == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,58)> 0000 putobject "assignment" ( 58)[Li] 0002 leave ``` Related: ruby/prism#2188
Diffstat (limited to 'test')
-rw-r--r--test/ruby/test_compile_prism.rb2
1 files changed, 2 insertions, 0 deletions
diff --git a/test/ruby/test_compile_prism.rb b/test/ruby/test_compile_prism.rb
index d547f82fe3..38bce4f303 100644
--- a/test/ruby/test_compile_prism.rb
+++ b/test/ruby/test_compile_prism.rb
@@ -237,6 +237,8 @@ module Prism
assert_prism_eval("defined?(defined?(a))")
assert_prism_eval('defined?(:"#{1}")')
assert_prism_eval("defined?(`echo #{1}`)")
+
+ assert_prism_eval("defined?(PrismTestSubclass.test_call_and_write_node &&= 1)")
end
def test_GlobalVariableReadNode