Breakpoints: get the names of the free variables right
authorSimon Marlow <simonmar@microsoft.com>
Tue, 24 Apr 2007 11:32:02 +0000 (11:32 +0000)
committerSimon Marlow <simonmar@microsoft.com>
Tue, 24 Apr 2007 11:32:02 +0000 (11:32 +0000)
commit367b0590cc0d8ba3d1561c85b366a183b8a71d24
treeea6ae8f4e5ba522a4796bb508e681c93c252aa4c
parentcb429c8ac482f3b294f709b5ba50423fdf1f35b0
Breakpoints: get the names of the free variables right

Previously we relied on the names of the Ids attached to a tick being
the same as the names of the original variables in the source code.
Sometimes this worked, sometimes it didn't because the simplifier
would inline away the Id.  So now we do this properly and retain the
original OccNames from the source code for each breakpoint, and use
these to construct the new Ids when we stop.

Doing this involved moving the tracking of in-scope variables from the
desugarer to the coverage pass.
compiler/deSugar/Coverage.lhs
compiler/deSugar/DsArrows.lhs
compiler/deSugar/DsExpr.lhs
compiler/deSugar/DsGRHSs.lhs
compiler/deSugar/DsMonad.lhs
compiler/deSugar/DsUtils.lhs
compiler/hsSyn/HsBinds.lhs
compiler/hsSyn/HsExpr.lhs
compiler/main/GHC.hs
compiler/main/HscTypes.lhs