Package pyplusplus :: Package code_creators :: Module declaration_based |

# Source Code for Module pyplusplus.code_creators.declaration_based

     1  # Copyright 2004-2008 Roman Yakovenko.
     2  # Distributed under the Boost Software License, Version 1.0. (See
     3  # accompanying file LICENSE_1_0.txt or copy at
     4  # http://www.boost.org/LICENSE_1_0.txt)
     5
     6  import algorithm
     7  import code_creator
     8
     9 -class declaration_based_t:
    10      """Code creator that is based on a declaration.
    11      """
    12 -    def __init__(self, declaration ):
    13          """Constructor.
    14
    15          @param declaration: Declaration object
    16          @type declaration: L{decl_wrapper_t<decl_wrappers.decl_wrapper_t>}
    17          @param parent: Parent code creator.
    18          @type parent: code_creator_t
    19          """
    20          self._decl = declaration
    21
    22 -    def _generate_valid_name(self, name=None):
    23          if name == None:
    24              name = self.declaration.name
    25          return algorithm.create_valid_name( name )
    26
    27      @property
    28 -    def declaration(self):
    29          """The declaration this code creator is based on.
    30          @type: L{decl_wrapper_t<decl_wrappers.decl_wrapper_t>}
    31          """
    32          return self._decl
    33
    34 -    def _get_alias_impl( self ):
    35          return self.declaration.alias
    36
    37 -    def _get_alias(self):
    38          return self._get_alias_impl()
    39 -    def _set_alias(self, alias):
    40          self.declaration.alias = alias
    41      alias = property( _get_alias, _set_alias )
    42
    43      @property
    44 -    def decl_identifier( self ):
    45          return algorithm.create_identifier( self, self.declaration.partial_decl_string )
    46
    47      @property
    48 -    def documentation( self ):
    49          if None is self.declaration.documentation:
    50              return ''
    51          return self.declaration.documentation
    52
    53 -    def get_user_headers( self, recursive=False, unique=False ):
    54          """return list of user header files to be included from the generated file"""
    55          return self.declaration.include_files
    56