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