diff options
| author | Ćukasz Hanuszczak <lukasz.hanuszczak@gmail.com> | 2015-07-14 19:59:08 +0200 | 
|---|---|---|
| committer | Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk> | 2015-08-21 18:22:30 +0100 | 
| commit | 2070c0fa9354365e3e672f5cbee2e04d0ef1fd02 (patch) | |
| tree | 25d3b23b7fc309e87e815f352bbb5c86131545e9 /haddock-api/src/Haddock/Interface | |
| parent | 92f0b1eacb2e1169dedd22df26976219c3fbc637 (diff) | |
Refactor instance head type to record instead of a meaningless tuple.
Diffstat (limited to 'haddock-api/src/Haddock/Interface')
| -rw-r--r-- | haddock-api/src/Haddock/Interface/AttachInstances.hs | 2 | ||||
| -rw-r--r-- | haddock-api/src/Haddock/Interface/Rename.hs | 19 | 
2 files changed, 13 insertions, 8 deletions
diff --git a/haddock-api/src/Haddock/Interface/AttachInstances.hs b/haddock-api/src/Haddock/Interface/AttachInstances.hs index fc530507..e2fd24ee 100644 --- a/haddock-api/src/Haddock/Interface/AttachInstances.hs +++ b/haddock-api/src/Haddock/Interface/AttachInstances.hs @@ -108,7 +108,7 @@ attachToExportItem expInfo iface ifaceMap instIfaceMap export =      attachFixities e = e      -- spanName: attach the location to the name that is the same file as the instance location -    spanName s (clsn,_,_,_) (L instL instn) = +    spanName s (InstHead { ihdClsName = clsn }) (L instL instn) =          let s1 = getSrcSpan s              sn = if srcSpanFileName_maybe s1 == srcSpanFileName_maybe instL                      then instn diff --git a/haddock-api/src/Haddock/Interface/Rename.hs b/haddock-api/src/Haddock/Interface/Rename.hs index 1a559764..d222c6d2 100644 --- a/haddock-api/src/Haddock/Interface/Rename.hs +++ b/haddock-api/src/Haddock/Interface/Rename.hs @@ -1,4 +1,5 @@  {-# LANGUAGE TypeFamilies #-} +{-# LANGUAGE RecordWildCards #-}  ----------------------------------------------------------------------------  -- |  -- Module      :  Haddock.Interface.Rename @@ -261,16 +262,20 @@ renameLContext (L loc context) = do    return (L loc context')  renameInstHead :: InstHead Name -> RnM (InstHead DocName) -renameInstHead (className, k, types, rest) = do -  className' <- rename className -  k' <- mapM renameType k -  types' <- mapM renameType types -  rest' <- case rest of +renameInstHead InstHead {..} = do +  cname <- rename ihdClsName +  kinds <- mapM renameType ihdKinds +  types <- mapM renameType ihdTypes +  itype <- case ihdInstType of      ClassInst cs -> ClassInst <$> mapM renameType cs      TypeInst  ts -> TypeInst  <$> traverse renameType ts      DataInst  dd -> DataInst  <$> renameTyClD dd -  return (className', k', types', rest') - +  return InstHead +    { ihdClsName = cname +    , ihdKinds = kinds +    , ihdTypes = types +    , ihdInstType = itype +    }  renameLDecl :: LHsDecl Name -> RnM (LHsDecl DocName)  renameLDecl (L loc d) = return . L loc =<< renameDecl d  | 
