mirror of
https://github.com/cimgui/cimgui.git
synced 2026-03-19 20:41:18 +00:00
save_output
This commit is contained in:
@@ -1553,6 +1553,36 @@ local function printItems(items)
|
|||||||
printItemsKind(items,v)
|
printItemsKind(items,v)
|
||||||
end
|
end
|
||||||
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
|
local numerr = 0 --for popen error file
|
||||||
function M.Parser()
|
function M.Parser()
|
||||||
@@ -1573,6 +1603,7 @@ function M.Parser()
|
|||||||
par.skipped = {}
|
par.skipped = {}
|
||||||
par.UDTs = {}
|
par.UDTs = {}
|
||||||
|
|
||||||
|
par.save_output = save_output
|
||||||
par.genConversors = genConversions
|
par.genConversors = genConversions
|
||||||
par.gen_structs_c = gen_structs_c
|
par.gen_structs_c = gen_structs_c
|
||||||
function par:insert(line,loca)
|
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.typenames = parser1.typenames
|
||||||
structs_and_enums_table.templates_done = parser1.templates_done
|
structs_and_enums_table.templates_done = parser1.templates_done
|
||||||
--structs_and_enums_table.nonPOD_used = parser1.nP_used
|
--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)
|
set_defines(parser1.defsT)
|
||||||
save_data("./output/definitions.lua",serializeTableF(parser1.defsT))
|
parser1:save_output()
|
||||||
|
|
||||||
--check every function has ov_cimguiname
|
--check every function has ov_cimguiname
|
||||||
-- for k,v in pairs(parser1.defsT) do
|
-- for k,v in pairs(parser1.defsT) do
|
||||||
@@ -549,14 +543,6 @@ local function json_prepare(defs)
|
|||||||
end
|
end
|
||||||
---[[
|
---[[
|
||||||
local json = require"json"
|
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
|
if parser2 then
|
||||||
save_data("./output/impl_definitions.json",json.encode(json_prepare(parser2.defsT),{dict_on_empty={defaults=true}}))
|
save_data("./output/impl_definitions.json",json.encode(json_prepare(parser2.defsT),{dict_on_empty={defaults=true}}))
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user