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