projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add bang patterns
[ghc-hetmet.git]
/
ghc
/
compiler
/
rename
/
RnTypes.lhs
diff --git
a/ghc/compiler/rename/RnTypes.lhs
b/ghc/compiler/rename/RnTypes.lhs
index
a75d989
..
d7d435c
100644
(file)
--- a/
ghc/compiler/rename/RnTypes.lhs
+++ b/
ghc/compiler/rename/RnTypes.lhs
@@
-185,6
+185,10
@@
rnHsType doc (HsPredTy pred)
= rnPred doc pred `thenM` \ pred' ->
returnM (HsPredTy pred')
= rnPred doc pred `thenM` \ pred' ->
returnM (HsPredTy pred')
+rnHsType doc (HsSpliceTy _)
+ = do { addErr (ptext SLIT("Type splices are not yet implemented"))
+ ; failM }
+
rnLHsTypes doc tys = mappM (rnLHsType doc) tys
\end{code}
rnLHsTypes doc tys = mappM (rnLHsType doc) tys
\end{code}
@@
-594,6
+598,10
@@
rnPat (LazyPat pat)
= rnLPat pat `thenM` \ (pat', fvs) ->
returnM (LazyPat pat', fvs)
= rnLPat pat `thenM` \ (pat', fvs) ->
returnM (LazyPat pat', fvs)
+rnPat (BangPat pat)
+ = rnLPat pat `thenM` \ (pat', fvs) ->
+ returnM (BangPat pat', fvs)
+
rnPat (AsPat name pat)
= rnLPat pat `thenM` \ (pat', fvs) ->
lookupLocatedBndrRn name `thenM` \ vname ->
rnPat (AsPat name pat)
= rnLPat pat `thenM` \ (pat', fvs) ->
lookupLocatedBndrRn name `thenM` \ vname ->
@@
-617,10
+625,11
@@
rnPat (PArrPat pats _)
where
implicit_fvs = mkFVs [lengthPName, indexPName]
where
implicit_fvs = mkFVs [lengthPName, indexPName]
-rnPat (TuplePat pats boxed)
+rnPat (TuplePat pats boxed _)
= checkTupSize tup_size `thenM_`
rnLPats pats `thenM` \ (patslist, fvs) ->
= checkTupSize tup_size `thenM_`
rnLPats pats `thenM` \ (patslist, fvs) ->
- returnM (TuplePat patslist boxed, fvs `addOneFV` tycon_name)
+ returnM (TuplePat patslist boxed placeHolderType,
+ fvs `addOneFV` tycon_name)
where
tup_size = length pats
tycon_name = tupleTyCon_name boxed tup_size
where
tup_size = length pats
tycon_name = tupleTyCon_name boxed tup_size