Skip to content

Commit 06c5396

Browse files
committed
Eval: add fun addMetaInfo
1 parent 2175a30 commit 06c5396

File tree

4 files changed

+13
-9
lines changed

4 files changed

+13
-9
lines changed

ChangeLog.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,9 @@
99
* added type `TransformF`
1010

1111
* `Nix.Eval`:
12-
* added fun
12+
* added fun:
1313
* `evalContent`
14+
* `addMetaInfo`
1415

1516

1617
### [(diff)](https://github.com/haskell-nix/hnix/compare/0.13.0.1...0.13.1#files_bucket) 0.13.1 (2021-05-22)

src/Nix.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ nixEvalExprLoc
8080
nixEvalExprLoc mpath =
8181
nixEval
8282
mpath
83-
(Eval.addStackFrames . Eval.addSourcePositions)
83+
Eval.addMetaInfo
8484
Eval.evalContent
8585

8686
-- | Evaluate a nix expression with tracing in the default context. Note that

src/Nix/Eval.hs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -556,11 +556,18 @@ framedEvalExprLoc
556556
=> NExprLoc
557557
-> m v
558558
framedEvalExprLoc =
559-
adi evalContent $ addStackFrames @v . addSourcePositions
559+
adi evalContent addMetaInfo
560560

561561
-- | Takes annotated expression. Strip from annotation. Evaluate.
562562
evalContent
563563
:: MonadNixEval v m
564564
=> Compose (Ann ann) NExprF (m v)
565565
-> m v
566566
evalContent = eval . annotated . getCompose
567+
568+
-- | Add source postionss & frame context system.
569+
addMetaInfo
570+
:: forall v m e a
571+
. (Framed e m, Scoped v m, Has e SrcSpan, Typeable m, Typeable v)
572+
=> TransformF NExprLoc (m a)
573+
addMetaInfo = addStackFrames @v . addSourcePositions

src/Nix/Exec.hs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -526,19 +526,15 @@ evalExprLoc expr =
526526
let
527527
pTracedAdi =
528528
bool
529-
(adi Eval.evalContent addMetaInfo)
529+
(adi Eval.evalContent Eval.addMetaInfo)
530530
(join . (`runReaderT` (0 :: Int)) .
531531
adi
532532
(addTracing Eval.evalContent)
533-
(raise addMetaInfo)
533+
(raise Eval.addMetaInfo)
534534
)
535535
(tracing opts)
536536
pTracedAdi expr
537-
538537
where
539-
addMetaInfo :: (Fix NExprLocF -> m a) -> Fix NExprLocF -> m a
540-
addMetaInfo = addStackFrames @(NValue t f m) . addSourcePositions
541-
542538
raise k f x = ReaderT $ \e -> k (\t -> runReaderT (f t) e) x
543539

544540
exec :: (MonadNix e t f m, MonadInstantiate m) => [Text] -> m (NValue t f m)

0 commit comments

Comments
 (0)