MCPcopy Create free account
hub / github.com/Vector35/binaryninja-api / cachePreviousLines

Method cachePreviousLines

python/examples/triage/byte.py:288–317  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

286 return ByteViewLine(addr, length, text, False)
287
288 def cachePreviousLines(self):
289 prevEnd = None
290 for i in self.ranges:
291 if (self.topAddr > i.start) and (self.topAddr <= i.end):
292 startLine = self.topAddr - ((self.topAddr - i.start) % self.cols)
293 if startLine == self.topAddr:
294 startLine -= self.cols
295 if startLine < i.start:
296 startLine = i.start
297 line = self.createLine(startLine, self.topAddr - startLine, False)
298 self.lines.insert(0, line)
299 self.topLine += 1
300 self.topAddr = startLine
301 return True
302 elif i.start >= self.topAddr:
303 if prevEnd is None:
304 return False
305 line = self.createLine(prevEnd, i.start - prevEnd, True)
306 self.lines.insert(0, line)
307 self.topLine += 1
308 self.topAddr = prevEnd
309 return True
310 prevEnd = i.end
311 if prevEnd is None:
312 return False
313 line = self.createLine(prevEnd, self.topAddr - prevEnd, True)
314 self.lines.insert(0, line)
315 self.topLine += 1
316 self.topAddr = prevEnd
317 return True
318
319 def cacheNextLines(self):
320 lastAddr = self.data.start

Callers 1

updateCacheMethod · 0.95

Calls 2

createLineMethod · 0.95
insertMethod · 0.45

Tested by

no test coverage detected