diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2016-01-06 20:12:03 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2016-01-06 20:12:03 +0000 |
| commit | 9e6d35490a6542f9c97607f93c2ef8ca8e03cbcc (patch) | |
| tree | dd2a1ddf0476664c2b823409c36cbccd52662ca7 /examples/summaries/cocoa/cache.py | |
| parent | 3bd2e91faeb9eeec1aae82c64a3253afff551cfd (diff) | |
Notes
Diffstat (limited to 'examples/summaries/cocoa/cache.py')
| -rw-r--r-- | examples/summaries/cocoa/cache.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/examples/summaries/cocoa/cache.py b/examples/summaries/cocoa/cache.py new file mode 100644 index 0000000000000..066829d80d4f0 --- /dev/null +++ b/examples/summaries/cocoa/cache.py @@ -0,0 +1,35 @@ +""" +Objective-C runtime wrapper for use by LLDB Python formatters + +part of The LLVM Compiler Infrastructure +This file is distributed under the University of Illinois Open Source +License. See LICENSE.TXT for details. +""" +import lldb.formatters.metrics + +class Cache: + def __init__(self): + self.data = {} + self.statistics = lldb.formatters.metrics.Metrics() + self.statistics.add_metric('hit') + self.statistics.add_metric('miss') + + def look_for_key(self,key): + if key in self.data: + return True + return False + + def add_item(self,key,value,ok_to_replace=True): + if not(ok_to_replace) and self.look_for_key(key): + return False + self.data[key] = value + return True + + def get_value(self,key,default=None): + if self.look_for_key(key): + self.statistics.metric_hit('hit',key) + return self.data[key] + else: + self.statistics.metric_hit('miss',key) + return default + |
