diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-07-23 22:59:08 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-07-23 22:59:08 +0100 |
| commit | 5b45f12110760bee7fd94cda9801fba54dc785d1 (patch) | |
| tree | 5a0b9b5a27e45aa032d830d81313dad5f3525acc /src/main/java | |
| parent | 3412aaafe67670b51a25b78bb4805c350820c5a5 (diff) | |
Consistenly use PatioOperand for Patio operands
Diffstat (limited to 'src/main/java')
5 files changed, 9 insertions, 7 deletions
diff --git a/src/main/java/org/shedlang/compiler/backends/llvm/LlvmPatioCodeGen.java b/src/main/java/org/shedlang/compiler/backends/llvm/LlvmPatioCodeGen.java index aa389dc2..8b3d4a4b 100644 --- a/src/main/java/org/shedlang/compiler/backends/llvm/LlvmPatioCodeGen.java +++ b/src/main/java/org/shedlang/compiler/backends/llvm/LlvmPatioCodeGen.java @@ -458,8 +458,8 @@ public class LlvmPatioCodeGen { case PatioReturn patioReturn -> context.addTerminatorInstruction(new LlvmReturn( - context.patioLocalToType(patioReturn.value()), - context.patioLocalToOperand(patioReturn.value()) + patioOperandToLlvmType(patioReturn.value(), context), + patioOperandToLlvmOperand(patioReturn.value(), context) )); }; } diff --git a/src/main/java/org/shedlang/compiler/patio/PatioCodeGenClosures.java b/src/main/java/org/shedlang/compiler/patio/PatioCodeGenClosures.java index db864db0..8c9c242e 100644 --- a/src/main/java/org/shedlang/compiler/patio/PatioCodeGenClosures.java +++ b/src/main/java/org/shedlang/compiler/patio/PatioCodeGenClosures.java @@ -6,6 +6,7 @@ import org.shedlang.compiler.patio.ast.PatioVisibility; import org.shedlang.compiler.patio.ast.instructions.*; import org.shedlang.compiler.patio.ast.operands.PatioFunctionPtr; import org.shedlang.compiler.patio.ast.operands.PatioLocalRef; +import org.shedlang.compiler.patio.ast.operands.PatioOperand; import org.shedlang.compiler.patio.ast.types.*; import org.shedlang.compiler.sources.Source; import org.shedlang.compiler.stackir.instructions.DefineFunctionInstruction; @@ -173,7 +174,7 @@ class PatioCodeGenClosures { source )); - var args = new ArrayList<PatioLocalRef>(); + var args = new ArrayList<PatioOperand>(); args.add(closurePointer); diff --git a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioCallPointer.java b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioCallPointer.java index 215f71f9..fcd3fb0b 100644 --- a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioCallPointer.java +++ b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioCallPointer.java @@ -13,7 +13,7 @@ import java.util.List; public record PatioCallPointer( PatioLocalRef target, PatioOperand functionPointer, - List<PatioLocalRef> args, + List<PatioOperand> args, Source source ) implements PatioInstruction { } diff --git a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIf.java b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIf.java index 4f7a8700..94327a1f 100644 --- a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIf.java +++ b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioIf.java @@ -1,6 +1,7 @@ package org.shedlang.compiler.patio.ast.instructions; import org.shedlang.compiler.patio.ast.operands.PatioLocalRef; +import org.shedlang.compiler.patio.ast.operands.PatioOperand; import org.shedlang.compiler.sources.Source; import java.util.List; @@ -14,7 +15,7 @@ import java.util.List; */ public record PatioIf( List<PatioLocalRef> targets, - PatioLocalRef condition, + PatioOperand condition, PatioBlock trueBody, PatioBlock falseBody, Source source diff --git a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioReturn.java b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioReturn.java index 285395e0..1d5cbcd2 100644 --- a/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioReturn.java +++ b/src/main/java/org/shedlang/compiler/patio/ast/instructions/PatioReturn.java @@ -1,10 +1,10 @@ package org.shedlang.compiler.patio.ast.instructions; -import org.shedlang.compiler.patio.ast.operands.PatioLocalRef; +import org.shedlang.compiler.patio.ast.operands.PatioOperand; import org.shedlang.compiler.sources.Source; /** * Return with the given value from the current function. */ -public record PatioReturn(PatioLocalRef value, Source source) implements PatioInstruction { +public record PatioReturn(PatioOperand value, Source source) implements PatioInstruction { } |
