Override does not change the order of inherited accessibles.
except when explicitely mentioned with reorder=True improved test_modules for unique accessibles, as this was related with Accessible.ctr Change-Id: I61877de9300bb0297c88a6c44bb265c634937856 Reviewed-on: https://forge.frm2.tum.de/review/19693 Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de> Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
This commit is contained in:
@@ -48,7 +48,6 @@ class Accessible(CountedObj):
|
||||
def copy(self):
|
||||
# return a copy of ourselfs
|
||||
props = self.__dict__.copy()
|
||||
props.pop('ctr')
|
||||
return type(self)(**props)
|
||||
|
||||
def exported_properties(self):
|
||||
@@ -155,10 +154,12 @@ class Override(CountedObj):
|
||||
"""Stores the overrides to be applied to a Parameter
|
||||
|
||||
note: overrides are applied by the metaclass during class creating
|
||||
reorder= True: use position of Override instead of inherited for the order
|
||||
"""
|
||||
def __init__(self, description="", **kwds):
|
||||
def __init__(self, description="", reorder=False, **kwds):
|
||||
super(Override, self).__init__()
|
||||
self.kwds = kwds
|
||||
self.reorder = reorder
|
||||
# allow to override description without keyword
|
||||
if description:
|
||||
self.kwds['description'] = description
|
||||
@@ -177,7 +178,8 @@ class Override(CountedObj):
|
||||
raise ProgrammingError( "%s is not a valid %s property" %
|
||||
(key, type(obj).__name__))
|
||||
props.update(self.kwds)
|
||||
props['ctr'] = self.ctr
|
||||
if self.reorder:
|
||||
props['ctr'] = self.ctr
|
||||
return type(obj)(**props)
|
||||
else:
|
||||
raise ProgrammingError(
|
||||
|
||||
Reference in New Issue
Block a user