diff options
Diffstat (limited to 'haddock-api/src/Haddock/GhcUtils.hs')
| -rw-r--r-- | haddock-api/src/Haddock/GhcUtils.hs | 5 | 
1 files changed, 4 insertions, 1 deletions
diff --git a/haddock-api/src/Haddock/GhcUtils.hs b/haddock-api/src/Haddock/GhcUtils.hs index 58cdd860..29a52faf 100644 --- a/haddock-api/src/Haddock/GhcUtils.hs +++ b/haddock-api/src/Haddock/GhcUtils.hs @@ -239,6 +239,8 @@ getGADTConTypeG (XConDecl {}) = panic "getGADTConTypeG"  data Precedence    = PREC_TOP  -- ^ precedence of 'type' production in GHC's parser +  | PREC_SIG  -- ^ explicit type signature +    | PREC_CTX  -- ^ Used for single contexts, eg. ctx => type                -- (as opposed to (ctx1, ctx2) => type) @@ -265,12 +267,13 @@ reparenTypePrec = go    go _ (HsBangTy x b ty)     = HsBangTy x b (reparenLType ty)    go _ (HsTupleTy x con tys) = HsTupleTy x con (map reparenLType tys)    go _ (HsSumTy x tys)       = HsSumTy x (map reparenLType tys) -  go _ (HsKindSig x ty kind) = HsKindSig x (reparenLType ty) (reparenLType kind)    go _ (HsListTy x ty)       = HsListTy x (reparenLType ty)    go _ (HsRecTy x flds)      = HsRecTy x (map (fmap reparenConDeclField) flds)    go p (HsDocTy x ty d)      = HsDocTy x (goL p ty) d    go _ (HsExplicitListTy x p tys) = HsExplicitListTy x p (map reparenLType tys)    go _ (HsExplicitTupleTy x tys) = HsExplicitTupleTy x (map reparenLType tys) +  go p (HsKindSig x ty kind) +    = paren p PREC_SIG $ HsKindSig x (goL PREC_SIG ty) (goL PREC_SIG kind)    go p (HsIParamTy x n ty)      = paren p PREC_CTX $ HsIParamTy x n (reparenLType ty)    go p (HsForAllTy x tvs ty)  | 
