aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2024-01-26 18:26:39 +0000
committerMichael Williamson <mike@zwobble.org>2024-01-26 18:26:39 +0000
commitf0a14f101190944ee04dd458c12025c71939b31f (patch)
treebb81864f157b81eb33bc84c9b996d0c9f1a9167c /src/main/java
parent6dfbc56f7d0c52c5d5b15c38b375fb857609b6e4 (diff)
Remove Patio type index
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/backends/llvm/codegen/PatioToLlvm.java15
-rw-r--r--src/main/java/org/shedlang/compiler/backends/wasm/PatioToWasm.java8
-rw-r--r--src/main/java/org/shedlang/compiler/patio/PatioSerializer.java6
-rw-r--r--src/main/java/org/shedlang/compiler/patio/types/PatioDataLayout.java2
-rw-r--r--src/main/java/org/shedlang/compiler/patio/types/PatioDataLayoutTypeIndex.java5
-rw-r--r--src/main/java/org/shedlang/compiler/patio/types/PatioDataLayouts.java4
-rw-r--r--src/main/java/org/shedlang/compiler/patio/types/PatioType.java2
-rw-r--r--src/main/java/org/shedlang/compiler/patio/types/PatioTypeIndexType.java5
-rw-r--r--src/main/java/org/shedlang/compiler/patio/types/PatioTypes.java1
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;
}