summaryrefslogtreecommitdiff
path: root/src/compiler/GF/Compile/Abstract/TC.hs
diff options
context:
space:
mode:
authorkrasimir <krasimir@chalmers.se>2010-03-18 20:21:57 +0000
committerkrasimir <krasimir@chalmers.se>2010-03-18 20:21:57 +0000
commit973a0cacb7c2f68dfed29ff0dc355fdcebfef3ae (patch)
tree58dea973e689443e4ede77e5390add85eeaf2c13 /src/compiler/GF/Compile/Abstract/TC.hs
parent985bb550c0b0c02b5e9c29b53e4f19d859b58dc2 (diff)
pattern @ should be propagated to PGF
Diffstat (limited to 'src/compiler/GF/Compile/Abstract/TC.hs')
-rw-r--r--src/compiler/GF/Compile/Abstract/TC.hs2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/compiler/GF/Compile/Abstract/TC.hs b/src/compiler/GF/Compile/Abstract/TC.hs
index bca54b93c..211e8c743 100644
--- a/src/compiler/GF/Compile/Abstract/TC.hs
+++ b/src/compiler/GF/Compile/Abstract/TC.hs
@@ -236,11 +236,13 @@ checkBranch th tenv b@(ps,t) ty = errIn ("branch" +++ show b) $
p2t p (ps,i,g,k) = case p of
PW -> (Meta i : ps, i+1,g,k)
PV x -> (Vr x : ps, i, upd x k g,k+1)
+ PAs x p -> p2t p (ps,i,g,k)
PString s -> (K s : ps, i, g, k)
PInt n -> (EInt n : ps, i, g, k)
PFloat n -> (EFloat n : ps, i, g, k)
PP m c xs -> (mkApp (Q m c) xss : ps, j, g',k')
where (xss,j,g',k') = foldr p2t ([],i,g,k) xs
+ PImplArg p -> p2t p (ps,i,g,k)
PTilde t -> (t : ps, i, g, k)
_ -> error $ render (text "undefined p2t case" <+> ppPatt Unqualified 0 p <+> text "in checkBranch")