Safe Haskell | None |
---|---|
Language | Haskell2010 |
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 #
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 #
InWarningCategory | |
|
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
WarnSome | |
| |
WarnAll (WarningTxt pass) | Whole module deprecated |
data WarningTxt pass Source #
Warning Text
reason/explanation from a WARNING or DEPRECATED pragma
WarningTxt | |
| |
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 #
:: Warnings p | Existing warnings |
-> [(OccName, WarningTxt p)] | New declaration deprecations |
-> Warnings p | Updated warnings |
:: Warnings p | Existing warnings |
-> [(Name, WarningTxt p)] | New export deprecations |
-> Warnings p | Updated warnings |