language-c-0.3.2.1: Analysis and generation of C 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
Error levels (severity)
Constructors
LevelWarn
LevelError
LevelFatal
show/hide Instances
isHardError :: Error ex => ex -> Bool
return True when the given error makes it impossible to continue analysis or compilation.
Error class
class (Typeable e, Show e) => Error e where
errors in Language.C are instance of Error
Methods
errorInfo :: e -> ErrorInfo
obtain source location etc. of an error
toError :: e -> CError
wrap error in CError
fromError :: CError -> Maybe e
try to cast a generic CError to the specific error type
changeErrorLevel :: e -> ErrorLevel -> e
modify the error level
show/hide Instances
errorPos :: Error e => e -> Position
position of an Error
errorLevel :: Error e => e -> ErrorLevel
severity level of an Error
errorMsgs :: Error e => e -> [String]
message lines of an Error
Error supertype
data CError
supertype of all errors
Constructors
forall err . Error err => CError err
show/hide Instances
Infos attached to errors
data ErrorInfo
information attached to every error in Language.C
Constructors
ErrorInfo ErrorLevel Position [String]
show/hide Instances
showError :: Error e => String -> e -> String
showErrorInfo :: String -> ErrorInfo -> String

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