DebugClients/Python/DebugUtilities.py

changeset 5587
ea526b78ee6c
parent 5389
9b1c800daff3
child 6048
82ad8ec9548c
equal deleted inserted replaced
5586:0e5421d679e7 5587:ea526b78ee6c
82 if co.co_flags & CO_VARKEYWORDS: 82 if co.co_flags & CO_VARKEYWORDS:
83 varkw = co.co_varnames[nargs] 83 varkw = co.co_varnames[nargs]
84 return args, varargs, kwonlyargs, varkw 84 return args, varargs, kwonlyargs, varkw
85 85
86 86
87 def formatargvalues(args, varargs, varkw, locals, 87 def formatargvalues(args, varargs, varkw, localsDict,
88 formatarg=str, 88 formatarg=str,
89 formatvarargs=lambda name: '*' + name, 89 formatvarargs=lambda name: '*' + name,
90 formatvarkw=lambda name: '**' + name, 90 formatvarkw=lambda name: '**' + name,
91 formatvalue=lambda value: '=' + repr(value)): 91 formatvalue=lambda value: '=' + repr(value)):
92 """ 92 """
97 @type list of str 97 @type list of str
98 @param varargs name of the variable arguments 98 @param varargs name of the variable arguments
99 @type str 99 @type str
100 @param varkw name of the keyword arguments 100 @param varkw name of the keyword arguments
101 @type str 101 @type str
102 @param locals reference to the local variables dictionary 102 @param localsDict reference to the local variables dictionary
103 @type dict 103 @type dict
104 @keyparam formatarg argument formatting function 104 @keyparam formatarg argument formatting function
105 @type func 105 @type func
106 @keyparam formatvarargs variable arguments formatting function 106 @keyparam formatvarargs variable arguments formatting function
107 @type func 107 @type func
113 @rtype str 113 @rtype str
114 """ 114 """
115 specs = [] 115 specs = []
116 for i in range(len(args)): 116 for i in range(len(args)):
117 name = args[i] 117 name = args[i]
118 specs.append(formatarg(name) + formatvalue(locals[name])) 118 specs.append(formatarg(name) + formatvalue(localsDict[name]))
119 if varargs: 119 if varargs:
120 specs.append(formatvarargs(varargs) + formatvalue(locals[varargs])) 120 specs.append(formatvarargs(varargs) + formatvalue(localsDict[varargs]))
121 if varkw: 121 if varkw:
122 specs.append(formatvarkw(varkw) + formatvalue(locals[varkw])) 122 specs.append(formatvarkw(varkw) + formatvalue(localsDict[varkw]))
123 argvalues = '(' + ', '.join(specs) + ')' 123 argvalues = '(' + ', '.join(specs) + ')'
124 if '__return__' in locals: 124 if '__return__' in localsDict:
125 argvalues += " -> " + formatvalue(locals['__return__']) 125 argvalues += " -> " + formatvalue(localsDict['__return__'])
126 return argvalues 126 return argvalues
127 127
128 128
129 def prepareJsonCommand(method, params): 129 def prepareJsonCommand(method, params):
130 """ 130 """

eric ide

mercurial