Make HsIParamTy have a Located HsIPName
authorAlan Zimmerman <alan.zimm@gmail.com>
Tue, 10 Jan 2017 15:01:50 +0000 (17:01 +0200)
committerAlan Zimmerman <alan.zimm@gmail.com>
Tue, 10 Jan 2017 15:04:23 +0000 (17:04 +0200)
To simplify API Annotations.

Updates haddock submodule

compiler/hsSyn/HsTypes.hs
compiler/parser/Parser.y
compiler/typecheck/TcHsType.hs
testsuite/tests/ghc-api/annotations/T10399.stdout
utils/haddock

index 53f200f..7dc3d12 100644 (file)
@@ -497,7 +497,7 @@ data HsType name
 
       -- For details on above see note [Api annotations] in ApiAnnotation
 
-  | HsIParamTy          HsIPName         -- (?x :: ty)
+  | HsIParamTy          (Located HsIPName) -- (?x :: ty)
                         (LHsType name)   -- Implicit parameters as they occur in contexts
       -- ^
       -- > (?x :: ty)
index dfb6755..fadb8e7 100644 (file)
@@ -1716,8 +1716,8 @@ ctype   :: { LHsType RdrName }
                                          >> return (sLL $1 $> $
                                             HsQualTy { hst_ctxt = $1
                                                      , hst_body = $3 }) }
-        | ipvar '::' type             {% ams (sLL $1 $> (HsIParamTy (unLoc $1) $3))
-                                             [mj AnnVal $1,mu AnnDcolon $2] }
+        | ipvar '::' type             {% ams (sLL $1 $> (HsIParamTy $1 $3))
+                                             [mu AnnDcolon $2] }
         | type                        { $1 }
 
 ----------------------
@@ -1741,8 +1741,8 @@ ctypedoc :: { LHsType RdrName }
                                          >> return (sLL $1 $> $
                                             HsQualTy { hst_ctxt = $1
                                                      , hst_body = $3 }) }
-        | ipvar '::' type             {% ams (sLL $1 $> (HsIParamTy (unLoc $1) $3))
-                                             [mj AnnVal $1,mu AnnDcolon $2] }
+        | ipvar '::' type             {% ams (sLL $1 $> (HsIParamTy $1 $3))
+                                             [mu AnnDcolon $2] }
         | typedoc                     { $1 }
 
 ----------------------
index 3fa6077..c69de3a 100644 (file)
@@ -632,7 +632,7 @@ tc_hs_type mode (HsExplicitTupleTy _ tys) exp_kind
     arity = length tys
 
 --------- Constraint types
-tc_hs_type mode (HsIParamTy n ty) exp_kind
+tc_hs_type mode (HsIParamTy (L _ n) ty) exp_kind
   = do { MASSERT( isTypeLevel (mode_level mode) )
        ; ty' <- tc_lhs_type mode ty liftedTypeKind
        ; let n' = mkStrLitTy $ hsIPNameFS n
index 612ecfd..0b37983 100644 (file)
@@ -10,7 +10,6 @@
 ((Test10399.hs:10:1-35,AnnSemi), [Test10399.hs:12:1]),
 ((Test10399.hs:10:1-35,AnnType), [Test10399.hs:10:1-4]),
 ((Test10399.hs:10:12-35,AnnDcolon), [Test10399.hs:10:24-25]),
-((Test10399.hs:10:12-35,AnnVal), [Test10399.hs:10:12-22]),
 ((Test10399.hs:12:1-66,AnnEqual), [Test10399.hs:12:8]),
 ((Test10399.hs:12:1-66,AnnFunId), [Test10399.hs:12:1-6]),
 ((Test10399.hs:12:1-66,AnnSemi), [Test10399.hs:14:1]),
index b34497c..b19ea3a 160000 (submodule)
@@ -1 +1 @@
-Subproject commit b34497c36cd01a9c8a08ec3133ec94783642e43d
+Subproject commit b19ea3ababeb231157c4a067c43003e09b1f0185