summaryrefslogtreecommitdiff
path: root/src/test/java/no/eliashaugsbakk/kompilator/IRGeneration/IRGeneratorTest.java
diff options
context:
space:
mode:
authorElias Haugsbakk <[email protected]>2026-09-20 21:07:25 +0200
committerElias Haugsbakk <[email protected]>2026-09-20 21:07:25 +0200
commit79fc3dd706b968a9249dfd2db6b5175e4e4a85d4 (patch)
treee42e55e1aaef5b0b4e1f322888b47ec6e6fbdb5f /src/test/java/no/eliashaugsbakk/kompilator/IRGeneration/IRGeneratorTest.java
parent1422d647cddb577fafc19ee97e33a394aefc560b (diff)
update IRGeneration generates records. Variables implemented.
Diffstat (limited to 'src/test/java/no/eliashaugsbakk/kompilator/IRGeneration/IRGeneratorTest.java')
-rw-r--r--src/test/java/no/eliashaugsbakk/kompilator/IRGeneration/IRGeneratorTest.java17
1 files changed, 8 insertions, 9 deletions
diff --git a/src/test/java/no/eliashaugsbakk/kompilator/IRGeneration/IRGeneratorTest.java b/src/test/java/no/eliashaugsbakk/kompilator/IRGeneration/IRGeneratorTest.java
index fdaab26..232b8f3 100644
--- a/src/test/java/no/eliashaugsbakk/kompilator/IRGeneration/IRGeneratorTest.java
+++ b/src/test/java/no/eliashaugsbakk/kompilator/IRGeneration/IRGeneratorTest.java
@@ -15,11 +15,11 @@ class IRGeneratorTest {
@Test
void singlePrintStatementGeneratesCorrectIR() {
AST ast = buildAST("skriv", "hello");
- List<String> ir = new IRGenerator(ast).generate();
+ List<Instr> ir = new IRGenerator(ast).generate();
assertEquals(2, ir.size());
- assertEquals("t0: string = \"hello\"", ir.get(0));
- assertEquals("print(t0)", ir.get(1));
+ assertEquals(new Alloc("t0", "string", false, "hello"), ir.get(0));
+ assertEquals(new Call("skriv", List.of("t0")), ir.get(1));
}
@Test
@@ -28,14 +28,13 @@ class IRGeneratorTest {
program.addStatement(buildStatement("skriv", "hello"));
program.addStatement(buildStatement("skriv", "world"));
- AST ast = new AST(program);
- List<String> ir = new IRGenerator(ast).generate();
+ List<Instr> ir = new IRGenerator(new AST(program)).generate();
assertEquals(4, ir.size());
- assertEquals("t0: string = \"hello\"", ir.get(0));
- assertEquals("print(t0)", ir.get(1));
- assertEquals("t1: string = \"world\"", ir.get(2));
- assertEquals("print(t1)", ir.get(3));
+ assertEquals(new Alloc("t0", "string", false, "hello"), ir.get(0));
+ assertEquals(new Call("skriv", List.of("t0")), ir.get(1));
+ assertEquals(new Alloc("t1", "string", false, "world"), ir.get(2));
+ assertEquals(new Call("skriv", List.of("t1")), ir.get(3));
}
private AST buildAST(String functionName, String argument) {