[pygccxml-commit] SF.net SVN: pygccxml:[1694] pyplusplus_dev
Brought to you by:
mbaas,
roman_yakovenko
|
From: <rom...@us...> - 2009-02-21 12:29:47
|
Revision: 1694
http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1694&view=rev
Author: roman_yakovenko
Date: 2009-02-21 12:29:41 +0000 (Sat, 21 Feb 2009)
Log Message:
-----------
adding ability to generate code for "included" containers
Modified Paths:
--------------
pyplusplus_dev/pyplusplus/creators_factory/bpcreator.py
pyplusplus_dev/pyplusplus/creators_factory/types_database.py
pyplusplus_dev/pyplusplus/decl_wrappers/class_wrapper.py
pyplusplus_dev/unittests/indexing_suites2_tester.py
Modified: pyplusplus_dev/pyplusplus/creators_factory/bpcreator.py
===================================================================
--- pyplusplus_dev/pyplusplus/creators_factory/bpcreator.py 2009-02-19 10:54:51 UTC (rev 1693)
+++ pyplusplus_dev/pyplusplus/creators_factory/bpcreator.py 2009-02-21 12:29:41 UTC (rev 1694)
@@ -565,6 +565,9 @@
return exposed
def visit_class(self ):
+ if self.curr_decl.indexing_suite:
+ self.__types_db.update_containers( self.curr_decl )
+ return #it will be exposed later, using other code creators
self.__dependencies_manager.add_exported( self.curr_decl )
cls_decl = self.curr_decl
cls_parent_cc = self.curr_code_creator
Modified: pyplusplus_dev/pyplusplus/creators_factory/types_database.py
===================================================================
--- pyplusplus_dev/pyplusplus/creators_factory/types_database.py 2009-02-19 10:54:51 UTC (rev 1693)
+++ pyplusplus_dev/pyplusplus/creators_factory/types_database.py 2009-02-21 12:29:41 UTC (rev 1694)
@@ -20,6 +20,10 @@
self.__normalize_data = [ ',', '<', '>', '*', '&', '(', ')', '::' ]
self.__containers = set()
+ def update_containers( self, decl ):
+ assert decl.indexing_suite
+ self.__containers.add( decl )
+
def update( self, decl ):
if isinstance( decl, declarations.calldef_t ):
if not isinstance( decl, declarations.constructor_t ):
Modified: pyplusplus_dev/pyplusplus/decl_wrappers/class_wrapper.py
===================================================================
--- pyplusplus_dev/pyplusplus/decl_wrappers/class_wrapper.py 2009-02-19 10:54:51 UTC (rev 1693)
+++ pyplusplus_dev/pyplusplus/decl_wrappers/class_wrapper.py 2009-02-21 12:29:41 UTC (rev 1694)
@@ -642,6 +642,8 @@
return explanation
def _readme_impl( self ):
+ if self.indexing_suite:
+ return []
explanation = self.is_wrapper_needed()
for fc in self.fake_constructors:
if fc.ignore:
Modified: pyplusplus_dev/unittests/indexing_suites2_tester.py
===================================================================
--- pyplusplus_dev/unittests/indexing_suites2_tester.py 2009-02-19 10:54:51 UTC (rev 1693)
+++ pyplusplus_dev/unittests/indexing_suites2_tester.py 2009-02-21 12:29:41 UTC (rev 1694)
@@ -25,6 +25,7 @@
items = generator.global_ns.typedef( 'items_t' )
items = declarations.remove_declarated( items.type )
items.alias = "items_t"
+ items.include()
strings = generator.global_ns.typedef( 'strings_t' )
strings = declarations.remove_declarated( strings.type )
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|