From 0d4c32f3d3640c5e2e9506b9c27ccc83bad14cdc Mon Sep 17 00:00:00 2001 From: joshvera Date: Thu, 20 Sep 2018 12:08:32 -0400 Subject: [PATCH] Need to pass address to namespace for now --- src/Control/Abstract/Value.hs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/Control/Abstract/Value.hs b/src/Control/Abstract/Value.hs index 7191ea6df..47857ef68 100644 --- a/src/Control/Abstract/Value.hs +++ b/src/Control/Abstract/Value.hs @@ -28,7 +28,8 @@ module Control.Abstract.Value import Control.Abstract.ScopeGraph (Declaration) import Control.Abstract.Environment import Control.Abstract.Evaluator -import Control.Abstract.Heap +import Control.Abstract.Heap hiding (address) +import qualified Control.Abstract.Heap as Heap import Data.Abstract.Environment as Env import Data.Abstract.BaseError import Data.Abstract.Module @@ -250,14 +251,14 @@ makeNamespace :: ( AbstractValue address value effects , Ord address ) => Declaration - -> address - -> Maybe address + -> Address address + -> Maybe (Address address) -> Evaluator address value effects () -> Evaluator address value effects value makeNamespace declaration addr super body = do namespaceBinds <- Env.head <$> locally (body >> getEnv) - v <- namespace declaration super namespaceBinds - v <$ assign addr declaration v + v <- namespace declaration (Heap.address <$> super) namespaceBinds + v <$ assign addr v -- | Evaluate a term within the context of the scoped environment of 'scopedEnvTerm'.