diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-11-22 22:04:27 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-11-22 22:04:27 +0000 |
| commit | d8f48218f7389bcc0bfff1bcf98c0dcf0d34958a (patch) | |
| tree | 98988ef6ed58feaa2b21e4ff6449c8d12ac1811e /src/test/java | |
| parent | 5494b33b978fc8ed1f50e63feb658de43bf78f58 (diff) | |
Add exception type definitions to Patio
Diffstat (limited to 'src/test/java')
| -rw-r--r-- | src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java | 11 | ||||
| -rw-r--r-- | src/test/java/org/shedlang/compiler/patio/instructions/Patio.java | 4 |
2 files changed, 15 insertions, 0 deletions
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 @@ -74,6 +74,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() .withName("f") 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); } |
