From 7c405d3a389a5d44ce1565489ec43bc496f9dcbb Mon Sep 17 00:00:00 2001 From: sonoro1234 Date: Tue, 26 Nov 2019 09:55:30 +0100 Subject: [PATCH] cpp2ffi: add order table --- generator/cpp2ffi.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/generator/cpp2ffi.lua b/generator/cpp2ffi.lua index 4ba46d5..3b39791 100644 --- a/generator/cpp2ffi.lua +++ b/generator/cpp2ffi.lua @@ -917,11 +917,13 @@ function M.Parser() local typedefs_table = {} self.inerstructs = {} + self.order = {} --then structs and enums for i,it in ipairs(itemsarr) do if it.re_name == "enum_re" then local enumname = it.item:match"^%s*enum%s+([^%s;{}]+)" outtab.enums[enumname] = {} + self.order[enumname] = i local inner = strip_end(it.item:match("%b{}"):sub(2,-2)) local enumarr = str_split(inner,",") for j,line in ipairs(enumarr) do @@ -941,6 +943,7 @@ function M.Parser() --M.prtable(cleanst,structname,strtab) if structname and not self.typenames[structname] then outtab.structs[structname] = {} + self.order[structname]=i for j=3,#strtab-1 do self:parse_struct_line(strtab[j],outtab.structs[structname]) end