projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Better error message for Template Haskell pattern brackets
[ghc-hetmet.git]
/
ghc
/
compiler
/
typecheck
/
TcSplice.lhs
diff --git
a/ghc/compiler/typecheck/TcSplice.lhs
b/ghc/compiler/typecheck/TcSplice.lhs
index
2844ab4
..
34e0394
100644
(file)
--- a/
ghc/compiler/typecheck/TcSplice.lhs
+++ b/
ghc/compiler/typecheck/TcSplice.lhs
@@
-41,7
+41,7
@@
import NameEnv ( lookupNameEnv )
import HscTypes ( lookupType, ExternalPackageState(..), emptyModDetails )
import OccName
import Var ( Id, TyVar, idType )
import HscTypes ( lookupType, ExternalPackageState(..), emptyModDetails )
import OccName
import Var ( Id, TyVar, idType )
-import Module ( moduleUserString )
+import Module ( moduleString )
import TcRnMonad
import IfaceEnv ( lookupOrig )
import Class ( Class, classExtraBigSig )
import TcRnMonad
import IfaceEnv ( lookupOrig )
import Class ( Class, classExtraBigSig )
@@
-149,6
+149,9
@@
tc_bracket (DecBr decls)
; return (mkAppTy q_ty (mkListTy decl_ty))
-- Result type is Q [Dec]
}
; return (mkAppTy q_ty (mkListTy decl_ty))
-- Result type is Q [Dec]
}
+
+tc_bracket (PatBr _)
+ = failWithTc (ptext SLIT("Tempate Haskell pattern brackets are not supported yet"))
\end{code}
\end{code}
@@
-416,7
+419,7
@@
instance TH.Quasi (IOEnv (Env TcGblEnv TcLclEnv)) where
qReport True msg = addErr (text msg)
qReport False msg = addReport (text msg)
qReport True msg = addErr (text msg)
qReport False msg = addReport (text msg)
- qCurrentModule = do { m <- getModule; return (moduleUserString m) }
+ qCurrentModule = do { m <- getModule; return (moduleString m) }
qReify v = reify v
qRecover = recoverM
qReify v = reify v
qRecover = recoverM
@@
-659,8
+662,8
@@
reifyName thing
-- have free variables, we may need to generate NameL's for them.
where
name = getName thing
-- have free variables, we may need to generate NameL's for them.
where
name = getName thing
- mod = moduleUserString (nameModule name)
- occ_str = occNameUserString occ
+ mod = moduleString (nameModule name)
+ occ_str = occNameString occ
occ = nameOccName name
mk_varg | OccName.isDataOcc occ = TH.mkNameG_d
| OccName.isVarOcc occ = TH.mkNameG_v
occ = nameOccName name
mk_varg | OccName.isDataOcc occ = TH.mkNameG_d
| OccName.isVarOcc occ = TH.mkNameG_v