[commit: haddock] wip/api-annots-ghc-7.10-3: ApiAnnotations : strings in warnings do not return SourceText (81affaa)

git at git.haskell.org git at git.haskell.org
Wed Jul 8 08:38:51 UTC 2015


Repository : ssh://git@git.haskell.org/haddock

On branch  : wip/api-annots-ghc-7.10-3
Link       : http://git.haskell.org/haddock.git/commitdiff/81affaaf19ea33ad07bc7d5c15a949644a10c76a

>---------------------------------------------------------------

commit 81affaaf19ea33ad07bc7d5c15a949644a10c76a
Author: Alan Zimmerman <alan.zimm at gmail.com>
Date:   Mon May 25 17:14:01 2015 +0200

    ApiAnnotations : strings in warnings do not return SourceText
    
    The strings used in a WARNING pragma are captured via
    
    strings :: { Located ([AddAnn],[Located FastString]) }
        : STRING { sL1 $1 ([],[L (gl $1) (getSTRING $1)]) }
    ..
    
    The STRING token has a method getSTRINGs that returns the original
    source text for a string.
    
    A warning of the form
    
    {-# WARNING Logic
              , mkSolver
              , mkSimpleSolver
              , mkSolverForLogic
              , solverSetParams
              , solverPush
              , solverPop
              , solverReset
              , solverGetNumScopes
              , solverAssertCnstr
              , solverAssertAndTrack
              , solverCheck
              , solverCheckAndGetModel
              , solverGetReasonUnknown
              "New Z3 API support is still incomplete and fragile: \
              \you may experience segmentation faults!"
      #-}
    
    returns the concatenated warning string rather than the original source.
    
    (cherry picked from commit 45df734c8e0242ca2e88fba5359207e49d7bf158)


>---------------------------------------------------------------

81affaaf19ea33ad07bc7d5c15a949644a10c76a
 haddock-api/src/Haddock/Interface/Create.hs | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/haddock-api/src/Haddock/Interface/Create.hs b/haddock-api/src/Haddock/Interface/Create.hs
index 9ef3d1b..5adaef6 100644
--- a/haddock-api/src/Haddock/Interface/Create.hs
+++ b/haddock-api/src/Haddock/Interface/Create.hs
@@ -158,7 +158,7 @@ mkAliasMap dflags mRenamedSource =
         return $
           (lookupModuleDyn dflags
              (fmap Module.fsToPackageKey $
-              ideclPkgQual impDecl)
+              fmap snd $ ideclPkgQual impDecl)
              (case ideclName impDecl of SrcLoc.L _ name -> name),
            alias))
         impDecls
@@ -194,8 +194,8 @@ moduleWarning dflags gre (WarnAll w) = Just $ parseWarning dflags gre w
 
 parseWarning :: DynFlags -> GlobalRdrEnv -> WarningTxt -> Doc Name
 parseWarning dflags gre w = force $ case w of
-  DeprecatedTxt _ msg -> format "Deprecated: " (concatFS $ map unLoc msg)
-  WarningTxt    _ msg -> format "Warning: "    (concatFS $ map unLoc msg)
+  DeprecatedTxt _ msg -> format "Deprecated: " (concatFS $ map (snd . unLoc) msg)
+  WarningTxt    _ msg -> format "Warning: "    (concatFS $ map (snd . unLoc) msg)
   where
     format x xs = DocWarning . DocParagraph . DocAppend (DocString x)
                   . processDocString dflags gre $ HsDocString xs



More information about the ghc-commits mailing list