From: John L. <jr...@us...> - 2007-06-05 21:07:54
|
Update of /cvsroot/wxlua/wxLua/bindings In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv30959/wxLua/bindings Modified Files: genwxbind.lua Log Message: Fix a number of bugs with the new bindings fix override wxConfig::Get fix looking up overloaded static and non static class member functions fix looking up class member functions overloaded from a base class Index: genwxbind.lua =================================================================== RCS file: /cvsroot/wxlua/wxLua/bindings/genwxbind.lua,v retrieving revision 1.111 retrieving revision 1.112 diff -C2 -d -r1.111 -r1.112 *** genwxbind.lua 31 May 2007 17:18:45 -0000 1.111 --- genwxbind.lua 5 Jun 2007 21:07:20 -0000 1.112 *************** *** 18,23 **** -- --------------------------------------------------------------------------- ! WXLUA_BINDING_VERSION = 7 -- Used to verify that the bindings are updated -- This must match modules/wxlua/include/wxldefs.h bindingKeywordTable = {} -- Binding keywords used by the generator %XXX --- 18,24 ---- -- --------------------------------------------------------------------------- ! WXLUA_BINDING_VERSION = 8 -- Used to verify that the bindings are updated -- This must match modules/wxlua/include/wxldefs.h + -- otherwise a compile time error will be generated. bindingKeywordTable = {} -- Binding keywords used by the generator %XXX *************** *** 1248,1254 **** for line in io.lines(filename) do local lineData = SplitString(line, delimiters) ! local isOverride = nil ! local isEnd = nil ! local override = nil LineNumber = LineNumber + 1 --- 1249,1254 ---- for line in io.lines(filename) do local lineData = SplitString(line, delimiters) ! local isOverride = false ! local isEnd = false LineNumber = LineNumber + 1 *************** *** 1345,1349 **** function LineTableErrString(lineTable) if lineTable then ! return "File: '"..lineTable.File.."':(line "..lineTable.LineNumber..")" else return "" --- 1345,1349 ---- function LineTableErrString(lineTable) if lineTable then ! return "File: '"..lineTable.File.."':(line "..lineTable.LineNumber..")\n '"..lineTable.Line.."'" else return "" *************** *** 1522,1526 **** for l = 1, #interfaceData do - -- get lineData local lineTable = interfaceData[l] local lineTags = lineTable.Tags --- 1522,1525 ---- *************** *** 1536,1539 **** --- 1535,1539 ---- if bindingKeywordTable[tag] then + -- block comment (start) if tag == "/*" then *************** *** 1629,1633 **** while interfaceData[l+1] do -- not for loop so we can adjust l l = l + 1 ! -- get lineData local lineTable = interfaceData[l] local lineTags = interfaceData[l].Tags --- 1629,1633 ---- while interfaceData[l+1] do -- not for loop so we can adjust l l = l + 1 ! local lineTable = interfaceData[l] local lineTags = interfaceData[l].Tags *************** *** 2115,2121 **** lineState.Name = tag - -- local member= AllocMember(lineState) - -- table.insert(parseState.ObjectStack[1].Members, member) - lineState.Action = "propertycomma" lineState.ActionMandatory = false --- 2115,2118 ---- *************** *** 2175,2179 **** lineState.ActionMandatory = true ! elseif IsDelimiter(tag) or functionAttribTable[tag] then print("Error: Expected Member Name, got Tag='"..tag.."'. "..LineTableErrString(lineTable)) else --- 2172,2176 ---- lineState.ActionMandatory = true ! elseif IsDelimiter(tag) or functionAttribTable[tag] then print("Error: Expected Member Name, got Tag='"..tag.."'. "..LineTableErrString(lineTable)) else *************** *** 2228,2232 **** lineState.Name = bindingOperatorTable[op] ! elseif tag == '(' then if lineState.DataType == parseState.ObjectStack[1].Name then lineState.IsConstructor = true --- 2225,2229 ---- lineState.Name = bindingOperatorTable[op] ! elseif tag == "(" then if lineState.DataType == parseState.ObjectStack[1].Name then lineState.IsConstructor = true *************** *** 2584,2591 **** -- de-duplicates include references, must generate them first if parseObject.DefType == "include" then - -- local key = parseObject.Name - -- if parseObject.Condition then - -- key = key.."_"..parseObject.Condition - -- end local includecondition = FixCondition(parseObject.Condition) --- 2581,2584 ---- *************** *** 2609,2615 **** local parseObject = interface.objectData[o] ! -- /////////////////////////////////////////////////////////////////// -- encapsulate non-wxObject objects with a tracked wxObject if parseObject.Encapsulate then local encapcondition = FixCondition(parseObject.Condition) local encapsulationBinding = --- 2602,2609 ---- local parseObject = interface.objectData[o] ! -- ------------------------------------------------------------------- -- encapsulate non-wxObject objects with a tracked wxObject if parseObject.Encapsulate then + local encapcondition = FixCondition(parseObject.Condition) local encapsulationBinding = *************** *** 2620,2624 **** } ! if not encapsulationBindingTable[encapcondition] then encapsulationBindingTable[encapcondition] = {} end encapsulationBindingTable[encapcondition][parseObject.Name] = encapsulationBinding end --- 2614,2621 ---- } ! if not encapsulationBindingTable[encapcondition] then ! encapsulationBindingTable[encapcondition] = {} ! end ! encapsulationBindingTable[encapcondition][parseObject.Name] = encapsulationBinding end *************** *** 2630,2635 **** local fullcondition = FixCondition(AddCondition(member.Condition, member.ExtraCondition)) ! -- /////////////////////////////////////////////////////////////// -- property binding if member.DefType == "property" then -- conditions for member are dependent on return type, argument types, and inline conditions --- 2627,2633 ---- local fullcondition = FixCondition(AddCondition(member.Condition, member.ExtraCondition)) ! -- --------------------------------------------------------------- -- property binding + -- --------------------------------------------------------------- if member.DefType == "property" then -- conditions for member are dependent on return type, argument types, and inline conditions *************** *** 2666,2669 **** --- 2664,2668 ---- { LuaName = member.Name, + FuncType = "WXLUAMETHOD_GETPROP", Map = " { WXLUAMETHOD_GETPROP, \""..member.Name.."\", s_wxluafunc_wxLua_"..MakeVar(parseObject.Name).."_Get"..member.Name..", 1 },\n", Condition = propertycondition *************** *** 2678,2681 **** --- 2677,2681 ---- { LuaName = member.Name, + FuncType = "WXLUAMETHOD_SETPROP", Map = " { WXLUAMETHOD_SETPROP, \""..member.Name.."\", s_wxluafunc_wxLua_"..MakeVar(parseObject.Name).."_Set"..member.Name..", 1 },\n", Condition = propertycondition *************** *** 2685,2690 **** end ! -- ////////////////////////////////////////////////////////////////////////////////// -- member binding elseif member.DefType == "member" then local memberType = GetTypeDef(member.DataType) --- 2685,2691 ---- end ! -- --------------------------------------------------------------- -- member binding + -- --------------------------------------------------------------- elseif member.DefType == "member" then local memberType = GetTypeDef(member.DataType) *************** *** 2721,2731 **** -- GET MEMBER CODE local codeList = {} local funcName = "wxLua_"..MakeVar(parseObject.Name).."_"..memberGetFunc CommentBindingTable(codeList, "// "..interface.lineData[member.LineNumber].Line.."\n") ! table.insert(codeList, "static int LUACALL "..funcName.."(lua_State *L)\n") ! table.insert(codeList, "{\n") table.insert(codeList, " wxLuaState wxlState(L);\n") CommentBindingTable(codeList, " // get this\n") table.insert(codeList, " "..parseObject.Name.." *self = ("..parseObject.Name.." *) wxlState.GetUserDataType(1, s_wxluatag_"..MakeClassVar(parseObject.Name)..");\n") if memberType == "wxString" then --- 2722,2733 ---- -- GET MEMBER CODE local codeList = {} + local overload_argList = "" local funcName = "wxLua_"..MakeVar(parseObject.Name).."_"..memberGetFunc CommentBindingTable(codeList, "// "..interface.lineData[member.LineNumber].Line.."\n") ! table.insert(codeList, "static int LUACALL "..funcName.."(lua_State *L)\n{\n") table.insert(codeList, " wxLuaState wxlState(L);\n") CommentBindingTable(codeList, " // get this\n") table.insert(codeList, " "..parseObject.Name.." *self = ("..parseObject.Name.." *) wxlState.GetUserDataType(1, s_wxluatag_"..MakeClassVar(parseObject.Name)..");\n") + overload_argList = "&s_wxluatag_"..MakeClassVar(parseObject.Name)..", "..overload_argList if memberType == "wxString" then *************** *** 2752,2759 **** end ! CommentBindingTable(codeList, " // return the number of parameters\n") table.insert(codeList, " return 1;\n") table.insert(codeList, "}\n\n") local funcMapName = "s_wxluafunc_"..funcName --- 2754,2768 ---- end ! CommentBindingTable(codeList, " // return the number of values\n") table.insert(codeList, " return 1;\n") table.insert(codeList, "}\n\n") + local overload_argListName = "s_wxluatagArray_".. funcName + if overload_argList == "" then + overload_argListName = "s_wxluaargArray_None" + else + overload_argList = "{ "..overload_argList.."0 }" + end + local funcMapName = "s_wxluafunc_"..funcName *************** *** 2764,2770 **** CFunctionName = funcName, Method = codeList, ! FuncMap = "{ "..funcName..", 0, 0, s_wxluaargArray_None }", FuncMapName = funcMapName, ! Map = " { WXLUAMETHOD_METHOD, \""..memberGetFunc.."\", "..funcMapName..", 1 },\n", Condition = membercondition } --- 2773,2782 ---- CFunctionName = funcName, Method = codeList, ! ArgArray = overload_argList, ! ArgArrayName = overload_argListName, ! FuncType = "WXLUAMETHOD_METHOD", ! FuncMap = "{ "..funcName..", WXLUAMETHOD_METHOD, 1, 1, "..overload_argListName.." }", FuncMapName = funcMapName, ! Map = " { WXLUAMETHOD_METHOD, \""..memberGetFunc.."\", "..funcMapName..", 1, 0 },\n", Condition = membercondition } *************** *** 2774,2778 **** { LuaName = member.Name, ! Map = " { WXLUAMETHOD_GETPROP, \""..member.Name.."\", "..funcMapName..", 1 },\n", Condition = membercondition } --- 2786,2791 ---- { LuaName = member.Name, ! FuncType = "WXLUAMETHOD_GETPROP", ! Map = " { WXLUAMETHOD_GETPROP, \""..member.Name.."\", "..funcMapName..", 1, 0 },\n", Condition = membercondition } *************** *** 2789,2799 **** -- SET MEMBER CODE codeList = {} local funcName = "wxLua_"..MakeVar(parseObject.Name).."_"..memberSetFunc CommentBindingTable(codeList, "// "..interface.lineData[member.LineNumber].Line.."\n") ! table.insert(codeList, "static int LUACALL "..funcName.."(lua_State *L)\n") ! table.insert(codeList, "{\n") table.insert(codeList, " wxLuaState wxlState(L);\n") - local overload_argList = " " if memberType == "wxString" then overload_argList = overload_argList.."&s_wxluaarg_String, " --- 2802,2811 ---- -- SET MEMBER CODE codeList = {} + overload_argList = "" local funcName = "wxLua_"..MakeVar(parseObject.Name).."_"..memberSetFunc CommentBindingTable(codeList, "// "..interface.lineData[member.LineNumber].Line.."\n") ! table.insert(codeList, "static int LUACALL "..funcName.."(lua_State *L)\n{\n") table.insert(codeList, " wxLuaState wxlState(L);\n") if memberType == "wxString" then overload_argList = overload_argList.."&s_wxluaarg_String, " *************** *** 2823,2826 **** --- 2835,2839 ---- CommentBindingTable(codeList, " // get this\n") table.insert(codeList, " "..parseObject.Name.." *self = ("..parseObject.Name.." *)wxlState.GetUserDataType(1, s_wxluatag_"..MakeClassVar(parseObject.Name)..");\n") + overload_argList = "&s_wxluatag_"..MakeClassVar(parseObject.Name)..", "..overload_argList if not numeric and (not memberPtr or (memberPtr == "&")) then *************** *** 2830,2843 **** end ! CommentBindingTable(codeList, " // return the number of parameters\n") table.insert(codeList, " return 0;\n") table.insert(codeList, "}\n\n") local overload_argListName = "s_wxluatagArray_".. funcName ! overload_argList = overload_argList.."0 }" ! if overload_argList == " 0 }" then -- empty overload_argListName = "s_wxluaargArray_None" else ! overload_argList = "{"..overload_argList end --- 2843,2855 ---- end ! CommentBindingTable(codeList, " // return the number of values\n") table.insert(codeList, " return 0;\n") table.insert(codeList, "}\n\n") local overload_argListName = "s_wxluatagArray_".. funcName ! if overload_argList == "" then overload_argListName = "s_wxluaargArray_None" else ! overload_argList = "{ "..overload_argList.."0 }" end *************** *** 2852,2858 **** ArgArray = overload_argList, ArgArrayName = overload_argListName, ! FuncMap = "{ "..funcName..", 1, 1, "..overload_argListName.." }", -- FIXME make sure this is right FuncMapName = funcMapName, ! Map = " { WXLUAMETHOD_METHOD, \""..memberSetFunc.."\", "..funcMapName..", 1 },\n", Condition = membercondition } --- 2864,2871 ---- ArgArray = overload_argList, ArgArrayName = overload_argListName, ! FuncType = "WXLUAMETHOD_METHOD", ! FuncMap = "{ "..funcName..", WXLUAMETHOD_METHOD, 2, 2, "..overload_argListName.." }", -- FIXME make sure this is right FuncMapName = funcMapName, ! Map = " { WXLUAMETHOD_METHOD, \""..memberSetFunc.."\", "..funcMapName..", 1, 0 },\n", Condition = membercondition } *************** *** 2862,2866 **** { LuaName = member.Name, ! Map = " { WXLUAMETHOD_SETPROP, \""..member.Name.."\", "..funcMapName..", 1 },\n", Condition = fullcondition } --- 2875,2880 ---- { LuaName = member.Name, ! FuncType = "WXLUAMETHOD_SETPROP", ! Map = " { WXLUAMETHOD_SETPROP, \""..member.Name.."\", "..funcMapName..", 1, 0 },\n", Condition = fullcondition } *************** *** 2875,2880 **** table.insert(interface.objectData[o].BindTable, propertyBinding) ! -- /////////////////////////////////////////////////////////////// -- enum binding elseif member.DefType == "enum" then -- if we have wxDateTime::TZ, only take the wxDateTime part --- 2889,2895 ---- table.insert(interface.objectData[o].BindTable, propertyBinding) ! -- --------------------------------------------------------------- -- enum binding + -- --------------------------------------------------------------- elseif member.DefType == "enum" then -- if we have wxDateTime::TZ, only take the wxDateTime part *************** *** 2926,2931 **** end ! -- /////////////////////////////////////////////////////////////// -- define binding elseif member.DefType == "define" then local value = member.Value or member.Name --- 2941,2947 ---- end ! -- --------------------------------------------------------------- -- define binding + -- --------------------------------------------------------------- elseif member.DefType == "define" then local value = member.Value or member.Name *************** *** 2940,2945 **** table.insert(defineBindingTable, defineBinding) ! -- /////////////////////////////////////////////////////////////// ! -- define string binding elseif member.DefType == "define_string" then local value = member.Value or member.Name --- 2956,2962 ---- table.insert(defineBindingTable, defineBinding) ! -- --------------------------------------------------------------- ! -- define_string binding ! -- --------------------------------------------------------------- elseif member.DefType == "define_string" then local value = member.Value or member.Name *************** *** 2954,2959 **** table.insert(stringBindingTable, stringBinding) ! -- ////////////////////////////////////////////////////////////////////////////////// ! -- define object binding elseif member.DefType == "define_object" then local luaname = member.AltName or member.Name -- for %rename --- 2971,2977 ---- table.insert(stringBindingTable, stringBinding) ! -- --------------------------------------------------------------- ! -- define_object binding ! -- --------------------------------------------------------------- elseif member.DefType == "define_object" then local luaname = member.AltName or member.Name -- for %rename *************** *** 2968,2973 **** table.insert(objectBindingTable, objectBinding) ! -- ////////////////////////////////////////////////////////////////////////////////// ! -- define pointer binding elseif member.DefType == "define_pointer" then local luaname = member.AltName or member.Name -- for %rename --- 2986,2992 ---- table.insert(objectBindingTable, objectBinding) ! -- --------------------------------------------------------------- ! -- define_pointer binding ! -- --------------------------------------------------------------- elseif member.DefType == "define_pointer" then local luaname = member.AltName or member.Name -- for %rename *************** *** 2982,2987 **** table.insert(pointerBindingTable, pointerBinding) ! -- ////////////////////////////////////////////////////////////////////////////////// ! -- define event binding elseif member.DefType == "define_event" then local luaname = member.AltName or member.Name -- for %rename --- 3001,3007 ---- table.insert(pointerBindingTable, pointerBinding) ! -- --------------------------------------------------------------- ! -- define_event binding ! -- --------------------------------------------------------------- elseif member.DefType == "define_event" then local luaname = member.AltName or member.Name -- for %rename *************** *** 2996,3008 **** table.insert(eventBindingTable, eventBinding) ! -- ////////////////////////////////////////////////////////////////////////////////// -- method binding elseif member.DefType == "method" then - -- ////////////////////////////////////////////////////////////////////////////////// - -- method parameter bindings - -- - -- interface.objectData[o].Members[m].Params local argList = "" ! local overload_argList = " " local arg = 0 --- 3016,3025 ---- table.insert(eventBindingTable, eventBinding) ! -- --------------------------------------------------------------- -- method binding + -- --------------------------------------------------------------- elseif member.DefType == "method" then local argList = "" ! local overload_argList = "" local arg = 0 *************** *** 3068,3076 **** declare = "wxArrayInt " elseif argType == "LuaTable" then ! -- THIS MUST BE AN OVERLOAD AND HANDLED THERE, we just set overload_argList -- the code genererated here is nonsense overload_argList = overload_argList.."&s_wxluaarg_LuaTable, " ! argItem = "YOU MUST OVERLOAD THIS FUNCTION " ! declare = "YOU MUST OVERLOAD THIS FUNCTION " elseif argType == "LuaFunction" then -- THIS MUST BE AN OVERRIDE AND HANDLED THERE, we just set overload_argList --- 3085,3093 ---- declare = "wxArrayInt " elseif argType == "LuaTable" then ! -- THIS MUST BE AN OVERRIDE AND HANDLED THERE, we just set overload_argList -- the code genererated here is nonsense overload_argList = overload_argList.."&s_wxluaarg_LuaTable, " ! argItem = "YOU MUST OVERRIDE THIS FUNCTION " ! declare = "YOU MUST OVERRIDE THIS FUNCTION " elseif argType == "LuaFunction" then -- THIS MUST BE AN OVERRIDE AND HANDLED THERE, we just set overload_argList *************** *** 3412,3428 **** end - local overload_argListName = "s_wxluatagArray_".. funcName - overload_argList = overload_argList.."0 }" - if overload_argList == " 0 }" then -- empty - overload_argListName = "s_wxluaargArray_None" - else - overload_argList = "{"..overload_argList - end - - -- add function map only once for the base function name overload - local funcMapName = "s_wxluafunc_"..funcName - local funcMap = "{ "..funcName..", "..tostring(requiredParamCount)..", "..tostring(paramCount)..", "..overload_argListName.." }" - local methodMap = " { "..funcType..", \""..funcLuaCall.."\", "..funcMapName..", 1 },\n" - -- constructor? if member.IsConstructor then --- 3429,3432 ---- *************** *** 3465,3472 **** table.insert(codeList, " "..parseObject.Name.." * self = ("..parseObject.Name.." *)wxlState.GetUserDataType(1, s_wxluatag_"..MakeClassVar(parseObject.Name)..");\n") if member.IsOperator then memberPtr = false ! if paramCount > 0 then functor = "(*self)"..member.IsOperator else --- 3469,3480 ---- table.insert(codeList, " "..parseObject.Name.." * self = ("..parseObject.Name.." *)wxlState.GetUserDataType(1, s_wxluatag_"..MakeClassVar(parseObject.Name)..");\n") + overload_argList = "&s_wxluatag_"..MakeClassVar(parseObject.Name)..", "..overload_argList + + requiredParamCount = requiredParamCount + 1 + paramCount = paramCount + 1 if member.IsOperator then memberPtr = false ! if paramCount > 1 then functor = "(*self)"..member.IsOperator else *************** *** 3553,3556 **** --- 3561,3576 ---- end + local overload_argListName = "s_wxluatagArray_".. funcName + if overload_argList == "" then + overload_argListName = "s_wxluaargArray_None" + else + overload_argList = "{ "..overload_argList.."0 }" + end + + -- add function map only once for the base function name overload + local funcMapName = "s_wxluafunc_"..funcName + local funcMap = "{ "..funcName..", "..funcType..", "..tostring(requiredParamCount)..", "..tostring(paramCount)..", "..overload_argListName.." }" + local methodMap = " { "..funcType..", \""..funcLuaCall.."\", "..funcMapName..", 1, 0 },\n" + -- build method condition local methodcondition = nil *************** *** 3677,3680 **** --- 3697,3703 ---- local funcMapName = "s_wxluafunc_"..funcName + local overload_argListName = "s_wxluatagArray_".. funcName + local overload_argList = "{ &s_wxluatag_"..MakeClassVar(parseObject.Name)..", 0 }" + local condition = FixCondition(parseObject.Condition) *************** *** 3684,3692 **** CFunctionName = funcName, Method = codeList, ! FuncMap = "{ "..funcName..", 0, 0, s_wxluaargArray_None }", -- FIXME dummy func map name FuncMapName = funcMapName, ! ParamCount = 0, ! RequiredParamCount = 0, ! Map = " { WXLUAMETHOD_METHOD, \"Delete\", "..funcMapName.." },\n", Condition = condition } --- 3707,3718 ---- CFunctionName = funcName, Method = codeList, ! FuncType = "WXLUAMETHOD_METHOD", ! FuncMap = "{ "..funcName..", WXLUAMETHOD_METHOD, 1, 1, "..overload_argListName.." }", FuncMapName = funcMapName, ! ArgArray = overload_argList, ! ArgArrayName = overload_argListName, ! ParamCount = 1, ! RequiredParamCount = 1, ! Map = " { WXLUAMETHOD_METHOD, \"Delete\", "..funcMapName..", 1, 0 },\n", Condition = condition } *************** *** 4326,4331 **** local methodBindings = sortedBindings[n] ! local paramCount = -1 ! local requiredParamCount = -1 for i = 1, #methodBindings do --- 4352,4358 ---- local methodBindings = sortedBindings[n] ! local paramCount = 0 ! local requiredParamCount = 1E6 ! local funcType = methodBindings[1].FuncType for i = 1, #methodBindings do *************** *** 4336,4342 **** paramCount = methodBindings[i].ParamCount end ! if methodBindings[i].RequiredParamCount and (requiredParamCount < methodBindings[i].RequiredParamCount) then requiredParamCount = methodBindings[i].RequiredParamCount end end end --- 4363,4375 ---- paramCount = methodBindings[i].ParamCount end ! if methodBindings[i].RequiredParamCount and (requiredParamCount > methodBindings[i].RequiredParamCount) then requiredParamCount = methodBindings[i].RequiredParamCount end + + for s in string.gmatch(methodBindings[i].FuncType, "[%a_]+") do + if (string.find(funcType, s, 1, 1) == nil) then + funcType = funcType.."|"..s + end + end end end *************** *** 4366,4370 **** CommentBindingTable(funcMap, "// function overload table\n") table.insert(funcMap, "static WXLUAMETHOD_CFUNC "..funcMapName.."[] =\n{\n") ! table.insert(funcMap, " { "..funcName..", -1, -1, s_wxluaargArray_None },\n") for i = 1, #methodBindings do if HasCondition(methodBindings[i].Condition) and (methodBindings[i].Condition ~= object.Condition) then --- 4399,4403 ---- CommentBindingTable(funcMap, "// function overload table\n") table.insert(funcMap, "static WXLUAMETHOD_CFUNC "..funcMapName.."[] =\n{\n") ! table.insert(funcMap, " { "..funcName..", WXLUAMETHOD_METHOD|WXLUAMETHOD_OVERLOAD, "..tostring(requiredParamCount)..", "..tostring(paramCount)..", s_wxluaargArray_None },\n") for i = 1, #methodBindings do if HasCondition(methodBindings[i].Condition) and (methodBindings[i].Condition ~= object.Condition) then *************** *** 4382,4386 **** table.insert(funcMap, "static int "..funcMapName.."_count = sizeof("..funcMapName..")/sizeof("..funcMapName.."[0]);\n") ! local methodMap = " { "..methodBindings[1].FuncType..", \""..methodBindings[1].LuaName.."\", "..funcMapName..", "..funcMapName.."_count }" local codeList = {} --- 4415,4419 ---- table.insert(funcMap, "static int "..funcMapName.."_count = sizeof("..funcMapName..")/sizeof("..funcMapName.."[0]);\n") ! local methodMap = " { "..funcType..", \""..methodBindings[1].LuaName.."\", "..funcMapName..", "..funcMapName.."_count, 0 }" local codeList = {} *************** *** 4467,4471 **** { LuaName = name, ! Map = " { WXLUAMETHOD_GETPROP, \""..name.."\", "..member.FuncMapName..", 1 },\n", Condition = member.Condition } --- 4500,4504 ---- { LuaName = name, ! Map = " { WXLUAMETHOD_GETPROP, \""..name.."\", "..member.FuncMapName..", 1, 0 },\n", Condition = member.Condition } *************** *** 4477,4481 **** { LuaName = name, ! Map = " { WXLUAMETHOD_SETPROP, \""..name.."\", "..member.FuncMapName..", 1 },\n", Condition = member.Condition } --- 4510,4514 ---- { LuaName = name, ! Map = " { WXLUAMETHOD_SETPROP, \""..name.."\", "..member.FuncMapName..", 1, 0 },\n", Condition = member.Condition } |