aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-07-20 16:42:22 +0100
committerMichael Williamson <mike@zwobble.org>2023-07-20 16:42:22 +0100
commit48217d912243feadde179709a61b1741941606f3 (patch)
treede5dc38e990549ef36f9e06db3d61d97540df973 /src/main/java
parentef3b54474640a245d7e2f92ee56604246312ef29 (diff)
Test PatioCodeGen.generateNamespace()
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/backends/PatioBackend.java6
-rw-r--r--src/main/java/org/shedlang/compiler/patio/PatioCodeGen.java7
2 files changed, 8 insertions, 5 deletions
diff --git a/src/main/java/org/shedlang/compiler/backends/PatioBackend.java b/src/main/java/org/shedlang/compiler/backends/PatioBackend.java
index 0db8579b..c6a091dd 100644
--- a/src/main/java/org/shedlang/compiler/backends/PatioBackend.java
+++ b/src/main/java/org/shedlang/compiler/backends/PatioBackend.java
@@ -2,6 +2,7 @@ package org.shedlang.compiler.backends;
import org.shedlang.compiler.config.ProjectConfig;
import org.shedlang.compiler.patio.PatioCodeGen;
+import org.shedlang.compiler.patio.PatioCodeGenContext;
import org.shedlang.compiler.patio.ast.PatioSerializer;
import org.shedlang.compiler.stackir.instructions.Instruction;
import org.shedlang.compiler.typechecker.TypeInfo;
@@ -26,7 +27,10 @@ public class PatioBackend implements Backend {
System.out.println(namespaceName);
- var compilationUnit = PatioCodeGen.generateNamespace(instructions);
+ var compilationUnit = PatioCodeGen.generateNamespace(
+ instructions,
+ PatioCodeGenContext.EMPTY
+ );
var builder = new StringBuilder();
PatioSerializer.serializeCompilationUnit(compilationUnit, builder);
diff --git a/src/main/java/org/shedlang/compiler/patio/PatioCodeGen.java b/src/main/java/org/shedlang/compiler/patio/PatioCodeGen.java
index cce880fe..6846ec40 100644
--- a/src/main/java/org/shedlang/compiler/patio/PatioCodeGen.java
+++ b/src/main/java/org/shedlang/compiler/patio/PatioCodeGen.java
@@ -20,15 +20,14 @@ public class PatioCodeGen {
private PatioCodeGen() {}
public static PatioCompilationUnit generateNamespace(
- List<Instruction> instructions
+ List<Instruction> stackIrInstructions,
+ PatioCodeGenContext context
) {
- var context = PatioCodeGenContext.EMPTY;
-
context = context.createFunction(
"init",
false,
Sources.NULL,
- initContext -> generateInstructions(instructions, initContext)
+ initContext -> generateInstructions(stackIrInstructions, initContext)
);
// TODO: set more appropriate source