From: <je...@us...> - 2008-07-31 10:45:13
|
Revision: 10721 http://swig.svn.sourceforge.net/swig/?rev=10721&view=rev Author: jezabek Date: 2008-07-31 10:45:10 +0000 (Thu, 31 Jul 2008) Log Message: ----------- Basic support for constants. Modified Paths: -------------- branches/gsoc2008-jezabek/Source/Modules/com.cxx Modified: branches/gsoc2008-jezabek/Source/Modules/com.cxx =================================================================== --- branches/gsoc2008-jezabek/Source/Modules/com.cxx 2008-07-30 22:09:02 UTC (rev 10720) +++ branches/gsoc2008-jezabek/Source/Modules/com.cxx 2008-07-31 10:45:10 UTC (rev 10721) @@ -839,6 +839,32 @@ return ret; } + /* ----------------------------------------------------------------------- + * constantWrapper() + * ------------------------------------------------------------------------ */ + + virtual int constantWrapper(Node *n) { + + generate_property_declaration_flag = true; + variable_wrapper_flag = true; + + if (!wrapping_member_flag) { + global_variable_flag = true; + variable_name = Getattr(n, "sym:name"); + } else { + static_flag = true; + } + + int ret = Language::variableWrapper(n); + + global_variable_flag = false; + static_flag = false; + variable_wrapper_flag = false; + generate_property_declaration_flag = false; + + return ret; + } + /* ---------------------------------------------------------------------- * memberfunctionHandler() * ---------------------------------------------------------------------- */ @@ -896,6 +922,21 @@ return SWIG_OK; } + /* ---------------------------------------------------------------------- + * memberconstantHandler() + * ---------------------------------------------------------------------- */ + + virtual int memberconstantHandler(Node *n) { + + variable_name = Getattr(n, "sym:name"); + wrapping_member_flag = true; + Language::memberconstantHandler(n); + constantWrapper(n); + wrapping_member_flag = false; + + return SWIG_OK; + } + /* ----------------------------------------------------------------------------- * constructorHandler() * ----------------------------------------------------------------------------- */ @@ -1473,7 +1514,7 @@ if (proxy_flag) { for (Iterator func = First(proxy_class_member_functions); func.item; func = Next(func)) { - Printf(proxy_class_vtable_code, ",\n (SWIG_funcptr)%s", func.item); + Printf(proxy_class_vtable_code, ",\n (SWIG_funcptr) %s", func.item); } emitProxyClassDefAndCPPCasts(n); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |