Skip to content
  • Alan Zimmerman's avatar
    ApiAnnotations : strings in warnings do not return SourceText · e6191d1c
    Alan Zimmerman authored
    Summary:
    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.
    
    This patch now deals with all remaining instances of getSTRING to bring
    in a SourceText for each.
    
    This updates the haddock submodule as well, for the AST change.
    
    Test Plan: ./validate
    
    Reviewers: hvr, austin, goldfire
    
    Reviewed By: austin
    
    Subscribers: bgamari, thomie, mpickering
    
    Differential Revision: https://phabricator.haskell.org/D907
    
    GHC Trac Issues: #10313
    e6191d1c