[pygccxml-commit] SF.net SVN: pygccxml: [271] pyplusplus_dev/unittests
Brought to you by:
mbaas,
roman_yakovenko
From: <rom...@us...> - 2006-07-02 18:48:56
|
Revision: 271 Author: roman_yakovenko Date: 2006-07-02 11:48:46 -0700 (Sun, 02 Jul 2006) ViewCVS: http://svn.sourceforge.net/pygccxml/?rev=271&view=rev Log Message: ----------- fixing some bug in generated code for unnamed enums, that has been declared within class Modified Paths: -------------- pyplusplus_dev/pyplusplus/code_creators/calldef.py pyplusplus_dev/unittests/unnamed_enums_tester.py Modified: pyplusplus_dev/pyplusplus/code_creators/calldef.py =================================================================== --- pyplusplus_dev/pyplusplus/code_creators/calldef.py 2006-07-02 17:26:30 UTC (rev 270) +++ pyplusplus_dev/pyplusplus/code_creators/calldef.py 2006-07-02 18:48:46 UTC (rev 271) @@ -1,4 +1,4 @@ -# Copyright 2004 Roman Yakovenko. +# Copyright 2004 Roman Yakovenko # Distributed under the Boost Software License, Version 1.0. (See # accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) @@ -54,7 +54,13 @@ result.append( '("%s")' % arg.name ) if self.declaration.use_default_arguments and arg.default_value: if not declarations.is_pointer( arg.type ) or arg.default_value != '0': - result.append( '=%s' % arg.default_value ) + arg_type_no_alias = declarations.remove_alias( arg.type ) + if declarations.is_fundamental( arg_type_no_alias ) \ + and declarations.is_integral( arg_type_no_alias ) \ + and not arg.default_value.startswith( arg_type_no_alias.decl_string ): + result.append( '=(%s)(%s)' % ( arg_type_no_alias.decl_string, arg.default_value ) ) + else: + result.append( '=%s' % arg.default_value ) else: result.append( '=%s()' % boost_obj ) result.append( ' )' ) Modified: pyplusplus_dev/unittests/unnamed_enums_tester.py =================================================================== --- pyplusplus_dev/unittests/unnamed_enums_tester.py 2006-07-02 17:26:30 UTC (rev 270) +++ pyplusplus_dev/unittests/unnamed_enums_tester.py 2006-07-02 18:48:46 UTC (rev 271) @@ -18,13 +18,6 @@ , unnamed_enums_tester_t.EXTENSION_NAME , *args ) - def customize( self, mb ): - return - #for f in mb.class_( 'enum_user_t' ).member_functions(): - #for arg in f.arguments: - #if arg.default_value: - #arg.default_value = "%s(%s)" % ( arg.type.decl_string, arg.default_value ) - def run_tests(self, module): self.failUnless( module.OK == 1 ) self.failUnless( module.CANCEL == 0 ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |