From d8f48218f7389bcc0bfff1bcf98c0dcf0d34958a Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Wed, 22 Nov 2023 22:04:27 +0000 Subject: Add exception type definitions to Patio --- .../org/shedlang/compiler/patio/PatioSerializerTests.java | 11 +++++++++++ .../java/org/shedlang/compiler/patio/instructions/Patio.java | 4 ++++ 2 files changed, 15 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 7b55bf1a..fced74d5 100644 --- a/src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java +++ b/src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java @@ -73,6 +73,17 @@ public class PatioSerializerTests { )); } + @Test + public void canSerializeExceptionTypeDefinition() { + var element = Patio.exceptionTypeDefinition("Error", PatioTypes.INT); + + var string = PatioTesting.serializeCompilationUnitElement(element); + + assertThat(string, equalTo(""" + (exception-type "Error" int)""" + )); + } + @Test public void canSerializeFunctionDeclaration() { var element = PatioFunctionDeclaration.builder() 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 caec005a..44ef8f25 100644 --- a/src/test/java/org/shedlang/compiler/patio/instructions/Patio.java +++ b/src/test/java/org/shedlang/compiler/patio/instructions/Patio.java @@ -95,6 +95,10 @@ public class Patio { ); } + public static PatioExceptionTypeDefinition exceptionTypeDefinition(String name, PatioType valueType) { + return new PatioExceptionTypeDefinition(name, valueType, Sources.NULL); + } + public static PatioOperand functionPtr(String name) { return new PatioFunctionPtr(name); } -- cgit v1.2.3