converters = [p.converter for p in parameters]
has_option_groups = parameters and (parameters[0].group or parameters[-1].group)
- default_return_converter = (not f.return_converter or
- f.return_converter.type == 'PyObject *')
-
+ default_return_converter = f.return_converter.type == 'PyObject *'
new_or_init = f.kind.new_or_init
vararg: int | str = NO_VARARG
keyword_only: bool
positional_only: bool
group: int
- parameter_state: int
+ parameter_state: ParamState
seen_positional_with_default: bool
indent: IndentStack
kind: FunctionKind
if not return_converter:
return_converter = CReturnConverter()
- if not module:
- fail("Undefined module used in declaration of {full_name.strip()!r}.")
self.function = Function(name=function_name, full_name=full_name, module=module, cls=cls, c_basename=c_basename,
return_converter=return_converter, kind=self.kind, coexist=self.coexist)
self.block.signatures.append(self.function)
# and be strict!
strict = True
strict_concatenate = True
-enable_error_code = ignore-without-code,redundant-expr
+enable_error_code = ignore-without-code,redundant-expr,truthy-bool
warn_unreachable = True