diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-07-21 16:52:22 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-07-21 16:52:22 +0100 |
| commit | 107df69fcf9d53c320165e7f3f946c03e3f5bfc4 (patch) | |
| tree | ba17b8d1bbec05e9bb80add6559f324aa32e73a9 /src/test/java/org | |
| parent | d9a377762129c72ff18c34c8268579517ae6c3bf (diff) | |
Add byte data values
Diffstat (limited to 'src/test/java/org')
| -rw-r--r-- | src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java | 18 | ||||
| -rw-r--r-- | src/test/java/org/shedlang/compiler/patio/PatioTesting.java | 8 |
2 files changed, 22 insertions, 4 deletions
diff --git a/src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java b/src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java index ba602d67..b42a2926 100644 --- a/src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java +++ b/src/test/java/org/shedlang/compiler/patio/PatioSerializerTests.java @@ -5,6 +5,7 @@ import org.shedlang.compiler.patio.ast.PatioFunctionDeclaration; import org.shedlang.compiler.patio.ast.PatioFunctionDefinition; import org.shedlang.compiler.patio.ast.PatioVisibility; import org.shedlang.compiler.patio.ast.types.PatioDataLayouts; +import org.shedlang.compiler.patio.ast.types.PatioDataValues; import org.shedlang.compiler.patio.ast.types.PatioTypes; import org.shedlang.compiler.patio.instructions.Patio; @@ -392,7 +393,7 @@ public class PatioSerializerTests { // == Data layouts == @Test - public void canSerializeArray() { + public void canSerializeDataLayoutArray() { var layout = PatioDataLayouts.array(PatioDataLayouts.scalar(PatioTypes.INT), 4); var string = PatioTesting.serializeDataLayout(layout); @@ -401,7 +402,7 @@ public class PatioSerializerTests { } @Test - public void canSerializeScalar() { + public void canSerializeDataLayoutScalar() { var layout = PatioDataLayouts.scalar(PatioTypes.INT); var string = PatioTesting.serializeDataLayout(layout); @@ -410,7 +411,7 @@ public class PatioSerializerTests { } @Test - public void canSerializeStruct() { + public void canSerializeDataLayoutStruct() { var layout = PatioDataLayouts.structFlat(List.of(PatioTypes.INT, PatioTypes.INT, PatioTypes.DATA_POINTER)); var string = PatioTesting.serializeDataLayout(layout); @@ -419,4 +420,15 @@ public class PatioSerializerTests { (struct (int int data-ptr))""" )); } + + // == Data values == + + @Test + public void canSerializeDataValueByte() { + var value = PatioDataValues.byte_(0xc8); + + var string = PatioTesting.serializeDataValue(value); + + assertThat(string, equalTo("(byte 0xc8)")); + } } diff --git a/src/test/java/org/shedlang/compiler/patio/PatioTesting.java b/src/test/java/org/shedlang/compiler/patio/PatioTesting.java index d90f9534..de20da69 100644 --- a/src/test/java/org/shedlang/compiler/patio/PatioTesting.java +++ b/src/test/java/org/shedlang/compiler/patio/PatioTesting.java @@ -4,9 +4,9 @@ import org.shedlang.compiler.patio.ast.PatioCompilationUnit; import org.shedlang.compiler.patio.ast.PatioCompilationUnitElement; import org.shedlang.compiler.patio.ast.PatioSerializer; import org.shedlang.compiler.patio.ast.instructions.PatioInstruction; -import org.shedlang.compiler.patio.ast.operands.PatioLocalRef; import org.shedlang.compiler.patio.ast.operands.PatioOperand; import org.shedlang.compiler.patio.ast.types.PatioDataLayout; +import org.shedlang.compiler.patio.ast.types.PatioDataValue; import org.shedlang.compiler.patio.ast.types.PatioType; class PatioTesting { @@ -72,6 +72,12 @@ class PatioTesting { return builder.toString(); } + static String serializeDataValue(PatioDataValue value) { + var builder = new StringBuilder(); + PatioSerializer.serializeDataValue(value, builder); + return builder.toString(); + } + static String serializeInstruction(PatioInstruction instruction) { var builder = new StringBuilder(); PatioSerializer.serializeInstruction(instruction, builder); |
