Bikram Singh Mehra <bikrammehr...@gmail.com> added the comment:

Hi Eric,

I have tried the action plan suggested by you in your last comment, but below 
are my logs and still I am unable to get lineno for else statement.


----The respective line no for each line are below ----


1 
2 if num > 0:
3     print("Positive number")
4 elif num == 0:
5     print("Zero")
6 else:
7     print("Negative number")



>The re-formatted dump is as below and doesn't have lineno for else statement

Module(body=[If(test=Compare(left=Name(id='num', ctx=Load(), lineno=2, 
col_offset=3, end_lineno=2, end_col_offset=6), 
                                                         ops=[Gt()], 
comparators=[Constant(value=0, kind=None, lineno=2, col_offset=9, end_lineno=2, 
end_col_offset=10)], lineno=2, col_offset=3, end_lineno=2, end_col_offset=10), 
                                 body=[Expr(value=Call(func=Name(id='print', 
ctx=Load(), lineno=3, col_offset=4, end_lineno=3, end_col_offset=9),            
                                           args=[Constant(value='Positive 
number', kind=None, lineno=3, col_offset=10, end_lineno=3, 
                                                                                
end_col_offset=27)], 
                                                                                
keywords=[], lineno=3, col_offset=4, end_lineno=3, end_col_offset=28), 
                                                        lineno=3, col_offset=4, 
end_lineno=3, end_col_offset=28)], 
                                orelse=[If(test=Compare(left=Name(id='num', 
ctx=Load(), lineno=4, col_offset=5, end_lineno=4, end_col_offset=8),
                                                                                
 ops=[Eq()], 
                                                                                
 comparators=[Constant(value=0, kind=None, lineno=4, col_offset=12, 
end_lineno=4, 
                                                                                
 end_col_offset=13)], lineno=4, col_offset=5, end_lineno=4, end_col_offset=13), 
                                                
body=[Expr(value=Call(func=Name(id='print', ctx=Load(), lineno=5, col_offset=4, 
end_lineno=5, end_col_offset=9), 
                                                                                
                args=[Constant(value='Zero', kind=None, lineno=5, 
col_offset=10, end_lineno=5, 
                                                                                
                end_col_offset=16)], 
                                                                                
                keywords=[], lineno=5, col_offset=4, end_lineno=5, 
end_col_offset=17), lineno=5, col_offset=4, end_lineno=5, end_col_offset=17)], 
                                                
orelse=[Expr(value=Call(func=Name(id='print', ctx=Load(), lineno=7, 
col_offset=4, end_lineno=7, end_col_offset=9), 
                                                                                
                args=[Constant(value='Negative number', kind=None, lineno=7, 
col_offset=10, end_lineno=7, end_col_offset=27)], 
                                                                                
                keywords=[], lineno=7, col_offset=4, end_lineno=7, 
end_col_offset=28), 
                                                                                
                lineno=7, col_offset=4, end_lineno=7, end_col_offset=28)], 
lineno=4, col_offset=0, end_lineno=7,
                                                                                
                end_col_offset=28)], 
                                                lineno=2, col_offset=0, 
end_lineno=7, end_col_offset=28)], type_ignores=[])




> If we use tree to get the lineno then its giving as below 
tree.body[0].orelse[0].orelse[0].lineno
7



Here the lineno 7 denotes to the body of else statement not the else lineno.


Could you please help me out where you can show the respective line no of else 
statement i.e. 6 in above example.

Thanks and Best Regards,
Bikram

----------
resolution: works for me -> 
status: closed -> open

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue44177>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to