diff options
| author | krasimir <krasimir@chalmers.se> | 2009-10-28 17:44:50 +0000 |
|---|---|---|
| committer | krasimir <krasimir@chalmers.se> | 2009-10-28 17:44:50 +0000 |
| commit | c330cac1db47bbf5d90fbfbb215797c1dda186ae (patch) | |
| tree | 5533e1fa6489996cd2912ccbd44c82f3d5b4afc6 /src/GF/Compile/Optimize.hs | |
| parent | d130d30669e80eed8cbf2852d48315d4e5191f20 (diff) | |
check for cyclic parameters, operations and dependent types
Diffstat (limited to 'src/GF/Compile/Optimize.hs')
| -rw-r--r-- | src/GF/Compile/Optimize.hs | 6 |
1 files changed, 2 insertions, 4 deletions
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') |
