PEnum checks outputted constructors now
This commit is contained in:
parent
b3b71c0ef7
commit
a14ed7d026
1 changed files with 5 additions and 1 deletions
|
|
@ -324,7 +324,11 @@ morphPattern p expectedType = case p of
|
|||
L.PVar ident -> return $ Just ((M.PVar ident, expectedType), Set.singleton ident)
|
||||
L.PLit lit -> return $ Just ((M.PLit (convertLit lit), expectedType), Set.empty)
|
||||
L.PCatch -> return $ Just ((M.PCatch, expectedType), Set.empty)
|
||||
L.PEnum ident -> return $ Just ((M.PEnum (newName expectedType ident), expectedType), Set.empty)
|
||||
L.PEnum ident -> do
|
||||
let newIdent = newName expectedType ident
|
||||
isMarked <- isConsMarked newIdent
|
||||
if isMarked then return $ Just ((M.PEnum newIdent, expectedType), Set.empty)
|
||||
else return Nothing
|
||||
L.PInj ident pts -> do let newIdent = newName expectedType ident
|
||||
isMarked <- isConsMarked newIdent
|
||||
if isMarked
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue