From 686447f7ddce7d29e20c3b570d6b039ddfe1fb01 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Thu, 20 Jul 2023 23:36:47 +0100 Subject: Add int as Patio operand --- .../java/org/shedlang/compiler/patio/PatioSerializerTests.java | 9 +++++++++ .../java/org/shedlang/compiler/patio/instructions/Patio.java | 5 +++++ 2 files changed, 14 insertions(+) (limited to 'src/test/java') diff --git a/src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java b/src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java index 880c7001..456e160e 100644 --- a/src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java +++ b/src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java @@ -262,6 +262,15 @@ public class PatioSerializerTests { // == Operands == + @Test + public void canSerializeInt() { + var operand = Patio.int_(42); + + var string = PatioTesting.serializeOperand(operand); + + assertThat(string, equalTo("(int 42)")); + } + @Test public void canSerializeLocalRef() { var operand = Patio.localRef("x"); 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 be897477..efb0909e 100644 --- a/src/test/java/org/shedlang/compiler/patio/instructions/Patio.java +++ b/src/test/java/org/shedlang/compiler/patio/instructions/Patio.java @@ -2,6 +2,7 @@ package org.shedlang.compiler.patio.instructions; import org.shedlang.compiler.patio.ast.*; import org.shedlang.compiler.patio.ast.instructions.*; +import org.shedlang.compiler.patio.ast.operands.PatioInt; import org.shedlang.compiler.patio.ast.operands.PatioLocalRef; import org.shedlang.compiler.patio.ast.operands.PatioOperand; import org.shedlang.compiler.patio.ast.types.PatioDataLayout; @@ -75,6 +76,10 @@ public class Patio { ); } + public static PatioOperand int_(int value) { + return new PatioInt(value); + } + public static PatioInstruction intAdd(String target, String left, String right) { return new PatioIntAdd( new PatioLocalRef(target), -- cgit v1.2.3