Revision: 49
Author: roman_yakovenko
Date: 2006-05-01 22:20:07 -0700 (Mon, 01 May 2006)
ViewCVS: http://svn.sourceforge.net/pygccxml/?rev=49&view=rev
Log Message:
-----------
code cleanup
moving treatment of pure virtual functions to module_creator/creator.py
Modified Paths:
--------------
pyplusplus_dev/pyplusplus/code_creators/class_declaration.py
Modified: pyplusplus_dev/pyplusplus/code_creators/class_declaration.py
===================================================================
--- pyplusplus_dev/pyplusplus/code_creators/class_declaration.py 2006-05-02 05:18:50 UTC (rev 48)
+++ pyplusplus_dev/pyplusplus/code_creators/class_declaration.py 2006-05-02 05:20:07 UTC (rev 49)
@@ -24,24 +24,12 @@
, declaration=class_inst )
self._wrapper = wrapper
- def _get_always_expose_using_scope( self ):
- return self.declaration.always_expose_using_scope
- def _set_always_expose_using_scope( self, value ):
- self.declaration.always_expose_using_scope = value
- always_expose_using_scope = property( _get_always_expose_using_scope, _set_always_expose_using_scope )
-
def _get_wrapper( self ):
return self._wrapper
def _set_wrapper( self, new_wrapper ):
self._wrapper = new_wrapper
wrapper = property( _get_wrapper, _set_wrapper )
- def _get_redefine_operators( self ):
- return self.declaration.redefine_operators
- def _set_redefine_operators( self, new_value ):
- self.declaration.redefine_operators = new_value
- redefine_operators = property( _get_redefine_operators, _set_redefine_operators )
-
def _get_held_type(self):
return self.declaration.held_type
def _set_held_type(self, held_type):
@@ -173,7 +161,7 @@
class_constructor, used_init = self._generate_constructor()
result.append( class_constructor )
creators = self.creators
- if self.redefine_operators:
+ if self.declaration.redefine_operators:
creators = self.creators + self._get_base_operators(base_classes, base_creators)
for x in creators:
if not ( x is used_init ):
@@ -220,7 +208,7 @@
result[-1] = result[-1] + '( %s );' % self.class_var_name
creators = self.creators
- if self.redefine_operators:
+ if self.declaration.redefine_operators:
creators = self.creators + self._get_base_operators(base_classes, base_creators)
for x in creators:
@@ -243,7 +231,7 @@
def is_exposed_using_scope(self):
scoped_exporters = filter( lambda x: self._should_creator_be_exported_under_scope( x )
, self.creators )
- return bool( self.always_expose_using_scope or scoped_exporters )
+ return bool( self.declaration.always_expose_using_scope or scoped_exporters )
def _create_impl(self):
if self.is_exposed_using_scope():
@@ -314,28 +302,11 @@
def _create_bases(self):
return ', '.join( [self.exposed_identifier, self.boost_wrapper_identifier] )
-
- def _get_pure_virtual_function_creators( self ):
- creators = []
- for base_wrapper in self.base_wrappers:
- for creator in base_wrapper.creators:
- if not isinstance( creator, declaration_based.declaration_based_t ):
- continue
- if not isinstance( creator.declaration, declarations.member_calldef_t ):
- continue
- if creator.declaration.virtuality != declarations.VIRTUALITY_TYPES.PURE_VIRTUAL:
- continue
- creators.append( creator )
- return creators
-
+
def _create_impl(self):
answer = ['struct %s : %s {' % ( self.wrapper_alias, self._create_bases() )]
answer.append( '' )
answer.append( self.create_internal_code( self.creators ) )
- pvcreators = self._get_pure_virtual_function_creators()
- if pvcreators:
- answer.append( '' )
- answer.append( self.create_internal_code( pvcreators ) )
answer.append( '' )
answer.append( '};' )
return os.linesep.join( answer )
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|