aboutsummaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-07-20 14:04:22 +0100
committerMichael Williamson <mike@zwobble.org>2023-07-20 14:04:22 +0100
commit8ae1e2dad3d43a75874e7cbb479601b5abae3b78 (patch)
tree5668b4d94f3f4c5d4f040f538aef69227caef647 /src/test/java
parent1d947a749a5772b25c30cad1c8e3f8ec6d7b22ca (diff)
Pass data layout to alloc
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java9
-rw-r--r--src/test/java/org/shedlang/compiler/patio/instructions/Patio.java4
2 files changed, 8 insertions, 5 deletions
diff --git a/src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java b/src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java
index 5f7f83c9..ac997815 100644
--- a/src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java
+++ b/src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java
@@ -1,9 +1,9 @@
package org.shedlang.compiler.patio;
import org.junit.jupiter.api.Test;
+import org.shedlang.compiler.patio.ast.PatioFunctionDefinition;
import org.shedlang.compiler.patio.ast.types.PatioTypes;
import org.shedlang.compiler.patio.instructions.Patio;
-import org.shedlang.compiler.patio.ast.PatioFunctionDefinition;
import java.util.List;
@@ -35,11 +35,14 @@ public class PatioSerializerTests {
@Test
public void canSerializeAlloc() {
- var instruction = Patio.alloc("x", 42);
+ var instruction = Patio.alloc(
+ "x",
+ PatioTypes.struct(List.of(PatioTypes.INT, PatioTypes.INT, PatioTypes.DATA_POINTER))
+ );
var string = PatioTesting.serializeInstruction(instruction);
- assertThat(string, equalTo("(alloc \"x\" 42)"));
+ assertThat(string, equalTo("(alloc \"x\" (struct (int int data-ptr)))"));
}
@Test
diff --git a/src/test/java/org/shedlang/compiler/patio/instructions/Patio.java b/src/test/java/org/shedlang/compiler/patio/instructions/Patio.java
index 42808bd4..93715a54 100644
--- a/src/test/java/org/shedlang/compiler/patio/instructions/Patio.java
+++ b/src/test/java/org/shedlang/compiler/patio/instructions/Patio.java
@@ -10,8 +10,8 @@ import java.util.List;
public class Patio {
private Patio() {}
- public static PatioInstruction alloc(String target, int bytes) {
- return new PatioAlloc(new PatioLocalRef(target), bytes, Sources.NULL);
+ public static PatioInstruction alloc(String target, PatioDataLayout layout) {
+ return new PatioAlloc(new PatioLocalRef(target), layout, Sources.NULL);
}
public static PatioInstruction callPointer(