From 6a4218e9efebc8b037cf2410a5e07a3fb20a5069 Mon Sep 17 00:00:00 2001 From: aarne Date: Sun, 9 Dec 2007 10:52:19 +0000 Subject: extend behaviour for interface and incomplete --- src/GF/Devel/Compile/Rename.hs | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'src/GF/Devel/Compile/Rename.hs') diff --git a/src/GF/Devel/Compile/Rename.hs b/src/GF/Devel/Compile/Rename.hs index fe4f8175f..b6d44c7ed 100644 --- a/src/GF/Devel/Compile/Rename.hs +++ b/src/GF/Devel/Compile/Rename.hs @@ -47,12 +47,15 @@ renameSourceTerm g m t = do -} renameModule :: GF -> SourceModule -> Err SourceModule -renameModule gf sm@(name,mo) = errIn ("renaming module" +++ prt name) $ do - let gf1 = gf {gfmodules = Map.insert name mo (gfmodules gf)} - let rename = renameTerm (gf1,sm) [] - mo1 <- termOpModule rename mo - let mo2 = mo1 {mopens = [(i,i) | (_,i) <- mopens mo1]} - return (name,mo2) +renameModule gf sm@(name,mo) = case mtype mo of + MTInterface -> return sm + _ | not (isCompleteModule mo) -> return sm + _ -> errIn ("renaming module" +++ prt name) $ do + let gf1 = gf {gfmodules = Map.insert name mo (gfmodules gf)} + let rename = renameTerm (gf1,sm) [] + mo1 <- termOpModule rename mo + let mo2 = mo1 {mopens = nub [(i,i) | (_,i) <- mopens mo1]} + return (name,mo2) type RenameEnv = (GF,SourceModule) -- cgit v1.2.3