return_type, func_type_args, self.has_varargs,
exception_value = exc_val, exception_check = exc_check,
calling_convention = self.base.calling_convention,
- nogil = self.nogil, with_gil = self.with_gil)
+ nogil = self.nogil, with_gil = self.with_gil, is_overridable = self.overridable)
return self.base.analyse(func_type, env)
if level not in ('module', 'module_pxd'):
s.error("ctypedef statement not allowed here")
if api:
- error(s.pos, "'api' not allowed with 'ctypedef'")
+ error(s.position(), "'api' not allowed with 'ctypedef'")
return p_ctypedef_statement(s, level, visibility, api)
elif s.sy == 'DEF':
return p_DEF_statement(s)
modifiers = p_c_modifiers(s)
base_type = p_c_base_type(s)
declarator = p_c_declarator(s, cmethod_flag = cmethod_flag, assignable = 1, nonempty = 1)
+ declarator.overridable = overridable
if s.sy == ':':
if level not in ('module', 'c_class'):
s.error("C function definition not allowed here")
base_type = base_type,
declarators = declarators,
in_pxd = level == 'module_pxd',
- api = api)
+ api = api,
+ overridable = overridable)
return result
def p_ctypedef_statement(s, level, visibility = 'private', api = 0):