pygccxml-commit Mailing List for C++ Python language bindings (Page 80)
Brought to you by:
mbaas,
roman_yakovenko
You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
(190) |
Apr
(166) |
May
(170) |
Jun
(75) |
Jul
(105) |
Aug
(131) |
Sep
(99) |
Oct
(84) |
Nov
(67) |
Dec
(54) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(66) |
Feb
(49) |
Mar
(25) |
Apr
(62) |
May
(21) |
Jun
(34) |
Jul
(9) |
Aug
(21) |
Sep
(5) |
Oct
|
Nov
(63) |
Dec
(34) |
2008 |
Jan
(10) |
Feb
(42) |
Mar
(26) |
Apr
(25) |
May
(6) |
Jun
(40) |
Jul
(18) |
Aug
(29) |
Sep
(6) |
Oct
(32) |
Nov
(14) |
Dec
(56) |
2009 |
Jan
(127) |
Feb
(52) |
Mar
(2) |
Apr
(10) |
May
(29) |
Jun
(3) |
Jul
|
Aug
(16) |
Sep
(4) |
Oct
(11) |
Nov
(8) |
Dec
(14) |
2010 |
Jan
(31) |
Feb
(1) |
Mar
(7) |
Apr
(9) |
May
(1) |
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2011 |
Jan
|
Feb
(8) |
Mar
(4) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2014 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Roman <rom...@us...> - 2006-04-06 06:08:50
|
Update of /cvsroot/pygccxml/source/pyplusplus/_logging_ In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26001/_logging_ Log Message: Directory /cvsroot/pygccxml/source/pyplusplus/_logging_ added to the repository |
From: Roman <rom...@us...> - 2006-04-06 05:56:58
|
Update of /cvsroot/pygccxml/source/pygccxml/docs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19071/pygccxml/docs Removed Files: generate_reference_manual.py Log Message: --- generate_reference_manual.py DELETED --- |
From: Roman <rom...@us...> - 2006-04-06 05:50:29
|
Update of /cvsroot/pygccxml/source/www In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15127/www Removed Files: default.css generate_index.py how-to.txt index.rest Log Message: removing www directory, web site is going to be generated using an other tool --- how-to.txt DELETED --- --- generate_index.py DELETED --- --- index.rest DELETED --- --- default.css DELETED --- |
From: Roman <rom...@us...> - 2006-04-06 05:48:08
|
Update of /cvsroot/pygccxml/source/pyplusplus/examples/custom_code_creator/sources In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13533/pyplusplus/examples/custom_code_creator/sources Removed Files: point.hpp Log Message: cleaning custom_code_creator example --- point.hpp DELETED --- |
From: Roman <rom...@us...> - 2006-04-06 05:46:23
|
Update of /cvsroot/pygccxml/source/pyplusplus/examples/py_qtxml/unittests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12644/pyplusplus/examples/py_qtxml/unittests Removed Files: LICENSE_1_0.txt qtdemo.py Log Message: --- qtdemo.py DELETED --- --- LICENSE_1_0.txt DELETED --- |
Update of /cvsroot/pygccxml/source/pyplusplus/examples/py_qtxml In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12644/pyplusplus/examples/py_qtxml Removed Files: LICENSE_1_0.txt create_qtcore.py create_qtxml.py environment.py sconstruct www_configuration.py Log Message: --- create_qtxml.py DELETED --- --- create_qtcore.py DELETED --- --- LICENSE_1_0.txt DELETED --- --- environment.py DELETED --- --- sconstruct DELETED --- --- www_configuration.py DELETED --- |
From: Roman <rom...@us...> - 2006-04-06 05:46:22
|
Update of /cvsroot/pygccxml/source/pyplusplus/examples/py_qtxml/mixed In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12644/pyplusplus/examples/py_qtxml/mixed Removed Files: LICENSE_1_0.txt qtcore.cpp qtstring_converter.cpp qtstring_converter.h Log Message: --- qtcore.cpp DELETED --- --- LICENSE_1_0.txt DELETED --- --- qtstring_converter.cpp DELETED --- --- qtstring_converter.h DELETED --- |
From: Roman <rom...@us...> - 2006-04-06 05:46:22
|
Update of /cvsroot/pygccxml/source/pyplusplus/examples/py_qtxml/generated In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12644/pyplusplus/examples/py_qtxml/generated Removed Files: place_holder Log Message: --- place_holder DELETED --- |
From: Roman <rom...@us...> - 2006-04-06 05:45:52
|
Update of /cvsroot/pygccxml/source/pyplusplus/docs/examples/qtxml In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12223/pyplusplus/docs/examples/qtxml Removed Files: LICENSE_1_0.txt qtxml.rest www_configuration.py Log Message: 1. removing qtxml example --- qtxml.rest DELETED --- --- www_configuration.py DELETED --- --- LICENSE_1_0.txt DELETED --- |
From: Roman <rom...@us...> - 2006-03-30 08:09:47
|
Update of /cvsroot/pygccxml/source/pyplusplus/module_creator In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14922/pyplusplus/module_creator Modified Files: call_policies_resolver.py Log Message: fixing 2 bugs: templates parser now correctly reports about is_instantiation improving default call policies for operator[] Index: call_policies_resolver.py =================================================================== RCS file: /cvsroot/pygccxml/source/pyplusplus/module_creator/call_policies_resolver.py,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** call_policies_resolver.py 29 Mar 2006 04:26:58 -0000 1.13 --- call_policies_resolver.py 30 Mar 2006 08:09:42 -0000 1.14 *************** *** 91,99 **** return_type = declarations.remove_cv( calldef.return_type ) ! if declarations.is_reference( return_type ): return decl_wrappers.return_internal_reference() ! ! return None ! class built_in_resolver_t(resolver_t): --- 91,107 ---- return_type = declarations.remove_cv( calldef.return_type ) ! if declarations.is_reference( return_type ): ! return_type = declarations.remove_reference( return_type ) ! if declarations.is_fundamental( return_type ) or declarations.is_enum( return_type ): ! if declarations.is_const( calldef.return_type ): ! return decl_wrappers.return_value_policy( decl_wrappers.copy_const_reference ) ! else: ! return decl_wrappers.return_value_policy( decl_wrappers.copy_non_const_reference ) ! elif declarations.is_reference( return_type ): ! #reference, but not funcdamental type ! #In future may be I should check whether class is copyable or not return decl_wrappers.return_internal_reference() ! else: ! return None class built_in_resolver_t(resolver_t): |
From: Roman <rom...@us...> - 2006-03-30 08:09:47
|
Update of /cvsroot/pygccxml/source/pyplusplus/unittests/data In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14922/pyplusplus/unittests/data Modified Files: call_policies_to_be_exported.hpp Log Message: fixing 2 bugs: templates parser now correctly reports about is_instantiation improving default call policies for operator[] Index: call_policies_to_be_exported.hpp =================================================================== RCS file: /cvsroot/pygccxml/source/pyplusplus/unittests/data/call_policies_to_be_exported.hpp,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** call_policies_to_be_exported.hpp 14 Feb 2006 11:07:53 -0000 1.8 --- call_policies_to_be_exported.hpp 30 Mar 2006 08:09:43 -0000 1.9 *************** *** 32,35 **** --- 32,39 ---- { return x; } + struct container{ + int operator[]( int i ) const { return i; } + }; + } |
From: Roman <rom...@us...> - 2006-03-30 08:09:47
|
Update of /cvsroot/pygccxml/source/pyplusplus/unittests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14922/pyplusplus/unittests Modified Files: call_policies_tester.py Log Message: fixing 2 bugs: templates parser now correctly reports about is_instantiation improving default call policies for operator[] Index: call_policies_tester.py =================================================================== RCS file: /cvsroot/pygccxml/source/pyplusplus/unittests/call_policies_tester.py,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** call_policies_tester.py 29 Mar 2006 04:26:58 -0000 1.11 --- call_policies_tester.py 30 Mar 2006 08:09:43 -0000 1.12 *************** *** 35,38 **** --- 35,41 ---- y = module.copy_const_reference( x ) self.failUnless( x.id() != y.id() ) + + cont = module.container() + self.failUnless( 1977 == cont[1977] ) def create_suite(): |
From: Roman <rom...@us...> - 2006-03-30 08:09:47
|
Update of /cvsroot/pygccxml/source/pygccxml/unittests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14922/pygccxml/unittests Modified Files: templates_tester.py Log Message: fixing 2 bugs: templates parser now correctly reports about is_instantiation improving default call policies for operator[] Index: templates_tester.py =================================================================== RCS file: /cvsroot/pygccxml/source/pygccxml/unittests/templates_tester.py,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** templates_tester.py 14 Nov 2005 12:00:55 -0000 1.5 --- templates_tester.py 30 Mar 2006 08:09:42 -0000 1.6 *************** *** 57,60 **** --- 57,63 ---- == declarations.templates.join("vector", ( "int", "std::allocator<int>" ) ) ) + def test_bug_is_tmpl_inst(self): + self.failUnless( False == declarations.templates.is_instantiation( "::FX::QMemArray<unsigned char>::setRawData" ) ) + def create_suite(): suite = unittest.TestSuite() |
From: Roman <rom...@us...> - 2006-03-30 08:09:47
|
Update of /cvsroot/pygccxml/source/pygccxml/declarations In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14922/pygccxml/declarations Modified Files: pattern_parser.py Log Message: fixing 2 bugs: templates parser now correctly reports about is_instantiation improving default call policies for operator[] Index: pattern_parser.py =================================================================== RCS file: /cvsroot/pygccxml/source/pygccxml/declarations/pattern_parser.py,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** pattern_parser.py 18 Dec 2005 12:11:13 -0000 1.3 --- pattern_parser.py 30 Mar 2006 08:09:41 -0000 1.4 *************** *** 23,28 **** self.__escape = '\\' ! def has_pattern( self, decl_string ): ! return -1 != decl_string.find( self.__begin ) def name( self, decl_string ): --- 23,29 ---- self.__escape = '\\' ! def has_pattern( self, decl_string ): ! last_part = decl_string.split( '::' )[-1] ! return -1 != last_part.find( self.__end ) def name( self, decl_string ): |
From: Roman <rom...@us...> - 2006-03-30 05:56:29
|
Update of /cvsroot/pygccxml/source/pyplusplus/decl_wrappers In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28510/pyplusplus/decl_wrappers Modified Files: namespace_wrapper.py scopedef_wrapper.py Log Message: fixing select API to be more user friendly Index: namespace_wrapper.py =================================================================== RCS file: /cvsroot/pygccxml/source/pyplusplus/decl_wrappers/namespace_wrapper.py,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** namespace_wrapper.py 29 Mar 2006 04:23:45 -0000 1.4 --- namespace_wrapper.py 30 Mar 2006 05:56:17 -0000 1.5 *************** *** 12,36 **** declarations.namespace_t.__init__(self, *arguments, **keywords ) ! def namespace( self, *args, **keywds ): ! keywds['decl_type'] = declarations.namespace_t ! return self._find_single( declarations.namespace_matcher_t, *args, **keywds ) def namespaces( self, *args, **keywds ): ! keywds['decl_type'] = declarations.namespace_t ! return self._find_multiple( declarations.namespace_matcher_t, *args, **keywds ) ! def free_function( self, *args, **keywds ): ! keywds['decl_type'] = declarations.free_function_t ! return self._find_single( declarations.calldef_matcher_t, *args, **keywds ) ! def free_functions( self, *args, **keywds ): ! keywds['decl_type'] = declarations.free_function_t ! return self._find_multiple( declarations.calldef_matcher_t, *args, **keywds ) ! def free_operator( self, *args, **keywds ): ! keywds['decl_type'] = declarations.free_operator_t ! return self._find_single( declarations.operator_matcher_t, *args, **keywds ) ! def free_operators( self, *args, **keywds ): ! keywds['decl_type'] = declarations.free_operator_t ! return self._find_multiple( declarations.operator_matcher_t, *args, **keywds ) --- 12,70 ---- declarations.namespace_t.__init__(self, *arguments, **keywords ) ! def namespace( self, name=None, function=None, recursive=None ): ! return self._find_single( declarations.namespace_matcher_t ! , name=name ! , function=function ! , recursive=recursive ) def namespaces( self, *args, **keywds ): ! return self._find_multiple( declarations.namespace_matcher_t ! , name=name ! , function=function ! , recursive=recursive ) ! def free_function( self, name=None, function=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None ): ! return self._find_single( declarations.calldef_matcher_t ! , name=name ! , function=function ! , decl_type=declarations.free_function_t ! , return_type=return_type ! , arg_types=arg_types ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive ) ! def free_functions( self, name=None, function=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None ): ! return self._find_multiple( declarations.calldef_matcher_t ! , name=name ! , function=function ! , decl_type=declarations.free_function_t ! , return_type=return_type ! , arg_types=arg_types ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive) ! def free_operator( self, name=None, function=None, symbol=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None ): ! return self._find_single( declarations.operator_matcher_t ! , name=name ! , symbol=symbol ! , function=function ! , decl_type=declarations.free_operator_t ! , return_type=return_type ! , arg_types=arg_types ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive ) ! def free_operators( self, name=None, function=None, symbol=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None ): ! return self._find_multiple( declarations.operator_matcher_t ! , name=name ! , symbol=symbol ! , function=function ! , decl_type=declarations.free_operator_t ! , return_type=return_type ! , arg_types=arg_types ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive ) Index: scopedef_wrapper.py =================================================================== RCS file: /cvsroot/pygccxml/source/pyplusplus/decl_wrappers/scopedef_wrapper.py,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** scopedef_wrapper.py 29 Mar 2006 07:02:36 -0000 1.6 --- scopedef_wrapper.py 30 Mar 2006 05:56:17 -0000 1.7 *************** *** 40,44 **** --- 40,53 ---- return types + def clear_optimizer(self): + self.__optimized = False + self.__type2decls = {} + self.__type2name2decls = {} + self.__type2decls_nr = {} + self.__type2name2decls_nr = {} + self.__all_decls = None + def init_optimizer(self): + self.clear_optimizer() #start_time = time.clock() *************** *** 95,123 **** self.ignore = False map( lambda decl: decl.include(), self.declarations ) ! def __create_matcher( self, match_class, *args, **keywds ): ! matcher = match_class( **keywds ) ! if len( args ) == 1 and callable( args[0] ): decl_wrapper.logger.info( 'running query: %s and <user defined function>' % str( matcher ) ) ! return lambda decl: matcher( decl ) and args[0](decl) else: - if 1 == len( args ) and isinstance( args[0], str ): - matcher.name = args[0] decl_wrapper.logger.info( 'running query: %s' % str( matcher ) ) return matcher - - def __does_query_has_type( self, **keywds ): - return keywds.has_key( 'decl_type' ) - - def __does_query_has_type_and_name( self, *args, **keywds ): - if len(args) != 1: - return False - if not isinstance( args[0], str ): - return False - return self.__does_query_has_type_and_name( **keywds ) ! def __findout_range( self, matcher, *args, **keywds ): ! recursive = keywds.get( 'recursive', scopedef_t.RECURSIVE_DEFAULT ) ! if not self.__optimized: decl_wrapper.logger.info( 'running non optimized query - optimization has not been done' ) --- 104,147 ---- self.ignore = False map( lambda decl: decl.include(), self.declarations ) + + def __normalize_args( self, **keywds ): + if callable( keywds['name'] ) and None is keywds['function']: + keywds['function'] = keywds['name'] + keywds['name'] = None + return keywds + + def __findout_recursive( self, **keywds ): + if None is keywds[ 'recursive' ]: + return self.RECURSIVE_DEFAULT + else: + return keywds[ 'recursive' ] ! def __findout_decl_type( self, match_class, **keywds ): ! if keywds.has_key( 'decl_type' ): ! return keywds['decl_type'] ! ! matcher_args = keywds.copy() ! del matcher_args['function'] ! del matcher_args['recursive'] ! ! matcher = match_class( **matcher_args ) ! if matcher.decl_type: ! return matcher.decl_type ! return None ! ! def __create_matcher( self, match_class, **keywds ): ! matcher_args = keywds.copy() ! del matcher_args['function'] ! del matcher_args['recursive'] ! ! matcher = match_class( **matcher_args ) ! if keywds['function']: decl_wrapper.logger.info( 'running query: %s and <user defined function>' % str( matcher ) ) ! return lambda decl: matcher( decl ) and keywds['function'](decl) else: decl_wrapper.logger.info( 'running query: %s' % str( matcher ) ) return matcher ! def __findout_range( self, name, decl_type, recursive ): if not self.__optimized: decl_wrapper.logger.info( 'running non optimized query - optimization has not been done' ) *************** *** 127,147 **** return decls ! if self.__does_query_has_type_and_name( *args, **keywds ): ! name = matcher.name if matcher.is_full_name(): ! name = matcher.decl_name_only() if recursive: decl_wrapper.logger.info( 'running type + name optimized query recursively' ) ! return self.__type2name2decls[ keywds['decl_type'] ][ name ] else: decl_wrapper.logger.info( 'running type + name optimized query non recursively' ) ! return self.__type2name2decls_nr[ keywds['decl_type'] ][ name ] ! elif self.__does_query_has_type( **keywds ): if recursive: decl_wrapper.logger.info( 'running type optimized query recursively' ) ! return self.__type2decls[ keywds['decl_type'] ] else: decl_wrapper.logger.info( 'running type optimized query non recursively' ) ! return self.__type2decls_nr[ keywds['decl_type'] ] else: decl_wrapper.logger.info( 'running non optimized query - query is more complex then type + name' ) --- 151,171 ---- return decls ! if name and decl_type: ! matcher = declarations.declaration_matcher_t( name=name ) if matcher.is_full_name(): ! name = matcher.decl_name_only if recursive: decl_wrapper.logger.info( 'running type + name optimized query recursively' ) ! return self.__type2name2decls[decl_type][name] else: decl_wrapper.logger.info( 'running type + name optimized query non recursively' ) ! return self.__type2name2decls_nr[decl_type][name] ! elif decl_type: if recursive: decl_wrapper.logger.info( 'running type optimized query recursively' ) ! return self.__type2decls[ decl_type ] else: decl_wrapper.logger.info( 'running type optimized query non recursively' ) ! return self.__type2decls_nr[ decl_type ] else: decl_wrapper.logger.info( 'running non optimized query - query is more complex then type + name' ) *************** *** 151,159 **** return self.declarations ! def _find_single( self, match_class, *args, **keywds ): decl_wrapper.logger.info( 'running query - started' ) start_time = time.clock() ! matcher = self.__create_matcher( match_class, *args, **keywds ) ! decls = self.__findout_range( matcher, *args, **keywds ) found = declarations.matcher.get_single( matcher, decls, False ) decl_wrapper.logger.info( 'query execution took : %f seconds' % ( time.clock() - start_time ) ) --- 175,186 ---- return self.declarations ! def _find_single( self, match_class, **keywds ): decl_wrapper.logger.info( 'running query - started' ) start_time = time.clock() ! norm_keywds = self.__normalize_args( **keywds ) ! matcher = self.__create_matcher( match_class, **norm_keywds ) ! dtype = self.__findout_decl_type( match_class, **norm_keywds ) ! recursive_ = self.__findout_recursive( **norm_keywds ) ! decls = self.__findout_range( norm_keywds['name'], dtype, recursive_ ) found = declarations.matcher.get_single( matcher, decls, False ) decl_wrapper.logger.info( 'query execution took : %f seconds' % ( time.clock() - start_time ) ) *************** *** 161,168 **** return found ! def _find_multiple( self, match_class, *args, **keywds ): start_time = time.clock() ! matcher = self.__create_matcher( match_class, *args, **keywds ) ! decls = self.__findout_range( matcher, *args, **keywds ) found = declarations.matcher.find( matcher, decls, False ) mfound = mdecl_wrapper.mdecl_wrapper_t( found ) --- 188,198 ---- return found ! def _find_multiple( self, match_class, **keywds ): start_time = time.clock() ! norm_keywds = self.__normalize_args( **keywds ) ! matcher = self.__create_matcher( match_class, **norm_keywds ) ! dtype = self.__findout_decl_type( match_class, **norm_keywds ) ! recursive_ = self.__findout_recursive( **norm_keywds ) ! decls = self.__findout_range( norm_keywds['name'], dtype, recursive_ ) found = declarations.matcher.find( matcher, decls, False ) mfound = mdecl_wrapper.mdecl_wrapper_t( found ) *************** *** 174,252 **** return mfound ! def decl( self, *args, **keywds ): ! return self._find_single( declarations.declaration_matcher_t, *args, **keywds ) ! def decls( self, *args, **keywds ): ! return self._find_multiple( declarations.declaration_matcher_t, *args, **keywds ) ! def class_( self, *args, **keywds ): ! keywds['decl_type'] = declarations.class_t ! return self._find_single( declarations.declaration_matcher_t, *args, **keywds ) ! def classes( self, *args, **keywds ): ! keywds['decl_type'] = declarations.class_t ! return self._find_multiple( declarations.declaration_matcher_t, *args, **keywds ) ! def variable( self, *args, **keywds ): ! keywds['decl_type'] = declarations.variable_t ! return self._find_single( declarations.variable_matcher_t, *args, **keywds ) ! def variables( self, *args, **keywds ): ! keywds['decl_type'] = declarations.variable_t ! return self._find_multiple( declarations.variable_matcher_t, *args, **keywds ) ! def calldef( self, *args, **keywds ): ! keywds['decl_type'] = declarations.calldef_t ! return self._find_single( declarations.calldef_matcher_t, *args, **keywds ) ! def calldefs( self, *args, **keywds ): ! keywds['decl_type'] = declarations.calldef_t ! return self._find_multiple( declarations.calldef_matcher_t, *args, **keywds ) ! def operator( self, *args, **keywds ): ! keywds['decl_type'] = declarations.operator_t ! return self._find_single( declarations.operator_matcher_t, *args, **keywds ) ! ! def operators( self, *args, **keywds ): ! keywds['decl_type'] = declarations.operator_t ! return self._find_multiple( declarations.operator_matcher_t, *args, **keywds ) ! ! def member_function( self, *args, **keywds ): ! keywds['decl_type'] = declarations.member_function_t ! return self._find_single( declarations.calldef_matcher_t, *args, **keywds ) ! def member_functions( self, *args, **keywds ): ! keywds['decl_type'] = declarations.member_function_t ! return self._find_multiple( declarations.calldef_matcher_t, *args, **keywds ) ! def constructor( self, *args, **keywds ): ! keywds['decl_type'] = declarations.constructor_t ! return self._find_single( declarations.calldef_matcher_t, *args, **keywds ) ! def constructors( self, *args, **keywds ): ! keywds['decl_type'] = declarations.constructor_t ! return self._find_multiple( declarations.calldef_matcher_t, *args, **keywds ) ! def member_operator( self, *args, **keywds ): ! keywds['decl_type'] = declarations.member_operator_t ! return self._find_single( declarations.operator_matcher_t, *args, **keywds ) ! def member_operators( self, *args, **keywds ): ! keywds['decl_type'] = declarations.member_operator_t ! return self._find_multiple( declarations.operator_matcher_t, *args, **keywds ) ! def casting_operator( self, *args, **keywds ): ! keywds['decl_type'] = declarations.casting_operator_t ! return self._find_single( declarations.calldef_matcher_t, *args, **keywds ) ! def casting_operators( self, *args, **keywds ): ! keywds['decl_type'] = declarations.casting_operator_t ! return self._find_multiple( declarations.calldef_matcher_t, *args, **keywds ) ! def enumeration( self, *args, **keywds ): ! keywds['decl_type'] = declarations.enumeration_t ! return self._find_single( declarations.declaration_matcher_t, *args, **keywds ) - def enumerations( self, *args, **keywds ): - keywds['decl_type'] = declarations.enumeration_t - return self._find_multiple( declarations.declaration_matcher_t, *args, **keywds ) --- 204,409 ---- return mfound ! def decl( self, name=None, function=None, header_dir=None, header_file=None, recursive=None ): ! return self._find_single( declarations.declaration_matcher_t ! , name=name ! , function=function ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive) ! def decls( self, name=None, function=None, header_dir=None, header_file=None, recursive=None ): ! return self._find_multiple( declarations.declaration_matcher_t ! , name=name ! , function=function ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive) ! def class_( self, name=None, function=None, header_dir=None, header_file=None, recursive=None ): ! return self._find_single( declarations.declaration_matcher_t ! , name=name ! , function=function ! , decl_type=declarations.class_t ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive) ! def classes( self, name=None, function=None, header_dir=None, header_file=None, recursive=None ): ! return self._find_multiple( declarations.declaration_matcher_t ! , name=name ! , function=function ! , decl_type=declarations.class_t ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive) ! def variable( self, name=None, function=None, type=None, header_dir=None, header_file=None, recursive=None ): ! return self._find_single( declarations.variable_matcher_t ! , name=name ! , function=function ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive) ! def variables( self, name=None, function=None, type=None, header_dir=None, header_file=None, recursive=None ): ! return self._find_multiple( declarations.variable_matcher_t ! , name=name ! , function=function ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive ) ! def calldef( self, name=None, function=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None ): ! return self._find_single( declarations.calldef_matcher_t ! , name=name ! , function=function ! , decl_type=declarations.calldef_t ! , return_type=return_type ! , arg_types=arg_types ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive ) ! def calldefs( self, name=None, function=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None ): ! return self._find_multiple( declarations.calldef_matcher_t ! , name=name ! , function=function ! , decl_type=declarations.calldef_t ! , return_type=return_type ! , arg_types=arg_types ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive) ! def operator( self, name=None, function=None, symbol=None, return_type=None, arg_types=None, decl_type=None, header_dir=None, header_file=None, recursive=None ): ! return self._find_single( declarations.operator_matcher_t ! , name=name ! , symbol=symbol ! , function=function ! , decl_type=decl_type ! , return_type=return_type ! , arg_types=arg_types ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive ) ! def operators( self, name=None, function=None, symbol=None, return_type=None, arg_types=None, decl_type=None, header_dir=None, header_file=None, recursive=None ): ! return self._find_multiple( declarations.operator_matcher_t ! , name=name ! , symbol=symbol ! , function=function ! , decl_type=decl_type ! , return_type=return_type ! , arg_types=arg_types ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive ) ! def member_function( self, name=None, function=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None ): ! return self._find_single( declarations.calldef_matcher_t ! , name=name ! , function=function ! , decl_type=declarations.member_function_t ! , return_type=return_type ! , arg_types=arg_types ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive ) ! def member_functions( self, name=None, function=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None ): ! return self._find_multiple( declarations.calldef_matcher_t ! , name=name ! , function=function ! , decl_type=declarations.member_function_t ! , return_type=return_type ! , arg_types=arg_types ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive) ! ! def constructor( self, name=None, function=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None ): ! return self._find_single( declarations.calldef_matcher_t ! , name=name ! , function=function ! , decl_type=declarations.constructor_t ! , return_type=return_type ! , arg_types=arg_types ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive ) ! def constructors( self, name=None, function=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None ): ! return self._find_multiple( declarations.calldef_matcher_t ! , name=name ! , function=function ! , decl_type=declarations.constructor_t ! , return_type=return_type ! , arg_types=arg_types ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive) ! ! def member_operator( self, name=None, symbol=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None ): ! return self._find_single( declarations.operator_matcher_t ! , name=name ! , symbol=symbol ! , function=function ! , decl_type=declarations.member_operator_t ! , return_type=return_type ! , arg_types=arg_types ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive ) ! def member_operators( self, name=None, symbol=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None ): ! return self._find_multiple( declarations.operator_matcher_t ! , name=name ! , symbol=symbol ! , function=function ! , decl_type=declarations.member_operator_t ! , return_type=return_type ! , arg_types=arg_types ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive ) ! ! def casting_operator( self, name=None, function=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None ): ! return self._find_single( declarations.calldef_matcher_t ! , name=name ! , function=function ! , decl_type=declarations.casting_operator_t ! , return_type=return_type ! , arg_types=arg_types ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive ) ! def casting_operators( self, name=None, function=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None ): ! return self._find_multiple( declarations.calldef_matcher_t ! , name=name ! , function=function ! , decl_type=declarations.casting_operator_t ! , return_type=return_type ! , arg_types=arg_types ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive) ! def enumeration( self, name=None, function=None, header_dir=None, header_file=None, recursive=None ): ! return self._find_single( declarations.declaration_matcher_t ! , name=name ! , function=function ! , decl_type=declarations.enumeration_t ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive) ! def enumerations( self, name=None, function=None, header_dir=None, header_file=None, recursive=None ): ! return self._find_multiple( declarations.declaration_matcher_t ! , name=name ! , function=function ! , decl_type=declarations.enumeration_t ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive) |
From: Roman <rom...@us...> - 2006-03-30 05:56:29
|
Update of /cvsroot/pygccxml/source/pyplusplus/examples/py_date_time In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28510/pyplusplus/examples/py_date_time Modified Files: _date_time_.suo create_date_time.py Log Message: fixing select API to be more user friendly Index: create_date_time.py =================================================================== RCS file: /cvsroot/pygccxml/source/pyplusplus/examples/py_date_time/create_date_time.py,v retrieving revision 1.35 retrieving revision 1.36 diff -C2 -d -r1.35 -r1.36 *** create_date_time.py 29 Mar 2006 07:03:54 -0000 1.35 --- create_date_time.py 30 Mar 2006 05:56:17 -0000 1.36 *************** *** 42,46 **** , include_paths=[settings.boost_path] , define_symbols=settings.defined_symbols ! , undefine_symbols=settings.undefined_symbols ) if sys.platform == 'win32': linux_name = "time_duration<boost::posix_time::time_duration,boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, micro, 1000000, 6, int> >" --- 42,47 ---- , include_paths=[settings.boost_path] , define_symbols=settings.defined_symbols ! , undefine_symbols=settings.undefined_symbols ! , optimize_queries=False) if sys.platform == 'win32': linux_name = "time_duration<boost::posix_time::time_duration,boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, micro, 1000000, 6, int> >" Index: _date_time_.suo =================================================================== RCS file: /cvsroot/pygccxml/source/pyplusplus/examples/py_date_time/_date_time_.suo,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 Binary files /tmp/cvsc5Vhmg and /tmp/cvsnQtzda differ |
From: Roman <rom...@us...> - 2006-03-30 05:56:29
|
Update of /cvsroot/pygccxml/source/pyplusplus/unittests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28510/pyplusplus/unittests Modified Files: fundamental_tester_base.py Log Message: fixing select API to be more user friendly Index: fundamental_tester_base.py =================================================================== RCS file: /cvsroot/pygccxml/source/pyplusplus/unittests/fundamental_tester_base.py,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** fundamental_tester_base.py 29 Mar 2006 04:26:58 -0000 1.33 --- fundamental_tester_base.py 30 Mar 2006 05:56:18 -0000 1.34 *************** *** 55,59 **** , include_paths=[autoconfig.boost_path] , undefine_symbols=['__MINGW32__'] ) - mb.run_query_optimizer() self.customize( mb ) if not mb.has_code_creator(): --- 55,58 ---- |
From: Roman <rom...@us...> - 2006-03-30 05:56:28
|
Update of /cvsroot/pygccxml/source/pyplusplus/examples/tnfox In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28510/pyplusplus/examples/tnfox Modified Files: call_policies.py create_tnfox.py Log Message: fixing select API to be more user friendly Index: create_tnfox.py =================================================================== RCS file: /cvsroot/pygccxml/source/pyplusplus/examples/tnfox/create_tnfox.py,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** create_tnfox.py 29 Mar 2006 07:03:54 -0000 1.17 --- create_tnfox.py 30 Mar 2006 05:56:17 -0000 1.18 *************** *** 34,38 **** fx_ns.decls( files_to_exclude.is_excluded ).exclude() #find FXFunctorTarget constructor that takes 1 argument of some type ! fx_ns.constructors( name='FXFunctorTarget', arg_type=[None] ).exclude() fx_ns.class_( 'QValueList<FX::Pol::knowReferrers::ReferrerEntry>').exclude() fx_ns.class_( 'QPtrVector<FX::Generic::BoundFunctorV>').exclude() --- 34,38 ---- fx_ns.decls( files_to_exclude.is_excluded ).exclude() #find FXFunctorTarget constructor that takes 1 argument of some type ! fx_ns.constructors( name='FXFunctorTarget', arg_types=[None] ).exclude() fx_ns.class_( 'QValueList<FX::Pol::knowReferrers::ReferrerEntry>').exclude() fx_ns.class_( 'QPtrVector<FX::Generic::BoundFunctorV>').exclude() *************** *** 59,68 **** #first of all call policies defined within data base for fname, call_pol in call_policies.db.items(): ! print fname ! if fname.startswith( '::FX::FX' ): ! mb.member_functions( fname ).call_policies = call_pol ! else: ! mb.calldefs( fname ).call_policies = call_pol ! copy_funcs = mb.calldefs( lambda decl: 'FXGL' in decl.parent.name and decl.name == 'copy' ) copy_funcs.call_policies = decl_wrappers.return_value_policy( decl_wrappers.manage_new_object ) --- 59,69 ---- #first of all call policies defined within data base for fname, call_pol in call_policies.db.items(): ! try: ! if fname.startswith( '::FX::FX' ): ! mb.member_functions( fname ).call_policies = call_pol ! else: ! mb.calldefs( fname ).call_policies = call_pol ! except Exception, error: ! print '> error: %s, %s' %( fname, str( error ) ) copy_funcs = mb.calldefs( lambda decl: 'FXGL' in decl.parent.name and decl.name == 'copy' ) copy_funcs.call_policies = decl_wrappers.return_value_policy( decl_wrappers.manage_new_object ) *************** *** 96,101 **** #~ mb.calldefs( return_type=type_ ).call_policies = policy ! for name in 'FXVec4d', 'FXVec4f', 'FXVec3d', 'FXVec3f', 'QMemArray<unsigned char>': ! mb.casting_operators( name ).call_policies = return_internal_ref return None --- 97,102 ---- #~ mb.calldefs( return_type=type_ ).call_policies = policy ! #for name in 'FXVec4d', 'FXVec4f', 'FXVec3d', 'FXVec3f', 'QMemArray<unsigned char>': ! # mb.casting_operators( name ).call_policies = return_internal_ref return None *************** *** 136,140 **** , include_paths=[settings.boost_path, settings.tnfox_include_path] , define_symbols=settings.defined_symbols_gccxml ) - mb.run_query_optimizer() print 'filtering declarations' filter_decls( mb ) --- 137,140 ---- Index: call_policies.py =================================================================== RCS file: /cvsroot/pygccxml/source/pyplusplus/examples/tnfox/call_policies.py,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** call_policies.py 29 Mar 2006 07:03:54 -0000 1.8 --- call_policies.py 30 Mar 2006 05:56:17 -0000 1.9 *************** *** 441,445 **** , "::FX::QPtrVector<FX::FXWindow>::getLast" : return_internal_reference() , "::FX::QPtrVector<FX::FXWindow>::first" : return_internal_reference() - , "::FX::QPtrVector<FX::FXWindow>::last" : return_internal_reference() , "::FX::QPtrVector<FX::FXWindow>::int_vector" : return_self() , "::FX::QPtrVector<FX::Generic::BoundFunctorV>::data" : return_internal_reference() --- 441,444 ---- |
From: Roman <rom...@us...> - 2006-03-30 05:56:28
|
Update of /cvsroot/pygccxml/source/pygccxml/unittests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28510/pygccxml/unittests Modified Files: variable_matcher_tester.py Log Message: fixing select API to be more user friendly Index: variable_matcher_tester.py =================================================================== RCS file: /cvsroot/pygccxml/source/pygccxml/unittests/variable_matcher_tester.py,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** variable_matcher_tester.py 29 Mar 2006 04:14:50 -0000 1.3 --- variable_matcher_tester.py 30 Mar 2006 05:56:17 -0000 1.4 *************** *** 33,37 **** name='::bit_fields::fields_t::x' , type=declarations.unsigned_int_t() - , value=x.value , header_dir=os.path.dirname(x.location.file_name) , header_file=x.location.file_name) --- 33,36 ---- |
From: Roman <rom...@us...> - 2006-03-30 05:56:28
|
Update of /cvsroot/pygccxml/source/pygccxml/declarations In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28510/pygccxml/declarations Modified Files: filters.py Log Message: fixing select API to be more user friendly Index: filters.py =================================================================== RCS file: /cvsroot/pygccxml/source/pygccxml/declarations/filters.py,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** filters.py 29 Mar 2006 04:14:50 -0000 1.6 --- filters.py 30 Mar 2006 05:56:16 -0000 1.7 *************** *** 86,90 **** class declaration_matcher_t( matcher_base_t ): ! def __init__( self, **keywds ): """ Instance of this class will match declarations by next criteria: declaration type - any class that derives from L{pygccxml.declarations.declaration_t} class --- 86,90 ---- class declaration_matcher_t( matcher_base_t ): ! def __init__( self, name=None, decl_type=None, header_dir=None, header_file=None ): """ Instance of this class will match declarations by next criteria: declaration type - any class that derives from L{pygccxml.declarations.declaration_t} class *************** *** 99,108 **** declaration name only. ! @param keywds: could contain only next keys: ! decl_type ! name ! header_dir ! header_file ! """ #An other option is that --- 99,106 ---- declaration name only. ! @param decl_type: reference to one of the classes that derives from L{declarations.declaration_t} class. ! @param name: declaration name, could be full name. ! @param header_dir: absolute directory path ! @param header_file: absolute file path """ #An other option is that *************** *** 111,115 **** #cwd and this behaviour is fragile and not so easy to find the bug. matcher_base_t.__init__( self ) ! self.decl_type = keywds.get('decl_type', None) self.__name = None self.__opt_is_tmpl_inst = None --- 109,113 ---- #cwd and this behaviour is fragile and not so easy to find the bug. matcher_base_t.__init__( self ) ! self.decl_type = decl_type self.__name = None self.__opt_is_tmpl_inst = None *************** *** 118,125 **** self.__decl_name_only = None ! self._set_name( keywds.get('name', None) ) ! self.header_dir = keywds.get('header_dir', None) ! self.header_file = keywds.get('header_file', None) if self.header_dir: --- 116,123 ---- self.__decl_name_only = None ! self._set_name( name ) ! self.header_dir = header_dir ! self.header_file = header_file if self.header_dir: *************** *** 224,234 **** class variable_matcher_t( declaration_matcher_t ): ! def __init__( self, **keywds ): """ type could be string or instance of class derived from cpptypes.type_t """ ! keywds['decl_type'] = variable.variable_t ! declaration_matcher_t.__init__( self, **keywds ) ! self.type = keywds.get('type', None) def __call__( self, decl ): --- 222,235 ---- class variable_matcher_t( declaration_matcher_t ): ! def __init__( self, name=None, type=None, decl_type=None, header_dir=None, header_file=None ): """ type could be string or instance of class derived from cpptypes.type_t """ ! declaration_matcher_t.__init__( self ! , name=name ! , decl_type=variable.variable_t ! , header_dir=header_dir ! , header_file=header_file ) ! self.type = type def __call__( self, decl ): *************** *** 256,262 **** class namespace_matcher_t( declaration_matcher_t ): ! def __init__( self, **keywds ): ! keywds['decl_type'] = namespace.namespace_t ! declaration_matcher_t.__init__( self, **keywds) def __call__( self, decl ): --- 257,262 ---- class namespace_matcher_t( declaration_matcher_t ): ! def __init__( self, name=None ): ! declaration_matcher_t.__init__( self, name=name, decl_type=namespace.namespace_t) def __call__( self, decl ): *************** *** 265,269 **** class calldef_matcher_t( declaration_matcher_t ): ! def __init__( self, **keywds): """Constructor. --- 265,269 ---- class calldef_matcher_t( declaration_matcher_t ): ! def __init__( self, name=None, return_type=None, arg_types=None, decl_type=None, header_dir=None, header_file=None): """Constructor. *************** *** 277,286 **** default argument value and/or exception .... """ ! if not keywds.has_key( 'decl_type' ): ! keywds[ 'decl_type' ] = calldef.calldef_t ! declaration_matcher_t.__init__( self, **keywds ) ! self.return_type = keywds.get( 'return_type', None ) ! self.arg_types = keywds.get( 'arg_types', None ) def __call__( self, decl ): --- 277,290 ---- default argument value and/or exception .... """ ! if None is decl_type: ! decl_type = calldef.calldef_t ! declaration_matcher_t.__init__( self ! , name=name ! , decl_type=decl_type ! , header_dir=header_dir ! , header_file=header_file ) ! self.return_type = return_type ! self.arg_types = arg_types def __call__( self, decl ): *************** *** 330,343 **** class operator_matcher_t( calldef_matcher_t ): ! def __init__( self, **keywds): ! if not keywds.has_key( 'decl_type' ): ! keywds['decl_type'] = calldef.operator_t ! calldef_matcher_t.__init__( self, **keywds ) ! self.symbol = keywds.get( 'symbol', None ) def __call__( self, decl ): if not super( operator_matcher_t, self ).__call__( decl ): return False ! return None != self.symbol and self.symbol == decl.symbol def __str__( self ): --- 334,356 ---- class operator_matcher_t( calldef_matcher_t ): ! def __init__( self, name=None, symbol=None, return_type=None, arg_types=None, decl_type=None, header_dir=None, header_file=None): ! if None is decl_type: ! decl_type = calldef.operator_t ! calldef_matcher_t.__init__( self ! , name=name ! , return_type=return_type ! , arg_types=arg_types ! , decl_type=decl_type ! , header_dir=header_dir ! , header_file=header_file) ! self.symbol = symbol def __call__( self, decl ): if not super( operator_matcher_t, self ).__call__( decl ): return False ! if not None is self.symbol: ! if self.symbol != decl.symbol: ! return False ! return True def __str__( self ): |
From: Roman <rom...@us...> - 2006-03-30 05:56:28
|
Update of /cvsroot/pygccxml/source/pygccxml/unittests/data In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28510/pygccxml/unittests/data Modified Files: core_cache.hpp Log Message: fixing select API to be more user friendly Index: core_cache.hpp =================================================================== RCS file: /cvsroot/pygccxml/source/pygccxml/unittests/data/core_cache.hpp,v retrieving revision 1.49 retrieving revision 1.50 diff -C2 -d -r1.49 -r1.50 *** core_cache.hpp 21 Mar 2006 08:07:25 -0000 1.49 --- core_cache.hpp 30 Mar 2006 05:56:17 -0000 1.50 *************** *** 24,26 **** ! //touch \ No newline at end of file --- 24,26 ---- ! //touch//touch//touch//touch \ No newline at end of file |
From: Roman <rom...@us...> - 2006-03-30 05:56:24
|
Update of /cvsroot/pygccxml/source/pyplusplus/module_builder In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28510/pyplusplus/module_builder Modified Files: builder.py Log Message: fixing select API to be more user friendly Index: builder.py =================================================================== RCS file: /cvsroot/pygccxml/source/pyplusplus/module_builder/builder.py,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** builder.py 29 Mar 2006 04:23:45 -0000 1.6 --- builder.py 30 Mar 2006 05:56:17 -0000 1.7 *************** *** 25,29 **** , compilation_verbose=False , compilation_mode=None ! , cache=None ): object.__init__( self ) gccxml_config = parser.config_t( --- 25,30 ---- , compilation_verbose=False , compilation_mode=None ! , cache=None ! , optimize_queries=True): object.__init__( self ) gccxml_config = parser.config_t( *************** *** 40,44 **** , cache ) self.__code_creator = None ! def _get_global_ns( self ): return self.__global_ns --- 41,47 ---- , cache ) self.__code_creator = None ! if optimize_queries: ! self.run_query_optimizer() ! def _get_global_ns( self ): return self.__global_ns *************** *** 77,80 **** --- 80,87 ---- and decl.symbol == '()': decl.alias = '__call__' + #if I remove the union I should remove also all variables that have the union type + if isinstance( decl, decls_package.class_t ): + if decl.class_type == decls_package.CLASS_TYPES.UNION: + decl.exclude() def print_declarations(self): *************** *** 116,194 **** #select decl(s) interfaces ! def decl( self, *args, **keywds ): ! return self.global_ns.decl( *args, **keywds ) ! def decls( self, *args, **keywds ): ! return self.global_ns.decls( *args, **keywds ) ! def class_( self, *args, **keywds ): ! return self.global_ns.class_( *args, **keywds ) ! def classes( self, *args, **keywds ): ! return self.global_ns.classes( *args, **keywds ) ! def variable( self, *args, **keywds ): ! return self.global_ns.variable( *args, **keywds ) ! def variables( self, *args, **keywds ): ! return self.global_ns.variables( *args, **keywds ) ! def calldef( self, *args, **keywds ): ! return self.global_ns.calldef( *args, **keywds ) ! def calldefs( self, *args, **keywds ): ! return self.global_ns.calldefs( *args, **keywds ) ! def operator( self, *args, **keywds ): ! return self.global_ns.operator( *args, **keywds ) ! def operators( self, *args, **keywds ): ! return self.global_ns.operators( *args, **keywds ) ! def member_function( self, *args, **keywds ): ! return self.global_ns.member_function( *args, **keywds ) ! def member_functions( self, *args, **keywds ): ! return self.global_ns.member_functions( *args, **keywds ) ! def constructor( self, *args, **keywds ): ! return self.global_ns.constructor( *args, **keywds ) ! ! def constructors( self, *args, **keywds ): ! return self.global_ns.constructors( *args, **keywds ) ! def member_operator( self, *args, **keywds ): ! return self.global_ns.member_operator( *args, **keywds ) ! def member_operators( self, *args, **keywds ): ! return self.global_ns.member_operators( *args, **keywds ) ! def casting_operator( self, *args, **keywds ): ! return self.global_ns.casting_operator( *args, **keywds ) ! ! def casting_operators( self, *args, **keywds ): ! return self.global_ns.casting_operators( *args, **keywds ) ! ! def enumeration( self, *args, **keywds ): ! return self.global_ns.enumeration( *args, **keywds ) ! ! def enumerations( self, *args, **keywds ): ! return self.global_ns.enumerations( *args, **keywds ) ! def namespace( self, *args, **keywds ): ! return self.global_ns.namespace( *args, **keywds ) ! def namespaces( self, *args, **keywds ): ! return self.global_ns.namespaces( *args, **keywds ) ! def free_function( self, *args, **keywds ): ! return self.global_ns.free_function( *args, **keywds ) ! def free_functions( self, *args, **keywds ): ! return self.global_ns.free_functions( *args, **keywds ) ! def free_operator( self, *args, **keywds ): ! return self.global_ns.free_operator( *args, **keywds ) ! def free_operators( self, *args, **keywds ): ! return self.global_ns.free_operators( *args, **keywds ) --- 123,341 ---- #select decl(s) interfaces ! def decl( self, name=None, function=None, header_dir=None, header_file=None, recursive=None ): ! return self.global_ns.decl( name=name ! , function=function ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive) ! def decls( self, name=None, function=None, header_dir=None, header_file=None, recursive=None ): ! return self.global_ns.decls( name=name ! , function=function ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive) ! def class_( self, name=None, function=None, header_dir=None, header_file=None, recursive=None ): ! return self.global_ns.class_( name=name ! , function=function ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive) ! def classes( self, name=None, function=None, header_dir=None, header_file=None, recursive=None ): ! return self.global_ns.classes( name=name ! , function=function ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive) ! def variable( self, name=None, function=None, type=None, header_dir=None, header_file=None, recursive=None ): ! return self.global_ns.variable( name=name ! , function=function ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive) ! def variables( self, name=None, function=None, type=None, header_dir=None, header_file=None, recursive=None ): ! return self.global_ns.variables( name=name ! , function=function ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive) ! def calldef( self, name=None, function=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None ): ! return self.global_ns.calldef( name=name ! , function=function ! , return_type=return_type ! , arg_types=arg_types ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive ) ! def calldefs( self, name=None, function=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None ): ! return self.global_ns.calldefs( name=name ! , function=function ! , return_type=return_type ! , arg_types=arg_types ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive) ! def operator( self, name=None, symbol=None, return_type=None, arg_types=None, decl_type=None, header_dir=None, header_file=None, recursive=None ): ! return self.global_ns.operator( name=name ! , symbol=symbol ! , function=function ! , decl_type=decl_type ! , return_type=return_type ! , arg_types=arg_types ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive ) ! def operators( self, name=None, symbol=None, return_type=None, arg_types=None, decl_type=None, header_dir=None, header_file=None, recursive=None ): ! return self.global_ns.operators( name=name ! , symbol=symbol ! , function=function ! , decl_type=declarations.operator_t ! , return_type=return_type ! , arg_types=arg_types ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive ) ! def member_function( self, name=None, function=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None ): ! return self.global_ns.member_function( name=name ! , function=function ! , return_type=return_type ! , arg_types=arg_types ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive ) ! def member_functions( self, name=None, function=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None ): ! return self.global_ns.member_functions( name=name ! , function=function ! , return_type=return_type ! , arg_types=arg_types ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive) ! def constructor( self, name=None, function=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None ): ! return self.global_ns.constructor( name=name ! , function=function ! , return_type=return_type ! , arg_types=arg_types ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive ) ! def constructors( self, name=None, function=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None ): ! return self.global_ns.constructors( name=name ! , function=function ! , return_type=return_type ! , arg_types=arg_types ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive) ! def member_operator( self, name=None, symbol=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None ): ! return self.global_ns.member_operator( name=name ! , symbol=symbol ! , function=function ! , return_type=return_type ! , arg_types=arg_types ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive ) ! def member_operators( self, name=None, symbol=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None ): ! return self.global_ns.member_operators( name=name ! , symbol=symbol ! , function=function ! , return_type=return_type ! , arg_types=arg_types ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive ) ! def casting_operator( self, name=None, function=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None ): ! return self.global_ns.casting_operator( name=name ! , function=function ! , return_type=return_type ! , arg_types=arg_types ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive ) ! def casting_operators( self, name=None, function=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None ): ! return self.global_ns.casting_operators( name=name ! , function=function ! , return_type=return_type ! , arg_types=arg_types ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive) ! def enumeration( self, name=None, function=None, header_dir=None, header_file=None, recursive=None ): ! return self.global_ns.enumeration( name=name ! , function=function ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive) ! ! def enumerations( self, name=None, function=None, header_dir=None, header_file=None, recursive=None ): ! return self.global_ns.enumerations( name=name ! , function=function ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive) ! ! ! def namespace( self, name=None, function=None, recursive=None ): ! return self.global_ns.namespace( name=name ! , function=function ! , recursive=recursive ) ! def namespaces( self, name=None, function=None, recursive=None ): ! return self.global_ns.namespaces( name=name ! , function=function ! , recursive=recursive ) ! ! def free_function( self, name=None, function=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None ): ! return self.global_ns.free_function( name=name ! , function=function ! , return_type=return_type ! , arg_types=arg_types ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive ) ! def free_functions( self, name=None, function=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None ): ! return self.global_ns.free_functions( name=name ! , function=function ! , return_type=return_type ! , arg_types=arg_types ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive) ! def free_operator( self, name=None, function=None, symbol=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None ): ! return self.global_ns.free_operator( name=name ! , symbol=symbol ! , function=function ! , return_type=return_type ! , arg_types=arg_types ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive ) ! def free_operators( self, name=None, function=None, symbol=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None ): ! return self.global_ns.free_operators( name=name ! , symbol=symbol ! , function=function ! , return_type=return_type ! , arg_types=arg_types ! , header_dir=header_dir ! , header_file=header_file ! , recursive=recursive ) |
From: Roman <rom...@us...> - 2006-03-29 07:04:00
|
Update of /cvsroot/pygccxml/source/pyplusplus/examples/py_date_time In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17784/pyplusplus/examples/py_date_time Modified Files: _date_time_.suo create_date_time.py customization_data.py Log Message: updating examples Index: customization_data.py =================================================================== RCS file: /cvsroot/pygccxml/source/pyplusplus/examples/py_date_time/customization_data.py,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** customization_data.py 19 Mar 2006 13:35:39 -0000 1.14 --- customization_data.py 29 Mar 2006 07:03:54 -0000 1.15 *************** *** 28,32 **** ! aliases = { "months_duration<boost::gregorian::greg_durations_config>" : "months" --- 28,32 ---- ! name2alias = { "months_duration<boost::gregorian::greg_durations_config>" : "months" *************** *** 185,190 **** , "dst_calculator<boost::gregorian::date,boost::posix_time::time_duration>" : "dst_calculator" - #, "tz_db_base<boost::local_time::custom_time_zone,boost::date_time::day_calc_dst_rule<boost::local_time::nth_kday_rule_spec> >" - # : "tz_database" , "microsec_clock<boost::local_time::local_date_time_base<boost::posix_time::ptime, boost::date_time::time_zone_base<boost::posix_time::ptime, char> > >" : "local_microsec_clock" --- 185,188 ---- *************** *** 204,213 **** if sys.platform == 'win32': ! aliases[ "time_duration<boost::posix_time::time_duration,boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, micro, 1000000, 6, long int> >" ] \ = "time_duration_impl" else: ! aliases[ "time_duration<boost::posix_time::time_duration,boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, micro, 1000000, 6, int> >" ] \ = "time_duration_impl" #may be those names are uglier, but they are much short ns_aliases = { --- 202,215 ---- if sys.platform == 'win32': ! name2alias[ "time_duration<boost::posix_time::time_duration,boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, micro, 1000000, 6, long int> >" ] \ = "time_duration_impl" else: ! name2alias[ "time_duration<boost::posix_time::time_duration,boost::date_time::time_resolution_traits<boost::date_time::time_resolution_traits_adapted64_impl, micro, 1000000, 6, int> >" ] \ = "time_duration_impl" + alias2name = {} + for name, alias in name2alias.items(): + alias2name[ alias ] = name + #may be those names are uglier, but they are much short ns_aliases = { Index: create_date_time.py =================================================================== RCS file: /cvsroot/pygccxml/source/pyplusplus/examples/py_date_time/create_date_time.py,v retrieving revision 1.34 retrieving revision 1.35 diff -C2 -d -r1.34 -r1.35 *** create_date_time.py 29 Mar 2006 04:26:57 -0000 1.34 --- create_date_time.py 29 Mar 2006 07:03:54 -0000 1.35 *************** *** 20,38 **** def __init__(self): self.__destination_dir = settings.working_dir ! self.__file = os.path.join( settings.date_time_pypp_include, 'date_time.pypp.hpp' ) ! self.__aliases = customization_data.aliases ! self.__includes = customization_data.includes ! self.__ns_aliases = customization_data.ns_aliases def _create_xml_file( self ): #On windows I have some problems to compile boost.date_time #library, so I will use xml files generated on linux ! parser_config \ ! = parser.config_t( gccxml_path=settings.gccxml_path ! , include_paths=[settings.boost_path] ! , define_symbols=settings.defined_symbols ! , undefine_symbols=settings.undefined_symbols ) ! reader = parser.source_reader_t( ) destination = os.path.join( settings.date_time_pypp_include, 'date_time.pypp.xml' ) if sys.platform == 'linux2': --- 20,34 ---- def __init__(self): self.__destination_dir = settings.working_dir ! self.__file = os.path.join( settings.date_time_pypp_include, 'date_time.pypp.hpp' ) def _create_xml_file( self ): #On windows I have some problems to compile boost.date_time #library, so I will use xml files generated on linux ! config = parser.config_t( gccxml_path=settings.gccxml_path ! , include_paths=[settings.boost_path] ! , define_symbols=settings.defined_symbols ! , undefine_symbols=settings.undefined_symbols ) ! reader = parser.source_reader_t( config ) destination = os.path.join( settings.date_time_pypp_include, 'date_time.pypp.xml' ) if sys.platform == 'linux2': *************** *** 56,60 **** mb.run_query_optimizer() ! for name, alias in self.__aliases.items(): decl = mb.class_( name ) decl.alias = alias --- 52,56 ---- mb.run_query_optimizer() ! for name, alias in customization_data.name2alias.items(): decl = mb.class_( name ) decl.alias = alias *************** *** 87,91 **** , 'counted_time_rep<' , 'date_facet<' - , 'time_facet<' , 'period_formatter<' , 'date_generator_formatter<' --- 83,86 ---- *************** *** 94,107 **** boost_ns.classes( lambda decl: decl.name.startswith( name ) ).exclude() ! ends_with = [ '_impl', '_traits', '_config', '_formatter'] ! for name in starts_with: boost_ns.classes( lambda decl: decl.name.endswith( name ) ).exclude() ! #boost.date_time has problem to create local_[micro]sec_clock ! #variable, it has nothing to do with pyplusplus empty_classes = ['local_microsec_clock', 'local_sec_clock' ] ! classes = boost_ns.classes( lambda decl: decl.alias in empty_classes ) ! classes.exclude() ! classes.ignore = False tdi = mb.class_( lambda decl: decl.alias == 'time_duration_impl' ) --- 89,103 ---- boost_ns.classes( lambda decl: decl.name.startswith( name ) ).exclude() ! ends_with = [ '_impl', '_config'] ! for name in ends_with: boost_ns.classes( lambda decl: decl.name.endswith( name ) ).exclude() ! #~ #boost.date_time has problem to create local_[micro]sec_clock ! #~ #variable, it has nothing to do with pyplusplus empty_classes = ['local_microsec_clock', 'local_sec_clock' ] ! for alias in empty_classes: ! class_ = boost_ns.class_( customization_data.alias2name[alias] ) ! class_.exclude() ! class_.ignore = False tdi = mb.class_( lambda decl: decl.alias == 'time_duration_impl' ) *************** *** 162,166 **** includes = includes[1:] #all includes except boost\python.hpp map( lambda creator: extmodule.remove_creator( creator ), includes ) ! for include_header in self.__includes: extmodule.adopt_include( code_creators.include_t( header=include_header ) ) --- 158,162 ---- includes = includes[1:] #all includes except boost\python.hpp map( lambda creator: extmodule.remove_creator( creator ), includes ) ! for include_header in customization_data.includes: extmodule.adopt_include( code_creators.include_t( header=include_header ) ) *************** *** 196,200 **** position += 1 ! for full_ns_name, alias in self.__ns_aliases.items(): creator = code_creators.namespace_alias_t( alias=alias , full_namespace_name=full_ns_name ) --- 192,196 ---- position += 1 ! for full_ns_name, alias in customization_data.ns_aliases.items(): creator = code_creators.namespace_alias_t( alias=alias , full_namespace_name=full_ns_name ) Index: _date_time_.suo =================================================================== RCS file: /cvsroot/pygccxml/source/pyplusplus/examples/py_date_time/_date_time_.suo,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 Binary files /tmp/cvsFpKeQ0 and /tmp/cvsrv0vKM differ |
From: Roman <rom...@us...> - 2006-03-29 07:04:00
|
Update of /cvsroot/pygccxml/source/pyplusplus/examples/tnfox In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17784/pyplusplus/examples/tnfox Modified Files: call_policies.py create_tnfox.py Log Message: updating examples Index: create_tnfox.py =================================================================== RCS file: /cvsroot/pygccxml/source/pyplusplus/examples/tnfox/create_tnfox.py,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** create_tnfox.py 29 Mar 2006 04:26:58 -0000 1.16 --- create_tnfox.py 29 Mar 2006 07:03:54 -0000 1.17 *************** *** 53,60 **** func.exclude() def set_call_policies(mb): #first of all call policies defined within data base for fname, call_pol in call_policies.db.items(): ! mb.calldefs( fname ).call_policies = call_pol copy_funcs = mb.calldefs( lambda decl: 'FXGL' in decl.parent.name and decl.name == 'copy' ) --- 53,67 ---- func.exclude() + #decls = fx_ns.decls( lambda decl: decl.alias in declarations_to_exclude.declarations_aliases ) + #decls.exclude() + def set_call_policies(mb): #first of all call policies defined within data base for fname, call_pol in call_policies.db.items(): ! print fname ! if fname.startswith( '::FX::FX' ): ! mb.member_functions( fname ).call_policies = call_pol ! else: ! mb.calldefs( fname ).call_policies = call_pol copy_funcs = mb.calldefs( lambda decl: 'FXGL' in decl.parent.name and decl.name == 'copy' ) *************** *** 76,91 **** const_t = declarations.const_t pointer_t = declarations.pointer_t ! system_wide = { ! pointer_t( declarations.char_t() ) : return_by_value ! , pointer_t( declarations.wchar_t() ) : return_by_value ! #used in 3/4 d/f mat/vec classes ! , pointer_t( declarations.float_t() ) : return_internal_ref ! , pointer_t( const_t( declarations.float_t() ) ) : return_internal_ref ! , pointer_t( declarations.double_t() ) : return_internal_ref ! , pointer_t( const_t( declarations.double_t() ) ) : return_internal_ref ! } ! for type_, policy in system_wide.items(): ! mb.calldefs( return_type=type_ ).call_policies = policy for name in 'FXVec4d', 'FXVec4f', 'FXVec3d', 'FXVec3f', 'QMemArray<unsigned char>': --- 83,98 ---- const_t = declarations.const_t pointer_t = declarations.pointer_t ! #~ system_wide = { ! #~ pointer_t( declarations.char_t() ) : return_by_value ! #~ , pointer_t( declarations.wchar_t() ) : return_by_value ! #~ #used in 3/4 d/f mat/vec classes ! #~ , pointer_t( declarations.float_t() ) : return_internal_ref ! #~ , pointer_t( const_t( declarations.float_t() ) ) : return_internal_ref ! #~ , pointer_t( declarations.double_t() ) : return_internal_ref ! #~ , pointer_t( const_t( declarations.double_t() ) ) : return_internal_ref ! #~ } ! #~ for type_, policy in system_wide.items(): ! #~ mb.calldefs( return_type=type_ ).call_policies = policy for name in 'FXVec4d', 'FXVec4f', 'FXVec3d', 'FXVec3f', 'QMemArray<unsigned char>': *************** *** 121,143 **** extmodule.user_defined_directories.append( settings.generated_files_dir ) - #some times it is much easier to exclude declarations by alias - #for creator in code_creators.make_flatten( extmodule.creators ): - #if not isinstance( creator, code_creators.declaration_based_t ): - #continue - #if creator.alias in declarations_to_exclude.declarations_aliases: - #creator.parent.remove_creator( creator ) - #if creator.alias == "as_unsigned_char_const__ptr_" \ - #and creator.declaration.parent.name == 'QMemArray<unsigned char>': - #creator.parent.remove_creator( creator ) - - def create_module(): ! parser_config = parser.config_t( gccxml_path=settings.gccxml_path ! , include_paths=[settings.boost_path, settings.tnfox_include_path] ! , define_symbols=settings.defined_symbols_gccxml ) fx_xml = os.path.join( settings.xml_files, 'fx.xml' ) mb = module_builder.module_builder_t( [ parser.create_cached_source_fc( 'fx.h', fx_xml ) ] ! , parser_config ) mb.run_query_optimizer() print 'filtering declarations' --- 128,139 ---- extmodule.user_defined_directories.append( settings.generated_files_dir ) def create_module(): ! parser_config = parser.config_t( ) fx_xml = os.path.join( settings.xml_files, 'fx.xml' ) mb = module_builder.module_builder_t( [ parser.create_cached_source_fc( 'fx.h', fx_xml ) ] ! , gccxml_path=settings.gccxml_path ! , include_paths=[settings.boost_path, settings.tnfox_include_path] ! , define_symbols=settings.defined_symbols_gccxml ) mb.run_query_optimizer() print 'filtering declarations' Index: call_policies.py =================================================================== RCS file: /cvsroot/pygccxml/source/pyplusplus/examples/tnfox/call_policies.py,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** call_policies.py 29 Mar 2006 04:26:58 -0000 1.7 --- call_policies.py 29 Mar 2006 07:03:54 -0000 1.8 *************** *** 282,286 **** , "::FX::FXPopup::getPrevActive" : return_internal_reference() , "::FX::FXProcess::instance" : return_value_policy( reference_existing_object ) - , "::FX::FXProcess::permissions" : return_internal_reference() , "::FX::FXProcess::threadPool" : return_value_policy( reference_existing_object ) , "::FX::FXProgressBar::getFont" : return_internal_reference() --- 282,285 ---- *************** *** 355,359 **** , "::FX::FXTime::toUTC" : return_self() , "::FX::FXToggleButton::getAltIcon" : return_internal_reference() - , "::FX::FXToolBar::findDockAtSide" : return_value_policy( reference_existing_object ) , "::FX::FXToolTip::getFont" : return_internal_reference() , "::FX::FXTopWindow::getIcon" : return_value_policy( reference_existing_object ) --- 354,357 ---- |
From: Roman <rom...@us...> - 2006-03-29 07:02:40
|
Update of /cvsroot/pygccxml/source/pyplusplus/decl_wrappers In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17227/pyplusplus/decl_wrappers Modified Files: scopedef_wrapper.py Log Message: adding new flag for multiple select functionality: select can raise an exception if nothing has been selected Index: scopedef_wrapper.py =================================================================== RCS file: /cvsroot/pygccxml/source/pyplusplus/decl_wrappers/scopedef_wrapper.py,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** scopedef_wrapper.py 29 Mar 2006 04:23:45 -0000 1.5 --- scopedef_wrapper.py 29 Mar 2006 07:02:36 -0000 1.6 *************** *** 12,15 **** --- 12,17 ---- class scopedef_t(decl_wrapper.decl_wrapper_t): RECURSIVE_DEFAULT = True + ALLOW_EMPTY_MDECL_WRAPPER = False + def __init__(self): decl_wrapper.decl_wrapper_t.__init__( self ) *************** *** 28,34 **** while bases: base = bases.pop() ! if 'pygccxml' not in base.__module__: continue if base in visited: continue types.append( base ) --- 30,38 ---- while bases: base = bases.pop() ! if base is declarations.declaration_t: continue if base in visited: + continue + if 'pygccxml' not in base.__module__: continue types.append( base ) *************** *** 39,44 **** #start_time = time.clock() ! decl_types = [ declarations.declaration_t ! , declarations.scopedef_t , declarations.enumeration_t , declarations.namespace_t --- 43,47 ---- #start_time = time.clock() ! decl_types = [ declarations.scopedef_t , declarations.enumeration_t , declarations.namespace_t *************** *** 164,167 **** --- 167,174 ---- found = declarations.matcher.find( matcher, decls, False ) mfound = mdecl_wrapper.mdecl_wrapper_t( found ) + decl_wrapper.logger.info( 'There are %d declarations that match query' % len(mfound) ) + if not mfound and not self.ALLOW_EMPTY_MDECL_WRAPPER: + raise RuntimeError( "Multi declaration query returned 0 declarations." ) + decl_wrapper.logger.info( 'query execution took : %f seconds' % ( time.clock() - start_time ) ) return mfound |