parameters: (self, node, kind)
return_statement: return sig_dict
docstring: Collects the memberdef nodes and corresponding signatures that
          correspond to public function entries that are at most depth 2 deeper
          than the current (compounddef) node. Returns a dictionary with 
          function signatures (what swig expects after the %feature directive)
          as keys, and a list of corresponding memberdef nodes as values.
docstring_summary: Collects the memberdef nodes and corresponding signatures that
          correspond to public function entries that are at most depth 2 deeper
          than the current (compounddef) node. Returns a dictionary with 
          function signatures (what swig expects after the %feature directive)
          as keys, and a list of corresponding memberdef nodes as values.
docstring_tokens: Collects the memberdef nodes and corresponding signatures that correspond to public function entries that are at most depth 2 deeper than the current ( compounddef ) node . Returns a dictionary with function signatures ( what swig expects after the %feature directive ) as keys and a list of corresponding memberdef nodes as values .
function: def get_memberdef_nodes_and_signatures(self, node, kind):
          """Collects the memberdef nodes and corresponding signatures that
          correspond to public function entries that are at most depth 2 deeper
          than the current (compounddef) node. Returns a dictionary with 
          function signatures (what swig expects after the %feature directive)
          as keys, and a list of corresponding memberdef nodes as values."""
          sig_dict = {}
          sig_prefix = ''
          if kind in ('file', 'namespace'):
              ns_node = node.getElementsByTagName('innernamespace')
              if not ns_node and kind == 'namespace':
                  ns_node = node.getElementsByTagName('compoundname')
              if ns_node:
                  sig_prefix = self.extract_text(ns_node[0]) + '::'
          elif kind in ('class', 'struct'):
              # Get the full function name.
              cn_node = node.getElementsByTagName('compoundname')
              sig_prefix = self.extract_text(cn_node[0]) + '::'
  
          md_nodes = self.get_specific_subnodes(node, 'memberdef', recursive=2)
          for n in md_nodes:
              if n.attributes['prot'].value != 'public':
                  continue
              if n.attributes['kind'].value in ['variable', 'typedef']:
                  continue
              if not self.get_specific_subnodes(n, 'definition'):
                  continue
              name = self.extract_text(self.get_specific_subnodes(n, 'name'))
              if name[:8] == 'operator':
                  continue
              sig = sig_prefix + name
              if sig in sig_dict:
                  sig_dict[sig].append(n)
              else:
                  sig_dict[sig] = [n]
          return sig_dict
function_tokens: def get_memberdef_nodes_and_signatures ( self , node , kind ) : sig_dict = { } sig_prefix = '' if kind in ( 'file' , 'namespace' ) : ns_node = node . getElementsByTagName ( 'innernamespace' ) if not ns_node and kind == 'namespace' : ns_node = node . getElementsByTagName ( 'compoundname' ) if ns_node : sig_prefix = self . extract_text ( ns_node [ 0 ] ) + '::' elif kind in ( 'class' , 'struct' ) : # Get the full function name. cn_node = node . getElementsByTagName ( 'compoundname' ) sig_prefix = self . extract_text ( cn_node [ 0 ] ) + '::' md_nodes = self . get_specific_subnodes ( node , 'memberdef' , recursive = 2 ) for n in md_nodes : if n . attributes [ 'prot' ] . value != 'public' : continue if n . attributes [ 'kind' ] . value in [ 'variable' , 'typedef' ] : continue if not self . get_specific_subnodes ( n , 'definition' ) : continue name = self . extract_text ( self . get_specific_subnodes ( n , 'name' ) ) if name [ : 8 ] == 'operator' : continue sig = sig_prefix + name if sig in sig_dict : sig_dict [ sig ] . append ( n ) else : sig_dict [ sig ] = [ n ] return sig_dict