| Safe Haskell | Ignore |
|---|---|
| Language | Haskell2010 |
GHC.Unit.Module.Warnings
Description
Warnings for a module
Synopsis
- newtype WarningCategory = WarningCategory FastString
- mkWarningCategory :: FastString -> WarningCategory
- defaultWarningCategory :: WarningCategory
- validWarningCategory :: WarningCategory -> Bool
- data InWarningCategory = InWarningCategory {
- iwc_in :: !(Located (HsToken "in"))
- iwc_st :: !SourceText
- iwc_wc :: Located WarningCategory
- fromWarningCategory :: WarningCategory -> InWarningCategory
- data WarningCategorySet
- emptyWarningCategorySet :: WarningCategorySet
- completeWarningCategorySet :: WarningCategorySet
- nullWarningCategorySet :: WarningCategorySet -> Bool
- elemWarningCategorySet :: WarningCategory -> WarningCategorySet -> Bool
- insertWarningCategorySet :: WarningCategory -> WarningCategorySet -> WarningCategorySet
- deleteWarningCategorySet :: WarningCategory -> WarningCategorySet -> WarningCategorySet
- data Warnings pass
- = WarnSome (DeclWarnOccNames pass) (ExportWarnNames pass)
- | WarnAll (WarningTxt pass)
- data WarningTxt pass
- = WarningTxt (Maybe (Located InWarningCategory)) (Located SourceText) [Located (WithHsDocIdentifiers StringLiteral pass)]
- | DeprecatedTxt (Located SourceText) [Located (WithHsDocIdentifiers StringLiteral pass)]
- type DeclWarnOccNames pass = [(OccName, WarningTxt pass)]
- type ExportWarnNames pass = [(Name, WarningTxt pass)]
- warningTxtCategory :: WarningTxt pass -> WarningCategory
- warningTxtMessage :: WarningTxt p -> [Located (WithHsDocIdentifiers StringLiteral p)]
- warningTxtSame :: WarningTxt p1 -> WarningTxt p2 -> Bool
- pprWarningTxtForMsg :: WarningTxt p -> SDoc
- emptyWarn :: Warnings p
- mkIfaceDeclWarnCache :: Warnings p -> OccName -> Maybe (WarningTxt p)
- mkIfaceExportWarnCache :: Warnings p -> Name -> Maybe (WarningTxt p)
- emptyIfaceWarnCache :: name -> Maybe (WarningTxt p)
- insertWarnDecls :: Warnings p -> [(OccName, WarningTxt p)] -> Warnings p
- insertWarnExports :: Warnings p -> [(Name, WarningTxt p)] -> Warnings p
Documentation
newtype WarningCategory Source #
Constructors
| WarningCategory FastString |
Instances
defaultWarningCategory :: WarningCategory Source #
The deprecations category is used for all DEPRECATED pragmas and for
WARNING pragmas that do not specify a category.
validWarningCategory :: WarningCategory -> Bool Source #
Is this warning category allowed to appear in user-defined WARNING pragmas?
It must either be the known category deprecations, or be a custom category
that begins with x- and contains only valid characters (letters, numbers,
apostrophes and dashes).
data InWarningCategory Source #
Constructors
| InWarningCategory | |
Fields
| |
Instances
data WarningCategorySet Source #
A finite or infinite set of warning categories.
Unlike WarningFlag, there are (in principle) infinitely many warning
categories, so we cannot necessarily enumerate all of them. However the set
is constructed by adding or removing categories one at a time, so we can
represent it as either a finite set of categories, or a cofinite set (where
we store the complement).
emptyWarningCategorySet :: WarningCategorySet Source #
The empty set of warning categories.
completeWarningCategorySet :: WarningCategorySet Source #
The set consisting of all possible warning categories.
nullWarningCategorySet :: WarningCategorySet -> Bool Source #
Is this set empty?
elemWarningCategorySet :: WarningCategory -> WarningCategorySet -> Bool Source #
Does this warning category belong to the set?
insertWarningCategorySet :: WarningCategory -> WarningCategorySet -> WarningCategorySet Source #
Insert an element into a warning category set.
deleteWarningCategorySet :: WarningCategory -> WarningCategorySet -> WarningCategorySet Source #
Delete an element from a warning category set.
Warning information from a module
Constructors
| WarnSome | |
Fields
| |
| WarnAll (WarningTxt pass) | Whole module deprecated |
data WarningTxt pass Source #
Warning Text
reason/explanation from a WARNING or DEPRECATED pragma
Constructors
| WarningTxt | |
Fields
| |
| DeprecatedTxt (Located SourceText) [Located (WithHsDocIdentifiers StringLiteral pass)] | |
Instances
type DeclWarnOccNames pass = [(OccName, WarningTxt pass)] Source #
Deprecated declarations
type ExportWarnNames pass = [(Name, WarningTxt pass)] Source #
Names that are deprecated as exports
warningTxtCategory :: WarningTxt pass -> WarningCategory Source #
To which warning category does this WARNING or DEPRECATED pragma belong? See Note [Warning categories].
warningTxtMessage :: WarningTxt p -> [Located (WithHsDocIdentifiers StringLiteral p)] Source #
The message that the WarningTxt was specified to output
warningTxtSame :: WarningTxt p1 -> WarningTxt p2 -> Bool Source #
True if the 2 WarningTxts have the same category and messages
pprWarningTxtForMsg :: WarningTxt p -> SDoc Source #
mkIfaceDeclWarnCache :: Warnings p -> OccName -> Maybe (WarningTxt p) Source #
Constructs the cache for the mi_decl_warn_fn field of a ModIface
mkIfaceExportWarnCache :: Warnings p -> Name -> Maybe (WarningTxt p) Source #
Constructs the cache for the mi_export_warn_fn field of a ModIface
emptyIfaceWarnCache :: name -> Maybe (WarningTxt p) Source #
Arguments
| :: Warnings p | Existing warnings |
| -> [(OccName, WarningTxt p)] | New declaration deprecations |
| -> Warnings p | Updated warnings |
Arguments
| :: Warnings p | Existing warnings |
| -> [(Name, WarningTxt p)] | New export deprecations |
| -> Warnings p | Updated warnings |