mirror of
https://github.com/cimgui/cimgui.git
synced 2025-08-10 11:58:30 +01:00
cpp2ffi: correct embeded_structs for untagged structs (ImNodes needs that)
This commit is contained in:
@@ -1669,15 +1669,17 @@ function M.Parser()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
if it.parent then --and (it.parent.re_name == "struct_re" or it.parent.re_name == "typedef_st_re" then
|
if it.parent then --and (it.parent.re_name == "struct_re" or it.parent.re_name == "typedef_st_re" then
|
||||||
local embededst = (it.re_name == "struct_re" and it.item:match("struct%s+(%S+)"))
|
local embededst = (it.re_name == "struct_re" and it.item:match("struct%s+([^%s{]+)"))
|
||||||
or (it.re_name == "typedef_st_re" and it.item:match("%b{}%s*(%S+)%s*;"))
|
or (it.re_name == "typedef_st_re" and it.item:match("%b{}%s*(%S+)%s*;"))
|
||||||
--TODO nesting namespace and class
|
--TODO nesting namespace and class
|
||||||
local parname = get_parents_name(it)
|
if embededst then --discards false which can happen with untagged structs
|
||||||
if it.parent.re_name == "struct_re" then
|
local parname = get_parents_name(it)
|
||||||
--needed by cimnodes with struct tag name equals member name
|
if it.parent.re_name == "struct_re" then
|
||||||
self.embeded_structs[embededst] = "struct "..parname..embededst
|
--needed by cimnodes with struct tag name equals member name
|
||||||
else
|
self.embeded_structs[embededst] = "struct "..parname..embededst
|
||||||
self.embeded_structs[embededst] = parname..embededst
|
else
|
||||||
|
self.embeded_structs[embededst] = parname..embededst
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
elseif it.re_name == "namespace_re" or it.re_name == "union_re" or it.re_name == "functype_re" then
|
elseif it.re_name == "namespace_re" or it.re_name == "union_re" or it.re_name == "functype_re" then
|
||||||
|
Reference in New Issue
Block a user