From 15be4ddca99844d0c930538e62f1f2c22c40bef1 Mon Sep 17 00:00:00 2001 From: Neil Brown Date: Tue, 28 Aug 2007 15:28:52 +0000 Subject: [PATCH] Changed some instances of lookupName to lookupNameOrError to make it a little easier to track down internal compiler errors --- Types.hs | 4 ++-- Unnest.hs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Types.hs b/Types.hs index de8187f..5d26bed 100644 --- a/Types.hs +++ b/Types.hs @@ -37,11 +37,11 @@ import Metadata specTypeOfName :: (CSM m, Die m) => A.Name -> m A.SpecType specTypeOfName n - = liftM A.ndType (lookupName n) + = liftM A.ndType (lookupNameOrError n $ dieP (A.nameMeta n) $ "Could not find find type in specTypeOfName for: " ++ (show $ A.nameName n)) abbrevModeOfName :: (CSM m, Die m) => A.Name -> m A.AbbrevMode abbrevModeOfName n - = liftM A.ndAbbrevMode (lookupName n) + = liftM A.ndAbbrevMode (lookupNameOrError n $ dieP (A.nameMeta n) $ "Could not find find abbreviation mode in abbrevModeOfName for: " ++ (show $ A.nameName n)) typeOfName :: (CSM m, Die m) => A.Name -> m A.Type typeOfName n diff --git a/Unnest.hs b/Unnest.hs index d23f188..c493f46 100644 --- a/Unnest.hs +++ b/Unnest.hs @@ -134,7 +134,7 @@ removeFreeNames = doGeneric `extM` doSpecification `extM` doProcess -- Generate and define new names to replace them with newNamesS <- sequence [makeNonce (A.nameName n) | n <- freeNames] let newNames = [on { A.nameName = nn } | (on, nn) <- zip freeNames newNamesS] - onds <- mapM lookupName freeNames + onds <- mapM (\n -> lookupNameOrError n $ dieP mp $ "Could not find recorded type for free name: " ++ (show $ A.nameName n)) freeNames sequence_ [defineName nn (ond { A.ndName = A.nameName nn, A.ndAbbrevMode = am }) | (ond, nn, am) <- zip3 onds newNames ams]