From 29db60797bd74656b57a0f20778c76adc78095ac Mon Sep 17 00:00:00 2001 From: Li Jin Date: Sat, 28 Feb 2026 18:03:14 +0800 Subject: Fixed destructuring with empty and comment lines in table issue. Updated docs. --- spec/inputs/whitespace.yue | 13 ++++++++ spec/outputs/codes_from_doc_de.lua | 58 +++++++++++++++++++++++++++++++++++ spec/outputs/codes_from_doc_en.lua | 58 +++++++++++++++++++++++++++++++++++ spec/outputs/codes_from_doc_id-id.lua | 58 +++++++++++++++++++++++++++++++++++ spec/outputs/codes_from_doc_pt-br.lua | 58 +++++++++++++++++++++++++++++++++++ spec/outputs/codes_from_doc_zh.lua | 58 +++++++++++++++++++++++++++++++++++ spec/outputs/whitespace.lua | 5 +++ 7 files changed, 308 insertions(+) (limited to 'spec') diff --git a/spec/inputs/whitespace.yue b/spec/inputs/whitespace.yue index d0acdde..18e1628 100644 --- a/spec/inputs/whitespace.yue +++ b/spec/inputs/whitespace.yue @@ -246,4 +246,17 @@ do -- init xd close xd = : => + +do + { + numbers: [ + first + second + ] + properties: + :color + + -- dsd + } = obj2 + nil diff --git a/spec/outputs/codes_from_doc_de.lua b/spec/outputs/codes_from_doc_de.lua index d8115ee..28ed4e7 100644 --- a/spec/outputs/codes_from_doc_de.lua +++ b/spec/outputs/codes_from_doc_de.lua @@ -939,6 +939,35 @@ _class_0 = setmetatable({ }) _base_0.__class = _class_0 Inventory = _class_0 +local User +do + local _class_0 + local _base_0 = { + __tostring = function(self) + return "User(" .. tostring(self.name) .. ")" + end + } + if _base_0.__index == nil then + _base_0.__index = _base_0 + end + _class_0 = setmetatable({ + __init = function(self, name) + self.name = name + end, + __base = _base_0, + __name = "User" + }, { + __index = _base_0, + __call = function(cls, ...) + local _self_0 = setmetatable({ }, _base_0) + cls.__init(_self_0, ...) + return _self_0 + end + }) + _base_0.__class = _class_0 + User = _class_0 +end +print(tostring(User("Yue"))) local inv = Inventory() inv:add_item("T-Shirt") inv:add_item("Hose") @@ -1559,6 +1588,35 @@ _class_0 = setmetatable({ }) _base_0.__class = _class_0 Inventory = _class_0 +local User +do + local _class_0 + local _base_0 = { + __tostring = function(self) + return "User(" .. tostring(self.name) .. ")" + end + } + if _base_0.__index == nil then + _base_0.__index = _base_0 + end + _class_0 = setmetatable({ + __init = function(self, name) + self.name = name + end, + __base = _base_0, + __name = "User" + }, { + __index = _base_0, + __call = function(cls, ...) + local _self_0 = setmetatable({ }, _base_0) + cls.__init(_self_0, ...) + return _self_0 + end + }) + _base_0.__class = _class_0 + User = _class_0 +end +print(tostring(User("Yue"))) local inv = Inventory() inv:add_item("T-Shirt") inv:add_item("Hose") diff --git a/spec/outputs/codes_from_doc_en.lua b/spec/outputs/codes_from_doc_en.lua index 66fb0b7..1fdc56d 100644 --- a/spec/outputs/codes_from_doc_en.lua +++ b/spec/outputs/codes_from_doc_en.lua @@ -939,6 +939,35 @@ _class_0 = setmetatable({ }) _base_0.__class = _class_0 Inventory = _class_0 +local User +do + local _class_0 + local _base_0 = { + __tostring = function(self) + return "User(" .. tostring(self.name) .. ")" + end + } + if _base_0.__index == nil then + _base_0.__index = _base_0 + end + _class_0 = setmetatable({ + __init = function(self, name) + self.name = name + end, + __base = _base_0, + __name = "User" + }, { + __index = _base_0, + __call = function(cls, ...) + local _self_0 = setmetatable({ }, _base_0) + cls.__init(_self_0, ...) + return _self_0 + end + }) + _base_0.__class = _class_0 + User = _class_0 +end +print(tostring(User("Yue"))) local inv = Inventory() inv:add_item("t-shirt") inv:add_item("pants") @@ -1559,6 +1588,35 @@ _class_0 = setmetatable({ }) _base_0.__class = _class_0 Inventory = _class_0 +local User +do + local _class_0 + local _base_0 = { + __tostring = function(self) + return "User(" .. tostring(self.name) .. ")" + end + } + if _base_0.__index == nil then + _base_0.__index = _base_0 + end + _class_0 = setmetatable({ + __init = function(self, name) + self.name = name + end, + __base = _base_0, + __name = "User" + }, { + __index = _base_0, + __call = function(cls, ...) + local _self_0 = setmetatable({ }, _base_0) + cls.__init(_self_0, ...) + return _self_0 + end + }) + _base_0.__class = _class_0 + User = _class_0 +end +print(tostring(User("Yue"))) local inv = Inventory() inv:add_item("t-shirt") inv:add_item("pants") diff --git a/spec/outputs/codes_from_doc_id-id.lua b/spec/outputs/codes_from_doc_id-id.lua index 6caf79c..2201dee 100644 --- a/spec/outputs/codes_from_doc_id-id.lua +++ b/spec/outputs/codes_from_doc_id-id.lua @@ -939,6 +939,35 @@ _class_0 = setmetatable({ }) _base_0.__class = _class_0 Inventory = _class_0 +local User +do + local _class_0 + local _base_0 = { + __tostring = function(self) + return "User(" .. tostring(self.name) .. ")" + end + } + if _base_0.__index == nil then + _base_0.__index = _base_0 + end + _class_0 = setmetatable({ + __init = function(self, name) + self.name = name + end, + __base = _base_0, + __name = "User" + }, { + __index = _base_0, + __call = function(cls, ...) + local _self_0 = setmetatable({ }, _base_0) + cls.__init(_self_0, ...) + return _self_0 + end + }) + _base_0.__class = _class_0 + User = _class_0 +end +print(tostring(User("Yue"))) local inv = Inventory() inv:add_item("t-shirt") inv:add_item("pants") @@ -1559,6 +1588,35 @@ _class_0 = setmetatable({ }) _base_0.__class = _class_0 Inventory = _class_0 +local User +do + local _class_0 + local _base_0 = { + __tostring = function(self) + return "User(" .. tostring(self.name) .. ")" + end + } + if _base_0.__index == nil then + _base_0.__index = _base_0 + end + _class_0 = setmetatable({ + __init = function(self, name) + self.name = name + end, + __base = _base_0, + __name = "User" + }, { + __index = _base_0, + __call = function(cls, ...) + local _self_0 = setmetatable({ }, _base_0) + cls.__init(_self_0, ...) + return _self_0 + end + }) + _base_0.__class = _class_0 + User = _class_0 +end +print(tostring(User("Yue"))) local inv = Inventory() inv:add_item("t-shirt") inv:add_item("pants") diff --git a/spec/outputs/codes_from_doc_pt-br.lua b/spec/outputs/codes_from_doc_pt-br.lua index 22f9bb9..b3bf0b3 100644 --- a/spec/outputs/codes_from_doc_pt-br.lua +++ b/spec/outputs/codes_from_doc_pt-br.lua @@ -939,6 +939,35 @@ _class_0 = setmetatable({ }) _base_0.__class = _class_0 Inventory = _class_0 +local User +do + local _class_0 + local _base_0 = { + __tostring = function(self) + return "User(" .. tostring(self.name) .. ")" + end + } + if _base_0.__index == nil then + _base_0.__index = _base_0 + end + _class_0 = setmetatable({ + __init = function(self, name) + self.name = name + end, + __base = _base_0, + __name = "User" + }, { + __index = _base_0, + __call = function(cls, ...) + local _self_0 = setmetatable({ }, _base_0) + cls.__init(_self_0, ...) + return _self_0 + end + }) + _base_0.__class = _class_0 + User = _class_0 +end +print(tostring(User("Yue"))) local inv = Inventory() inv:add_item("t-shirt") inv:add_item("pants") @@ -1559,6 +1588,35 @@ _class_0 = setmetatable({ }) _base_0.__class = _class_0 Inventory = _class_0 +local User +do + local _class_0 + local _base_0 = { + __tostring = function(self) + return "User(" .. tostring(self.name) .. ")" + end + } + if _base_0.__index == nil then + _base_0.__index = _base_0 + end + _class_0 = setmetatable({ + __init = function(self, name) + self.name = name + end, + __base = _base_0, + __name = "User" + }, { + __index = _base_0, + __call = function(cls, ...) + local _self_0 = setmetatable({ }, _base_0) + cls.__init(_self_0, ...) + return _self_0 + end + }) + _base_0.__class = _class_0 + User = _class_0 +end +print(tostring(User("Yue"))) local inv = Inventory() inv:add_item("t-shirt") inv:add_item("pants") diff --git a/spec/outputs/codes_from_doc_zh.lua b/spec/outputs/codes_from_doc_zh.lua index cf08375..5756793 100644 --- a/spec/outputs/codes_from_doc_zh.lua +++ b/spec/outputs/codes_from_doc_zh.lua @@ -939,6 +939,35 @@ _class_0 = setmetatable({ }) _base_0.__class = _class_0 Inventory = _class_0 +local User +do + local _class_0 + local _base_0 = { + __tostring = function(self) + return "User(" .. tostring(self.name) .. ")" + end + } + if _base_0.__index == nil then + _base_0.__index = _base_0 + end + _class_0 = setmetatable({ + __init = function(self, name) + self.name = name + end, + __base = _base_0, + __name = "User" + }, { + __index = _base_0, + __call = function(cls, ...) + local _self_0 = setmetatable({ }, _base_0) + cls.__init(_self_0, ...) + return _self_0 + end + }) + _base_0.__class = _class_0 + User = _class_0 +end +print(tostring(User("Yue"))) local inv = Inventory() inv:add_item("t-shirt") inv:add_item("pants") @@ -1559,6 +1588,35 @@ _class_0 = setmetatable({ }) _base_0.__class = _class_0 Inventory = _class_0 +local User +do + local _class_0 + local _base_0 = { + __tostring = function(self) + return "User(" .. tostring(self.name) .. ")" + end + } + if _base_0.__index == nil then + _base_0.__index = _base_0 + end + _class_0 = setmetatable({ + __init = function(self, name) + self.name = name + end, + __base = _base_0, + __name = "User" + }, { + __index = _base_0, + __call = function(cls, ...) + local _self_0 = setmetatable({ }, _base_0) + cls.__init(_self_0, ...) + return _self_0 + end + }) + _base_0.__class = _class_0 + User = _class_0 +end +print(tostring(User("Yue"))) local inv = Inventory() inv:add_item("t-shirt") inv:add_item("pants") diff --git a/spec/outputs/whitespace.lua b/spec/outputs/whitespace.lua index a0d225f..768f2ac 100644 --- a/spec/outputs/whitespace.lua +++ b/spec/outputs/whitespace.lua @@ -183,4 +183,9 @@ do local _close_0 = xd CY = _class_0 end +do + local first, second, color + local _obj_0 = obj2 + first, second, color = _obj_0.numbers[1], _obj_0.numbers[2], _obj_0.properties.color +end return nil -- cgit v1.2.3-55-g6feb