diff options
| author | hallgren <hallgren@chalmers.se> | 2012-09-28 12:38:26 +0000 |
|---|---|---|
| committer | hallgren <hallgren@chalmers.se> | 2012-09-28 12:38:26 +0000 |
| commit | 86d17827ee8f04e4f9e7ac63017ef2ad3105b222 (patch) | |
| tree | 071e020404dda72020b16130c7e8fd69a02df6aa /src/compiler | |
| parent | 8154e480dd2850d7f06e0faa37406287802eb802 (diff) | |
GF shell, show_operations: nicer looking types for linearization functions
Adding a lock field to the result type of linearization functions.
TODO: figure out how to add a lock field to the argument types too.
Diffstat (limited to 'src/compiler')
| -rw-r--r-- | src/compiler/GF/Grammar/Lookup.hs | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/compiler/GF/Grammar/Lookup.hs b/src/compiler/GF/Grammar/Lookup.hs index 25c9b75a0..9148104fd 100644 --- a/src/compiler/GF/Grammar/Lookup.hs +++ b/src/compiler/GF/Grammar/Lookup.hs @@ -204,8 +204,14 @@ allOpers gr = ResOper (Just ltyp) _ -> [ltyp] ResValue ltyp -> [ltyp] ResOverload _ tytrs -> [ltyp | (ltyp,_) <- tytrs] - CncFun (Just (i,ctx,typ)) _ _ _ -> [L NoLoc (mkProdSimple ctx typ)] + CncFun (Just (i,ctx,typ)) _ _ _ -> + [L NoLoc (mkProdSimple ctx (lock' i typ))] _ -> [] + + lock' i typ = case lock i typ of + Ok t -> t + _ -> typ + reachable = case greatestResource gr of Just r -> allExtendSpecs gr r _ -> [] |
