Added a warnPC function (like diePC) for use with formatCode

This commit is contained in:
Neil Brown 2008-03-22 18:34:40 +00:00
parent ae142a94e1
commit 7f28d3dbe3
2 changed files with 10 additions and 2 deletions

View File

@ -17,7 +17,9 @@ with this program. If not, see <http://www.gnu.org/licenses/>.
-} -}
-- | Error handling and reporting. -- | 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.Error
import Control.Monad.Trans import Control.Monad.Trans
@ -45,6 +47,9 @@ type WarningReport = (Maybe Meta, String)
class Monad m => Warn m where class Monad m => Warn m where
warnReport :: WarningReport -> m () warnReport :: WarningReport -> m ()
warnP :: Warn m => Meta -> String -> m ()
warnP m s = warnReport (Just m,s)
--{{{ warnings --{{{ warnings
-- | Add a warning with no source position. -- | Add a warning with no source position.
addPlainWarning :: Warn m => String -> m () addPlainWarning :: Warn m => String -> m ()

View File

@ -31,7 +31,7 @@ import Data.Set (Set)
import qualified Data.Set as Set import qualified Data.Set as Set
import qualified AST as A import qualified AST as A
import Errors (Die, dieP, ErrorReport) import Errors (Die, dieP, ErrorReport, Warn, warnP)
import Metadata import Metadata
-- | Modes that Tock can run in. -- | 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 :: (CSMR m, Die m) => Meta -> m String -> m a
diePC m str = str >>= (dieP m) 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 :: (CSM m, Die m) => m String -> m a
--dieC str = str >>= die --dieC str = str >>= die