Tweak the tb_lineno() function to be compatible with JPython, which

has no line number table etc.
This commit is contained in:
Guido van Rossum 1998-02-25 16:33:39 +00:00
parent 50b3eb6a9e
commit 7266496b00
1 changed files with 8 additions and 4 deletions

View File

@ -188,10 +188,14 @@ def extract_stack(f=None, limit = None):
# in compile.c.
def tb_lineno(tb):
c = tb.tb_frame.f_code
tab = c.co_lnotab
line = c.co_firstlineno
stopat = tb.tb_lasti
f = tb.tb_frame
try:
c = f.f_code
tab = c.co_lnotab
line = c.co_firstlineno
stopat = tb.tb_lasti
except AttributeError:
return f.f_lineno
addr = 0
for i in range(0, len(tab), 2):
addr = addr + ord(tab[i])