提交 5f448b1e authored 作者: carriepl's avatar carriepl

Add optimizer argument to Mode.clone()

上级 2e4e31be
...@@ -340,13 +340,8 @@ class Mode(object): ...@@ -340,13 +340,8 @@ class Mode(object):
optimizations. optimizations.
""" """
m = self.clone()
new_optimizer = self.provided_optimizer.register(*optimizations) new_optimizer = self.provided_optimizer.register(*optimizations)
m.provided_optimizer = new_optimizer return self.clone(optimizer=new_optimizer)
m._optimizer = new_optimizer
return m
def excluding(self, *tags): def excluding(self, *tags):
link, opt = self.get_linker_optimizer(self.provided_linker, link, opt = self.get_linker_optimizer(self.provided_linker,
...@@ -358,7 +353,7 @@ class Mode(object): ...@@ -358,7 +353,7 @@ class Mode(object):
self.provided_optimizer) self.provided_optimizer)
return self.__class__(linker=link, optimizer=opt.requiring(*tags)) return self.__class__(linker=link, optimizer=opt.requiring(*tags))
def clone(self, link_kwargs={}, **kwargs): def clone(self, link_kwargs={}, optimizer=None **kwargs):
""" """
Create a new instance of this Mode. Create a new instance of this Mode.
...@@ -368,7 +363,10 @@ class Mode(object): ...@@ -368,7 +363,10 @@ class Mode(object):
""" """
new_linker = self.linker.clone(**link_kwargs) new_linker = self.linker.clone(**link_kwargs)
new_optimizer = self.provided_optimizer if optimizer:
new_optimizer = optimizer
else:
new_optimizer = self.provided_optimizer
new_mode = type(self)(linker=new_linker, new_mode = type(self)(linker=new_linker,
optimizer=new_optimizer) optimizer=new_optimizer)
return new_mode return new_mode
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论