From 8ddcc9410a370664c800525bfedc5a01a61e1489 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 11 Nov 2023 18:21:38 +0000 Subject: Add builder for DefineFunctionInstruction --- .../stackir/InstructionSerializerTests.java | 25 ++++++++++------------ 1 file changed, 11 insertions(+), 14 deletions(-) (limited to 'src/test/java') diff --git a/src/test/java/org/shedlang/compiler/stackir/InstructionSerializerTests.java b/src/test/java/org/shedlang/compiler/stackir/InstructionSerializerTests.java index 4fd9c54a..bcf7e27f 100644 --- a/src/test/java/org/shedlang/compiler/stackir/InstructionSerializerTests.java +++ b/src/test/java/org/shedlang/compiler/stackir/InstructionSerializerTests.java @@ -1,8 +1,6 @@ package org.shedlang.compiler.stackir; import org.junit.jupiter.api.Test; -import org.shedlang.compiler.ast.typed.FreeVariables; -import org.shedlang.compiler.sources.Sources; import org.shedlang.compiler.stackir.instructions.DefineFunctionInstruction; import org.shedlang.compiler.stackir.instructions.Instruction; import org.shedlang.compiler.stackir.instructions.Instructions; @@ -40,18 +38,17 @@ public class InstructionSerializerTests { @Test public void canSerializeDefineFunction() { - // TODO: make a builder - var instruction = new DefineFunctionInstruction( - "f", - List.of(Instructions.param("p1"), Instructions.param("p2")), - List.of(Instructions.param("n1"), Instructions.param("n2")), - FreeVariables.builder().plus("fv1", Sources.NULL).plus("fv2", Sources.NULL).build(), - List.of( - Instructions.pushBool(true), - Instructions.pushBool(false) - ), - Sources.NULL - ); + var instruction = DefineFunctionInstruction.builder() + .withName("f") + .addPositionalParam("p1") + .addPositionalParam("p2") + .addNamedParam("n1") + .addNamedParam("n2") + .addFreeVariable("fv1") + .addFreeVariable("fv2") + .addBodyInstruction(Instructions.pushBool(true)) + .addBodyInstruction(Instructions.pushBool(false)) + .build(); var string = serialize(instruction); -- cgit v1.2.3