also drop singleton cases for lit / default

This commit is contained in:
2026-03-19 22:08:23 -07:00
parent cfdddbb002
commit f3f9d737cf
3 changed files with 6 additions and 0 deletions

View File

@@ -313,6 +313,8 @@ termToJS {e} env (CCase t alts) f =
maybeCaseStmt env sc (CDefAlt u :: Nil) = (termToJS env u f)
-- If there is a single alt, assume it matched
maybeCaseStmt env sc ((CConAlt _ _ info args qs u) :: Nil) = (termToJS (conAltEnv sc 0 env args) u f)
maybeCaseStmt env sc alts@(CLitAlt _ u :: Nil) = termToJS env u f
maybeCaseStmt env sc alts@(CDefAlt u :: Nil) = termToJS env u f
maybeCaseStmt env sc alts@(CLitAlt _ _ :: _) =
(JCase sc (map (termToJSAlt env sc) alts))
maybeCaseStmt env sc alts = case alts of