Skip to content

Commit a988a48

Browse files
committed
cleanup
1 parent fbb028f commit a988a48

File tree

1 file changed

+4
-85
lines changed

1 file changed

+4
-85
lines changed

script/vm/node.lua

Lines changed: 4 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,6 @@ mt.type = 'vm.node'
1313
mt.optional = nil
1414
mt.lastInfer = nil
1515
mt.data = nil
16-
---@type vm.node[]
17-
mt._childs = nil
18-
mt._locked = false
1916

2017
---@param node vm.node | vm.object
2118
function mt:merge(node)
@@ -29,20 +26,10 @@ function mt:merge(node)
2926
if node:isOptional() then
3027
self.optional = true
3128
end
32-
if node._locked then
33-
if not self._childs then
34-
self._childs = {}
35-
end
36-
if not self._childs[node] then
37-
self._childs[#self._childs+1] = node
38-
self._childs[node] = true
39-
end
40-
else
41-
for _, obj in ipairs(node) do
42-
if not self[obj] then
43-
self[obj] = true
44-
self[#self+1] = obj
45-
end
29+
for _, obj in ipairs(node) do
30+
if not self[obj] then
31+
self[obj] = true
32+
self[#self+1] = obj
4633
end
4734
end
4835
else
@@ -53,84 +40,17 @@ function mt:merge(node)
5340
end
5441
end
5542

56-
function mt:_each(mark, callback)
57-
if mark[self] then
58-
return
59-
end
60-
mark[self] = true
61-
for i = 1, #self do
62-
callback(self[i])
63-
end
64-
local childs = self._childs
65-
if not childs then
66-
return
67-
end
68-
for i = 1, #childs do
69-
local child = childs[i]
70-
if not child:isLocked() then
71-
child:_each(mark, callback)
72-
end
73-
end
74-
end
75-
76-
function mt:_expand()
77-
local childs = self._childs
78-
if not childs then
79-
return
80-
end
81-
self._childs = nil
82-
83-
local mark = {}
84-
mark[self] = true
85-
86-
local function insert(obj)
87-
if not self[obj] then
88-
self[obj] = true
89-
self[#self+1] = obj
90-
end
91-
end
92-
93-
for i = 1, #childs do
94-
local child = childs[i]
95-
if child:isLocked() then
96-
if not self._childs then
97-
self._childs = {}
98-
end
99-
if not self._childs[child] then
100-
self._childs[#self._childs+1] = child
101-
self._childs[child] = true
102-
end
103-
else
104-
child:_each(mark, insert)
105-
end
106-
end
107-
end
108-
10943
---@return boolean
11044
function mt:isEmpty()
111-
self:_expand()
11245
return #self == 0
11346
end
11447

11548
---@param n integer
11649
---@return vm.object?
11750
function mt:get(n)
118-
self:_expand()
11951
return self[n]
12052
end
12153

122-
function mt:lock()
123-
self._locked = true
124-
end
125-
126-
function mt:unlock()
127-
self._locked = false
128-
end
129-
130-
function mt:isLocked()
131-
return self._locked == true
132-
end
133-
13454
function mt:setData(k, v)
13555
if not self.data then
13656
self.data = {}
@@ -175,7 +95,6 @@ end
17595

17696
---@return fun():vm.object
17797
function mt:eachObject()
178-
self:_expand()
17998
local i = 0
18099
return function ()
181100
i = i + 1

0 commit comments

Comments
 (0)