From 02b996c4eb8d271349d9f248bb6396ce650c4e17 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Thu, 20 Jul 2023 23:48:30 +0100 Subject: Add data-ptr operand --- .../java/org/shedlang/compiler/patio/PatioSerializerTests.java | 9 +++++++++ .../java/org/shedlang/compiler/patio/instructions/Patio.java | 9 +++++---- 2 files changed, 14 insertions(+), 4 deletions(-) (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 7e962443..42b494cb 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 { assertThat(string, equalTo("(bool true)")); } + @Test + public void canSerializeDataPtr() { + var operand = Patio.dataPtr("x"); + + var string = PatioTesting.serializeOperand(operand); + + assertThat(string, equalTo("(data-ptr \"x\")")); + } + @Test public void canSerializeInt() { var operand = Patio.int_(42); 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 5c0fc397..cd8a67d7 100644 --- a/src/test/java/org/shedlang/compiler/patio/instructions/Patio.java +++ b/src/test/java/org/shedlang/compiler/patio/instructions/Patio.java @@ -2,10 +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.PatioBool; -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.operands.*; import org.shedlang.compiler.patio.ast.types.PatioDataLayout; import org.shedlang.compiler.patio.ast.types.PatioType; import org.shedlang.compiler.sources.Sources; @@ -47,6 +44,10 @@ public class Patio { return new PatioDataElement(name, layout, Sources.NULL); } + public static PatioOperand dataPtr(String name) { + return new PatioDataPtr(name); + } + public static PatioDataPtrGet dataPtrGet(String target, String name) { return new PatioDataPtrGet( new PatioLocalRef(target), -- cgit v1.2.3