fix inheritance problem with mixin
- a mixin should not inherit from module then it has Parameters - Parameters in mixins must be complete, not just overrides - check precedence of read_<param> or handler Change-Id: I72d9355a1982770d1a99d9552a20330103c97edb
This commit is contained in:
@@ -93,10 +93,13 @@ class HasAccessibles(HasProperties):
|
||||
rfunc_handler = pobj.handler.get_read_func(cls, pname) if pobj.handler else None
|
||||
wrapped = hasattr(rfunc, '__wrapped__')
|
||||
if rfunc_handler:
|
||||
if rfunc and not wrapped:
|
||||
raise ProgrammingError("parameter '%s' can not have a handler "
|
||||
"and read_%s" % (pname, pname))
|
||||
rfunc = rfunc_handler
|
||||
if 'read_' + pname in cls.__dict__:
|
||||
if pname in cls.__dict__:
|
||||
raise ProgrammingError("parameter '%s' can not have a handler "
|
||||
"and read_%s" % (pname, pname))
|
||||
# read_<pname> overwrites inherited handler
|
||||
else:
|
||||
rfunc = rfunc_handler
|
||||
wrapped = False
|
||||
|
||||
# create wrapper except when read function is already wrapped
|
||||
|
||||
Reference in New Issue
Block a user