summaryrefslogtreecommitdiff
path: root/src/compiler/GF/Compile/Refresh.hs
diff options
context:
space:
mode:
authorkr.angelov <kr.angelov@gmail.com>2013-10-30 12:53:36 +0000
committerkr.angelov <kr.angelov@gmail.com>2013-10-30 12:53:36 +0000
commit042243f08a321cd8ed5918ba94e83f22a8552adb (patch)
treee7c1e17cebe2d7d674f8df54ffda14a829e0ff21 /src/compiler/GF/Compile/Refresh.hs
parent122c40bb3b4cc4ca077f00ab3b484ae9066fd2be (diff)
added the linref construction in GF. The PGF version number is now bumped
Diffstat (limited to 'src/compiler/GF/Compile/Refresh.hs')
-rw-r--r--src/compiler/GF/Compile/Refresh.hs13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/compiler/GF/Compile/Refresh.hs b/src/compiler/GF/Compile/Refresh.hs
index 837534afa..999d8b083 100644
--- a/src/compiler/GF/Compile/Refresh.hs
+++ b/src/compiler/GF/Compile/Refresh.hs
@@ -124,9 +124,16 @@ refreshModule (k,sgr) mi@(i,mo)
(k',tyts') <- liftM (\ (t,(_,i)) -> (i,t)) $
appSTM (mapPairsM (\(L loc t) -> liftM (L loc) (refresh t)) tyts) (initIdStateN k)
return $ (k', (c, ResOverload os tyts'):cs)
- CncCat mt (Just (L loc trm)) mn mpmcfg-> do ---- refresh mt, pn
- (k',trm') <- refreshTermKN k trm
- return $ (k', (c, CncCat mt (Just (L loc trm')) mn mpmcfg):cs)
+ CncCat mt md mr mn mpmcfg-> do
+ (k,md) <- case md of
+ Just (L loc trm) -> do (k,trm) <- refreshTermKN k trm
+ return (k,Just (L loc trm))
+ Nothing -> return (k,Nothing)
+ (k,mr) <- case mr of
+ Just (L loc trm) -> do (k,trm) <- refreshTermKN k trm
+ return (k,Just (L loc trm))
+ Nothing -> return (k,Nothing)
+ return (k, (c, CncCat mt md mr mn mpmcfg):cs)
CncFun mt (Just (L loc trm)) mn mpmcfg -> do ---- refresh pn
(k',trm') <- refreshTermKN k trm
return $ (k', (c, CncFun mt (Just (L loc trm')) mn mpmcfg):cs)