language-c-0.3.1.1: Analysis and generation of C codeSource codeContentsIndex
Language.C.Data.Error
Portabilityghc
Stabilityexperimental
Maintainerbenedikt.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
isHardError :: Error ex => ex -> BoolSource
return True when the given error makes it impossible to continue analysis or compilation.
Error class
class (Typeable e, Show e) => Error e whereSource
errors in Language.C are instance of Error
Methods
errorInfo :: e -> ErrorInfoSource
obtain source location etc. of an error
toError :: e -> CErrorSource
wrap error in CError
fromError :: CError -> Maybe eSource
try to cast a generic CError to the specific error type
changeErrorLevel :: e -> ErrorLevel -> eSource
modify the error level
errorPos :: Error e => e -> PositionSource
position of an Error
errorLevel :: Error e => e -> ErrorLevelSource
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
Infos attached to errors
data ErrorInfo Source
information attached to every error in Language.C
Constructors
ErrorInfo ErrorLevel Position [String]
showError :: Error e => String -> e -> StringSource
showErrorInfo :: String -> ErrorInfo -> StringSource

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 -> ErrorInfoSource
Default error types
data UnsupportedFeature Source
error raised if a operation requires an unsupported or not yet implemented feature.
unsupportedFeature :: Pos a => String -> a -> UnsupportedFeatureSource
unsupportedFeature_ :: String -> UnsupportedFeatureSource
data UserError Source
unspecified error raised by the user (in case the user does not want to define her own error types).
userErr :: String -> UserErrorSource
Raising internal errors
internalErr :: String -> aSource
raise a fatal internal error; message may have multiple lines
Produced by Haddock version 2.6.0