Lines Matching refs:self
42 def __init__(self, args=None):
45 self.plain = False
46 self.suppress_variants = False
47 self.named_ptrs = False
48 self.method_only = False
54 for var in self.__dict__:
56 self.__dict__[var] = args.__dict__[var]
61 def __init__(self):
62 self.ptr_list = {}
63 self.ptr_type_list = {}
64 self.ptr_types_list = {}
69 def visit(self, visitor):
72 def __str__(self):
76 self.visit(pretty_printer)
79 def __hash__(self):
85 def __init__(self, value):
86 self.value = value
88 def visit(self, visitor):
89 visitor.visit_literal(self)
91 def __hash__(self):
92 return hash(self.value)
97 def __init__(self, value):
98 self.value = binascii.a2b_hex(value)
100 def getValue(self):
101 return self.value
103 def visit(self, visitor):
104 visitor.visit_blob(self)
106 def __hash__(self):
107 return hash(self.value)
112 def __init__(self, name):
113 self.name = name
115 def visit(self, visitor):
116 visitor.visit_named_constant(self)
118 def __hash__(self):
119 return hash(self.name)
124 def __init__(self, elements):
125 self.elements = elements
127 def visit(self, visitor):
128 visitor.visit_array(self)
130 def __hash__(self):
132 for mobj in self.elements:
139 def __init__(self, name, members):
140 self.name = name
141 self.members = members
143 def visit(self, visitor):
144 visitor.visit_struct(self)
146 def __hash__(self):
147 tmp = hash(self.name)
148 for mname, mobj in self.members:
157 def __init__(self, state, address, pname):
158 self.address = address
159 self.state = state
165 t2 = rname in self.ptr_ignore_list and pname not in self.ptr_ignore_list
174 self.adjust_ptr_type_count(rname, -1)
177 self.adjust_ptr_type_count(pname, 1)
182 def adjust_ptr_type_count(self, pname, delta):
183 if pname not in self.state.ptr_types_list:
184 self.state.ptr_types_list[pname] = 0
186 self.state.ptr_types_list[pname] += delta
188 def named_address(self):
189 return self.state.ptr_list[self.address]
191 def visit(self, visitor):
192 visitor.visit_pointer(self)
194 def __hash__(self):
195 return hash(self.named_address())
200 def __init__(self, no, klass, method, args, ret, time):
201 self.no = no
202 self.klass = klass
203 self.method = method
204 self.args = args
205 self.ret = ret
206 self.time = time
209 self.hashvalue = hash(self.klass) ^ hash(self.method)
210 for mname, mobj in self.args:
211 self.hashvalue = self.hashvalue ^ hash(mname) ^ hash(mobj)
213 def visit(self, visitor):
214 visitor.visit_call(self)
216 def __hash__(self):
217 return self.hashvalue
219 def __eq__(self, other):
220 return self.hashvalue == other.hashvalue
225 def __init__(self, calls):
226 self.calls = calls
228 def visit(self, visitor):
229 visitor.visit_trace(self)
234 def visit_literal(self, node):
237 def visit_blob(self, node):
240 def visit_named_constant(self, node):
243 def visit_array(self, node):
246 def visit_struct(self, node):
249 def visit_pointer(self, node):
252 def visit_call(self, node):
255 def visit_trace(self, node):
261 def __init__(self, formatter, options):
262 self.formatter = formatter
263 self.options = options
265 def visit_literal(self, node):
267 self.formatter.literal('NULL')
271 self.formatter.literal('"' + node.value + '"')
274 self.formatter.literal(repr(node.value))
276 def visit_blob(self, node):
277 self.formatter.address('blob()')
279 def visit_named_constant(self, node):
280 self.formatter.literal(node.name)
282 def visit_array(self, node):
283 self.formatter.text('{')
286 self.formatter.text(sep)
287 value.visit(self)
289 self.formatter.text('}')
291 def visit_struct(self, node):
292 self.formatter.text('{')
295 self.formatter.text(sep)
296 self.formatter.variable(name)
297 self.formatter.text(' = ')
298 value.visit(self)
300 self.formatter.text('}')
302 def visit_pointer(self, node):
303 if self.options.named_ptrs:
304 self.formatter.address(node.named_address())
306 self.formatter.address(node.address)
308 def visit_call(self, node):
309 if not self.options.suppress_variants:
310 self.formatter.text(f'{node.no} ')
313 self.formatter.function(node.klass + '::' + node.method)
315 self.formatter.function(node.method)
317 if not self.options.method_only:
318 self.formatter.text('(')
321 self.formatter.text(sep)
322 self.formatter.variable(name)
323 self.formatter.text(' = ')
324 value.visit(self)
326 self.formatter.text(')')
328 self.formatter.text(' = ')
329 node.ret.visit(self)
331 if not self.options.suppress_variants and node.time is not None:
332 self.formatter.text(' // time ')
333 node.time.visit(self)
335 self.formatter.newline()
337 def visit_trace(self, node):
339 call.visit(self)