[pygccxml-commit] source/pyplusplus/module_builder builder.py,1.5,1.6
Brought to you by:
mbaas,
roman_yakovenko
From: Roman <rom...@us...> - 2006-03-29 04:23:49
|
Update of /cvsroot/pygccxml/source/pyplusplus/module_builder In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30165/pyplusplus/module_builder Modified Files: builder.py Log Message: improving "select" methods performance. Now the performance is not a bottleneck any more Index: builder.py =================================================================== RCS file: /cvsroot/pygccxml/source/pyplusplus/module_builder/builder.py,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** builder.py 22 Mar 2006 08:05:35 -0000 1.5 --- builder.py 29 Mar 2006 04:23:45 -0000 1.6 *************** *** 15,20 **** class module_builder_t(object): ! def __init__( self, files, gccxml_config=None, compilation_mode=None, cache=None ): object.__init__( self ) self.__global_ns = self.__parse_declarations( files , gccxml_config --- 15,38 ---- class module_builder_t(object): ! def __init__( self ! , files ! , gccxml_path='' ! , working_directory='.' ! , include_paths=None ! , define_symbols=None ! , undefine_symbols=None ! , start_with_declarations=None ! , compilation_verbose=False ! , compilation_mode=None ! , cache=None ): object.__init__( self ) + gccxml_config = parser.config_t( + gccxml_path=gccxml_path + , working_directory=working_directory + , include_paths=include_paths + , define_symbols=define_symbols + , undefine_symbols=undefine_symbols + , start_with_declarations=start_with_declarations + , verbose=compilation_verbose) self.__global_ns = self.__parse_declarations( files , gccxml_config *************** *** 27,30 **** --- 45,54 ---- global_ns = property( _get_global_ns, doc="reference to global namespace" ) + def run_query_optimizer(self): + map( lambda decl: decl.init_optimizer() + , filter( lambda decl: isinstance( decl, decls_package.scopedef_t ) + , decls_package.make_flatten( self.__global_ns ) ) ) + self.__global_ns.init_optimizer() + def __parse_declarations( self, files, gccxml_config, compilation_mode, cache ): if None is gccxml_config: *************** *** 76,80 **** def _get_module( self ): if not self.__code_creator: ! raise RuntimeError( "self.module is equal to None. Did you forget to call create_module function?" ) return self.__code_creator code_creator = property( _get_module, doc="reference to L{code_creators.module_t} instance" ) --- 100,104 ---- def _get_module( self ): if not self.__code_creator: ! raise RuntimeError( "self.module is equal to None. Did you forget to call build_code_creator function?" ) return self.__code_creator code_creator = property( _get_module, doc="reference to L{code_creators.module_t} instance" ) |