mirror of
https://github.com/cimgui/cimgui.git
synced 2026-02-25 19:04:56 +00:00
save_output
This commit is contained in:
@@ -1553,6 +1553,36 @@ local function printItems(items)
|
||||
printItemsKind(items,v)
|
||||
end
|
||||
end
|
||||
|
||||
-------------------------------json saving
|
||||
--avoid mixed tables (with string and integer keys)
|
||||
local function json_prepare(defs)
|
||||
--delete signatures in function
|
||||
for k,def in pairs(defs) do
|
||||
for k2,v in pairs(def) do
|
||||
if type(k2)=="string" then
|
||||
def[k2] = nil
|
||||
end
|
||||
end
|
||||
end
|
||||
return defs
|
||||
end
|
||||
|
||||
|
||||
local function save_output(self)
|
||||
save_data("./output/overloads.txt",self.overloadstxt)
|
||||
save_data("./output/definitions.lua",M.serializeTableF(self.defsT))
|
||||
save_data("./output/structs_and_enums.lua",M.serializeTableF(self.structs_and_enums_table))
|
||||
save_data("./output/typedefs_dict.lua",M.serializeTableF(self.typedefs_dict))
|
||||
save_data("./output/constants.lua",M.serializeTableF(self.constants))
|
||||
|
||||
local json = require"json"
|
||||
local json_opts = {dict_on_empty={defaults=true}}
|
||||
save_data("./output/definitions.json",json.encode(json_prepare(self.defsT),json_opts))
|
||||
save_data("./output/structs_and_enums.json",json.encode(self.structs_and_enums_table))
|
||||
save_data("./output/typedefs_dict.json",json.encode(self.typedefs_dict))
|
||||
save_data("./output/constants.json",json.encode(self.constants))
|
||||
end
|
||||
-------------
|
||||
local numerr = 0 --for popen error file
|
||||
function M.Parser()
|
||||
@@ -1573,6 +1603,7 @@ function M.Parser()
|
||||
par.skipped = {}
|
||||
par.UDTs = {}
|
||||
|
||||
par.save_output = save_output
|
||||
par.genConversors = genConversions
|
||||
par.gen_structs_c = gen_structs_c
|
||||
function par:insert(line,loca)
|
||||
|
||||
@@ -438,14 +438,8 @@ structs_and_enums_table.templated_structs = parser1.templated_structs
|
||||
structs_and_enums_table.typenames = parser1.typenames
|
||||
structs_and_enums_table.templates_done = parser1.templates_done
|
||||
--structs_and_enums_table.nonPOD_used = parser1.nP_used
|
||||
|
||||
save_data("./output/structs_and_enums.lua",serializeTableF(structs_and_enums_table))
|
||||
save_data("./output/typedefs_dict.lua",serializeTableF(parser1.typedefs_dict))
|
||||
save_data("./output/constants.lua",serializeTableF(parser1.constants))
|
||||
----------save fundefs in definitions.lua for using in bindings
|
||||
--DefsByStruct(pFP)
|
||||
set_defines(parser1.defsT)
|
||||
save_data("./output/definitions.lua",serializeTableF(parser1.defsT))
|
||||
parser1:save_output()
|
||||
|
||||
--check every function has ov_cimguiname
|
||||
-- for k,v in pairs(parser1.defsT) do
|
||||
@@ -549,14 +543,6 @@ local function json_prepare(defs)
|
||||
end
|
||||
---[[
|
||||
local json = require"json"
|
||||
save_data("./output/definitions.json",json.encode(json_prepare(parser1.defsT),{dict_on_empty={defaults=true}}))
|
||||
--delete extra info for json
|
||||
--structs_and_enums_table.templated_structs = nil
|
||||
--structs_and_enums_table.typenames = nil
|
||||
--structs_and_enums_table.templates_done = nil
|
||||
save_data("./output/structs_and_enums.json",json.encode(structs_and_enums_table))
|
||||
save_data("./output/typedefs_dict.json",json.encode(parser1.typedefs_dict))
|
||||
save_data("./output/constants.json",json.encode(parser1.constants))
|
||||
if parser2 then
|
||||
save_data("./output/impl_definitions.json",json.encode(json_prepare(parser2.defsT),{dict_on_empty={defaults=true}}))
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user