aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2024-01-28 19:52:36 +0000
committerMichael Williamson <mike@zwobble.org>2024-01-28 19:52:36 +0000
commitf495be56b344bf79f45ce1bc55165ae6933e8246 (patch)
tree3c434fe15c2bad4e40f2f0e60fd50f51c113a7a1 /src/main/java
parent6cd133fc114b2f88497579e8ef4ef629697dbd26 (diff)
Name pointer types more consistently
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/backends/llvm/codegen/PatioToLlvm.java18
-rw-r--r--src/main/java/org/shedlang/compiler/backends/wasm/PatioToWasm.java28
-rw-r--r--src/main/java/org/shedlang/compiler/backends/wasm/WasmTarget.java4
-rw-r--r--src/main/java/org/shedlang/compiler/patio/PatioSerializer.java10
-rw-r--r--src/main/java/org/shedlang/compiler/patio/operands/PatioDataPtrConst.java2
-rw-r--r--src/main/java/org/shedlang/compiler/patio/operands/PatioFunctionPtrConst.java2
-rw-r--r--src/main/java/org/shedlang/compiler/patio/types/PatioDataLayout.java2
-rw-r--r--src/main/java/org/shedlang/compiler/patio/types/PatioDataLayoutDataPointer.java5
-rw-r--r--src/main/java/org/shedlang/compiler/patio/types/PatioDataLayoutDataPtr.java5
-rw-r--r--src/main/java/org/shedlang/compiler/patio/types/PatioDataLayoutFunctionPointer.java5
-rw-r--r--src/main/java/org/shedlang/compiler/patio/types/PatioDataLayoutFunctionPtr.java5
-rw-r--r--src/main/java/org/shedlang/compiler/patio/types/PatioDataLayouts.java12
-rw-r--r--src/main/java/org/shedlang/compiler/patio/types/PatioDataPointerType.java5
-rw-r--r--src/main/java/org/shedlang/compiler/patio/types/PatioDataPtrType.java5
-rw-r--r--src/main/java/org/shedlang/compiler/patio/types/PatioDataValue.java2
-rw-r--r--src/main/java/org/shedlang/compiler/patio/types/PatioDataValueDataPtr.java (renamed from src/main/java/org/shedlang/compiler/patio/types/PatioDataValueDataPointer.java)4
-rw-r--r--src/main/java/org/shedlang/compiler/patio/types/PatioDataValues.java4
-rw-r--r--src/main/java/org/shedlang/compiler/patio/types/PatioFunctionPointerType.java5
-rw-r--r--src/main/java/org/shedlang/compiler/patio/types/PatioFunctionPtrType.java5
-rw-r--r--src/main/java/org/shedlang/compiler/patio/types/PatioOffsets.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/PatioTypes.java4
-rw-r--r--src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatioClosures.java10
-rw-r--r--src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatioEffects.java10
-rw-r--r--src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatioGc.java4
-rw-r--r--src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatioNamespaces.java14
-rw-r--r--src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatioStructs.java6
-rw-r--r--src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatioTuples.java4
-rw-r--r--src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatioVars.java2
29 files changed, 94 insertions, 94 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 7f7a8ba4..b77701e1 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
@@ -1016,10 +1016,10 @@ public class PatioToLlvm {
case PatioDataLayoutByte patioDataLayoutByte ->
throw new RuntimeException("offset not allowed for bytes");
- case PatioDataLayoutDataPointer patioDataLayoutdataPointer ->
+ case PatioDataLayoutDataPtr patioDataLayoutdataPtr ->
throw new RuntimeException("offset not allowed for data ptrs");
- case PatioDataLayoutFunctionPointer patioDataLayoutFunctionPointer ->
+ case PatioDataLayoutFunctionPtr patioDataLayoutFunctionPtr ->
throw new RuntimeException("offset not allowed for function ptrs");
case PatioDataLayoutInt patioDataLayoutInt ->
@@ -1169,10 +1169,10 @@ public class PatioToLlvm {
case PatioByteType patioByteType ->
LlvmTypes.INT_8;
- case PatioDataPointerType patioDataPointerType ->
+ case PatioDataPtrType patioDataPtrType ->
LlvmTypes.pointer(LlvmTypes.VOID);
- case PatioFunctionPointerType patioFunctionPointerType ->
+ case PatioFunctionPtrType patioFunctionPtrType ->
LlvmTypes.pointer(LlvmTypes.VOID);
case PatioIntType patioIntType ->
@@ -1206,10 +1206,10 @@ public class PatioToLlvm {
case PatioDataLayoutByte patioDataLayoutByte ->
LlvmTypes.INT_8;
- case PatioDataLayoutDataPointer patioDataLayoutDataPointer ->
+ case PatioDataLayoutDataPtr patioDataLayoutDataPtr ->
LlvmTypes.pointer(LlvmTypes.VOID);
- case PatioDataLayoutFunctionPointer patioDataLayoutFunctionPointer ->
+ case PatioDataLayoutFunctionPtr patioDataLayoutFunctionPtr ->
LlvmTypes.pointer(LlvmTypes.VOID);
case PatioDataLayoutInt patioDataLayoutInt ->
@@ -1254,10 +1254,10 @@ public class PatioToLlvm {
case PatioDataLayoutByte patioDataLayoutByte ->
new LlvmOperandInt(0);
- case PatioDataLayoutDataPointer patioDataLayoutDataPointer ->
+ case PatioDataLayoutDataPtr patioDataLayoutDataPtr ->
new LlvmOperandNull();
- case PatioDataLayoutFunctionPointer patioDataLayoutFunctionPointer ->
+ case PatioDataLayoutFunctionPtr patioDataLayoutFunctionPtr ->
new LlvmOperandNull();
case PatioDataLayoutInt patioDataLayoutInt ->
@@ -1302,7 +1302,7 @@ public class PatioToLlvm {
case PatioDataValueByte patioDataValueByte ->
new LlvmOperandInt(patioDataValueByte.value());
- case PatioDataValueDataPointer patioDataValueDataPointer ->
+ case PatioDataValueDataPtr patioDataValueDataPtr ->
new LlvmOperandNull();
case PatioDataValueInt patioDataValueInt ->
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 4070b25e..05dd71df 100644
--- a/src/main/java/org/shedlang/compiler/backends/wasm/PatioToWasm.java
+++ b/src/main/java/org/shedlang/compiler/backends/wasm/PatioToWasm.java
@@ -37,7 +37,7 @@ public class PatioToWasm {
STACK_ALLOC_NAME,
new WasmFuncType(
List.of(target.sizeT()),
- List.of(target.dataPointerType())
+ List.of(target.dataPtrType())
)
)
));
@@ -585,7 +585,7 @@ public class PatioToWasm {
}
case PatioDataPtrValueNull patioDataPtrValueNull -> {
- yield wasmIntConst(target.dataPointerType(), 0);
+ yield wasmIntConst(target.dataPtrType(), 0);
}
};
}
@@ -621,11 +621,11 @@ public class PatioToWasm {
case PatioDataLayoutByte patioDataLayoutByte ->
1;
- case PatioDataLayoutDataPointer patioDataLayoutDataPointer ->
- target.dataPointerType().sizeBytes();
+ case PatioDataLayoutDataPtr patioDataLayoutDataPtr ->
+ target.dataPtrType().sizeBytes();
- case PatioDataLayoutFunctionPointer patioDataLayoutFunctionPointer ->
- target.functionPointerType().sizeBytes();
+ case PatioDataLayoutFunctionPtr patioDataLayoutFunctionPtr ->
+ target.functionPtrType().sizeBytes();
case PatioDataLayoutInt patioDataLayoutInt ->
target.patioIntType().sizeBytes();
@@ -660,10 +660,10 @@ public class PatioToWasm {
case PatioDataLayoutByte patioDataLayoutByte -> {
throw new RuntimeException("offset not allowed for bytes");
}
- case PatioDataLayoutDataPointer patioDataLayoutDataPointer -> {
+ case PatioDataLayoutDataPtr patioDataLayoutDataPtr -> {
throw new RuntimeException("offset not allowed for data ptrs");
}
- case PatioDataLayoutFunctionPointer patioDataLayoutFunctionPointer -> {
+ case PatioDataLayoutFunctionPtr patioDataLayoutFunctionPtr -> {
throw new RuntimeException("offset not allowed for function ptrs");
}
case PatioDataLayoutInt patioDataLayoutInt -> {
@@ -725,8 +725,8 @@ public class PatioToWasm {
case PatioDataValueByte patioDataValueByte -> {
bytes.put(patioDataValueByte.value());
}
- case PatioDataValueDataPointer patioDataValueDataPointer -> {
- switch (patioDataValueDataPointer.value()) {
+ case PatioDataValueDataPtr patioDataValueDataPtr -> {
+ switch (patioDataValueDataPtr.value()) {
case PatioDataPtrValueDataElement dataElement -> {
throw new UnsupportedOperationException("TODO");
}
@@ -800,10 +800,10 @@ public class PatioToWasm {
WasmValueType.I32;
case PatioByteType patioByteType ->
WasmValueType.I32;
- case PatioDataPointerType patioDataPointerType ->
- target.dataPointerType();
- case PatioFunctionPointerType patioFunctionPointerType ->
- target.functionPointerType();
+ case PatioDataPtrType patioDataPtrType ->
+ target.dataPtrType();
+ case PatioFunctionPtrType patioFunctionPtrType ->
+ target.functionPtrType();
case PatioIntType patioIntType ->
target.patioIntType();
case PatioInt32Type patioInt32Type ->
diff --git a/src/main/java/org/shedlang/compiler/backends/wasm/WasmTarget.java b/src/main/java/org/shedlang/compiler/backends/wasm/WasmTarget.java
index 6ded336a..8f7d4e8c 100644
--- a/src/main/java/org/shedlang/compiler/backends/wasm/WasmTarget.java
+++ b/src/main/java/org/shedlang/compiler/backends/wasm/WasmTarget.java
@@ -63,11 +63,11 @@ public enum WasmTarget {
return sizeT;
}
- public WasmValueType dataPointerType() {
+ public WasmValueType dataPtrType() {
return sizeT;
}
- public WasmValueType functionPointerType() {
+ public WasmValueType functionPtrType() {
// TODO: there's a problem here: wasm64 uses 32-bit function pointers,
// but C uses void* for all pointers, which will be 64-bit on wasm64.
// We could either:
diff --git a/src/main/java/org/shedlang/compiler/patio/PatioSerializer.java b/src/main/java/org/shedlang/compiler/patio/PatioSerializer.java
index 6d60adfd..eb5e2b0f 100644
--- a/src/main/java/org/shedlang/compiler/patio/PatioSerializer.java
+++ b/src/main/java/org/shedlang/compiler/patio/PatioSerializer.java
@@ -459,10 +459,10 @@ public class PatioSerializer {
case PatioByteType byteType ->
treeIdentifier("byte");
- case PatioDataPointerType dataPointerType ->
+ case PatioDataPtrType dataPointerType ->
treeIdentifier("data-ptr");
- case PatioFunctionPointerType functionPointerType ->
+ case PatioFunctionPtrType functionPointerType ->
treeIdentifier("function-ptr");
case PatioIntType intType ->
@@ -491,10 +491,10 @@ public class PatioSerializer {
case PatioDataLayoutByte byte_ ->
treeIdentifier("byte");
- case PatioDataLayoutDataPointer dataPointer ->
+ case PatioDataLayoutDataPtr dataPointer ->
treeIdentifier("data-ptr");
- case PatioDataLayoutFunctionPointer functionPointer ->
+ case PatioDataLayoutFunctionPtr functionPointer ->
treeIdentifier("function-ptr");
case PatioDataLayoutInt int_ ->
@@ -540,7 +540,7 @@ public class PatioSerializer {
treeIdentifier(String.format("0x%02x", byte_.value()))
);
- case PatioDataValueDataPointer dataPointer ->
+ case PatioDataValueDataPtr dataPointer ->
treeList(
treeIdentifier("data-ptr"),
dataPtrValueToTree(dataPointer.value())
diff --git a/src/main/java/org/shedlang/compiler/patio/operands/PatioDataPtrConst.java b/src/main/java/org/shedlang/compiler/patio/operands/PatioDataPtrConst.java
index e0b1897d..588b3fb0 100644
--- a/src/main/java/org/shedlang/compiler/patio/operands/PatioDataPtrConst.java
+++ b/src/main/java/org/shedlang/compiler/patio/operands/PatioDataPtrConst.java
@@ -12,6 +12,6 @@ public record PatioDataPtrConst(PatioDataPtrValue value) implements PatioOperand
@Override
public PatioType type() {
- return PatioTypes.DATA_POINTER;
+ return PatioTypes.DATA_PTR;
}
}
diff --git a/src/main/java/org/shedlang/compiler/patio/operands/PatioFunctionPtrConst.java b/src/main/java/org/shedlang/compiler/patio/operands/PatioFunctionPtrConst.java
index 273f6c61..13dc1cec 100644
--- a/src/main/java/org/shedlang/compiler/patio/operands/PatioFunctionPtrConst.java
+++ b/src/main/java/org/shedlang/compiler/patio/operands/PatioFunctionPtrConst.java
@@ -6,6 +6,6 @@ import org.shedlang.compiler.patio.types.PatioTypes;
public record PatioFunctionPtrConst(String name) implements PatioOperandConst {
@Override
public PatioType type() {
- return PatioTypes.FUNCTION_POINTER;
+ return PatioTypes.FUNCTION_PTR;
}
}
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 31798fd2..54a6e62f 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, PatioDataLayoutInt32, PatioDataLayoutStruct {
+public sealed interface PatioDataLayout permits PatioDataLayoutArray, PatioDataLayoutBool, PatioDataLayoutByte, PatioDataLayoutDataPtr, PatioDataLayoutFunctionPtr, PatioDataLayoutInt, PatioDataLayoutInt32, PatioDataLayoutStruct {
}
diff --git a/src/main/java/org/shedlang/compiler/patio/types/PatioDataLayoutDataPointer.java b/src/main/java/org/shedlang/compiler/patio/types/PatioDataLayoutDataPointer.java
deleted file mode 100644
index 76982d45..00000000
--- a/src/main/java/org/shedlang/compiler/patio/types/PatioDataLayoutDataPointer.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package org.shedlang.compiler.patio.types;
-
-public record PatioDataLayoutDataPointer() implements PatioDataLayout {
- public static final PatioDataLayoutDataPointer INSTANCE = new PatioDataLayoutDataPointer();
-}
diff --git a/src/main/java/org/shedlang/compiler/patio/types/PatioDataLayoutDataPtr.java b/src/main/java/org/shedlang/compiler/patio/types/PatioDataLayoutDataPtr.java
new file mode 100644
index 00000000..fbf5d278
--- /dev/null
+++ b/src/main/java/org/shedlang/compiler/patio/types/PatioDataLayoutDataPtr.java
@@ -0,0 +1,5 @@
+package org.shedlang.compiler.patio.types;
+
+public record PatioDataLayoutDataPtr() implements PatioDataLayout {
+ public static final PatioDataLayoutDataPtr INSTANCE = new PatioDataLayoutDataPtr();
+}
diff --git a/src/main/java/org/shedlang/compiler/patio/types/PatioDataLayoutFunctionPointer.java b/src/main/java/org/shedlang/compiler/patio/types/PatioDataLayoutFunctionPointer.java
deleted file mode 100644
index 8dd8ca75..00000000
--- a/src/main/java/org/shedlang/compiler/patio/types/PatioDataLayoutFunctionPointer.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package org.shedlang.compiler.patio.types;
-
-public record PatioDataLayoutFunctionPointer() implements PatioDataLayout {
- public static final PatioDataLayoutFunctionPointer INSTANCE = new PatioDataLayoutFunctionPointer();
-}
diff --git a/src/main/java/org/shedlang/compiler/patio/types/PatioDataLayoutFunctionPtr.java b/src/main/java/org/shedlang/compiler/patio/types/PatioDataLayoutFunctionPtr.java
new file mode 100644
index 00000000..d1979af3
--- /dev/null
+++ b/src/main/java/org/shedlang/compiler/patio/types/PatioDataLayoutFunctionPtr.java
@@ -0,0 +1,5 @@
+package org.shedlang.compiler.patio.types;
+
+public record PatioDataLayoutFunctionPtr() implements PatioDataLayout {
+ public static final PatioDataLayoutFunctionPtr INSTANCE = new PatioDataLayoutFunctionPtr();
+}
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 19263be4..53e8d0d3 100644
--- a/src/main/java/org/shedlang/compiler/patio/types/PatioDataLayouts.java
+++ b/src/main/java/org/shedlang/compiler/patio/types/PatioDataLayouts.java
@@ -8,8 +8,8 @@ public class PatioDataLayouts {
public static final PatioDataLayout BOOL = PatioDataLayoutBool.INSTANCE;
public static final PatioDataLayout BYTE = PatioDataLayoutByte.INSTANCE;
- public static final PatioDataLayout DATA_POINTER = PatioDataLayoutDataPointer.INSTANCE;
- public static final PatioDataLayout FUNCTION_POINTER = PatioDataLayoutFunctionPointer.INSTANCE;
+ public static final PatioDataLayout DATA_PTR = PatioDataLayoutDataPtr.INSTANCE;
+ public static final PatioDataLayout FUNCTION_PTR = PatioDataLayoutFunctionPtr.INSTANCE;
public static final PatioDataLayout INT = PatioDataLayoutInt.INSTANCE;
public static final PatioDataLayout INT32 = PatioDataLayoutInt32.INSTANCE;
@@ -29,11 +29,11 @@ public class PatioDataLayouts {
case PatioByteType patioByteType ->
BYTE;
- case PatioDataPointerType patioDataPointerType ->
- DATA_POINTER;
+ case PatioDataPtrType patioDataPtrType ->
+ DATA_PTR;
- case PatioFunctionPointerType patioFunctionPointerType ->
- FUNCTION_POINTER;
+ case PatioFunctionPtrType patioFunctionPtrType ->
+ FUNCTION_PTR;
case PatioIntType patioIntType ->
INT;
diff --git a/src/main/java/org/shedlang/compiler/patio/types/PatioDataPointerType.java b/src/main/java/org/shedlang/compiler/patio/types/PatioDataPointerType.java
deleted file mode 100644
index d52eb1cf..00000000
--- a/src/main/java/org/shedlang/compiler/patio/types/PatioDataPointerType.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package org.shedlang.compiler.patio.types;
-
-public record PatioDataPointerType() implements PatioType {
- public static final PatioDataPointerType INSTANCE = new PatioDataPointerType();
-}
diff --git a/src/main/java/org/shedlang/compiler/patio/types/PatioDataPtrType.java b/src/main/java/org/shedlang/compiler/patio/types/PatioDataPtrType.java
new file mode 100644
index 00000000..b547c452
--- /dev/null
+++ b/src/main/java/org/shedlang/compiler/patio/types/PatioDataPtrType.java
@@ -0,0 +1,5 @@
+package org.shedlang.compiler.patio.types;
+
+public record PatioDataPtrType() implements PatioType {
+ public static final PatioDataPtrType INSTANCE = new PatioDataPtrType();
+}
diff --git a/src/main/java/org/shedlang/compiler/patio/types/PatioDataValue.java b/src/main/java/org/shedlang/compiler/patio/types/PatioDataValue.java
index 6423e844..2829fa2b 100644
--- a/src/main/java/org/shedlang/compiler/patio/types/PatioDataValue.java
+++ b/src/main/java/org/shedlang/compiler/patio/types/PatioDataValue.java
@@ -1,5 +1,5 @@
package org.shedlang.compiler.patio.types;
-public sealed interface PatioDataValue permits PatioDataValueArray, PatioDataValueBool, PatioDataValueByte, PatioDataValueDataPointer, PatioDataValueInt, PatioDataValueInt32, PatioDataValueStruct {
+public sealed interface PatioDataValue permits PatioDataValueArray, PatioDataValueBool, PatioDataValueByte, PatioDataValueDataPtr, PatioDataValueInt, PatioDataValueInt32, PatioDataValueStruct {
PatioDataLayout layout();
}
diff --git a/src/main/java/org/shedlang/compiler/patio/types/PatioDataValueDataPointer.java b/src/main/java/org/shedlang/compiler/patio/types/PatioDataValueDataPtr.java
index 8f4a8345..9efd2782 100644
--- a/src/main/java/org/shedlang/compiler/patio/types/PatioDataValueDataPointer.java
+++ b/src/main/java/org/shedlang/compiler/patio/types/PatioDataValueDataPtr.java
@@ -2,9 +2,9 @@ package org.shedlang.compiler.patio.types;
import org.shedlang.compiler.patio.values.PatioDataPtrValue;
-public record PatioDataValueDataPointer(PatioDataPtrValue value) implements PatioDataValue {
+public record PatioDataValueDataPtr(PatioDataPtrValue value) implements PatioDataValue {
@Override
public PatioDataLayout layout() {
- return PatioDataLayouts.DATA_POINTER;
+ return PatioDataLayouts.DATA_PTR;
}
}
diff --git a/src/main/java/org/shedlang/compiler/patio/types/PatioDataValues.java b/src/main/java/org/shedlang/compiler/patio/types/PatioDataValues.java
index 731fa340..767d1786 100644
--- a/src/main/java/org/shedlang/compiler/patio/types/PatioDataValues.java
+++ b/src/main/java/org/shedlang/compiler/patio/types/PatioDataValues.java
@@ -23,8 +23,8 @@ public class PatioDataValues {
return new PatioDataValueByte((byte) value);
}
- public static PatioDataValue dataPointerNull() {
- return new PatioDataValueDataPointer(new PatioDataPtrValueNull());
+ public static PatioDataValue dataPtrNull() {
+ return new PatioDataValueDataPtr(new PatioDataPtrValueNull());
}
public static PatioDataValue int_(int value) {
diff --git a/src/main/java/org/shedlang/compiler/patio/types/PatioFunctionPointerType.java b/src/main/java/org/shedlang/compiler/patio/types/PatioFunctionPointerType.java
deleted file mode 100644
index e98940aa..00000000
--- a/src/main/java/org/shedlang/compiler/patio/types/PatioFunctionPointerType.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package org.shedlang.compiler.patio.types;
-
-public record PatioFunctionPointerType() implements PatioType {
- public static final PatioFunctionPointerType INSTANCE = new PatioFunctionPointerType();
-}
diff --git a/src/main/java/org/shedlang/compiler/patio/types/PatioFunctionPtrType.java b/src/main/java/org/shedlang/compiler/patio/types/PatioFunctionPtrType.java
new file mode 100644
index 00000000..f9147f94
--- /dev/null
+++ b/src/main/java/org/shedlang/compiler/patio/types/PatioFunctionPtrType.java
@@ -0,0 +1,5 @@
+package org.shedlang.compiler.patio.types;
+
+public record PatioFunctionPtrType() implements PatioType {
+ public static final PatioFunctionPtrType INSTANCE = new PatioFunctionPtrType();
+}
diff --git a/src/main/java/org/shedlang/compiler/patio/types/PatioOffsets.java b/src/main/java/org/shedlang/compiler/patio/types/PatioOffsets.java
index f4a13bb0..f427bd41 100644
--- a/src/main/java/org/shedlang/compiler/patio/types/PatioOffsets.java
+++ b/src/main/java/org/shedlang/compiler/patio/types/PatioOffsets.java
@@ -24,10 +24,10 @@ public class PatioOffsets {
case PatioDataLayoutByte patioDataLayoutByte ->
patioDataLayout;
- case PatioDataLayoutDataPointer patioDataLayoutDataPointer ->
+ case PatioDataLayoutDataPtr patioDataLayoutDataPtr ->
patioDataLayout;
- case PatioDataLayoutFunctionPointer patioDataLayoutFunctionPointer ->
+ case PatioDataLayoutFunctionPtr patioDataLayoutFunctionPtr ->
patioDataLayout;
case PatioDataLayoutInt patioDataLayoutInt ->
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 8fb115fd..218672da 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, PatioInt32Type, PatioIntType, PatioVoidType {
+public sealed interface PatioType permits PatioBoolType, PatioByteType, PatioDataPtrType, PatioFunctionPtrType, PatioInt32Type, PatioIntType, PatioVoidType {
}
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 8601cc77..4b6279d0 100644
--- a/src/main/java/org/shedlang/compiler/patio/types/PatioTypes.java
+++ b/src/main/java/org/shedlang/compiler/patio/types/PatioTypes.java
@@ -6,8 +6,8 @@ public class PatioTypes {
public static final PatioBoolType BOOL = PatioBoolType.INSTANCE;
public static final PatioByteType BYTE = PatioByteType.INSTANCE;
- public static final PatioDataPointerType DATA_POINTER = PatioDataPointerType.INSTANCE;
- public static final PatioFunctionPointerType FUNCTION_POINTER = PatioFunctionPointerType.INSTANCE;
+ public static final PatioDataPtrType DATA_PTR = PatioDataPtrType.INSTANCE;
+ public static final PatioFunctionPtrType FUNCTION_PTR = PatioFunctionPtrType.INSTANCE;
public static final PatioIntType INT = PatioIntType.INSTANCE;
public static final PatioInt32Type INT32 = PatioInt32Type.INSTANCE;
public static final PatioVoidType VOID = PatioVoidType.INSTANCE;
diff --git a/src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatioClosures.java b/src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatioClosures.java
index b1d40a87..55ef675b 100644
--- a/src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatioClosures.java
+++ b/src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatioClosures.java
@@ -24,14 +24,14 @@ import java.util.stream.Stream;
import static org.shedlang.compiler.util.Iterables.sortedBy;
class ShidToPatioClosures {
- public static final PatioType CLOSURE_POINTER_TYPE = PatioTypes.DATA_POINTER;
+ public static final PatioType CLOSURE_POINTER_TYPE = PatioTypes.DATA_PTR;
public static final PatioType CLOSURE_TYPE = ShidToPatioTypes.VALUE_TYPE;
private ShidToPatioClosures() {}
private static PatioDataLayout closureDataLayoutForCall() {
return ShidToPatioGc.gcObjectDataLayout(PatioDataLayouts.struct(List.of(
- PatioDataLayouts.FUNCTION_POINTER
+ PatioDataLayouts.FUNCTION_PTR
)));
}
@@ -41,7 +41,7 @@ class ShidToPatioClosures {
ShidToPatioContext context
) {
return ShidToPatioGc.gcObjectDataLayout(PatioDataLayouts.struct(List.of(
- PatioDataLayouts.FUNCTION_POINTER,
+ PatioDataLayouts.FUNCTION_PTR,
additional,
PatioDataLayouts.struct(
freeVariables.stream()
@@ -158,7 +158,7 @@ class ShidToPatioClosures {
var closurePointerResult = context.allocateVal(
ShidToPatioLocalSpace.CLOSURE_POINTER,
name,
- PatioTypes.DATA_POINTER
+ PatioTypes.DATA_PTR
);
var closurePointer = closurePointerResult.value();
context = closurePointerResult.context();
@@ -281,7 +281,7 @@ class ShidToPatioClosures {
var functionPointerResult = context.allocateVal(
ShidToPatioLocalSpace.CALL_FUNCTION_POINTER,
- PatioTypes.FUNCTION_POINTER
+ PatioTypes.FUNCTION_PTR
);
var functionPointer = functionPointerResult.value();
context = functionPointerResult.context();
diff --git a/src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatioEffects.java b/src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatioEffects.java
index 7467be19..0bffd357 100644
--- a/src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatioEffects.java
+++ b/src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatioEffects.java
@@ -27,8 +27,8 @@ import java.util.stream.IntStream;
public class ShidToPatioEffects {
private static final PatioType EFFECT_TAG_TYPE = PatioTypes.INT;
private static final PatioType EFFECT_METHOD_INDEX_TYPE = PatioTypes.INT;
- private static final PatioType EFFECT_HANDLER_TYPE = PatioTypes.DATA_POINTER;
- private static final PatioType EFFECT_HANDLER_METHOD_POINTER_TYPE = PatioTypes.DATA_POINTER;
+ private static final PatioType EFFECT_HANDLER_TYPE = PatioTypes.DATA_PTR;
+ private static final PatioType EFFECT_HANDLER_METHOD_POINTER_TYPE = PatioTypes.DATA_PTR;
private static final PatioType EFFECT_HANDLER_METHOD_TYPE = ShidToPatioTypes.VALUE_TYPE;
private static PatioDataLayout effectHandlerMethodDataLayout(
@@ -36,7 +36,7 @@ public class ShidToPatioEffects {
ShidToPatioContext context
) {
return ShidToPatioClosures.closureDataLayout(
- PatioDataLayouts.struct(List.of(PatioDataLayouts.DATA_POINTER)),
+ PatioDataLayouts.struct(List.of(PatioDataLayouts.DATA_PTR)),
freeVariables,
context
);
@@ -133,7 +133,7 @@ public class ShidToPatioEffects {
var effectPointerResult = context.allocateVal(
ShidToPatioLocalSpace.USER_DEFINED_EFFECT_POINTER,
effect.name(),
- PatioTypes.DATA_POINTER
+ PatioTypes.DATA_PTR
);
var effectPointer = effectPointerResult.value();
context = effectPointerResult.context();
@@ -254,7 +254,7 @@ public class ShidToPatioEffects {
) {
var effectPointerResult = context.allocateVal(
ShidToPatioLocalSpace.USER_DEFINED_EFFECT_POINTER,
- PatioTypes.DATA_POINTER
+ PatioTypes.DATA_PTR
);
var effectPointer = effectPointerResult.value();
context = effectPointerResult.context();
diff --git a/src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatioGc.java b/src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatioGc.java
index 945f667e..351dee49 100644
--- a/src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatioGc.java
+++ b/src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatioGc.java
@@ -25,7 +25,7 @@ public class ShidToPatioGc {
public static PatioDataLayout gcObjectDataLayout(PatioDataLayout valueLayout) {
return PatioDataLayouts.struct(List.of(
PatioDataLayouts.struct(List.of(
- PatioDataLayouts.DATA_POINTER, // next
+ PatioDataLayouts.DATA_PTR, // next
PatioDataLayouts.INT, // mark
PatioDataLayouts.INT32, // children offset
PatioDataLayouts.INT32 // children count
@@ -135,7 +135,7 @@ public class ShidToPatioGc {
PatioLocal.param("children_offset", PatioTypes.INT32),
PatioLocal.param("children_count", PatioTypes.INT32)
),
- PatioTypes.DATA_POINTER,
+ PatioTypes.DATA_PTR,
Sources.RUNTIME
);
diff --git a/src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatioNamespaces.java b/src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatioNamespaces.java
index e4db8209..c4fcb5fb 100644
--- a/src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatioNamespaces.java
+++ b/src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatioNamespaces.java
@@ -33,7 +33,7 @@ public class ShidToPatioNamespaces {
context = context.addDataElementMutable(
globalNameNamespaceValue(namespaceName),
- PatioDataValues.dataPointerNull(),
+ PatioDataValues.dataPtrNull(),
source
);
@@ -51,7 +51,7 @@ public class ShidToPatioNamespaces {
initContext -> {
var namespaceValueResult = initContext.allocateVal(
ShidToPatioLocalSpace.NAMESPACE_VALUE,
- PatioTypes.DATA_POINTER
+ PatioTypes.DATA_PTR
);
var namespaceValue = namespaceValueResult.value();
initContext = namespaceValueResult.context();
@@ -67,7 +67,7 @@ public class ShidToPatioNamespaces {
initContext = initContext.addInstruction(new PatioMemoryStore(
globalNameNamespaceValueOperand(namespaceName),
- PatioDataLayouts.DATA_POINTER,
+ PatioDataLayouts.DATA_PTR,
List.of(),
namespaceValue,
source
@@ -143,7 +143,7 @@ public class ShidToPatioNamespaces {
importContext = importContext.addInstruction(new PatioMemoryLoad(
namespaceValuePointer,
globalNameNamespaceValueOperand(namespaceName),
- PatioDataLayouts.DATA_POINTER,
+ PatioDataLayouts.DATA_PTR,
List.of(),
source
));
@@ -210,7 +210,7 @@ public class ShidToPatioNamespaces {
var namespacePointerResult = context.allocateVal(
ShidToPatioLocalSpace.NAMESPACE_POINTER,
namespaceNameToPatioIdentifier(namespaceName),
- PatioTypes.DATA_POINTER
+ PatioTypes.DATA_PTR
);
var namespacePointer = namespacePointerResult.value();
context = namespacePointerResult.context();
@@ -244,7 +244,7 @@ public class ShidToPatioNamespaces {
var namespaceValueResult = context.allocateVal(
ShidToPatioLocalSpace.NAMESPACE_VALUE,
- PatioTypes.DATA_POINTER
+ PatioTypes.DATA_PTR
);
var namespaceValue = namespaceValueResult.value();
context = namespaceValueResult.context();
@@ -252,7 +252,7 @@ public class ShidToPatioNamespaces {
context = context.addInstruction(new PatioMemoryLoad(
namespaceValue,
globalNameNamespaceValueOperand(namespaceName),
- PatioDataLayouts.DATA_POINTER,
+ PatioDataLayouts.DATA_PTR,
List.of(),
source
));
diff --git a/src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatioStructs.java b/src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatioStructs.java
index 356859ec..19f7b6f4 100644
--- a/src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatioStructs.java
+++ b/src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatioStructs.java
@@ -38,7 +38,7 @@ public class ShidToPatioStructs {
bodyContext -> {
var valuePointerResult = bodyContext.allocateVal(
ShidToPatioLocalSpace.STRUCT_VALUE_POINTER,
- PatioTypes.DATA_POINTER
+ PatioTypes.DATA_PTR
);
var valuePointer = valuePointerResult.value();
bodyContext = valuePointerResult.context();
@@ -108,7 +108,7 @@ public class ShidToPatioStructs {
) {
var valuePointerResult = context.allocateVal(
ShidToPatioLocalSpace.STRUCT_VALUE_POINTER,
- PatioTypes.DATA_POINTER
+ PatioTypes.DATA_PTR
);
var valuePointer = valuePointerResult.value();
context = valuePointerResult.context();
@@ -143,7 +143,7 @@ public class ShidToPatioStructs {
) {
var valuePointerResult = context.allocateVal(
ShidToPatioLocalSpace.STRUCT_VALUE_POINTER,
- PatioTypes.DATA_POINTER
+ PatioTypes.DATA_PTR
);
var valuePointer = valuePointerResult.value();
context = valuePointerResult.context();
diff --git a/src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatioTuples.java b/src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatioTuples.java
index a5dacdd2..fa6fac58 100644
--- a/src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatioTuples.java
+++ b/src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatioTuples.java
@@ -40,7 +40,7 @@ public class ShidToPatioTuples {
var tuplePointerResult = context.allocateVal(
ShidToPatioLocalSpace.TUPLE_POINTER,
- PatioTypes.DATA_POINTER
+ PatioTypes.DATA_PTR
);
var tuplePointer = tuplePointerResult.value();
context = tuplePointerResult.context();
@@ -86,7 +86,7 @@ public class ShidToPatioTuples {
) {
var tuplePointerResult = context.allocateVal(
ShidToPatioLocalSpace.TUPLE,
- PatioTypes.DATA_POINTER
+ PatioTypes.DATA_PTR
);
var tuplePointer = tuplePointerResult.value();
context = tuplePointerResult.context();
diff --git a/src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatioVars.java b/src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatioVars.java
index 71fbb6aa..37e30123 100644
--- a/src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatioVars.java
+++ b/src/main/java/org/shedlang/compiler/shidtopatio/ShidToPatioVars.java
@@ -29,7 +29,7 @@ public class ShidToPatioVars {
) {
var patioLocalResult = context.declareShidVal(
shidName,
- PatioTypes.DATA_POINTER
+ PatioTypes.DATA_PTR
);
var patioLocal = patioLocalResult.value();
context = patioLocalResult.context();