Package pygccxml :: Package declarations :: Module calldef :: Class calldef_t

type calldef_t

source code

               object --+    
                        |    
declaration.declaration_t --+
                            |
                           calldef_t
Known Subclasses:

base class for all "callable" declarations

Instance Methods
 
__init__(self, name='', arguments=None, exceptions=None, return_type=None, has_extern=False, does_throw=True) source code
 
__eq__(self, other)
function will return true, if both declarations refers to the same object.
source code
 
i_depend_on_them(self, recursive=True)
return list of all types and declarations the declaration depends on
source code

Inherited from declaration.declaration_t: __lt__, __ne__, __str__, create_decl_string

Properties
list of argument_t arguments
The argument list.
  has_ellipsis
  argument_types
list of all argument types
  required_args
list of all required arguments
  optional_args
list of all optional arguments, the arguments that have default value
  does_throw
If False, than function does not throw any exception.
list of declaration_t exceptions
The list of exceptions.
type_t return_type
The type of the return value of the "callable" or None (constructors).
list of calldef_t overloads
A list of overloaded "callables" (i.e.
bool has_extern
Was this callable declared as "extern"?
  demangled_name
returns function demangled name.

Inherited from declaration.declaration_t: attributes, cache, compiler, decl_string, demangled, is_artificial, location, mangled, name, parent, partial_decl_string, partial_name, top_parent

Method Details

__init__(self, name='', arguments=None, exceptions=None, return_type=None, has_extern=False, does_throw=True)
(Constructor)

source code 
Overrides: declaration.declaration_t.__init__

__eq__(self, other)
(Equality operator)

source code 

function will return true, if both declarations refers to the same object. This function could be implemented in terms of _get__cmp__data, but in this case it will downgrade performance. self.mangled property is not compared, because it could be chaned from one compilation time to an other.

Overrides: declaration.declaration_t.__eq__
(inherited documentation)

i_depend_on_them(self, recursive=True)

source code 

return list of all types and declarations the declaration depends on

Overrides: declaration.declaration_t.i_depend_on_them
(inherited documentation)

Property Details

arguments

The argument list.

Get Method:
_get_arguments(self)
Set Method:
_set_arguments(self, arguments)
Type:
list of argument_t

has_ellipsis

argument_types

list of all argument types

required_args

list of all required arguments

optional_args

list of all optional arguments, the arguments that have default value

does_throw

If False, than function does not throw any exception. In this case, function was declared with empty throw statement.

Get Method:
_get_does_throw(self)
Set Method:
_set_does_throw(self, does_throw)

exceptions

The list of exceptions.

Get Method:
_get_exceptions(self)
Set Method:
_set_exceptions(self, exceptions)
Type:
list of declaration_t

return_type

The type of the return value of the "callable" or None (constructors).

Get Method:
_get_return_type(self)
Set Method:
_set_return_type(self, return_type)
Type:
type_t

overloads

A list of overloaded "callables" (i.e. other callables with the same name within the same scope.

Type:
list of calldef_t

has_extern

Was this callable declared as "extern"?

Get Method:
_get_has_extern(self)
Set Method:
_set_has_extern(self, has_extern)
Type:
bool

demangled_name

returns function demangled name. It can help you to deal with function template instantiations

Get Method:
_get_demangled_name(self)