diff options
Diffstat (limited to 'spec')
| -rw-r--r-- | spec/inputs/existential.yue | 7 | ||||
| -rw-r--r-- | spec/outputs/existential.lua | 28 |
2 files changed, 30 insertions, 5 deletions
diff --git a/spec/inputs/existential.yue b/spec/inputs/existential.yue index 3055705..101e1d8 100644 --- a/spec/inputs/existential.yue +++ b/spec/inputs/existential.yue | |||
| @@ -49,3 +49,10 @@ with? io.open "test.txt", "w" | |||
| 49 | \write "hello" | 49 | \write "hello" |
| 50 | \close! | 50 | \close! |
| 51 | 51 | ||
| 52 | tb?.a#? 123 | ||
| 53 | |||
| 54 | with? tb.#?.index# | ||
| 55 | .a = 1 | ||
| 56 | |||
| 57 | nil | ||
| 58 | |||
diff --git a/spec/outputs/existential.lua b/spec/outputs/existential.lua index 4a64c49..b594218 100644 --- a/spec/outputs/existential.lua +++ b/spec/outputs/existential.lua | |||
| @@ -148,9 +148,27 @@ end)() ~= nil) or (function() | |||
| 148 | end | 148 | end |
| 149 | return nil | 149 | return nil |
| 150 | end)() | 150 | end)() |
| 151 | local _with_0 = io.open("test.txt", "w") | 151 | do |
| 152 | if _with_0 ~= nil then | 152 | local _with_0 = io.open("test.txt", "w") |
| 153 | _with_0:write("hello") | 153 | if _with_0 ~= nil then |
| 154 | _with_0:close() | 154 | _with_0:write("hello") |
| 155 | _with_0:close() | ||
| 156 | end | ||
| 157 | end | ||
| 158 | if tb ~= nil then | ||
| 159 | local _obj_1 = getmetatable(tb).__a | ||
| 160 | if _obj_1 ~= nil then | ||
| 161 | _obj_1(123) | ||
| 162 | end | ||
| 163 | end | ||
| 164 | do | ||
| 165 | local _with_0 | ||
| 166 | local _obj_1 = getmetatable(tb) | ||
| 167 | if _obj_1 ~= nil then | ||
| 168 | _with_0 = getmetatable(_obj_1).__index | ||
| 169 | end | ||
| 170 | if _with_0 ~= nil then | ||
| 171 | _with_0.a = 1 | ||
| 172 | end | ||
| 155 | end | 173 | end |
| 156 | return _with_0 | 174 | return nil |
