[pygccxml-commit] SF.net SVN: pygccxml:[1831] pyplusplus_dev
Brought to you by:
mbaas,
roman_yakovenko
From: <rom...@us...> - 2010-03-22 12:32:05
|
Revision: 1831 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1831&view=rev Author: roman_yakovenko Date: 2010-03-22 12:31:59 +0000 (Mon, 22 Mar 2010) Log Message: ----------- protected mem. variables: adding one more use case Modified Paths: -------------- pyplusplus_dev/pyplusplus/code_creators/member_variable.py pyplusplus_dev/unittests/data/member_variables_protected_to_be_exported.hpp pyplusplus_dev/unittests/fundamental_tester_base.py Modified: pyplusplus_dev/pyplusplus/code_creators/member_variable.py =================================================================== --- pyplusplus_dev/pyplusplus/code_creators/member_variable.py 2010-03-21 07:24:29 UTC (rev 1830) +++ pyplusplus_dev/pyplusplus/code_creators/member_variable.py 2010-03-22 12:31:59 UTC (rev 1831) @@ -627,13 +627,17 @@ def __init__(self, variable ): code_creator.code_creator_t.__init__( self ) declaration_based.declaration_based_t.__init__( self, declaration=variable) + self.__is_protected = bool( variable.access_type == declarations.ACCESS_TYPES.PROTECTED ) def _get_getter_full_name(self): return self.parent.full_name + '::' + 'get_' + self.declaration.name getter_full_name = property( _get_getter_full_name ) def _get_class_inst_type( self ): - return declarations.declarated_t( self.declaration.parent ) + if self.__is_protected: + return declarations.dummy_type_t( self.parent.full_name ) + else: + return declarations.declarated_t( self.declaration.parent ) def _get_exported_var_type( self ): type_ = declarations.remove_reference( self.declaration.type ) @@ -685,7 +689,7 @@ def _create_impl(self): answer = [] - cls_type = algorithm.create_identifier( self, self.declaration.parent.decl_string ) + cls_type = algorithm.create_identifier( self, self._get_class_inst_type().decl_string ) substitutions = dict( type=self._get_exported_var_type().decl_string , class_type=cls_type Modified: pyplusplus_dev/unittests/data/member_variables_protected_to_be_exported.hpp =================================================================== --- pyplusplus_dev/unittests/data/member_variables_protected_to_be_exported.hpp 2010-03-21 07:24:29 UTC (rev 1830) +++ pyplusplus_dev/unittests/data/member_variables_protected_to_be_exported.hpp 2010-03-22 12:31:59 UTC (rev 1831) @@ -112,7 +112,7 @@ std::auto_ptr<tree_node_t> create_tree(); } - +*/ namespace reference{ enum EFruit{ apple, orange }; @@ -142,7 +142,7 @@ }; } - +/* namespace statics{ struct mem_var_str_t{ Modified: pyplusplus_dev/unittests/fundamental_tester_base.py =================================================================== --- pyplusplus_dev/unittests/fundamental_tester_base.py 2010-03-21 07:24:29 UTC (rev 1830) +++ pyplusplus_dev/unittests/fundamental_tester_base.py 2010-03-22 12:31:59 UTC (rev 1831) @@ -97,7 +97,11 @@ def _create_extension_source_file(self): global LICENSE - mb = module_builder.module_builder_t( [self.__to_be_exported_header] + test_header_cfg \ + = pygccxml.parser.create_cached_source_fc( self.__to_be_exported_header + , self.__generated_source_file_name + '.xml' ) + + mb = module_builder.module_builder_t( [ test_header_cfg ] #, undefine_symbols=['__MINGW32__'] , indexing_suite_version=self.__indexing_suite_version , gccxml_config=autoconfig.cxx_parsers_cfg.gccxml) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |