libexpr: heap-allocate app nodes

Change-Id: I9a39dcf0be7589cedf494757e21665c5d50e446b
This commit is contained in:
eldritch horrors
2025-10-04 16:31:45 +02:00
parent 94a866d44f
commit 79586575c5
7 changed files with 56 additions and 67 deletions
+6 -6
View File
@@ -102,9 +102,9 @@ TEST_F(ValuePrintingTests, vThunk)
TEST_F(ValuePrintingTests, vApp)
{
Value vApp;
EvalMemory mem;
Value vFn{NewValueAs::null};
vApp.mkApp(&vFn, &vFn);
Value vApp{NewValueAs::app, mem, vFn, vFn};
test(vApp, "«thunk»");
}
@@ -142,12 +142,12 @@ TEST_F(ValuePrintingTests, vPrimOp)
TEST_F(ValuePrintingTests, vPrimOpApp)
{
EvalMemory mem;
PrimOp primOp{{.name = "puppy"}};
Value vPrimOp;
vPrimOp.mkPrimOp(&primOp);
Value vPrimOpApp;
vPrimOpApp.mkApp(&vPrimOp, &vPrimOp);
Value vPrimOpApp{NewValueAs::app, mem, vPrimOp, vPrimOp};
test(vPrimOpApp, "«partially applied primop puppy»");
}
@@ -591,12 +591,12 @@ TEST_F(ValuePrintingTests, ansiColorsPrimOp)
TEST_F(ValuePrintingTests, ansiColorsPrimOpApp)
{
EvalMemory mem;
PrimOp primOp{{.name = "puppy"}};
Value vPrimOp;
vPrimOp.mkPrimOp(&primOp);
Value v;
v.mkApp(&vPrimOp, &vPrimOp);
Value v{NewValueAs::app, mem, vPrimOp, vPrimOp};
test(v,
ANSI_BLUE "«partially applied primop puppy»" ANSI_NORMAL,