mirror of
https://github.com/cimgui/cimgui.git
synced 2025-08-10 20:08:31 +01:00
getCname uses namespace
This commit is contained in:
@@ -520,7 +520,7 @@ local function parseFunction(self,stname,lineorig,namespace)
|
|||||||
table.insert(argsArr,{type=type,name=name,ret=retf,signature=sigf})
|
table.insert(argsArr,{type=type,name=name,ret=retf,signature=sigf})
|
||||||
if arg:match("&") and not arg:match("const") then
|
if arg:match("&") and not arg:match("const") then
|
||||||
--only post error if not manual
|
--only post error if not manual
|
||||||
local cname = self.getCname(stname,funcname) --cimguiname
|
local cname = self.getCname(stname,funcname, namespace) --cimguiname
|
||||||
if not self.manuals[cname] then
|
if not self.manuals[cname] then
|
||||||
print("reference to no const arg in",funcname,argscsinpars,arg)
|
print("reference to no const arg in",funcname,argscsinpars,arg)
|
||||||
end
|
end
|
||||||
@@ -547,7 +547,7 @@ local function parseFunction(self,stname,lineorig,namespace)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local cimguiname = self.getCname(stname,funcname)
|
local cimguiname = self.getCname(stname,funcname, namespace)
|
||||||
table.insert(self.funcdefs,{stname=stname,funcname=funcname,args=args,argsc=argscsinpars,signature=signature,cimguiname=cimguiname,call_args=call_args,ret =ret})
|
table.insert(self.funcdefs,{stname=stname,funcname=funcname,args=args,argsc=argscsinpars,signature=signature,cimguiname=cimguiname,call_args=call_args,ret =ret})
|
||||||
local defsT = self.defsT
|
local defsT = self.defsT
|
||||||
defsT[cimguiname] = defsT[cimguiname] or {}
|
defsT[cimguiname] = defsT[cimguiname] or {}
|
||||||
@@ -770,13 +770,13 @@ function M.Parser()
|
|||||||
function par:insert(line)
|
function par:insert(line)
|
||||||
table.insert(cdefs,line)
|
table.insert(cdefs,line)
|
||||||
end
|
end
|
||||||
function par.getCname(stname,funcname)
|
function par.getCname(stname,funcname, namespace)
|
||||||
if #stname == 0 then return funcname end --top level
|
if #stname == 0 then return funcname end --top level
|
||||||
local pre = stname.."_"
|
local pre = stname.."_"
|
||||||
return pre..funcname
|
return pre..funcname
|
||||||
end
|
end
|
||||||
function par.getCname_overload(stname,funcname,signature)
|
function par.getCname_overload(stname,funcname,signature, namespace)
|
||||||
local cname = par.getCname(stname,funcname)
|
local cname = par.getCname(stname,funcname, namespace)
|
||||||
local ov_cname = par.cname_overloads[cname] and par.cname_overloads[cname][signature] --or cname
|
local ov_cname = par.cname_overloads[cname] and par.cname_overloads[cname][signature] --or cname
|
||||||
return ov_cname
|
return ov_cname
|
||||||
end
|
end
|
||||||
@@ -1193,7 +1193,7 @@ function M.Parser()
|
|||||||
local typesc,post = name_overloadsAlgo(v)
|
local typesc,post = name_overloadsAlgo(v)
|
||||||
for i,t in ipairs(v) do
|
for i,t in ipairs(v) do
|
||||||
--take overloaded name from manual table or algorythm
|
--take overloaded name from manual table or algorythm
|
||||||
t.ov_cimguiname = self.getCname_overload(t.stname,t.funcname,t.signature) or k..typetoStr(post[i])
|
t.ov_cimguiname = self.getCname_overload(t.stname,t.funcname,t.signature,t.namespace) or k..typetoStr(post[i])
|
||||||
table.insert(strt,string.format("%d\t%s\t%s %s",i,t.ret,t.ov_cimguiname,t.signature))
|
table.insert(strt,string.format("%d\t%s\t%s %s",i,t.ret,t.ov_cimguiname,t.signature))
|
||||||
--M.prtable(typesc[i],post)
|
--M.prtable(typesc[i],post)
|
||||||
end
|
end
|
||||||
|
@@ -428,8 +428,8 @@ gdefines = get_defines{"IMGUI_VERSION","FLT_MAX"}
|
|||||||
local function parseImGuiHeader(header,names)
|
local function parseImGuiHeader(header,names)
|
||||||
--prepare parser
|
--prepare parser
|
||||||
local parser = cpp2ffi.Parser()
|
local parser = cpp2ffi.Parser()
|
||||||
parser.getCname = function(stname,funcname)
|
parser.getCname = function(stname,funcname,namespace)
|
||||||
local pre = (stname == "") and "ig" or stname.."_"
|
local pre = (stname == "") and (namespace and (namespace=="ImGui" and "ig" or namespace.."_") or "ig") or stname.."_"
|
||||||
return pre..funcname
|
return pre..funcname
|
||||||
end
|
end
|
||||||
parser.cname_overloads = cimgui_overloads
|
parser.cname_overloads = cimgui_overloads
|
||||||
|
Reference in New Issue
Block a user