projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add the notion of "constructor-like" Ids for rule-matching
[ghc-hetmet.git]
/
compiler
/
basicTypes
/
SrcLoc.lhs
diff --git
a/compiler/basicTypes/SrcLoc.lhs
b/compiler/basicTypes/SrcLoc.lhs
index
0789693
..
85b9b2e
100644
(file)
--- a/
compiler/basicTypes/SrcLoc.lhs
+++ b/
compiler/basicTypes/SrcLoc.lhs
@@
-58,6
+58,7
@@
module SrcLoc (
-- ** Constructing Located
noLoc,
-- ** Constructing Located
noLoc,
+ mkGeneralLocated,
-- ** Deconstructing Located
getLoc, unLoc,
-- ** Deconstructing Located
getLoc, unLoc,
@@
-295,7
+296,7
@@
isGoodSrcSpan SrcSpanPoint{} = True
isGoodSrcSpan _ = False
isOneLineSpan :: SrcSpan -> Bool
isGoodSrcSpan _ = False
isOneLineSpan :: SrcSpan -> Bool
--- ^ True if the span is known to straddle more than one line.
+-- ^ True if the span is known to straddle only one line.
-- For "bad" 'SrcSpan', it returns False
isOneLineSpan s
| isGoodSrcSpan s = srcSpanStartLine s == srcSpanEndLine s
-- For "bad" 'SrcSpan', it returns False
isOneLineSpan s
| isGoodSrcSpan s = srcSpanStartLine s == srcSpanEndLine s
@@
-453,6
+454,9
@@
getLoc (L l _) = l
noLoc :: e -> Located e
noLoc e = L noSrcSpan e
noLoc :: e -> Located e
noLoc e = L noSrcSpan e
+mkGeneralLocated :: String -> e -> Located e
+mkGeneralLocated s e = L (mkGeneralSrcSpan (fsLit s)) e
+
combineLocs :: Located a -> Located b -> SrcSpan
combineLocs a b = combineSrcSpans (getLoc a) (getLoc b)
combineLocs :: Located a -> Located b -> SrcSpan
combineLocs a b = combineSrcSpans (getLoc a) (getLoc b)