| language-c-0.3.1.1: Analysis and generation of C code | Source code | Contents | Index
Language.C.Data.Error |
Portability | ghc
Stability | experimental
Maintainer | benedikt.huber@gmail.com
Contents
Severity Level Error class Error supertype Infos attached to errors Default error types Raising internal errors
Description
Base type for errors occuring in parsing, analysing and pretty-printing. With ideas from Simon Marlow's An extensible dynamically-typed hierarchy of execeptions [2006]
Synopsis
data ErrorLevel
= LevelWarn
| LevelError
| LevelFatal
isHardError :: Error ex => ex -> Bool
class (Typeable e, Show e) => Error e where
errorInfo :: e -> ErrorInfo
toError :: e -> CError
fromError :: CError -> Maybe e
changeErrorLevel :: e -> ErrorLevel -> e
errorPos :: Error e => e -> Position
errorLevel :: Error e => e -> ErrorLevel
errorMsgs :: Error e => e -> [String]
data CError = forall err . Error err => CError err
data ErrorInfo = ErrorInfo ErrorLevel Position [String]
showError :: Error e => String -> e -> String
showErrorInfo :: String -> ErrorInfo -> String
mkErrorInfo :: ErrorLevel -> String -> NodeInfo -> ErrorInfo
data UnsupportedFeature
unsupportedFeature :: Pos a => String -> a -> UnsupportedFeature
unsupportedFeature_ :: String -> UnsupportedFeature
data UserError
userErr :: String -> UserError
internalErr :: String -> a
Severity Level
data ErrorLevel | Source
Error levels (severity)
Constructors
LevelWarn |
LevelError |
LevelFatal |
Instances
Eq ErrorLevel
Ord ErrorLevel
Show ErrorLevel
isHardError :: Error ex => ex -> Bool | Source
return `True` when the given error makes it impossible to continue analysis or compilation.
Error class
class (Typeable e, Show e) => Error e where | Source
errors in Language.C are instance of `Error`
Methods
errorInfo :: e -> ErrorInfo | Source
obtain source location etc. of an error
toError :: e -> CError | Source
wrap error in `CError`
fromError :: CError -> Maybe e | Source
try to cast a generic `CError` to the specific error type
changeErrorLevel :: e -> ErrorLevel -> e | Source
modify the error level
Instances
Error UserError
Error UnsupportedFeature
Error CError
Error ErrorInfo
Error TypeMismatch
Error RedefError
Error BadSpecifierError
Error InvalidASTError
errorPos :: Error e => e -> Position | Source
position of an `Error`
errorLevel :: Error e => e -> ErrorLevel | Source
severity level of an `Error`
errorMsgs :: Error e => e -> [String] | Source
message lines of an `Error`
Error supertype
data CError | Source
supertype of all errors
Constructors
forall err . Error err => CError err |
Instances
Show CError
Typeable CError
Error CError
Infos attached to errors
data ErrorInfo | Source
information attached to every error in Language.C
Constructors
ErrorInfo ErrorLevel Position [String] |
Instances
Show ErrorInfo
Typeable ErrorInfo
Error ErrorInfo
showError :: Error e => String -> e -> String | Source
showErrorInfo :: String -> ErrorInfo -> String | Source
converts an error into a string using a fixed format either the lines of the long error message or the short message has to be non-empty the format is
        <fname>:<row>: (column <col>) [<err lvl>]
          >>> <line_1>
          <line_2>
            ...
          <line_n>
mkErrorInfo :: ErrorLevel -> String -> NodeInfo -> ErrorInfo | Source
Default error types
data UnsupportedFeature | Source
error raised if a operation requires an unsupported or not yet implemented feature.
Instances
Show UnsupportedFeature
Typeable UnsupportedFeature
Error UnsupportedFeature
unsupportedFeature :: Pos a => String -> a -> UnsupportedFeature | Source
unsupportedFeature_ :: String -> UnsupportedFeature | Source
data UserError | Source
unspecified error raised by the user (in case the user does not want to define her own error types).
Instances
Show UserError
Typeable UserError
Error UserError
userErr :: String -> UserError | Source
Raising internal errors
internalErr :: String -> a | Source
raise a fatal internal error; message may have multiple lines
Produced by Haddock version 2.4.2