on master help sign in
fix warning text for '%elim' in parser
c047c24Michael Morgan
src/Idris/Parser/Data.hs+9−6
@@ -141,17 +141,20 @@ DefaultEliminator ::= 'noelim'?
141 -}
141 -}
142dataOpts :: DataOpts -> IdrisParser DataOpts
142dataOpts :: DataOpts -> IdrisParser DataOpts
143dataOpts opts
143dataOpts opts
144+ = do let kw = "%elim"
144− = do fc <- reservedFC "%elim"
145+ fc <- reservedFC kw
145− warnElim fc
146+ warnElim fc kw
146 dataOpts (DefaultEliminator : DefaultCaseFun : opts)
147 dataOpts (DefaultEliminator : DefaultCaseFun : opts)
148+ <|> do let kw = "%case"
147− <|> do fc <- reservedFC "%case"
149+ fc <- reservedFC kw
148− warnElim fc
150+ warnElim fc kw
149 dataOpts (DefaultCaseFun : opts)
151 dataOpts (DefaultCaseFun : opts)
150 <|> do reserved "%error_reverse"; dataOpts (DataErrRev : opts)
152 <|> do reserved "%error_reverse"; dataOpts (DataErrRev : opts)
151 <|> return opts
153 <|> return opts
152 <?> "data options"
154 <?> "data options"
153− where warnElim fc =
155+ where warnElim fc kw =
154− parserWarning fc (Just NoElimDeprecationWarnings) (Msg "The 'class' keyword is deprecated. Use 'interface' instead.")
156+ parserWarning fc (Just NoElimDeprecationWarnings)
157+ (Msg ("The '" ++ kw ++ "' directive is deprecated."))
155
158
156{- | Parses a data type declaration
159{- | Parses a data type declaration
157Data ::= DocComment? Accessibility? DataI DefaultEliminator FnName TypeSig ExplicitTypeDataRest?
160Data ::= DocComment? Accessibility? DataI DefaultEliminator FnName TypeSig ExplicitTypeDataRest?