MCPcopy Index your code
hub / github.com/python/cpython / lineinfo

Method lineinfo

Lib/pdb.py:1495–1528  ·  view source on GitHub ↗
(self, identifier)

Source from the content-addressed store, hash-verified

1493 complete_tbreak = _complete_location
1494
1495 def lineinfo(self, identifier):
1496 failed = (None, None, None)
1497 # Input is identifier, may be in single quotes
1498 idstring = identifier.split("'")
1499 if len(idstring) == 1:
1500 # not in single quotes
1501 id = idstring[0].strip()
1502 elif len(idstring) == 3:
1503 # quoted
1504 id = idstring[1].strip()
1505 else:
1506 return failed
1507 if id == '': return failed
1508 parts = id.split('.')
1509 # Protection for derived debuggers
1510 if parts[0] == 'self':
1511 del parts[0]
1512 if len(parts) == 0:
1513 return failed
1514 # Best first guess at file to look at
1515 fname = self.defaultFile()
1516 if len(parts) == 1:
1517 item = parts[0]
1518 else:
1519 # More than one part.
1520 # First is module, second is method/class
1521 f = self.lookupmodule(parts[0])
1522 if f:
1523 fname = f
1524 item = parts[1]
1525 else:
1526 return failed
1527 answer = find_function(item, self.canonic(fname))
1528 return answer or failed
1529
1530 def checkline(self, filename, lineno, module_globals=None):
1531 """Check whether specified line seems to be executable.

Callers 1

do_breakMethod · 0.95

Calls 6

defaultFileMethod · 0.95
lookupmoduleMethod · 0.95
find_functionFunction · 0.85
canonicMethod · 0.80
splitMethod · 0.45
stripMethod · 0.45

Tested by

no test coverage detected