diff options
author | eileencodes <eileencodes@gmail.com> | 2023-12-04 15:10:12 -0500 |
---|---|---|
committer | Jemma Issroff <jemmaissroff@gmail.com> | 2023-12-04 16:45:18 -0500 |
commit | 33bc22efe5d372898f3a37004f324f7457e9a944 (patch) | |
tree | d3d1b1cef47865fb9a6c55420e74b902183ec2d1 /test | |
parent | c23b2e5353f08a7131c77567f89d3aae707bdd25 (diff) | |
download | ruby-33bc22efe5d372898f3a37004f324f7457e9a944.tar.gz |
[PRISM] Implement `PM_INTERPOLATED_STRING_NODE`
Implements `PM_INTERPOLATED_STRING_NODE` for `defined?`
Code:
```ruby
defined?("#{expr}")
```
```
"********* Ruby *************"
== disasm: #<ISeq:<compiled>@<compiled>:0 (0,0)-(0,19)>
0000 putobject "expression"
0002 leave
"********* PRISM *************"
== disasm: #<ISeq:<compiled>@<compiled>:0 (0,0)-(0,19)>
0000 putobject "expression"
0002 leave
```
Diffstat (limited to 'test')
-rw-r--r-- | test/ruby/test_compile_prism.rb | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/test/ruby/test_compile_prism.rb b/test/ruby/test_compile_prism.rb index b6b1274ea8..e77051e383 100644 --- a/test/ruby/test_compile_prism.rb +++ b/test/ruby/test_compile_prism.rb @@ -102,6 +102,7 @@ module Prism assert_prism_eval("defined? [1, 2, 3]") assert_prism_eval("defined?({ a: 1 })") assert_prism_eval("defined? 'str'") + assert_prism_eval('defined?("#{expr}")') assert_prism_eval("defined? :sym") assert_prism_eval("defined? /foo/") assert_prism_eval("defined? -> { 1 + 1 }") |