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

# type calldef_t

source code

                   object --+
                            |
    declaration.declaration_t --+
                                |
                               calldef_t

Known Subclasses:
  - member_calldef_t
  - , free_calldef_t

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)