refactor(tvix/eval): remove code and location from struct

Instead, it's passed in the evaluate/compile_only functions, which feels
more naturally. It lets us set up the Evaluation struct long before
we actually feed it with data to evaluate.

Now that Evaluation::new() would be accepting an empty list of
arguments, we can simply implement Default, making things a bit more
idiomatic.

Change-Id: I4369658634909a0c504fdffa18242a130daa0239
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10475
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: flokli <flokli@flokli.de>
This commit is contained in:
Florian Klink 2023-12-30 21:36:48 +01:00 committed by clbot
parent a5c5f1a29e
commit 4fba57c2c9
10 changed files with 72 additions and 69 deletions

View file

@ -286,7 +286,7 @@ fn eval(model: &Model) -> Output {
return out;
}
let mut eval = tvix_eval::Evaluation::new(&model.code, Some("/nixbolt".into()));
let mut eval = tvix_eval::Evaluation::default();
let source = eval.source_map();
let result = {
@ -298,7 +298,7 @@ fn eval(model: &Model) -> Output {
eval.runtime_observer = Some(&mut runtime_observer);
}
eval.evaluate()
eval.evaluate(&model.code, Some("/nixbolt".into()))
};
if model.display_ast {