From c330cac1db47bbf5d90fbfbb215797c1dda186ae Mon Sep 17 00:00:00 2001 From: krasimir Date: Wed, 28 Oct 2009 17:44:50 +0000 Subject: check for cyclic parameters, operations and dependent types --- src/GF/Compile/Optimize.hs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'src/GF/Compile/Optimize.hs') diff --git a/src/GF/Compile/Optimize.hs b/src/GF/Compile/Optimize.hs index eb3fc8383..85195b516 100644 --- a/src/GF/Compile/Optimize.hs +++ b/src/GF/Compile/Optimize.hs @@ -46,8 +46,7 @@ optimizeModule opts ms mo@(name,mi) | mstatus mi == MSComplete = do mo1 <- case mtype mi of _ | isModRes mi -> do - let deps = allOperDependencies name (jments mi) - ids <- topoSortOpers deps + ids <- topoSortJments mo if OptExpand `Set.member` optim then do mi <- foldM evalOp mi ids return (name,mi) @@ -64,8 +63,7 @@ optimizeModule opts ms mo@(name,mi) gr = MGrammar $ mo : ms - evalOp mi i = do - info <- lookupTree showIdent i (jments mi) + evalOp mi (i,info) = do info' <- evalResInfo oopts gr (i,info) return (updateModule mi i info') -- cgit v1.2.3