From 4be0a1caf255fa3c1dd86dfc210671b7ae395ebe Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Mon, 19 Jun 2023 19:11:44 +0100 Subject: Write directly to file when serializing LLVM IR --- .../llvm/LlvmCompilerDefineFunctionTests.java | 5 +++-- .../llvm/ir/LlvmIrSerializerBasicBlockTests.java | 5 +++-- .../LlvmIrSerializerFunctionDeclarationTests.java | 3 ++- .../LlvmIrSerializerFunctionDefinitionTests.java | 3 ++- .../ir/LlvmIrSerializerGlobalDefinitionTests.java | 11 ++++++----- .../llvm/ir/LlvmIrSerializerInstructionTests.java | 23 +++++++++++----------- .../llvm/ir/LlvmIrSerializerModuleTests.java | 3 ++- .../llvm/ir/LlvmIrSerializerOperandsTests.java | 17 ++++++++-------- .../llvm/ir/LlvmIrSerializerParamTests.java | 4 +++- ...LlvmIrSerializerTerminatorInstructionTests.java | 6 ++++-- .../backends/llvm/ir/LlvmIrSerializerTesting.java | 8 ++++++-- .../llvm/ir/LlvmIrSerializerTypesTests.java | 13 ++++++------ 12 files changed, 59 insertions(+), 42 deletions(-) (limited to 'src/test/java') diff --git a/src/test/java/org/shedlang/compiler/backends/llvm/LlvmCompilerDefineFunctionTests.java b/src/test/java/org/shedlang/compiler/backends/llvm/LlvmCompilerDefineFunctionTests.java index 376fac8e..c80787c0 100644 --- a/src/test/java/org/shedlang/compiler/backends/llvm/LlvmCompilerDefineFunctionTests.java +++ b/src/test/java/org/shedlang/compiler/backends/llvm/LlvmCompilerDefineFunctionTests.java @@ -10,6 +10,7 @@ import org.shedlang.compiler.stackir.instructions.DefineFunctionInstruction; import org.shedlang.compiler.stackir.instructions.Instructions; import org.zwobble.precisely.Matcher; +import java.io.IOException; import java.util.List; import java.util.Map; @@ -20,7 +21,7 @@ import static org.zwobble.precisely.Matchers.*; public class LlvmCompilerDefineFunctionTests { @Test - public void canDefineMinimalFunction() { + public void canDefineMinimalFunction() throws IOException { var instruction = new DefineFunctionInstruction( "f", List.of(), @@ -69,7 +70,7 @@ public class LlvmCompilerDefineFunctionTests { } @Test - public void freeVariablesAreStoredInAndLoadedFromEnvironment() { + public void freeVariablesAreStoredInAndLoadedFromEnvironment() throws IOException { var instruction = new DefineFunctionInstruction( "f", List.of(), diff --git a/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerBasicBlockTests.java b/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerBasicBlockTests.java index 2b236994..5d069dae 100644 --- a/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerBasicBlockTests.java +++ b/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerBasicBlockTests.java @@ -4,6 +4,7 @@ import org.junit.jupiter.api.Test; import org.shedlang.compiler.backends.llvm.ir.ast.LlvmIr; import org.shedlang.compiler.backends.llvm.ir.ast.types.LlvmTypes; +import java.io.IOException; import java.util.List; import static org.shedlang.compiler.backends.llvm.ir.LlvmIrSerializerTesting.serializeToString; @@ -12,7 +13,7 @@ import static org.zwobble.precisely.Matchers.equalTo; public class LlvmIrSerializerBasicBlockTests { @Test - public void blockWithoutLabel() { + public void blockWithoutLabel() throws IOException { var basicBlock = LlvmIr.basicBlock( List.of( LlvmIr.add( @@ -37,7 +38,7 @@ public class LlvmIrSerializerBasicBlockTests { } @Test - public void blockWithLabel() { + public void blockWithLabel() throws IOException { var basicBlock = LlvmIr.basicBlock( "start", List.of( diff --git a/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerFunctionDeclarationTests.java b/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerFunctionDeclarationTests.java index a33e3283..95a2d1d8 100644 --- a/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerFunctionDeclarationTests.java +++ b/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerFunctionDeclarationTests.java @@ -5,6 +5,7 @@ import org.shedlang.compiler.backends.llvm.ir.ast.LlvmFunctionDeclaration; import org.shedlang.compiler.backends.llvm.ir.ast.LlvmIr; import org.shedlang.compiler.backends.llvm.ir.ast.types.LlvmTypes; +import java.io.IOException; import java.util.List; import static org.shedlang.compiler.backends.llvm.ir.LlvmIrSerializerTesting.serializeToString; @@ -13,7 +14,7 @@ import static org.zwobble.precisely.Matchers.equalTo; public class LlvmIrSerializerFunctionDeclarationTests { @Test - public void canSerializeFunctionDeclaration() { + public void canSerializeFunctionDeclaration() throws IOException { var definition = new LlvmFunctionDeclaration( "f", LlvmTypes.INT_32, diff --git a/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerFunctionDefinitionTests.java b/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerFunctionDefinitionTests.java index fd717764..5157b43a 100644 --- a/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerFunctionDefinitionTests.java +++ b/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerFunctionDefinitionTests.java @@ -5,6 +5,7 @@ import org.shedlang.compiler.backends.llvm.ir.ast.LlvmFunctionDefinition; import org.shedlang.compiler.backends.llvm.ir.ast.LlvmIr; import org.shedlang.compiler.backends.llvm.ir.ast.types.LlvmTypes; +import java.io.IOException; import java.util.List; import static org.shedlang.compiler.backends.llvm.ir.LlvmIrSerializerTesting.serializeToString; @@ -13,7 +14,7 @@ import static org.zwobble.precisely.Matchers.equalTo; public class LlvmIrSerializerFunctionDefinitionTests { @Test - public void canSerializeFunctionDefinitions() { + public void canSerializeFunctionDefinitions() throws IOException { var definition = new LlvmFunctionDefinition( "f", LlvmTypes.INT_32, diff --git a/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerGlobalDefinitionTests.java b/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerGlobalDefinitionTests.java index 85d94127..32e1d8cc 100644 --- a/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerGlobalDefinitionTests.java +++ b/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerGlobalDefinitionTests.java @@ -5,6 +5,7 @@ import org.shedlang.compiler.backends.llvm.ir.ast.LlvmGlobalDefinition; import org.shedlang.compiler.backends.llvm.ir.ast.LlvmIr; import org.shedlang.compiler.backends.llvm.ir.ast.types.LlvmTypes; +import java.io.IOException; import java.util.Optional; import static org.shedlang.compiler.backends.llvm.ir.LlvmIrSerializerTesting.serializeToString; @@ -13,7 +14,7 @@ import static org.zwobble.precisely.Matchers.equalTo; public class LlvmIrSerializerGlobalDefinitionTests { @Test - public void canSerializeGlobalDefinitionWithTypeAndValue() { + public void canSerializeGlobalDefinitionWithTypeAndValue() throws IOException { var definition = new LlvmGlobalDefinition( "x", LlvmTypes.INT_64, @@ -29,7 +30,7 @@ public class LlvmIrSerializerGlobalDefinitionTests { } @Test - public void canSerializeExternal() { + public void canSerializeExternal() throws IOException { var definition = new LlvmGlobalDefinition( "x", LlvmTypes.INT_64, @@ -45,7 +46,7 @@ public class LlvmIrSerializerGlobalDefinitionTests { } @Test - public void canSerializeConstant() { + public void canSerializeConstant() throws IOException { var definition = new LlvmGlobalDefinition( "x", LlvmTypes.INT_64, @@ -61,7 +62,7 @@ public class LlvmIrSerializerGlobalDefinitionTests { } @Test - public void canSerializePrivate() { + public void canSerializePrivate() throws IOException { var definition = new LlvmGlobalDefinition( "x", LlvmTypes.INT_64, @@ -77,7 +78,7 @@ public class LlvmIrSerializerGlobalDefinitionTests { } @Test - public void canSerializeUnnamedAddr() { + public void canSerializeUnnamedAddr() throws IOException { var definition = new LlvmGlobalDefinition( "x", LlvmTypes.INT_64, diff --git a/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerInstructionTests.java b/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerInstructionTests.java index fc4f5e46..ee2be2d4 100644 --- a/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerInstructionTests.java +++ b/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerInstructionTests.java @@ -4,6 +4,7 @@ import org.junit.jupiter.api.Test; import org.shedlang.compiler.backends.llvm.ir.ast.LlvmIr; import org.shedlang.compiler.backends.llvm.ir.ast.types.LlvmTypes; +import java.io.IOException; import java.util.List; import static org.shedlang.compiler.backends.llvm.ir.LlvmIrSerializerTesting.serializeToString; @@ -12,7 +13,7 @@ import static org.zwobble.precisely.Matchers.equalTo; public class LlvmIrSerializerInstructionTests { @Test - public void addIsSerializedWithTypeAndOperands() { + public void addIsSerializedWithTypeAndOperands() throws IOException { var instruction = LlvmIr.add( LlvmIr.variableLocal("x"), LlvmTypes.INT_64, @@ -26,7 +27,7 @@ public class LlvmIrSerializerInstructionTests { } @Test - public void brIsSerializedWithOperandAndLabels() { + public void brIsSerializedWithOperandAndLabels() throws IOException { var instruction = LlvmIr.br( LlvmIr.variableLocal("x"), "ifTrue", @@ -39,7 +40,7 @@ public class LlvmIrSerializerInstructionTests { } @Test - public void brUnconditionIsSerializedWithLabel() { + public void brUnconditionIsSerializedWithLabel() throws IOException { var instruction = LlvmIr.brUnconditional("target"); var result = serializeToString(instruction, LlvmIrSerializer::serializeTerminatorInstruction); @@ -48,7 +49,7 @@ public class LlvmIrSerializerInstructionTests { } @Test - public void canSerializeCallWithNoTargetAndNoArgs() { + public void canSerializeCallWithNoTargetAndNoArgs() throws IOException { var instruction = LlvmIr.call( LlvmTypes.INT_64, LlvmIr.variableLocal("f"), @@ -61,7 +62,7 @@ public class LlvmIrSerializerInstructionTests { } @Test - public void canSerializeCallWithTarget() { + public void canSerializeCallWithTarget() throws IOException { var instruction = LlvmIr.call( LlvmIr.variableLocal("x"), LlvmTypes.INT_64, @@ -75,7 +76,7 @@ public class LlvmIrSerializerInstructionTests { } @Test - public void canSerializeCallWithArgs() { + public void canSerializeCallWithArgs() throws IOException { var instruction = LlvmIr.call( LlvmIr.variableLocal("x"), LlvmTypes.INT_64, @@ -92,7 +93,7 @@ public class LlvmIrSerializerInstructionTests { } @Test - public void getElementPtrIsSerialized() { + public void getElementPtrIsSerialized() throws IOException { var instruction = LlvmIr.getElementPtr( LlvmIr.variableLocal("x"), LlvmTypes.pointer( @@ -114,7 +115,7 @@ public class LlvmIrSerializerInstructionTests { } @Test - public void intToPtrIsSerialized() { + public void intToPtrIsSerialized() throws IOException { var instruction = LlvmIr.intToPtr( LlvmIr.variableLocal("x"), LlvmTypes.INT_64, @@ -127,7 +128,7 @@ public class LlvmIrSerializerInstructionTests { } @Test - public void loadIsSerialized() { + public void loadIsSerialized() throws IOException { var instruction = LlvmIr.load( LlvmIr.variableLocal("target"), LlvmTypes.INT_64, @@ -140,7 +141,7 @@ public class LlvmIrSerializerInstructionTests { } @Test - public void ptrToIntIsSerialized() { + public void ptrToIntIsSerialized() throws IOException { var instruction = LlvmIr.ptrToInt( LlvmIr.variableLocal("x"), LlvmIr.variableLocal("y"), @@ -153,7 +154,7 @@ public class LlvmIrSerializerInstructionTests { } @Test - public void storeIsSerialized() { + public void storeIsSerialized() throws IOException { var instruction = LlvmIr.store( LlvmTypes.INT_64, LlvmIr.operandInt(42), diff --git a/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerModuleTests.java b/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerModuleTests.java index c9cf5e95..a66339d0 100644 --- a/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerModuleTests.java +++ b/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerModuleTests.java @@ -5,6 +5,7 @@ import org.shedlang.compiler.backends.llvm.ir.ast.LlvmGlobalDefinition; import org.shedlang.compiler.backends.llvm.ir.ast.LlvmIr; import org.shedlang.compiler.backends.llvm.ir.ast.types.LlvmTypes; +import java.io.IOException; import java.util.List; import java.util.Optional; @@ -14,7 +15,7 @@ import static org.zwobble.precisely.Matchers.equalTo; public class LlvmIrSerializerModuleTests { @Test - public void canSerializeModules() { + public void canSerializeModules() throws IOException { var module = LlvmIr.module(List.of( new LlvmGlobalDefinition( "x", diff --git a/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerOperandsTests.java b/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerOperandsTests.java index eef18100..01de20fc 100644 --- a/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerOperandsTests.java +++ b/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerOperandsTests.java @@ -4,6 +4,7 @@ import org.junit.jupiter.api.Test; import org.shedlang.compiler.backends.llvm.ir.ast.LlvmIr; import org.shedlang.compiler.backends.llvm.ir.ast.types.LlvmTypes; +import java.io.IOException; import java.util.List; import static org.shedlang.compiler.backends.llvm.ir.LlvmIrSerializerTesting.serializeToString; @@ -12,7 +13,7 @@ import static org.zwobble.precisely.Matchers.equalTo; public class LlvmIrSerializerOperandsTests { @Test - public void nullIsSerializedAsNull() { + public void nullIsSerializedAsNull() throws IOException { var operand = LlvmIr.operandNull(); var result = serializeToString(operand, LlvmIrSerializer::serializeOperand); @@ -21,7 +22,7 @@ public class LlvmIrSerializerOperandsTests { } @Test - public void intIsSerializedAsInt() { + public void intIsSerializedAsInt() throws IOException { var operand = LlvmIr.operandInt(42); var result = serializeToString(operand, LlvmIrSerializer::serializeOperand); @@ -30,7 +31,7 @@ public class LlvmIrSerializerOperandsTests { } @Test - public void localVariableIsSerializedWithPercent() { + public void localVariableIsSerializedWithPercent() throws IOException { var operand = LlvmIr.variableLocal("x"); var result = serializeToString(operand, LlvmIrSerializer::serializeVariable); @@ -39,7 +40,7 @@ public class LlvmIrSerializerOperandsTests { } @Test - public void globalVariableIsSerializedWithAt() { + public void globalVariableIsSerializedWithAt() throws IOException { var operand = LlvmIr.variableGlobal("x"); var result = serializeToString(operand, LlvmIrSerializer::serializeVariable); @@ -48,7 +49,7 @@ public class LlvmIrSerializerOperandsTests { } @Test - public void ptrToIntIsSerialized() { + public void ptrToIntIsSerialized() throws IOException { var operand = LlvmIr.operandPtrToInt( LlvmIr.variableLocal("x"), LlvmTypes.INT_64 @@ -60,7 +61,7 @@ public class LlvmIrSerializerOperandsTests { } @Test - public void arrayIsSerializedAsTypedOperandsInArray() { + public void arrayIsSerializedAsTypedOperandsInArray() throws IOException { var operand = LlvmIr.operandArray( LlvmTypes.INT_64, List.of( @@ -76,7 +77,7 @@ public class LlvmIrSerializerOperandsTests { } @Test - public void structureIsSerializedAsElements() { + public void structureIsSerializedAsElements() throws IOException { var operand = LlvmIr.operandStructure( List.of( LlvmIr.typedOperand(LlvmTypes.INT_64, LlvmIr.operandInt(1)), @@ -91,7 +92,7 @@ public class LlvmIrSerializerOperandsTests { } @Test - public void typedOperandHasTypeAndValue() { + public void typedOperandHasTypeAndValue() throws IOException { var operand = LlvmIr.typedOperand(LlvmTypes.INT_64, LlvmIr.operandInt(42)); var result = serializeToString(operand, LlvmIrSerializer::serializeTypedOperand); diff --git a/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerParamTests.java b/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerParamTests.java index 650cb713..b48e7ad7 100644 --- a/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerParamTests.java +++ b/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerParamTests.java @@ -4,13 +4,15 @@ import org.junit.jupiter.api.Test; import org.shedlang.compiler.backends.llvm.ir.ast.LlvmIr; import org.shedlang.compiler.backends.llvm.ir.ast.types.LlvmTypes; +import java.io.IOException; + import static org.shedlang.compiler.backends.llvm.ir.LlvmIrSerializerTesting.serializeToString; import static org.zwobble.precisely.AssertThat.assertThat; import static org.zwobble.precisely.Matchers.equalTo; public class LlvmIrSerializerParamTests { @Test - public void paramIsSerializedAsTypeThenName() { + public void paramIsSerializedAsTypeThenName() throws IOException { var param = LlvmIr.param(LlvmTypes.INT_64, "x"); var result = serializeToString(param, LlvmIrSerializer::serializeParam); diff --git a/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerTerminatorInstructionTests.java b/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerTerminatorInstructionTests.java index 07946ebd..dc837e8d 100644 --- a/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerTerminatorInstructionTests.java +++ b/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerTerminatorInstructionTests.java @@ -4,13 +4,15 @@ import org.junit.jupiter.api.Test; import org.shedlang.compiler.backends.llvm.ir.ast.LlvmIr; import org.shedlang.compiler.backends.llvm.ir.ast.types.LlvmTypes; +import java.io.IOException; + import static org.shedlang.compiler.backends.llvm.ir.LlvmIrSerializerTesting.serializeToString; import static org.zwobble.precisely.AssertThat.assertThat; import static org.zwobble.precisely.Matchers.equalTo; public class LlvmIrSerializerTerminatorInstructionTests { @Test - public void returnIsSerializedWithTypeAndName() { + public void returnIsSerializedWithTypeAndName() throws IOException { var instruction = LlvmIr.returnValue(LlvmTypes.INT_64, LlvmIr.variableLocal("x")); var result = serializeToString(instruction, LlvmIrSerializer::serializeTerminatorInstruction); @@ -19,7 +21,7 @@ public class LlvmIrSerializerTerminatorInstructionTests { } @Test - public void returnVoidIsSerialized() { + public void returnVoidIsSerialized() throws IOException { var instruction = LlvmIr.returnVoid(); var result = serializeToString(instruction, LlvmIrSerializer::serializeTerminatorInstruction); diff --git a/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerTesting.java b/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerTesting.java index 155d02d2..8aa6cbc8 100644 --- a/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerTesting.java +++ b/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerTesting.java @@ -1,12 +1,16 @@ package org.shedlang.compiler.backends.llvm.ir; -import java.util.function.BiConsumer; +import java.io.IOException; public class LlvmIrSerializerTesting { private LlvmIrSerializerTesting() { } - public static String serializeToString(T value, BiConsumer serialize) { + public interface Serializer { + void accept(T value, StringBuilder builder) throws IOException; + } + + public static String serializeToString(T value, Serializer serialize) throws IOException { var builder = new StringBuilder(); serialize.accept(value, builder); return builder.toString(); diff --git a/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerTypesTests.java b/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerTypesTests.java index 1850f642..1efee815 100644 --- a/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerTypesTests.java +++ b/src/test/java/org/shedlang/compiler/backends/llvm/ir/LlvmIrSerializerTypesTests.java @@ -3,6 +3,7 @@ package org.shedlang.compiler.backends.llvm.ir; import org.junit.jupiter.api.Test; import org.shedlang.compiler.backends.llvm.ir.ast.types.LlvmTypes; +import java.io.IOException; import java.util.List; import static org.shedlang.compiler.backends.llvm.ir.LlvmIrSerializerTesting.serializeToString; @@ -11,7 +12,7 @@ import static org.zwobble.precisely.Matchers.equalTo; public class LlvmIrSerializerTypesTests { @Test - public void scalarTypeIsSerializedToName() { + public void scalarTypeIsSerializedToName() throws IOException { var type = LlvmTypes.INT_64; var result = serializeToString(type, LlvmIrSerializer::serializeType); @@ -20,7 +21,7 @@ public class LlvmIrSerializerTypesTests { } @Test - public void pointerTypeIsSerializedToOpaquePtr() { + public void pointerTypeIsSerializedToOpaquePtr() throws IOException { var type = LlvmTypes.pointer(LlvmTypes.INT_64); var result = serializeToString(type, LlvmIrSerializer::serializeType); @@ -29,7 +30,7 @@ public class LlvmIrSerializerTypesTests { } @Test - public void arrayTypeWithoutSizeIsSerializedToSizeOfZeroAndElementType() { + public void arrayTypeWithoutSizeIsSerializedToSizeOfZeroAndElementType() throws IOException { var type = LlvmTypes.array(LlvmTypes.INT_64); var result = serializeToString(type, LlvmIrSerializer::serializeType); @@ -38,7 +39,7 @@ public class LlvmIrSerializerTypesTests { } @Test - public void arrayTypeWithSizeIsSerializedToSizeAndElementType() { + public void arrayTypeWithSizeIsSerializedToSizeAndElementType() throws IOException { var type = LlvmTypes.array(3, LlvmTypes.INT_64); var result = serializeToString(type, LlvmIrSerializer::serializeType); @@ -47,7 +48,7 @@ public class LlvmIrSerializerTypesTests { } @Test - public void structureTypeIsSerializedToElementTypes() { + public void structureTypeIsSerializedToElementTypes() throws IOException { var type = LlvmTypes.structure(List.of( LlvmTypes.INT_64, LlvmTypes.INT_32 @@ -59,7 +60,7 @@ public class LlvmIrSerializerTypesTests { } @Test - public void canSerializeFunctionType() { + public void canSerializeFunctionType() throws IOException { var type = LlvmTypes.function( LlvmTypes.VOID, List.of( -- cgit v1.2.3