From d1ac207b45a48531e224621ff4abdd3aa54e7953 Mon Sep 17 00:00:00 2001 From: Victor Bombi Date: Thu, 26 Mar 2020 08:13:38 +0100 Subject: [PATCH] take care of spaces in templated type --- generator/cpp2ffi.lua | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/generator/cpp2ffi.lua b/generator/cpp2ffi.lua index 7849d6f..654ef91 100644 --- a/generator/cpp2ffi.lua +++ b/generator/cpp2ffi.lua @@ -428,9 +428,9 @@ local function parseFunction(self,stname,lineorig,namespace) extraconst = extraconst:match("const") if not args then - print"not gettint args in" - print(line,lineorig) - print(funcname,"args",args) + print"not gettint args in" + print(line,lineorig) + print(funcname,"args",args) end local argscsinpars = args:gsub("(=[^,%(%)]*)(%b())","%1") @@ -460,8 +460,7 @@ local function parseFunction(self,stname,lineorig,namespace) end end --end - argscsinpars = argscsinpars:gsub("<([%w_%*]+)>",te) --ImVector - + argscsinpars = argscsinpars:gsub("<([%w_%*%s]+)>",te) --ImVector local argsArr = {} local functype_re = "^%s*[%w%s%*]+%(%*[%w_]+%)%([^%(%)]*%)" local functype_reex = "^(%s*[%w%s%*]+)%(%*([%w_]+)%)(%([^%(%)]*%))" @@ -1457,4 +1456,14 @@ local function location(file,locpathT,defines,COMPILER) return location_it end M.location = location + +--[=[ +-- tests +local line = [[void DockBuilderCopyDockSpace(ImGuiID src_dockspace_id, ImGuiID dst_dockspace_id, ImVector* in_window_remap_pairs);]] +local parser = M.Parser() +parser:insert(line) +parser:do_parse() +--M.prtable(parser) +--]=] + return M \ No newline at end of file