[pygccxml-commit] SF.net SVN: pygccxml: [484] pyplusplus_dev/pyplusplus/utils
Brought to you by:
mbaas,
roman_yakovenko
From: <al...@us...> - 2006-08-28 19:45:58
|
Revision: 484 Author: allenb Date: 2006-08-28 12:45:50 -0700 (Mon, 28 Aug 2006) ViewCVS: http://svn.sourceforge.net/pygccxml/?rev=484&view=rev Log Message: ----------- Expose make_flatten_generator and use it. Modified Paths: -------------- pyplusplus_dev/pyplusplus/code_creators/__init__.py pyplusplus_dev/pyplusplus/code_creators/algorithm.py pyplusplus_dev/pyplusplus/code_creators/class_declaration.py pyplusplus_dev/pyplusplus/module_creator/creator.py pyplusplus_dev/pyplusplus/utils/__init__.py Modified: pyplusplus_dev/pyplusplus/code_creators/__init__.py =================================================================== --- pyplusplus_dev/pyplusplus/code_creators/__init__.py 2006-08-28 19:41:30 UTC (rev 483) +++ pyplusplus_dev/pyplusplus/code_creators/__init__.py 2006-08-28 19:45:50 UTC (rev 484) @@ -17,7 +17,7 @@ from code_creator import code_creator_t from compound import compound_t -from algorithm import make_flatten +from algorithm import (make_flatten, make_flatten_list, make_flatten_generator) from algorithm import creator_finder from algorithm import create_identifier from algorithm import creators_affect_on_me Modified: pyplusplus_dev/pyplusplus/code_creators/algorithm.py =================================================================== --- pyplusplus_dev/pyplusplus/code_creators/algorithm.py 2006-08-28 19:41:30 UTC (rev 483) +++ pyplusplus_dev/pyplusplus/code_creators/algorithm.py 2006-08-28 19:45:50 UTC (rev 484) @@ -37,7 +37,7 @@ answer.extend( proceed_single( creator ) ) return answer -def _make_flatten_generator( creator_or_creators ): +def make_flatten_generator( creator_or_creators ): import compound def proceed_single( creator ): yield creator @@ -61,6 +61,7 @@ """ make_flatten - function that will create flat representation of code creators tree. """ +make_flatten_list = _make_flatten_list make_flatten = _make_flatten_list class creator_finder: @@ -80,7 +81,7 @@ import declaration_based #prevent cyclic import search_area = where if recursive: - search_area = make_flatten( where ) + search_area = make_flatten_generator( where ) return filter( lambda inst: isinstance( inst, declaration_based.declaration_based_t ) \ and declaration_matcher( inst.declaration ) , search_area ) @@ -96,5 +97,5 @@ def find_by_class_instance( what, where, recursive=True ): search_area = where if recursive: - search_area = make_flatten( where ) - return filter( lambda inst: isinstance( inst, what ), search_area ) \ No newline at end of file + search_area = make_flatten_generator( where ) + return filter( lambda inst: isinstance( inst, what ), search_area ) Modified: pyplusplus_dev/pyplusplus/code_creators/class_declaration.py =================================================================== --- pyplusplus_dev/pyplusplus/code_creators/class_declaration.py 2006-08-28 19:41:30 UTC (rev 483) +++ pyplusplus_dev/pyplusplus/code_creators/class_declaration.py 2006-08-28 19:45:50 UTC (rev 484) @@ -120,7 +120,7 @@ base_classes[ id( hierarchy_info.related_class ) ] = hierarchy_info base_classes_size = len( base_classes ) creators = {} - for creator in algorithm.make_flatten( self.top_parent.body.creators ): + for creator in algorithm.make_flatten_generator( self.top_parent.body.creators ): if not isinstance( creator, class_t ): continue if id(creator.declaration) in base_classes: Modified: pyplusplus_dev/pyplusplus/module_creator/creator.py =================================================================== --- pyplusplus_dev/pyplusplus/module_creator/creator.py 2006-08-28 19:41:30 UTC (rev 483) +++ pyplusplus_dev/pyplusplus/module_creator/creator.py 2006-08-28 19:45:50 UTC (rev 484) @@ -544,7 +544,7 @@ self._treat_smart_pointers() if self.__enable_indexing_suite: self._treat_indexing_suite() - for creator in code_creators.make_flatten( self.__extmodule ): + for creator in code_creators.make_flatten_generator( self.__extmodule ): creator.target_configuration = self.__target_configuration #last action. self._append_user_code() Modified: pyplusplus_dev/pyplusplus/utils/__init__.py =================================================================== --- pyplusplus_dev/pyplusplus/utils/__init__.py 2006-08-28 19:41:30 UTC (rev 483) +++ pyplusplus_dev/pyplusplus/utils/__init__.py 2006-08-28 19:45:50 UTC (rev 484) @@ -27,7 +27,7 @@ @staticmethod def print_( extmodule ): creators = filter( missing_call_policies._selector - , code_creators.make_flatten( extmodule.creators ) ) + , code_creators.make_flatten_generator( extmodule.creators ) ) for creator in creators: print creator.declaration.__class__.__name__, ': ', declarations.full_name( creator.declaration ) print ' *** MISSING CALL POLICY', creator.declaration.function_type().decl_string @@ -36,7 +36,7 @@ @staticmethod def exclude( extmodule ): creators = filter( missing_call_policies._selector - , code_creators.make_flatten( extmodule.creators ) ) + , code_creators.make_flatten_generator( extmodule.creators ) ) for creator in creators: creator.parent.remove_creator( creator ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |