diff options
Diffstat (limited to 'lldb/examples/summaries/cocoa/attrib_fromdict.py')
-rw-r--r-- | lldb/examples/summaries/cocoa/attrib_fromdict.py | 64 |
1 files changed, 34 insertions, 30 deletions
diff --git a/lldb/examples/summaries/cocoa/attrib_fromdict.py b/lldb/examples/summaries/cocoa/attrib_fromdict.py index 86964d602b5..39abe6bda47 100644 --- a/lldb/examples/summaries/cocoa/attrib_fromdict.py +++ b/lldb/examples/summaries/cocoa/attrib_fromdict.py @@ -5,34 +5,38 @@ part of The LLVM Compiler Infrastructure This file is distributed under the University of Illinois Open Source License. See LICENSE.TXT for details. """ + + class AttributesDictionary: - def __init__(self, allow_reset = True): - self.__dict__['_dictionary'] = {} # need to do it this way to prevent endless recursion - self.__dict__['_allow_reset'] = allow_reset - - def __getattr__(self,name): - if not self._check_exists(name): - return None - value = self._dictionary[name] - return value - - def _set_impl(self,name,value): - self._dictionary[name] = value - - def _check_exists(self,name): - return name in self._dictionary - - def __setattr__(self,name,value): - if self._allow_reset: - self._set_impl(name,value) - else: - self.set_if_necessary(name,value) - - def set_if_necessary(self,name,value): - if not self._check_exists(name): - self._set_impl(name,value) - return True - return False - - def __len__(self): - return len(self._dictionary)
\ No newline at end of file + + def __init__(self, allow_reset=True): + # need to do it this way to prevent endless recursion + self.__dict__['_dictionary'] = {} + self.__dict__['_allow_reset'] = allow_reset + + def __getattr__(self, name): + if not self._check_exists(name): + return None + value = self._dictionary[name] + return value + + def _set_impl(self, name, value): + self._dictionary[name] = value + + def _check_exists(self, name): + return name in self._dictionary + + def __setattr__(self, name, value): + if self._allow_reset: + self._set_impl(name, value) + else: + self.set_if_necessary(name, value) + + def set_if_necessary(self, name, value): + if not self._check_exists(name): + self._set_impl(name, value) + return True + return False + + def __len__(self): + return len(self._dictionary) |