[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.
|