[pygccxml-commit] SF.net SVN: pygccxml: [918] pyplusplus_dev/pyplusplus
Brought to you by:
mbaas,
roman_yakovenko
From: <rom...@us...> - 2007-02-20 19:41:58
|
Revision: 918 http://svn.sourceforge.net/pygccxml/?rev=918&view=rev Author: roman_yakovenko Date: 2007-02-20 11:41:57 -0800 (Tue, 20 Feb 2007) Log Message: ----------- Adding more information to some warnings Modified Paths: -------------- pyplusplus_dev/pyplusplus/decl_wrappers/calldef_wrapper.py pyplusplus_dev/pyplusplus/decl_wrappers/class_wrapper.py pyplusplus_dev/pyplusplus/messages/warnings_.py Modified: pyplusplus_dev/pyplusplus/decl_wrappers/calldef_wrapper.py =================================================================== --- pyplusplus_dev/pyplusplus/decl_wrappers/calldef_wrapper.py 2007-02-20 19:41:19 UTC (rev 917) +++ pyplusplus_dev/pyplusplus/decl_wrappers/calldef_wrapper.py 2007-02-20 19:41:57 UTC (rev 918) @@ -184,11 +184,12 @@ if ft.alias == ft.unique_name: msgs.append( messages.W1044 % ft.alias ) return msgs - + if suspicious_type( self.return_type ) and None is self.call_policies: msgs.append( messages.W1008 ) - if is_double_ptr( self.return_type ) and None is self.call_policies: + if ( declarations.is_pointer( self.return_type ) or is_double_ptr( self.return_type ) ) \ + and None is self.call_policies: msgs.append( messages.W1050 % str(self.return_type) ) for index, arg in enumerate( self.arguments ): Modified: pyplusplus_dev/pyplusplus/decl_wrappers/class_wrapper.py =================================================================== --- pyplusplus_dev/pyplusplus/decl_wrappers/class_wrapper.py 2007-02-20 19:41:19 UTC (rev 917) +++ pyplusplus_dev/pyplusplus/decl_wrappers/class_wrapper.py 2007-02-20 19:41:57 UTC (rev 918) @@ -484,30 +484,32 @@ if self.copy_constructor_body: explanation.append( messages.W1022 ) - if self.redefined_funcs(): - explanation.append( messages.W1023 ) + redefined_funcs = self.redefined_funcs() + if redefined_funcs: + funcs = map( lambda f: f.name, redefined_funcs ) + explanation.append( messages.W1023 % ', '.join(funcs) ) for member in self.get_exportable_members(): if isinstance( member, declarations.destructor_t ): continue if isinstance( member, declarations.variable_t ): if member.bits: - explanation.append( messages.W1024 ) + explanation.append( messages.W1024 % member.name ) if declarations.is_pointer( member.type ): - explanation.append( messages.W1025 ) + explanation.append( messages.W1025 % member.name ) if declarations.is_reference( member.type ): - explanation.append( messages.W1026 ) + explanation.append( messages.W1026 % member.name ) if declarations.is_array( member.type ): - explanation.append( messages.W1027 ) + explanation.append( messages.W1027 % member.name) if isinstance( member, declarations.class_t ) and member.is_wrapper_needed(): - explanation.append( messages.W1028 ) + explanation.append( messages.W1028 % member.name) if isinstance( member, declarations.calldef_t ): if isinstance( member, declarations.constructor_t ) and member.body: explanation.append( messages.W1029 ) if member.virtuality != VIRTUALITY_TYPES.NOT_VIRTUAL: - explanation.append( messages.W1030 ) + explanation.append( messages.W1030 % member.name ) if member.access_type in ( ACCESS_TYPES.PROTECTED, ACCESS_TYPES.PRIVATE ): - explanation.append( messages.W1031 ) + explanation.append( messages.W1031 % member.name) return explanation def _readme_impl( self ): Modified: pyplusplus_dev/pyplusplus/messages/warnings_.py =================================================================== --- pyplusplus_dev/pyplusplus/messages/warnings_.py 2007-02-20 19:41:19 UTC (rev 917) +++ pyplusplus_dev/pyplusplus/messages/warnings_.py 2007-02-20 19:41:57 UTC (rev 918) @@ -73,23 +73,24 @@ W1022 = "Py++ will generate class wrapper - hand written code should be added to the wrapper class copy constructor body" -W1023 = "Py++ will generate class wrapper - there are few functions that should be redefined in class wrapper" +W1023 = "Py++ will generate class wrapper - there are few functions that should be redefined in class wrapper. " \ + "The functions are: %s." -W1024 = "Py++ will generate class wrapper - class contains bit field member variable" +W1024 = 'Py++ will generate class wrapper - class contains "%s" - bit field member variable' -W1025 = "Py++ will generate class wrapper - class contains T* member variable" +W1025 = 'Py++ will generate class wrapper - class contains "%s" - T* member variable' -W1026 = "Py++ will generate class wrapper - class contains T& member variable" +W1026 = 'Py++ will generate class wrapper - class contains "%s" - T& member variable' -W1027 = "Py++ will generate class wrapper - class contains array member variable" +W1027 = 'Py++ will generate class wrapper - class contains "%s" - array member variable' -W1028 = "Py++ will generate class wrapper - class contains definition of nested class that requires wrapper class" +W1028 = 'Py++ will generate class wrapper - class contains definition of nested class "%s", which requires wrapper class' W1029 = "Py++ will generate class wrapper - hand written code should be added to the wrapper class constructor body" -W1030 = "Py++ will generate class wrapper - class contains definition of virtual or pure virtual member function" +W1030 = 'Py++ will generate class wrapper - class contains "%s" - [pure] virtual member function' -W1031 = "Py++ will generate class wrapper - user asked to expose non - public member function" +W1031 = 'Py++ will generate class wrapper - user asked to expose non - public member function "%s"' W1032 = "Boost.Python library does not support enums with duplicate values. " \ "You can read more about this here: " \ @@ -148,7 +149,9 @@ W1049 = 'This method could not be overriden in Python - method returns reference ' \ 'to local variable!' -W1050 = 'The function returns "%s" type. You have to specify a call policies.' +W1050 = 'The function returns "%s" type. You have to specify a call policies.' \ + 'Be sure to take a look on Py++ defined call policies: ' \ + 'http://language-binding.net/pyplusplus/documentation/functions/call_policies.html#py-defined-call-policies' W1051 = 'The function takes as argument (name=%s, pos=%d) "%s" type. ' \ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |