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)