summaryrefslogtreecommitdiff
path: root/compiler/hsSyn
diff options
context:
space:
mode:
authorDavid Terei <davidterei@gmail.com>2011-04-25 12:14:21 -0700
committerDavid Terei <davidterei@gmail.com>2011-06-17 18:19:48 -0700
commit6de1b0f2f4fe0455df72adb7b43449586b40ba89 (patch)
treef8ef6e2b5348103132fbe0a1d419947b0cc90792 /compiler/hsSyn
parentf8279ea9fef8c16782a3cd5bc81cf90de3e46cb5 (diff)
downloadhaskell-6de1b0f2f4fe0455df72adb7b43449586b40ba89.tar.gz
SafeHaskell: Add safe import flag (not functional)
Diffstat (limited to 'compiler/hsSyn')
-rw-r--r--compiler/hsSyn/HsImpExp.lhs10
1 files changed, 7 insertions, 3 deletions
diff --git a/compiler/hsSyn/HsImpExp.lhs b/compiler/hsSyn/HsImpExp.lhs
index 7b4c904f81..58bc4b0464 100644
--- a/compiler/hsSyn/HsImpExp.lhs
+++ b/compiler/hsSyn/HsImpExp.lhs
@@ -36,6 +36,7 @@ data ImportDecl name
ideclName :: Located ModuleName, -- ^ Module name.
ideclPkgQual :: Maybe FastString, -- ^ Package qualifier.
ideclSource :: Bool, -- ^ True <=> {-# SOURCE #-} import
+ ideclSafe :: Bool, -- ^ True => safe import
ideclQualified :: Bool, -- ^ True => qualified
ideclAs :: Maybe ModuleName, -- ^ as Module
ideclHiding :: Maybe (Bool, [LIE name]) -- ^ (True => hiding, names)
@@ -54,9 +55,9 @@ simpleImportDecl mn = ImportDecl {
\begin{code}
instance (Outputable name) => Outputable (ImportDecl name) where
- ppr (ImportDecl mod pkg from qual as spec)
- = hang (hsep [ptext (sLit "import"), ppr_imp from,
- pp_qual qual, pp_pkg pkg, ppr mod, pp_as as])
+ ppr (ImportDecl mod' pkg from safe qual as spec)
+ = hang (hsep [ptext (sLit "import"), ppr_imp from, pp_safe safe,
+ pp_qual qual, pp_pkg pkg, ppr mod', pp_as as])
4 (pp_spec spec)
where
pp_pkg Nothing = empty
@@ -65,6 +66,9 @@ instance (Outputable name) => Outputable (ImportDecl name) where
pp_qual False = empty
pp_qual True = ptext (sLit "qualified")
+ pp_safe False = empty
+ pp_safe True = ptext (sLit "safe")
+
pp_as Nothing = empty
pp_as (Just a) = ptext (sLit "as") <+> ppr a