提交 8e856888 authored 作者: Olivier Breuleux's avatar Olivier Breuleux

corrective to gof.ext.view_roots

上级 f52cd452
...@@ -8,6 +8,7 @@ from env import InconsistencyError ...@@ -8,6 +8,7 @@ from env import InconsistencyError
__all__ = ['Destroyer', __all__ = ['Destroyer',
'Viewer', 'Viewer',
'view_roots',
'DestroyHandler', 'DestroyHandler',
] ]
...@@ -470,7 +471,8 @@ class Viewer: ...@@ -470,7 +471,8 @@ class Viewer:
""" """
raise AbstractFunctionError() raise AbstractFunctionError()
def view_roots(self, r):
def view_roots(r):
""" """
Utility function that returns the leaves of a search through Utility function that returns the leaves of a search through
consecutive view_map()s. consecutive view_map()s.
...@@ -480,11 +482,11 @@ class Viewer: ...@@ -480,11 +482,11 @@ class Viewer:
try: try:
view_map = owner.view_map() view_map = owner.view_map()
except AttributeError, AbstractFunctionError: except AttributeError, AbstractFunctionError:
return [] return [r]
if r in view_map: if r in view_map:
answer = [] answer = []
for r2 in view_map[r]: for r2 in view_map[r]:
answer.extend(helper(r2)) answer += view_roots(r2)
return answer return answer
else: else:
return [r] return [r]
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论