[pygccxml-commit] SF.net SVN: pygccxml: [1202] pyplusplus_dev
Brought to you by:
mbaas,
roman_yakovenko
|
From: <rom...@us...> - 2007-12-11 10:21:07
|
Revision: 1202
http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1202&view=rev
Author: roman_yakovenko
Date: 2007-12-11 02:21:11 -0800 (Tue, 11 Dec 2007)
Log Message:
-----------
replace name with partial name
Modified Paths:
--------------
pyplusplus_dev/docs/links.rest
pyplusplus_dev/pyplusplus/code_creators/calldef.py
pyplusplus_dev/pyplusplus/messages/warnings_.py
pyplusplus_dev/unittests/ogre_generate_tester.py
Modified: pyplusplus_dev/docs/links.rest
===================================================================
--- pyplusplus_dev/docs/links.rest 2007-12-10 21:29:19 UTC (rev 1201)
+++ pyplusplus_dev/docs/links.rest 2007-12-11 10:21:11 UTC (rev 1202)
@@ -111,7 +111,12 @@
* http://www.shocksolution.com/math_tools/boost.python/index.html - this site
contains few usefull Boost.Python examples and tutorials.
+-------------
+Build systems
+-------------
+http://www.scons.org/wiki/GCCXMLBuilder - Joseph Lisee shows how to integrate
+Py++ scripts with Scons.
..
Local Variables:
Modified: pyplusplus_dev/pyplusplus/code_creators/calldef.py
===================================================================
--- pyplusplus_dev/pyplusplus/code_creators/calldef.py 2007-12-10 21:29:19 UTC (rev 1201)
+++ pyplusplus_dev/pyplusplus/code_creators/calldef.py 2007-12-11 10:21:11 UTC (rev 1202)
@@ -126,7 +126,7 @@
if not self.works_on_instance:
#indenting and adding scope
code = ''.join( result )
- result = [ '{ //%s' % declarations.full_name( self.declaration ) ]
+ result = [ '{ //%s' % declarations.full_name( self.declaration, with_defaults=False ) ]
result.append( os.linesep * 2 )
result.append( self.indent( code ) )
result.append( os.linesep * 2 )
@@ -196,17 +196,14 @@
return 'typedef ' + f_type.create_typedef( self.function_type_alias, with_defaults=False ) + ';'
def create_function_ref_code(self, use_function_alias=False):
+ fname = declarations.full_name( self.declaration, with_defaults=False )
if use_function_alias:
- return '%s( &%s )' \
- % ( self.function_type_alias, declarations.full_name( self.declaration ) )
+ return '%s( &%s )' % ( self.function_type_alias, fname )
elif self.declaration.create_with_signature:
- return '(%s)( &%s )' \
- % ( self.declaration.function_type().partial_decl_string
- , declarations.full_name( self.declaration ) )
+ return '(%s)( &%s )' % ( self.declaration.function_type().partial_decl_string, fname )
else:
- return '&%s' % declarations.full_name( self.declaration )
+ return '&%s' % fname
-
class mem_fun_t( calldef_t ):
def __init__( self, function ):
calldef_t.__init__( self, function=function )
@@ -216,17 +213,14 @@
return 'typedef %s;' % ftype.create_typedef( self.function_type_alias, exported_class_alias, with_defaults=False )
def create_function_ref_code(self, use_function_alias=False):
+ fname = declarations.full_name( self.declaration, with_defaults=False )
if use_function_alias:
- return '%s( &%s )' \
- % ( self.function_type_alias, declarations.full_name( self.declaration ) )
+ return '%s( &%s )' % ( self.function_type_alias, fname )
elif self.declaration.create_with_signature:
- return '(%s)( &%s )' \
- % ( self.declaration.function_type().decl_string
- , declarations.full_name( self.declaration ) )
+ return '(%s)( &%s )' % ( self.declaration.function_type().partial_decl_string, fname )
else:
- return '&%s' % declarations.full_name( self.declaration )
+ return '&%s' % fname
-
class mem_fun_pv_t( calldef_t ):
def __init__( self, function, wrapper ):
calldef_t.__init__( self, function=function, wrapper=wrapper )
@@ -236,20 +230,19 @@
return 'typedef %s;' % ftype.create_typedef( self.function_type_alias, exported_class_alias )
def create_function_ref_code(self, use_function_alias=False):
+ fname = declarations.full_name( self.declaration, with_defaults=False )
if use_function_alias:
return '%s( %s(&%s) )' \
% ( self.pure_virtual_identifier()
, self.function_type_alias
- , declarations.full_name( self.declaration ) )
+ , fname )
elif self.declaration.create_with_signature:
return '%s( (%s)(&%s) )' \
% ( self.pure_virtual_identifier()
- , self.declaration.function_type().decl_string
- , declarations.full_name( self.declaration ) )
+ , self.declaration.function_type().partial_decl_string
+ , fname )
else:
- return '%s( &%s )' \
- % ( self.pure_virtual_identifier()
- , declarations.full_name( self.declaration ) )
+ return '%s( &%s )' % ( self.pure_virtual_identifier(), fname)
class mem_fun_pv_wrapper_t( calldef_wrapper_t ):
def __init__( self, function ):
@@ -263,7 +256,7 @@
constness = ' const '
return template % {
- 'return_type' : self.declaration.return_type.decl_string
+ 'return_type' : self.declaration.return_type.partial_decl_string
, 'name' : self.declaration.name
, 'args' : self.args_declaration()
, 'constness' : constness
@@ -318,24 +311,25 @@
return None
def create_function_ref_code(self, use_function_alias=False):
+ fname = declarations.full_name( self.declaration, with_defaults=False )
result = []
if use_function_alias:
- result.append( '%s(&%s)'
- % ( self.function_type_alias, declarations.full_name( self.declaration ) ) )
+ result.append( '%s(&%s)' % ( self.function_type_alias, fname) )
if self.wrapper:
result.append( self.param_sep() )
result.append( '%s(&%s)'
% ( self.default_function_type_alias, self.wrapper.default_full_name() ) )
elif self.declaration.create_with_signature:
result.append( '(%s)(&%s)'
- % ( self.declaration.function_type().decl_string
- , declarations.full_name( self.declaration ) ) )
+ % ( self.declaration.function_type().partial_decl_string
+ , fname) )
if self.wrapper:
result.append( self.param_sep() )
result.append( '(%s)(&%s)'
- % ( self.wrapper.function_type().decl_string, self.wrapper.default_full_name() ) )
+ % ( self.wrapper.function_type().partial_decl_string
+ , self.wrapper.default_full_name() ) )
else:
- result.append( '&%s'% declarations.full_name( self.declaration ) )
+ result.append( '&%s'% fname )
if self.wrapper:
result.append( self.param_sep() )
result.append( '&%s' % self.wrapper.default_full_name() )
@@ -801,7 +795,7 @@
#Function parameters declared consts are ignored by C++
#except for the purpose of function definitions
temp = declarations.remove_const( temp )
- return algorithm.create_identifier( self, temp.decl_string )
+ return algorithm.create_identifier( self, temp.partial_decl_string )
def _generate_definition_args(self):
answer = []
Modified: pyplusplus_dev/pyplusplus/messages/warnings_.py
===================================================================
--- pyplusplus_dev/pyplusplus/messages/warnings_.py 2007-12-10 21:29:19 UTC (rev 1201)
+++ pyplusplus_dev/pyplusplus/messages/warnings_.py 2007-12-11 10:21:11 UTC (rev 1202)
@@ -215,6 +215,8 @@
warnings = globals()
+all_warning_msgs = []
+
for identifier, explanation in warnings.items():
if len( identifier ) != 5:
continue
@@ -225,7 +227,10 @@
except:
continue
msg = '%s %s: %s' % ( explanation.__class__.prefix, identifier, str(explanation) )
- globals()[ identifier ] = explanation.__class__( msg, identifier )
+ msg_inst = explanation.__class__( msg, identifier )
+ globals()[ identifier ] = msg_inst
+ all_warning_msgs.append( msg_inst )
+
del warnings
del identifier
Modified: pyplusplus_dev/unittests/ogre_generate_tester.py
===================================================================
--- pyplusplus_dev/unittests/ogre_generate_tester.py 2007-12-10 21:29:19 UTC (rev 1201)
+++ pyplusplus_dev/unittests/ogre_generate_tester.py 2007-12-11 10:21:11 UTC (rev 1202)
@@ -6,10 +6,12 @@
import os
import sys
import shutil
+import logging
import unittest
import autoconfig
from pygccxml import parser
from pygccxml import declarations
+from pyplusplus import messages
from pyplusplus import code_creators
from pyplusplus import module_creator
from pyplusplus import module_builder
@@ -18,6 +20,9 @@
class ogre_generate_tester_t(unittest.TestCase):
def test(self):
+ module_builder.set_logger_level( logging.CRITICAL )
+ messages.disable( *messages.all_warning_msgs )
+
ogre_file = autoconfig.data_directory.replace( 'pyplusplus_dev', 'pygccxml_dev' )
ogre_file = parser.create_gccxml_fc( os.path.join( ogre_file, 'ogre1.4.xml' ) )
@@ -25,9 +30,16 @@
[ ogre_file ]
, gccxml_path=autoconfig.gccxml.executable
, indexing_suite_version=2)
+
mb.global_ns.exclude()
mb.namespace('Ogre').include()
+ x = mb.global_ns.decls( lambda d: 'Animation*' in d.name and 'MapIterator' in d.name )
+ for y in x:
+ print y.name
+ print y.partial_name
+ print declarations.full_name( y, with_defaults=False )
+
target_dir = os.path.join( autoconfig.build_directory, 'ogre' )
if os.path.exists( target_dir ):
shutil.rmtree( target_dir )
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|