| Safe Haskell | Ignore |
|---|---|
| Language | GHC2021 |
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 :: !(EpToken "in")
- iwc_st :: !SourceText
- iwc_wc :: LocatedE 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
- type LWarningTxt pass = XRec pass (WarningTxt pass)
- type DeclWarnOccNames pass = [(OccName, WarningTxt pass)]
- type ExportWarnNames pass = [(Name, WarningTxt pass)]
- warningTxtCategory :: WarningTxt pass -> WarningCategory
- warningTxtMessage :: WarningTxt p -> [LocatedE (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 #
Constructors
| WarningCategory FastString |
Instances
defaultWarningCategory :: WarningCategory #
The deprecations category is used for all DEPRECATED pragmas and for
WARNING pragmas that do not specify a category.
validWarningCategory :: WarningCategory -> Bool #
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 #
Constructors
| InWarningCategory | |
Fields
| |
Instances
data WarningCategorySet #
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 #
The empty set of warning categories.
completeWarningCategorySet :: WarningCategorySet #
The set consisting of all possible warning categories.
nullWarningCategorySet :: WarningCategorySet -> Bool #
Is this set empty?
elemWarningCategorySet :: WarningCategory -> WarningCategorySet -> Bool #
Does this warning category belong to the set?
insertWarningCategorySet :: WarningCategory -> WarningCategorySet -> WarningCategorySet #
Insert an element into a warning category set.
deleteWarningCategorySet :: WarningCategory -> WarningCategorySet -> WarningCategorySet #
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 #
Warning Text
reason/explanation from a WARNING or DEPRECATED pragma
Constructors
| WarningTxt | |
Fields
| |
| DeprecatedTxt SourceText [LocatedE (WithHsDocIdentifiers StringLiteral pass)] | |
Instances
type LWarningTxt pass = XRec pass (WarningTxt pass) #
type DeclWarnOccNames pass = [(OccName, WarningTxt pass)] #
Deprecated declarations
type ExportWarnNames pass = [(Name, WarningTxt pass)] #
Names that are deprecated as exports
warningTxtCategory :: WarningTxt pass -> WarningCategory #
To which warning category does this WARNING or DEPRECATED pragma belong? See Note [Warning categories].
warningTxtMessage :: WarningTxt p -> [LocatedE (WithHsDocIdentifiers StringLiteral p)] #
The message that the WarningTxt was specified to output
warningTxtSame :: WarningTxt p1 -> WarningTxt p2 -> Bool #
True if the 2 WarningTxts have the same category and messages
pprWarningTxtForMsg :: WarningTxt p -> SDoc #
mkIfaceDeclWarnCache :: Warnings p -> OccName -> Maybe (WarningTxt p) #
Constructs the cache for the mi_decl_warn_fn field of a ModIface
mkIfaceExportWarnCache :: Warnings p -> Name -> Maybe (WarningTxt p) #
Constructs the cache for the mi_export_warn_fn field of a ModIface
emptyIfaceWarnCache :: name -> Maybe (WarningTxt p) #
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 |