on master help sign in
Fix line number propagation in 'case' elaboration

This means case splitting will work in case expressions now.

commit606636b20299020aa379a2a30fc05468184b8d79 authorEdwin Brady <ecb10@st-andrews.ac.uk> dateMon 28 Oct 2013, 12:54 (13 years ago) parentdd872e6
1 file changed+8−2
src/Idris/ElabTerm.hs+8−2
src/Idris/ElabTerm.hs+8−2
@@ -528,13 +528,19 @@ elab ist info pattern tcgen fn tm
528528 -- old ones with an _
529529 mkClause args (l, r)
530530 = let args' = map (shadowed (allNamesIn l)) args
531− lhs = PApp fc (PRef fc n)
531+ lhs = PApp (getFC fc l) (PRef (getFC fc l) n)
532532 (map pexp args' ++ [pexp l]) in
533− PClause fc n lhs [] r []
533+-- trace (show (getFC fc l, getFC fc r)) $
534+ PClause (getFC fc l) n lhs [] r []
534535
535536 shadowed new (PRef _ n) | n `elem` new = Placeholder
536537 shadowed new t = t
537538
539+ getFC d (PApp fc _ _) = fc
540+ getFC d (PRef fc _) = fc
541+ getFC d (PAlternative _ (x:_)) = getFC d x
542+ getFC d x = d
543+
538544 insertCoerce ina t =
539545 do ty <- goal
540546 -- Check for possible coercions to get to the goal