Merge pull request #84 from layus/debug-path-lookup

improve error message on path lookup
This commit is contained in:
John Wiegley 2018-02-13 14:14:08 -08:00 committed by GitHub
commit 0d4b2874c0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -9,6 +9,7 @@ import Control.Monad hiding (mapM, sequence)
import Control.Monad.Fix
import Data.Fix
import Data.Foldable (foldl')
import Data.List (intercalate)
import qualified Data.Map as Map
import Data.Text (Text)
import qualified Data.Text as Text
@ -132,7 +133,8 @@ evalExpr = cata phi
Just v -> pure v
Nothing -> case alternative of
Just v -> v env
Nothing -> error "could not look up attribute in value"
Nothing -> error $ "could not look up attribute '"
++ intercalate "." (map show ks) ++ "' in value " ++ show aset'
extract (Fix (NVSet s)) (k:ks) = case Map.lookup k s of
Just v -> extract v ks
Nothing -> Nothing