1# encoding: utf-8
2
3import lldb
4
5class MyFrameRecognizer(object):
6    def get_recognized_arguments(self, frame):
7        if frame.name == "foo":
8            arg1 = frame.EvaluateExpression("$arg1").signed
9            arg2 = frame.EvaluateExpression("$arg2").signed
10            val1 = frame.GetThread().GetProcess().GetTarget().CreateValueFromExpression("a", "%d" % arg1)
11            val2 = frame.GetThread().GetProcess().GetTarget().CreateValueFromExpression("b", "%d" % arg2)
12            return [val1, val2]
13        elif frame.name == "bar":
14            arg1 = frame.EvaluateExpression("$arg1").signed
15            val1 = frame.GetThread().GetProcess().GetTarget().CreateValueFromExpression("a", "(int *)%d" % arg1)
16            return [val1]
17        return []
18
19class MyOtherFrameRecognizer(object):
20    def get_recognized_arguments(self, frame):
21        return []
22