Added a warnPC function (like diePC) for use with formatCode
This commit is contained in:
parent
ae142a94e1
commit
7f28d3dbe3
|
@ -17,7 +17,9 @@ with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
-}
|
||||
|
||||
-- | Error handling and reporting.
|
||||
module Errors (addPlainWarning, addWarning, checkJust, Die(..), dieInternal, dieIO, dieP, ErrorReport, showWarnings, Warn(..), WarningReport) where
|
||||
module Errors (addPlainWarning, addWarning, checkJust, Die(..),
|
||||
dieInternal, dieIO, dieP, ErrorReport,
|
||||
showWarnings, Warn(..), WarningReport, warnP) where
|
||||
|
||||
import Control.Monad.Error
|
||||
import Control.Monad.Trans
|
||||
|
@ -45,6 +47,9 @@ type WarningReport = (Maybe Meta, String)
|
|||
class Monad m => Warn m where
|
||||
warnReport :: WarningReport -> m ()
|
||||
|
||||
warnP :: Warn m => Meta -> String -> m ()
|
||||
warnP m s = warnReport (Just m,s)
|
||||
|
||||
--{{{ warnings
|
||||
-- | Add a warning with no source position.
|
||||
addPlainWarning :: Warn m => String -> m ()
|
||||
|
|
|
@ -31,7 +31,7 @@ import Data.Set (Set)
|
|||
import qualified Data.Set as Set
|
||||
|
||||
import qualified AST as A
|
||||
import Errors (Die, dieP, ErrorReport)
|
||||
import Errors (Die, dieP, ErrorReport, Warn, warnP)
|
||||
import Metadata
|
||||
|
||||
-- | Modes that Tock can run in.
|
||||
|
@ -301,6 +301,9 @@ makeNonceVariable s m t nt am
|
|||
diePC :: (CSMR m, Die m) => Meta -> m String -> m a
|
||||
diePC m str = str >>= (dieP m)
|
||||
|
||||
warnPC :: (CSMR m, Warn m) => Meta -> m String -> m ()
|
||||
warnPC m str = str >>= (warnP m)
|
||||
|
||||
--dieC :: (CSM m, Die m) => m String -> m a
|
||||
--dieC str = str >>= die
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user