@@ -1035,20 +1035,22 @@ end
10351035function changed_lineinfo (di:: DebugInfo , codeloc:: Int , prevloc:: Int )
10361036 while true
10371037 next = getdebugidx (di, codeloc)
1038- next[1 ] < 0 && return false # invalid info
1039- next[1 ] == 0 && next[2 ] == 0 && return false # no new info
1038+ line = next[1 ]
1039+ line < 0 && return false # invalid info
1040+ line == 0 && next[2 ] == 0 && return false # no new info
10401041 prevloc <= 0 && return true # no old info
10411042 prev = getdebugidx (di, prevloc)
10421043 next === prev && return false # exactly identical
1043- prev[1 ] < 0 && return true # previous invalid info, now valid
1044+ prevline = prev[1 ]
1045+ prevline < 0 && return true # previous invalid info, now valid
10441046 edge = next[2 ]
10451047 edge === prev[2 ] || return true # change to this edge
10461048 linetable = di. linetable
10471049 # check for change to line number here
1048- if linetable === nothing || next[ 1 ] == 0
1049- next[ 1 ] == prev[ 1 ] || return true
1050+ if linetable === nothing || line == 0
1051+ line == prevline || return true
10501052 else
1051- changed_lineinfo (linetable, next[ 1 ], prev[ 1 ] ) && return true
1053+ changed_lineinfo (linetable:: DebugInfo , Int (line), Int (prevline) ) && return true
10521054 end
10531055 # check for change to edge here
10541056 edge == 0 && return false # no edge here
0 commit comments