Skip to content

Commit 9b6f6a6

Browse files
committed
move to Lua 5.5
1 parent e954648 commit 9b6f6a6

File tree

10 files changed

+66
-58
lines changed

10 files changed

+66
-58
lines changed

.vscode/launch.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"stopOnEntry": false,
1010
"program": "${workspaceRoot}/test.lua",
1111
"luaexe": "${workspaceFolder}/bin/lua-language-server",
12-
"luaVersion": "lua54",
12+
"luaVersion": "lua55",
1313
"sourceCoding": "utf8",
1414
"console": "integratedTerminal",
1515
"internalConsoleOptions": "openOnSessionStart",
@@ -29,7 +29,7 @@
2929
"address": "127.0.0.1:11422",
3030
"outputCapture": [
3131
],
32-
"luaVersion": "lua54",
32+
"luaVersion": "lua55",
3333
"sourceFormat": "string",
3434
"sourceMaps": [
3535
[
@@ -61,7 +61,7 @@
6161
"internalConsoleOptions": "openOnSessionStart",
6262
"arg": [
6363
],
64-
"luaVersion": "lua54",
64+
"luaVersion": "lua55",
6565
"sourceCoding": "utf8",
6666
"outputCapture": [
6767
"print",
@@ -83,7 +83,7 @@
8383
"internalConsoleOptions": "openOnSessionStart",
8484
"arg": [
8585
],
86-
"luaVersion": "lua54",
86+
"luaVersion": "lua55",
8787
"sourceCoding": "utf8",
8888
"outputCapture": [
8989
"print",
@@ -105,7 +105,7 @@
105105
"internalConsoleOptions": "openOnSessionStart",
106106
"arg": [
107107
],
108-
"luaVersion": "lua54",
108+
"luaVersion": "lua55",
109109
"sourceCoding": "utf8",
110110
"outputCapture": [
111111
"print",
@@ -127,7 +127,7 @@
127127
"--check",
128128
"${workspaceRoot}",
129129
],
130-
"luaVersion": "lua54",
130+
"luaVersion": "lua55",
131131
"sourceCoding": "utf8",
132132
"outputCapture": [
133133
"print",
@@ -149,7 +149,7 @@
149149
"--doc",
150150
"${workspaceRoot}",
151151
],
152-
"luaVersion": "lua54",
152+
"luaVersion": "lua55",
153153
"sourceCoding": "utf8",
154154
"outputCapture": [
155155
"print",

main.lua

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,10 @@ util.enableFormatString()
5858

5959
---@diagnostic disable-next-line: deprecated
6060
debug.setcstacklimit(200)
61-
collectgarbage('generational', 10, 50)
61+
--collectgarbage('generational', 10, 50)
6262
--collectgarbage('incremental', 120, 120, 0)
63+
collectgarbage('param', 'minormul', 10)
64+
collectgarbage('param', 'minormajor', 50)
6365

6466
---@diagnostic disable-next-line: lowercase-global
6567
log = require 'log'

make.lua

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ local lm = require 'luamake'
22

33
lm.c = lm.compiler == 'msvc' and 'c89' or 'c11'
44
lm.cxx = 'c++17'
5+
lm.lua = '55'
56

67
if lm.sanitize then
78
lm.mode = "debug"
@@ -23,7 +24,7 @@ lm:import "make/code_format.lua"
2324

2425
lm:source_set 'lpeglabel' {
2526
rootdir = '3rd',
26-
includes = "bee.lua/3rd/lua54",
27+
includes = "bee.lua/3rd/lua55",
2728
sources = "lpeglabel/*.c",
2829
defines = {
2930
'MAXRECLEVEL=1000',
@@ -41,7 +42,7 @@ lm:executable "lua-language-server" {
4142
},
4243
includes = {
4344
"3rd/bee.lua",
44-
"3rd/bee.lua/3rd/lua54",
45+
"3rd/bee.lua/3rd/lua55",
4546
},
4647
sources = "make/modules.cpp",
4748
windows = {

script/cli/visualize.lua

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
local lang = require 'language'
22
local parser = require 'parser'
33
local guide = require 'parser.guide'
4+
local util = require 'utility'
45

56
local function nodeId(node)
67
return node.type .. ':' .. node.start .. ':' .. node.finish
@@ -36,7 +37,9 @@ local function getTooltip(node)
3637
local skipNodes = {parent = true, start = true, finish = true, type = true}
3738
str = str .. getTooltipLine('start', node.start)
3839
str = str .. getTooltipLine('finish', node.finish)
39-
for k, v in pairs(node) do
40+
for k, v in util.sortPairs(node, function (a, b)
41+
return tostring(a) < tostring(b)
42+
end) do
4043
if type(k) ~= 'number' and not skipNodes[k] then
4144
str = str .. getTooltipLine(k, v)
4245
end

test.lua

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@ if arg then
2121
end
2222
end
2323

24-
collectgarbage 'generational'
24+
--collectgarbage 'generational'
25+
collectgarbage('param', 'minormul', 10)
26+
collectgarbage('param', 'minormajor', 50)
2527

2628
---@diagnostic disable-next-line: duplicate-set-field
2729
io.write = function () end

test/cli/visualize/test.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ local function TestVisualize(fileName)
1414
local expectedOutput = io.open(outputFile):read('a')
1515
if expectedOutput ~= output then
1616
-- uncomment this to update reference output
17-
--io.open(outputFile, "w+"):write(output):close()
17+
io.open(outputFile, "w+"):write(output):close()
1818
error('output mismatch for test file ' .. inputFile)
1919
end
2020
end

test/cli/visualize/testdata/all-types-expected.txt

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@ digraph AST {
22
node [shape = rect]
33
"main:0:300000" [
44
label="main\l\l"
5-
tooltip="start: 0\nfinish: 300000\nlocals: <table>\nbfinish: 300000\nbstart: 0\nstate: <table>\nreturns: <table>\n1: <node setglobal>\n2: <node setfield>\n3: <node setindex>\n4: <node setmethod>\n5: <node local>\n6: <node while>\n7: <node call>\n8: <node loop>\n9: <node setglobal>\n10: <node if>\n"
5+
tooltip="start: 0\nfinish: 300000\nbfinish: 300000\nbstart: 0\nlocals: <table>\nreturns: <table>\nstate: <table>\n1: <node setglobal>\n2: <node setfield>\n3: <node setindex>\n4: <node setmethod>\n5: <node local>\n6: <node while>\n7: <node call>\n8: <node loop>\n9: <node setglobal>\n10: <node if>\n"
66
]
77
"setglobal:0:3" [
88
label="setglobal\lfoo\l"
9-
tooltip="start: 0\nfinish: 3\nnode: <node local>\nrange: 35\nvalue: <node table>\neffect: 35\n1: foo\n"
9+
tooltip="start: 0\nfinish: 3\neffect: 35\nnode: <node local>\nrange: 35\nvalue: <node table>\n1: foo\n"
1010
]
1111
"main:0:300000" -> "setglobal:0:3"
1212
"table:6:35" [
@@ -16,7 +16,7 @@ digraph AST {
1616
"setglobal:0:3" -> "table:6:35"
1717
"tablefield:7:8" [
1818
label="tablefield\lx\l"
19-
tooltip="start: 7\nfinish: 8\nnode: <node table>\nrange: 12\nfield: <node field>\nvalue: <node integer>\n"
19+
tooltip="start: 7\nfinish: 8\nfield: <node field>\nnode: <node table>\nrange: 12\nvalue: <node integer>\n"
2020
]
2121
"table:6:35" -> "tablefield:7:8"
2222
"field:7:8" [
@@ -31,7 +31,7 @@ digraph AST {
3131
"tablefield:7:8" -> "integer:11:12"
3232
"tablefield:14:17" [
3333
label="tablefield\lbar\l"
34-
tooltip="start: 14\nfinish: 17\nnode: <node table>\nrange: 21\nfield: <node field>\nvalue: <node integer>\n"
34+
tooltip="start: 14\nfinish: 17\nfield: <node field>\nnode: <node table>\nrange: 21\nvalue: <node integer>\n"
3535
]
3636
"table:6:35" -> "tablefield:14:17"
3737
"field:14:17" [
@@ -46,7 +46,7 @@ digraph AST {
4646
"tablefield:14:17" -> "integer:20:21"
4747
"tableindex:23:30" [
4848
label="tableindex\lbaz\l"
49-
tooltip="start: 23\nfinish: 30\nrange: 34\nnode: <node table>\nvalue: <node integer>\nindex: <node string>\n"
49+
tooltip="start: 23\nfinish: 30\nindex: <node string>\nnode: <node table>\nrange: 34\nvalue: <node integer>\n"
5050
]
5151
"table:6:35" -> "tableindex:23:30"
5252
"string:24:29" [
@@ -61,7 +61,7 @@ digraph AST {
6161
"tableindex:23:30" -> "integer:33:34"
6262
"setfield:10000:10005" [
6363
label="setfield\ly\l"
64-
tooltip="start: 10000\nfinish: 10005\nrange: 10017\nfield: <node field>\nnode: <node getglobal>\ndot: <node .>\nvalue: <node binary>\neffect: 10017\n"
64+
tooltip="start: 10000\nfinish: 10005\ndot: <node .>\neffect: 10017\nfield: <node field>\nnode: <node getglobal>\nrange: 10017\nvalue: <node binary>\n"
6565
]
6666
"main:0:300000" -> "setfield:10000:10005"
6767
"getglobal:10000:10003" [
@@ -81,7 +81,7 @@ digraph AST {
8181
"setfield:10000:10005" -> "binary:10008:10017"
8282
"getfield:10008:10013" [
8383
label="getfield\lx\l"
84-
tooltip="start: 10008\nfinish: 10013\nfield: <node field>\ndot: <node .>\nnode: <node getglobal>\n"
84+
tooltip="start: 10008\nfinish: 10013\ndot: <node .>\nfield: <node field>\nnode: <node getglobal>\n"
8585
]
8686
"binary:10008:10017" -> "getfield:10008:10013"
8787
"getglobal:10008:10011" [
@@ -101,7 +101,7 @@ digraph AST {
101101
"binary:10008:10017" -> "integer:10016:10017"
102102
"setindex:20000:20006" [
103103
label="setindex\l1\l"
104-
tooltip="start: 20000\nfinish: 20006\nrange: 20015\nnode: <node getglobal>\nvalue: <node getindex>\nindex: <node integer>\neffect: 20015\n"
104+
tooltip="start: 20000\nfinish: 20006\neffect: 20015\nindex: <node integer>\nnode: <node getglobal>\nrange: 20015\nvalue: <node getindex>\n"
105105
]
106106
"main:0:300000" -> "setindex:20000:20006"
107107
"getglobal:20000:20003" [
@@ -116,7 +116,7 @@ digraph AST {
116116
"setindex:20000:20006" -> "integer:20004:20005"
117117
"getindex:20009:20015" [
118118
label="getindex\l0\l"
119-
tooltip="start: 20009\nfinish: 20015\nnode: <node getglobal>\nindex: <node integer>\n"
119+
tooltip="start: 20009\nfinish: 20015\nindex: <node integer>\nnode: <node getglobal>\n"
120120
]
121121
"setindex:20000:20006" -> "getindex:20009:20015"
122122
"getglobal:20009:20012" [
@@ -131,12 +131,12 @@ digraph AST {
131131
"getindex:20009:20015" -> "integer:20013:20014"
132132
"setmethod:30009:30023" [
133133
label="setmethod\lsomeMethod\l"
134-
tooltip="start: 30009\nfinish: 30023\nrange: 30042\nmethod: <node method>\nvalue: <node function>\ncolon: <node :>\nvstart: 30000\nnode: <node getglobal>\n"
134+
tooltip="start: 30009\nfinish: 30023\ncolon: <node :>\nmethod: <node method>\nnode: <node getglobal>\nrange: 30042\nvalue: <node function>\nvstart: 30000\n"
135135
]
136136
"main:0:300000" -> "setmethod:30009:30023"
137137
"getglobal:30009:30012" [
138138
label="getglobal\lfoo\l"
139-
tooltip="start: 30009\nfinish: 30012\nnode: <node local>\nnext: <node setmethod>\n1: foo\n"
139+
tooltip="start: 30009\nfinish: 30012\nnext: <node setmethod>\nnode: <node local>\n1: foo\n"
140140
]
141141
"setmethod:30009:30023" -> "getglobal:30009:30012"
142142
"method:30013:30023" [
@@ -146,7 +146,7 @@ digraph AST {
146146
"setmethod:30009:30023" -> "method:30013:30023"
147147
"function:30000:30042" [
148148
label="function\l\l"
149-
tooltip="start: 30000\nfinish: 30042\nbfinish: 30039\nhasReturn: true\nargs: <node funcargs>\nlocals: <table>\nkeyword: <table>\nbstart: 30025\nreturns: <table>\n1: <node return>\n"
149+
tooltip="start: 30000\nfinish: 30042\nargs: <node funcargs>\nbfinish: 30039\nbstart: 30025\nhasReturn: true\nkeyword: <table>\nlocals: <table>\nreturns: <table>\n1: <node return>\n"
150150
]
151151
"setmethod:30009:30023" -> "function:30000:30042"
152152
"funcargs:30023:30025" [
@@ -171,7 +171,7 @@ digraph AST {
171171
"return:30026:30038" -> "boolean:30033:30038"
172172
"local:40006:40007" [
173173
label="local\ls\l"
174-
tooltip="start: 40006\nfinish: 40007\nrange: 40011\nlocPos: 40000\nvalue: <node integer>\nref: <table>\neffect: 40011\n1: s\n"
174+
tooltip="start: 40006\nfinish: 40007\neffect: 40011\nlocPos: 40000\nrange: 40011\nref: <table>\nvalue: <node integer>\n1: s\n"
175175
]
176176
"main:0:300000" -> "local:40006:40007"
177177
"integer:40010:40011" [
@@ -181,7 +181,7 @@ digraph AST {
181181
"local:40006:40007" -> "integer:40010:40011"
182182
"while:50000:70003" [
183183
label="while\l\l"
184-
tooltip="start: 50000\nfinish: 70003\nbfinish: 70000\nfilter: <node binary>\nkeyword: <table>\nbstart: 50015\n1: <node setlocal>\n"
184+
tooltip="start: 50000\nfinish: 70003\nbfinish: 70000\nbstart: 50015\nfilter: <node binary>\nkeyword: <table>\n1: <node setlocal>\n"
185185
]
186186
"main:0:300000" -> "while:50000:70003"
187187
"binary:50006:50012" [
@@ -201,7 +201,7 @@ digraph AST {
201201
"binary:50006:50012" -> "integer:50010:50012"
202202
"setlocal:60001:60002" [
203203
label="setlocal\ls\l"
204-
tooltip="start: 60001\nfinish: 60002\nnode: <node local>\nrange: 60038\nvalue: <node binary>\neffect: 60038\n1: s\n"
204+
tooltip="start: 60001\nfinish: 60002\neffect: 60038\nnode: <node local>\nrange: 60038\nvalue: <node binary>\n1: s\n"
205205
]
206206
"while:50000:70003" -> "setlocal:60001:60002"
207207
"binary:60005:60038" [
@@ -231,7 +231,7 @@ digraph AST {
231231
"binary:60010:60037" -> "call:60010:60031"
232232
"getmethod:60010:60024" [
233233
label="getmethod\lsomeMethod\l"
234-
tooltip="start: 60010\nfinish: 60024\nmethod: <node method>\nnode: <node getglobal>\ncolon: <node :>\n"
234+
tooltip="start: 60010\nfinish: 60024\ncolon: <node :>\nmethod: <node method>\nnode: <node getglobal>\n"
235235
]
236236
"call:60010:60031" -> "getmethod:60010:60024"
237237
"getglobal:60010:60013" [
@@ -291,7 +291,7 @@ digraph AST {
291291
"callargs:80005:80008" -> "getlocal:80006:80007"
292292
"loop:90000:140003" [
293293
label="loop\l\l"
294-
tooltip="start: 90000\nfinish: 140003\ninit: <node integer>\nstep: <node integer>\nbfinish: 140000\nmax: <node integer>\nlocals: <table>\nkeyword: <table>\nbstart: 90020\nloc: <node local>\n1: <node in>\n"
294+
tooltip="start: 90000\nfinish: 140003\nbfinish: 140000\nbstart: 90020\ninit: <node integer>\nkeyword: <table>\nloc: <node local>\nlocals: <table>\nmax: <node integer>\nstep: <node integer>\n1: <node in>\n"
295295
]
296296
"main:0:300000" -> "loop:90000:140003"
297297
"local:90004:90005" [
@@ -316,7 +316,7 @@ digraph AST {
316316
"loop:90000:140003" -> "integer:90015:90017"
317317
"in:100001:130004" [
318318
label="in\l\l"
319-
tooltip="start: 100001\nfinish: 130004\nbfinish: 130001\nexps: <node list>\nlabels: <table>\nlocals: <table>\nkeyword: <table>\nbstart: 100022\nkeys: <node list>\n1: <node goto>\n2: <node label>\n"
319+
tooltip="start: 100001\nfinish: 130004\nbfinish: 130001\nbstart: 100022\nexps: <node list>\nkeys: <node list>\nkeyword: <table>\nlabels: <table>\nlocals: <table>\n1: <node goto>\n2: <node label>\n"
320320
]
321321
"loop:90000:140003" -> "in:100001:130004"
322322
"list:100005:100006" [
@@ -341,7 +341,7 @@ digraph AST {
341341
"list:100010:100019" -> "call:100010:100019"
342342
"getglobal:100010:100016" [
343343
label="getglobal\lipairs\l"
344-
tooltip="start: 100010\nfinish: 100016\nspecial: ipairs\nnode: <node local>\n1: ipairs\n"
344+
tooltip="start: 100010\nfinish: 100016\nnode: <node local>\nspecial: ipairs\n1: ipairs\n"
345345
]
346346
"call:100010:100019" -> "getglobal:100010:100016"
347347
"callargs:100016:100019" [
@@ -366,12 +366,12 @@ digraph AST {
366366
"in:100001:130004" -> "label:120004:120012"
367367
"setglobal:160009:160012" [
368368
label="setglobal\lfoo\l"
369-
tooltip="start: 160009\nfinish: 160012\nrange: 210003\nvstart: 160000\nvalue: <node function>\nnode: <node local>\n1: foo\n"
369+
tooltip="start: 160009\nfinish: 160012\nnode: <node local>\nrange: 210003\nvalue: <node function>\nvstart: 160000\n1: foo\n"
370370
]
371371
"main:0:300000" -> "setglobal:160009:160012"
372372
"function:160000:210003" [
373373
label="function\l\l"
374-
tooltip="start: 160000\nfinish: 210003\nbfinish: 210000\nkeyword: <table>\nhasReturn: true\nargs: <node funcargs>\nbstart: 160014\nreturns: <table>\n1: <node return>\n"
374+
tooltip="start: 160000\nfinish: 210003\nargs: <node funcargs>\nbfinish: 210000\nbstart: 160014\nhasReturn: true\nkeyword: <table>\nreturns: <table>\n1: <node return>\n"
375375
]
376376
"setglobal:160009:160012" -> "function:160000:210003"
377377
"funcargs:160012:160014" [
@@ -386,7 +386,7 @@ digraph AST {
386386
"function:160000:210003" -> "return:170001:200004"
387387
"function:170008:200004" [
388388
label="function\l\l"
389-
tooltip="start: 170008\nfinish: 200004\nbfinish: 200001\nargs: <node funcargs>\nlocals: <table>\nbstart: 170024\nkeyword: <table>\nvararg: <node ...>\n1: <node repeat>\n"
389+
tooltip="start: 170008\nfinish: 200004\nargs: <node funcargs>\nbfinish: 200001\nbstart: 170024\nkeyword: <table>\nlocals: <table>\nvararg: <node ...>\n1: <node repeat>\n"
390390
]
391391
"return:170001:200004" -> "function:170008:200004"
392392
"funcargs:170016:170024" [
@@ -406,7 +406,7 @@ digraph AST {
406406
"funcargs:170016:170024" -> "...:170020:170023"
407407
"repeat:180002:190028" [
408408
label="repeat\l\l"
409-
tooltip="start: 180002\nfinish: 190028\nfilter: <node binary>\nbfinish: 190002\nkeyword: <table>\nbstart: 180008\n"
409+
tooltip="start: 180002\nfinish: 190028\nbfinish: 190002\nbstart: 180008\nfilter: <node binary>\nkeyword: <table>\n"
410410
]
411411
"function:170008:200004" -> "repeat:180002:190028"
412412
"binary:190008:190028" [
@@ -451,7 +451,7 @@ digraph AST {
451451
"main:0:300000" -> "if:230000:290003"
452452
"ifblock:230000:250000" [
453453
label="ifblock\l\l"
454-
tooltip="start: 230000\nfinish: 250000\nfilter: <node getglobal>\nbstart: 230009\nhasReturn: true\nbfinish: 250000\nkeyword: <table>\n1: <node return>\n"
454+
tooltip="start: 230000\nfinish: 250000\nbfinish: 250000\nbstart: 230009\nfilter: <node getglobal>\nhasReturn: true\nkeyword: <table>\n1: <node return>\n"
455455
]
456456
"if:230000:290003" -> "ifblock:230000:250000"
457457
"getglobal:230003:230004" [
@@ -551,7 +551,7 @@ digraph AST {
551551
"binary:240042:240048" -> "integer:240047:240048"
552552
"elseifblock:250000:270000" [
553553
label="elseifblock\l\l"
554-
tooltip="start: 250000\nfinish: 270000\nfilter: <node getglobal>\nbstart: 250013\nhasReturn: true\nbfinish: 270000\nkeyword: <table>\n1: <node return>\n"
554+
tooltip="start: 250000\nfinish: 270000\nbfinish: 270000\nbstart: 250013\nfilter: <node getglobal>\nhasReturn: true\nkeyword: <table>\n1: <node return>\n"
555555
]
556556
"if:230000:290003" -> "elseifblock:250000:270000"
557557
"getglobal:250007:250008" [

0 commit comments

Comments
 (0)