diff options
author | robot-piglet <[email protected]> | 2025-07-18 09:09:17 +0300 |
---|---|---|
committer | robot-piglet <[email protected]> | 2025-07-18 09:21:36 +0300 |
commit | b27290b9f146a42ce239e15c67cf203f4a151aa7 (patch) | |
tree | f1aea70e5c4f342eb93a862e4ed3b5714b353cce /contrib/python/fonttools/fontTools/misc/visitor.py | |
parent | 9976b916cb8114c23b8b981651f6c4b6256a502a (diff) |
Intermediate changes
commit_hash:134fe147a2593cd4e39895d6b77ac876aa724f8b
Diffstat (limited to 'contrib/python/fonttools/fontTools/misc/visitor.py')
-rw-r--r-- | contrib/python/fonttools/fontTools/misc/visitor.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/contrib/python/fonttools/fontTools/misc/visitor.py b/contrib/python/fonttools/fontTools/misc/visitor.py index 6de432ef934..65f305632de 100644 --- a/contrib/python/fonttools/fontTools/misc/visitor.py +++ b/contrib/python/fonttools/fontTools/misc/visitor.py @@ -1,11 +1,19 @@ """Generic visitor pattern implementation for Python objects.""" import enum +import weakref class Visitor(object): defaultStop = False + _visitors = { + # By default we skip visiting weak references to avoid recursion + # issues. Users can override this by registering a visit + # function for weakref.ProxyType. + weakref.ProxyType: {None: lambda self, obj, *args, **kwargs: False} + } + @classmethod def _register(celf, clazzes_attrs): assert celf != Visitor, "Subclass Visitor instead." |