[project @ 2005-10-25 10:48:44 by simonmar]
[ghc-hetmet.git] / ghc / compiler / basicTypes / SrcLoc.lhs
index 95b7172..2ab9e65 100644 (file)
@@ -23,7 +23,7 @@ module SrcLoc (
        srcLocFile,             -- return the file name part
        srcLocLine,             -- return the line part
        srcLocCol,              -- return the column part
-
+       pprDefnLoc,
 
        SrcSpan,                -- Abstract
        noSrcSpan,
@@ -108,14 +108,9 @@ srcLocCol (SrcLoc _ l c) = c
 srcLocCol other          = panic "srcLocCol: unknown col"
 
 advanceSrcLoc :: SrcLoc -> Char -> SrcLoc
-advanceSrcLoc (SrcLoc f l c) '\t' = SrcLoc f  l (tab c)
 advanceSrcLoc (SrcLoc f l c) '\n' = SrcLoc f  (l + 1) 0
 advanceSrcLoc (SrcLoc f l c) _    = SrcLoc f  l (c + 1)
 advanceSrcLoc loc           _    = loc -- Better than nothing
-
--- Advance to the next tab stop.  Tabs are at column positions 0, 8, 16, etc.
-tab :: Int -> Int
-tab c = (c `quot` 8 + 1) * 8
 \end{code}
 
 %************************************************************************
@@ -161,7 +156,7 @@ instance Outputable SrcLoc where
           hcat [text "{-# LINE ", int src_line, space,
                 char '\"', ftext src_path, text " #-}"]
 
-    ppr (ImportedLoc mod) = ptext SLIT("Imported from") <+> quotes (text mod)
+    ppr (ImportedLoc mod) = ptext SLIT("Imported from") <+> text mod
     ppr (UnhelpfulLoc s)  = ftext s
 \end{code}
 
@@ -304,6 +299,12 @@ combineSrcSpans    start end
        col2  = srcSpanEndCol end
        file  = srcSpanFile start
 
+pprDefnLoc :: SrcLoc -> SDoc
+-- "defined at ..." or "imported from ..."
+pprDefnLoc loc
+  | isGoodSrcLoc loc = ptext SLIT("Defined at") <+> ppr loc
+  | otherwise       = ppr loc
+
 instance Outputable SrcSpan where
     ppr span
       = getPprStyle $ \ sty ->