mirror of
https://github.com/cimgui/cimgui.git
synced 2025-08-10 20:08:31 +01:00
cpp2ffi: add order table
This commit is contained in:
@@ -917,11 +917,13 @@ function M.Parser()
|
|||||||
local typedefs_table = {}
|
local typedefs_table = {}
|
||||||
|
|
||||||
self.inerstructs = {}
|
self.inerstructs = {}
|
||||||
|
self.order = {}
|
||||||
--then structs and enums
|
--then structs and enums
|
||||||
for i,it in ipairs(itemsarr) do
|
for i,it in ipairs(itemsarr) do
|
||||||
if it.re_name == "enum_re" then
|
if it.re_name == "enum_re" then
|
||||||
local enumname = it.item:match"^%s*enum%s+([^%s;{}]+)"
|
local enumname = it.item:match"^%s*enum%s+([^%s;{}]+)"
|
||||||
outtab.enums[enumname] = {}
|
outtab.enums[enumname] = {}
|
||||||
|
self.order[enumname] = i
|
||||||
local inner = strip_end(it.item:match("%b{}"):sub(2,-2))
|
local inner = strip_end(it.item:match("%b{}"):sub(2,-2))
|
||||||
local enumarr = str_split(inner,",")
|
local enumarr = str_split(inner,",")
|
||||||
for j,line in ipairs(enumarr) do
|
for j,line in ipairs(enumarr) do
|
||||||
@@ -941,6 +943,7 @@ function M.Parser()
|
|||||||
--M.prtable(cleanst,structname,strtab)
|
--M.prtable(cleanst,structname,strtab)
|
||||||
if structname and not self.typenames[structname] then
|
if structname and not self.typenames[structname] then
|
||||||
outtab.structs[structname] = {}
|
outtab.structs[structname] = {}
|
||||||
|
self.order[structname]=i
|
||||||
for j=3,#strtab-1 do
|
for j=3,#strtab-1 do
|
||||||
self:parse_struct_line(strtab[j],outtab.structs[structname])
|
self:parse_struct_line(strtab[j],outtab.structs[structname])
|
||||||
end
|
end
|
||||||
|
Reference in New Issue
Block a user