summaryrefslogtreecommitdiff
path: root/compiler/hsSyn/Convert.hs
diff options
context:
space:
mode:
authorAlan Zimmerman <alan.zimm@gmail.com>2019-01-26 13:53:59 +0200
committerAlan Zimmerman <alan.zimm@gmail.com>2019-01-26 21:49:24 +0200
commit2fbc49c332a0b9c508c0cf489570afdf43b510fc (patch)
tree44524b39dc4af513686fe12b3975ca183dfb0bed /compiler/hsSyn/Convert.hs
parent72a93759fd916513f61feb52ed3452cbbf3d0cc7 (diff)
downloadhaskell-wip/T16236.tar.gz
API Annotations: AnnAt disconnected for TYPEAPPwip/T16236
For the code type family F1 (a :: k) (f :: k -> Type) :: Type where F1 @Peano a f = T @Peano f a the API annotation for the first @ is not attached to a SourceSpan in the ParsedSource Closes #16236
Diffstat (limited to 'compiler/hsSyn/Convert.hs')
-rw-r--r--compiler/hsSyn/Convert.hs11
1 files changed, 6 insertions, 5 deletions
diff --git a/compiler/hsSyn/Convert.hs b/compiler/hsSyn/Convert.hs
index 59b42bda0f..166eae7f37 100644
--- a/compiler/hsSyn/Convert.hs
+++ b/compiler/hsSyn/Convert.hs
@@ -1510,8 +1510,8 @@ mk_apps head_ty (arg:args) =
; case arg of
HsValArg ty -> do { p_ty <- add_parens ty
; mk_apps (HsAppTy noExt head_ty' p_ty) args }
- HsTypeArg ki -> do { p_ki <- add_parens ki
- ; mk_apps (HsAppKindTy noExt head_ty' p_ki) args }
+ HsTypeArg l ki -> do { p_ki <- add_parens ki
+ ; mk_apps (HsAppKindTy l head_ty' p_ki) args }
HsArgPar _ -> mk_apps (HsParTy noExt head_ty') args
}
where
@@ -1529,8 +1529,8 @@ wrap_apps t = return t
wrap_tyargs :: LHsTypeArg GhcPs -> CvtM (LHsTypeArg GhcPs)
wrap_tyargs (HsValArg ty) = do { ty' <- wrap_apps ty
; return $ HsValArg ty'}
-wrap_tyargs (HsTypeArg ki) = do { ki' <- wrap_apps ki
- ; return $ HsTypeArg ki'}
+wrap_tyargs (HsTypeArg l ki) = do { ki' <- wrap_apps ki
+ ; return $ HsTypeArg l ki'}
wrap_tyargs argPar = return argPar
-- ---------------------------------------------------------------------
@@ -1567,7 +1567,8 @@ split_ty_app :: TH.Type -> CvtM (TH.Type, [LHsTypeArg GhcPs])
split_ty_app ty = go ty []
where
go (AppT f a) as' = do { a' <- cvtType a; go f (HsValArg a':as') }
- go (AppKindT ty ki) as' = do { ki' <- cvtKind ki; go ty (HsTypeArg ki':as') }
+ go (AppKindT ty ki) as' = do { ki' <- cvtKind ki
+ ; go ty (HsTypeArg noSrcSpan ki':as') }
go (ParensT t) as' = do { loc <- getL; go t (HsArgPar loc: as') }
go f as = return (f,as)