diff options
| author | Michael Williamson <mike@zwobble.org> | 2024-01-26 18:26:39 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2024-01-26 18:26:39 +0000 |
| commit | f0a14f101190944ee04dd458c12025c71939b31f (patch) | |
| tree | bb81864f157b81eb33bc84c9b996d0c9f1a9167c /src/main/java | |
| parent | 6dfbc56f7d0c52c5d5b15c38b375fb857609b6e4 (diff) | |
Remove Patio type index
Diffstat (limited to 'src/main/java')
9 files changed, 2 insertions, 46 deletions
diff --git a/src/main/java/org/shedlang/compiler/backends/llvm/codegen/PatioToLlvm.java b/src/main/java/org/shedlang/compiler/backends/llvm/codegen/PatioToLlvm.java index 5874daf2..b2b06215 100644 --- a/src/main/java/org/shedlang/compiler/backends/llvm/codegen/PatioToLlvm.java +++ b/src/main/java/org/shedlang/compiler/backends/llvm/codegen/PatioToLlvm.java @@ -1022,9 +1022,6 @@ public class PatioToLlvm { patioOffsets.minus(0), llvmOffsets.plus(LlvmTypedOperand.structureIndex(patioOffset)) ); - - case PatioDataLayoutTypeIndex patioDataLayoutTypeIndex -> - throw new RuntimeException("offset not allowed for type indices"); }; } } @@ -1076,9 +1073,6 @@ public class PatioToLlvm { patioOffsets.minus(0), target ); - - case PatioDataLayoutTypeIndex patioDataLayoutTypeIndex -> - LlvmTypes.INT_32; }; } @@ -1179,9 +1173,6 @@ public class PatioToLlvm { case PatioIntType patioIntType -> target.patioIntType(); - case PatioTypeIndexType patioTypeIndexType -> - LlvmTypes.INT_32; - case PatioVoidType patioVoidType -> LlvmTypes.VOID; }; @@ -1222,9 +1213,6 @@ public class PatioToLlvm { .map(element -> patioDataLayoutToLlvmType(element, target)) .toList() ); - - case PatioDataLayoutTypeIndex patioDataLayoutTypeIndex -> - LlvmTypes.INT_32; }; } @@ -1272,9 +1260,6 @@ public class PatioToLlvm { )) .toList() ); - - case PatioDataLayoutTypeIndex patioDataLayoutTypeIndex -> - new LlvmOperandInt(0); }; } diff --git a/src/main/java/org/shedlang/compiler/backends/wasm/PatioToWasm.java b/src/main/java/org/shedlang/compiler/backends/wasm/PatioToWasm.java index f2a3da4b..81a71340 100644 --- a/src/main/java/org/shedlang/compiler/backends/wasm/PatioToWasm.java +++ b/src/main/java/org/shedlang/compiler/backends/wasm/PatioToWasm.java @@ -607,9 +607,6 @@ public class PatioToWasm { patioDataLayoutStruct.elements().stream() .map(element -> sizeOf(element, target)) .reduce(0, Integer::sum); - - case PatioDataLayoutTypeIndex patioDataLayoutTypeIndex -> - WasmValueType.I32.sizeBytes(); }; } @@ -649,9 +646,6 @@ public class PatioToWasm { } patioDataLayout = patioDataLayoutStruct.elements().get(patioOffset); } - case PatioDataLayoutTypeIndex patioDataLayoutTypeIndex -> { - throw new RuntimeException("offset not allowed for type indices"); - } } } @@ -774,8 +768,6 @@ public class PatioToWasm { target.functionPointerType(); case PatioIntType patioIntType -> target.patioIntType(); - case PatioTypeIndexType patioTypeIndexType -> - WasmValueType.I32; case PatioVoidType patioVoidType -> throw new IllegalArgumentException("Cannot have void values"); }; diff --git a/src/main/java/org/shedlang/compiler/patio/PatioSerializer.java b/src/main/java/org/shedlang/compiler/patio/PatioSerializer.java index 9af739ea..5dc0c1ae 100644 --- a/src/main/java/org/shedlang/compiler/patio/PatioSerializer.java +++ b/src/main/java/org/shedlang/compiler/patio/PatioSerializer.java @@ -449,9 +449,6 @@ public class PatioSerializer { case PatioIntType intType -> treeIdentifier("int"); - case PatioTypeIndexType typeIndexType -> - treeIdentifier("type-index"); - case PatioVoidType voidType -> treeIdentifier("void"); }; @@ -490,9 +487,6 @@ public class PatioSerializer { .toList() ) ); - - case PatioDataLayoutTypeIndex typeIndex -> - treeIdentifier("type-index"); }; } diff --git a/src/main/java/org/shedlang/compiler/patio/types/PatioDataLayout.java b/src/main/java/org/shedlang/compiler/patio/types/PatioDataLayout.java index 74704517..9649cecf 100644 --- a/src/main/java/org/shedlang/compiler/patio/types/PatioDataLayout.java +++ b/src/main/java/org/shedlang/compiler/patio/types/PatioDataLayout.java @@ -1,4 +1,4 @@ package org.shedlang.compiler.patio.types; -public sealed interface PatioDataLayout permits PatioDataLayoutArray, PatioDataLayoutBool, PatioDataLayoutByte, PatioDataLayoutDataPointer, PatioDataLayoutFunctionPointer, PatioDataLayoutInt, PatioDataLayoutStruct, PatioDataLayoutTypeIndex { +public sealed interface PatioDataLayout permits PatioDataLayoutArray, PatioDataLayoutBool, PatioDataLayoutByte, PatioDataLayoutDataPointer, PatioDataLayoutFunctionPointer, PatioDataLayoutInt, PatioDataLayoutStruct { } diff --git a/src/main/java/org/shedlang/compiler/patio/types/PatioDataLayoutTypeIndex.java b/src/main/java/org/shedlang/compiler/patio/types/PatioDataLayoutTypeIndex.java deleted file mode 100644 index 9aafb675..00000000 --- a/src/main/java/org/shedlang/compiler/patio/types/PatioDataLayoutTypeIndex.java +++ /dev/null @@ -1,5 +0,0 @@ -package org.shedlang.compiler.patio.types; - -public record PatioDataLayoutTypeIndex() implements PatioDataLayout { - public static final PatioDataLayoutTypeIndex INSTANCE = new PatioDataLayoutTypeIndex(); -} diff --git a/src/main/java/org/shedlang/compiler/patio/types/PatioDataLayouts.java b/src/main/java/org/shedlang/compiler/patio/types/PatioDataLayouts.java index 39a2c199..c28124aa 100644 --- a/src/main/java/org/shedlang/compiler/patio/types/PatioDataLayouts.java +++ b/src/main/java/org/shedlang/compiler/patio/types/PatioDataLayouts.java @@ -11,7 +11,6 @@ public class PatioDataLayouts { public static final PatioDataLayout DATA_POINTER = PatioDataLayoutDataPointer.INSTANCE; public static final PatioDataLayout FUNCTION_POINTER = PatioDataLayoutFunctionPointer.INSTANCE; public static final PatioDataLayout INT = PatioDataLayoutInt.INSTANCE; - public static final PatioDataLayout TYPE_INDEX = PatioDataLayoutTypeIndex.INSTANCE; public static PatioDataLayout array(PatioDataLayout element, int size) { return new PatioDataLayoutArray(element, size); @@ -38,9 +37,6 @@ public class PatioDataLayouts { case PatioIntType patioIntType -> INT; - case PatioTypeIndexType patioTypeIndexType -> - TYPE_INDEX; - case PatioVoidType patioVoidType -> throw new UnsupportedOperationException("TODO"); }; diff --git a/src/main/java/org/shedlang/compiler/patio/types/PatioType.java b/src/main/java/org/shedlang/compiler/patio/types/PatioType.java index eaed08ee..13caa01d 100644 --- a/src/main/java/org/shedlang/compiler/patio/types/PatioType.java +++ b/src/main/java/org/shedlang/compiler/patio/types/PatioType.java @@ -1,4 +1,4 @@ package org.shedlang.compiler.patio.types; -public sealed interface PatioType permits PatioBoolType, PatioByteType, PatioDataPointerType, PatioFunctionPointerType, PatioIntType, PatioTypeIndexType, PatioVoidType { +public sealed interface PatioType permits PatioBoolType, PatioByteType, PatioDataPointerType, PatioFunctionPointerType, PatioIntType, PatioVoidType { } diff --git a/src/main/java/org/shedlang/compiler/patio/types/PatioTypeIndexType.java b/src/main/java/org/shedlang/compiler/patio/types/PatioTypeIndexType.java deleted file mode 100644 index 1463e0e9..00000000 --- a/src/main/java/org/shedlang/compiler/patio/types/PatioTypeIndexType.java +++ /dev/null @@ -1,5 +0,0 @@ -package org.shedlang.compiler.patio.types; - -public record PatioTypeIndexType() implements PatioType { - public static final PatioTypeIndexType INSTANCE = new PatioTypeIndexType(); -} diff --git a/src/main/java/org/shedlang/compiler/patio/types/PatioTypes.java b/src/main/java/org/shedlang/compiler/patio/types/PatioTypes.java index 352eaa44..dcfbd08e 100644 --- a/src/main/java/org/shedlang/compiler/patio/types/PatioTypes.java +++ b/src/main/java/org/shedlang/compiler/patio/types/PatioTypes.java @@ -9,6 +9,5 @@ public class PatioTypes { public static final PatioDataPointerType DATA_POINTER = PatioDataPointerType.INSTANCE; public static final PatioFunctionPointerType FUNCTION_POINTER = PatioFunctionPointerType.INSTANCE; public static final PatioIntType INT = PatioIntType.INSTANCE; - public static final PatioTypeIndexType TYPE_INDEX = PatioTypeIndexType.INSTANCE; public static final PatioVoidType VOID = PatioVoidType.INSTANCE; } |
