summaryrefslogtreecommitdiff
path: root/utils/check-exact/Lookup.hs
diff options
context:
space:
mode:
Diffstat (limited to 'utils/check-exact/Lookup.hs')
-rw-r--r--utils/check-exact/Lookup.hs215
1 files changed, 106 insertions, 109 deletions
diff --git a/utils/check-exact/Lookup.hs b/utils/check-exact/Lookup.hs
index 467f76c686..d3a7df6c2a 100644
--- a/utils/check-exact/Lookup.hs
+++ b/utils/check-exact/Lookup.hs
@@ -1,7 +1,7 @@
module Lookup
(
keywordToString
- , KeywordId(..)
+ , AnnKeywordId(..)
, Comment(..)
) where
@@ -12,117 +12,114 @@ import Types
-- There is no specific mapping for the following constructors.
-- `AnnOpen`, `AnnClose`, `AnnVal`, `AnnPackageName`, `AnnHeader`, `AnnFunId`,
-- `AnnInfix`
-keywordToString :: KeywordId -> String
+keywordToString :: AnnKeywordId -> String
keywordToString kw =
let mkErr x = error $ "keywordToString: missing case for:" ++ show x
in
case kw of
-- Specifically handle all cases so that there are pattern match
-- warnings if new constructors are added.
- AnnComment _ -> mkErr kw
- AnnString _ -> mkErr kw
- AnnSemiSep -> ";"
- (G AnnAnyclass) -> "anyclass"
- (G AnnOpen ) -> mkErr kw
- (G AnnClose ) -> mkErr kw
- (G AnnVal ) -> mkErr kw
- (G AnnPackageName) -> mkErr kw
- (G AnnHeader ) -> mkErr kw
- (G AnnFunId ) -> mkErr kw
- (G AnnInfix ) -> mkErr kw
- (G AnnValStr ) -> mkErr kw
- (G AnnName ) -> mkErr kw
- (G AnnAs ) -> "as"
- (G AnnBang ) -> "!"
- (G AnnBackquote ) -> "`"
- (G AnnBy ) -> "by"
- (G AnnCase ) -> "case"
- (G AnnCases ) -> "cases"
- (G AnnClass ) -> "class"
- (G AnnCloseB ) -> "|)"
- (G AnnCloseBU ) -> "⦈"
- (G AnnCloseC ) -> "}"
- (G AnnCloseP ) -> ")"
- (G AnnClosePH ) -> "#)"
- (G AnnCloseQ ) -> "|]"
- (G AnnCloseQU ) -> "⟧"
- (G AnnCloseS ) -> "]"
- (G AnnColon ) -> ":"
- (G AnnComma ) -> ","
- (G AnnCommaTuple ) -> ","
- (G AnnDarrow ) -> "=>"
- (G AnnData ) -> "data"
- (G AnnDcolon ) -> "::"
- (G AnnDefault ) -> "default"
- (G AnnDeriving ) -> "deriving"
- (G AnnDo ) -> "do"
- (G AnnDot ) -> "."
- (G AnnDotdot ) -> ".."
- (G AnnElse ) -> "else"
- (G AnnEqual ) -> "="
- (G AnnExport ) -> "export"
- (G AnnFamily ) -> "family"
- (G AnnForall ) -> "forall"
- (G AnnForeign ) -> "foreign"
- (G AnnGroup ) -> "group"
- (G AnnHiding ) -> "hiding"
- (G AnnIf ) -> "if"
- (G AnnImport ) -> "import"
- (G AnnIn ) -> "in"
- (G AnnInstance ) -> "instance"
- (G AnnLam ) -> "\\"
- (G AnnLarrow ) -> "<-"
- (G AnnLet ) -> "let"
- (G AnnLollyU ) -> "⊸"
- (G AnnMdo ) -> "mdo"
- (G AnnMinus ) -> "-"
- (G AnnModule ) -> "module"
- (G AnnNewtype ) -> "newtype"
- (G AnnOf ) -> "of"
- (G AnnOpenB ) -> "(|"
- (G AnnOpenBU ) -> "⦇"
- (G AnnOpenC ) -> "{"
- (G AnnOpenE ) -> "[e|"
- (G AnnOpenEQ ) -> "[|"
- (G AnnOpenEQU ) -> "⟦"
- (G AnnOpenP ) -> "("
- (G AnnOpenPH ) -> "(#"
- (G AnnOpenS ) -> "["
- (G AnnPattern ) -> "pattern"
- (G AnnPercent ) -> "%"
- (G AnnPercentOne) -> "%1"
- (G AnnProc ) -> "proc"
- (G AnnQualified ) -> "qualified"
- (G AnnRarrow ) -> "->"
- (G AnnRec ) -> "rec"
- (G AnnRole ) -> "role"
- (G AnnSafe ) -> "safe"
- (G AnnSemi ) -> ";"
- (G AnnSignature) -> "signature"
- (G AnnStock ) -> "stock"
- (G AnnStatic ) -> "static"
- (G AnnThen ) -> "then"
- (G AnnTilde ) -> "~"
- (G AnnType ) -> "type"
- (G AnnUnit ) -> "()"
- (G AnnUsing ) -> "using"
- (G AnnVbar ) -> "|"
- (G AnnWhere ) -> "where"
- (G Annlarrowtail ) -> "-<"
- (G Annrarrowtail ) -> ">-"
- (G AnnLarrowtail ) -> "-<<"
- (G AnnRarrowtail ) -> ">>-"
- (G AnnSimpleQuote ) -> "'"
- (G AnnThTyQuote ) -> "''"
- (G AnnDollar ) -> "$"
- (G AnnDollarDollar ) -> "$$"
- (G AnnDarrowU) -> "⇒"
- (G AnnDcolonU) -> "∷"
- (G AnnForallU) -> "∀"
- (G AnnLarrowU) -> "←"
- (G AnnLarrowtailU) -> "⤛"
- (G AnnRarrowU) -> "→"
- (G AnnRarrowtailU) -> "⤜"
- (G AnnlarrowtailU) -> "⤙"
- (G AnnrarrowtailU) -> "⤚"
- (G AnnVia) -> "via"
+ AnnAnyclass -> "anyclass"
+ AnnOpen -> mkErr kw
+ AnnClose -> mkErr kw
+ AnnVal -> mkErr kw
+ AnnPackageName -> mkErr kw
+ AnnHeader -> mkErr kw
+ AnnFunId -> mkErr kw
+ AnnInfix -> mkErr kw
+ AnnValStr -> mkErr kw
+ AnnName -> mkErr kw
+ AnnAs -> "as"
+ AnnBang -> "!"
+ AnnBackquote -> "`"
+ AnnBy -> "by"
+ AnnCase -> "case"
+ AnnCases -> "cases"
+ AnnClass -> "class"
+ AnnCloseB -> "|)"
+ AnnCloseBU -> "⦈"
+ AnnCloseC -> "}"
+ AnnCloseP -> ")"
+ AnnClosePH -> "#)"
+ AnnCloseQ -> "|]"
+ AnnCloseQU -> "⟧"
+ AnnCloseS -> "]"
+ AnnColon -> ":"
+ AnnComma -> ","
+ AnnCommaTuple -> ","
+ AnnDarrow -> "=>"
+ AnnData -> "data"
+ AnnDcolon -> "::"
+ AnnDefault -> "default"
+ AnnDeriving -> "deriving"
+ AnnDo -> "do"
+ AnnDot -> "."
+ AnnDotdot -> ".."
+ AnnElse -> "else"
+ AnnEqual -> "="
+ AnnExport -> "export"
+ AnnFamily -> "family"
+ AnnForall -> "forall"
+ AnnForeign -> "foreign"
+ AnnGroup -> "group"
+ AnnHiding -> "hiding"
+ AnnIf -> "if"
+ AnnImport -> "import"
+ AnnIn -> "in"
+ AnnInstance -> "instance"
+ AnnLam -> "\\"
+ AnnLarrow -> "<-"
+ AnnLet -> "let"
+ AnnLollyU -> "⊸"
+ AnnMdo -> "mdo"
+ AnnMinus -> "-"
+ AnnModule -> "module"
+ AnnNewtype -> "newtype"
+ AnnOf -> "of"
+ AnnOpenB -> "(|"
+ AnnOpenBU -> "⦇"
+ AnnOpenC -> "{"
+ AnnOpenE -> "[e|"
+ AnnOpenEQ -> "[|"
+ AnnOpenEQU -> "⟦"
+ AnnOpenP -> "("
+ AnnOpenPH -> "(#"
+ AnnOpenS -> "["
+ AnnPattern -> "pattern"
+ AnnPercent -> "%"
+ AnnPercentOne -> "%1"
+ AnnProc -> "proc"
+ AnnQualified -> "qualified"
+ AnnRarrow -> "->"
+ AnnRec -> "rec"
+ AnnRole -> "role"
+ AnnSafe -> "safe"
+ AnnSemi -> ";"
+ AnnSignature -> "signature"
+ AnnStock -> "stock"
+ AnnStatic -> "static"
+ AnnThen -> "then"
+ AnnTilde -> "~"
+ AnnType -> "type"
+ AnnUnit -> "()"
+ AnnUsing -> "using"
+ AnnVbar -> "|"
+ AnnWhere -> "where"
+ Annlarrowtail -> "-<"
+ Annrarrowtail -> ">-"
+ AnnLarrowtail -> "-<<"
+ AnnRarrowtail -> ">>-"
+ AnnSimpleQuote -> "'"
+ AnnThTyQuote -> "''"
+ AnnDollar -> "$"
+ AnnDollarDollar -> "$$"
+ AnnDarrowU -> "⇒"
+ AnnDcolonU -> "∷"
+ AnnForallU -> "∀"
+ AnnLarrowU -> "←"
+ AnnLarrowtailU -> "⤛"
+ AnnRarrowU -> "→"
+ AnnRarrowtailU -> "⤜"
+ AnnlarrowtailU -> "⤙"
+ AnnrarrowtailU -> "⤚"
+ AnnVia -> "via"