aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-07-21 16:31:47 +0100
committerMichael Williamson <mike@zwobble.org>2023-07-21 16:31:47 +0100
commit802b7f3ba61b0c031206ef8b6db50eaa1c763e8f (patch)
treecbe47cbe72cfa50f09a1b9111630b96fe935b728 /src/main/java
parent0d57c3b1aad4137a6c96db0b9f71dfb04038def1 (diff)
Rename data layout classes to have PatioDataLayout prefix
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/backends/wasm/WasmPatioCodeGen.java14
-rw-r--r--src/main/java/org/shedlang/compiler/patio/PatioCodeGenClosures.java2
-rw-r--r--src/main/java/org/shedlang/compiler/patio/ast/PatioSerializer.java4
-rw-r--r--src/main/java/org/shedlang/compiler/patio/ast/types/PatioDataLayout.java2
-rw-r--r--src/main/java/org/shedlang/compiler/patio/ast/types/PatioDataLayoutScalar.java4
-rw-r--r--src/main/java/org/shedlang/compiler/patio/ast/types/PatioDataLayoutStruct.java (renamed from src/main/java/org/shedlang/compiler/patio/ast/types/PatioStruct.java)2
-rw-r--r--src/main/java/org/shedlang/compiler/patio/ast/types/PatioDataLayouts.java6
-rw-r--r--src/main/java/org/shedlang/compiler/patio/ast/types/PatioScalar.java4
8 files changed, 19 insertions, 19 deletions
diff --git a/src/main/java/org/shedlang/compiler/backends/wasm/WasmPatioCodeGen.java b/src/main/java/org/shedlang/compiler/backends/wasm/WasmPatioCodeGen.java
index 78fa39ba..d9d65f11 100644
--- a/src/main/java/org/shedlang/compiler/backends/wasm/WasmPatioCodeGen.java
+++ b/src/main/java/org/shedlang/compiler/backends/wasm/WasmPatioCodeGen.java
@@ -245,14 +245,14 @@ public class WasmPatioCodeGen {
for (var patioOffset : patioOffsets) {
switch (patioDataLayout) {
- case PatioScalar patioScalar -> {
+ case PatioDataLayoutScalar patioDataLayoutScalar -> {
throw new RuntimeException("offset not allowed for scalars");
}
- case PatioStruct patioStruct -> {
+ case PatioDataLayoutStruct patioDataLayoutStruct -> {
for (var i = 0; i < patioOffset; i++) {
- wasmOffset += sizeOf(patioStruct.elements().get(i));
+ wasmOffset += sizeOf(patioDataLayoutStruct.elements().get(i));
}
- patioDataLayout = patioStruct.elements().get(patioOffset);
+ patioDataLayout = patioDataLayoutStruct.elements().get(patioOffset);
}
}
}
@@ -291,11 +291,11 @@ public class WasmPatioCodeGen {
private static int sizeOf(PatioDataLayout layout) {
return switch (layout) {
- case PatioScalar patioScalar ->
+ case PatioDataLayoutScalar patioDataLayoutScalar ->
4;
- case PatioStruct patioStruct ->
- patioStruct.elements().stream()
+ case PatioDataLayoutStruct patioDataLayoutStruct ->
+ patioDataLayoutStruct.elements().stream()
.map(element -> sizeOf(element))
.reduce(0, Integer::sum);
};
diff --git a/src/main/java/org/shedlang/compiler/patio/PatioCodeGenClosures.java b/src/main/java/org/shedlang/compiler/patio/PatioCodeGenClosures.java
index 9d7f8729..8c2fa128 100644
--- a/src/main/java/org/shedlang/compiler/patio/PatioCodeGenClosures.java
+++ b/src/main/java/org/shedlang/compiler/patio/PatioCodeGenClosures.java
@@ -27,7 +27,7 @@ class PatioCodeGenClosures {
private static final List<Integer> FUNCTION_POINTER_OFFSET = List.of(0);
private static PatioDataLayout closureDataLayoutForCall() {
- return new PatioStruct(List.of(
+ return new PatioDataLayoutStruct(List.of(
PatioDataLayouts.scalar(PatioTypes.FUNCTION_POINTER)
));
}
diff --git a/src/main/java/org/shedlang/compiler/patio/ast/PatioSerializer.java b/src/main/java/org/shedlang/compiler/patio/ast/PatioSerializer.java
index e5245d0a..5a075ab6 100644
--- a/src/main/java/org/shedlang/compiler/patio/ast/PatioSerializer.java
+++ b/src/main/java/org/shedlang/compiler/patio/ast/PatioSerializer.java
@@ -277,10 +277,10 @@ public class PatioSerializer {
private static Tree dataLayoutToTree(PatioDataLayout layout) {
return switch (layout) {
- case PatioScalar scalar ->
+ case PatioDataLayoutScalar scalar ->
typeToTree(scalar.type());
- case PatioStruct struct ->
+ case PatioDataLayoutStruct struct ->
treeList(
treeIdentifier("struct"),
treeList(
diff --git a/src/main/java/org/shedlang/compiler/patio/ast/types/PatioDataLayout.java b/src/main/java/org/shedlang/compiler/patio/ast/types/PatioDataLayout.java
index 8a33a5e5..19688bcb 100644
--- a/src/main/java/org/shedlang/compiler/patio/ast/types/PatioDataLayout.java
+++ b/src/main/java/org/shedlang/compiler/patio/ast/types/PatioDataLayout.java
@@ -1,4 +1,4 @@
package org.shedlang.compiler.patio.ast.types;
-public sealed interface PatioDataLayout permits PatioScalar, PatioStruct {
+public sealed interface PatioDataLayout permits PatioDataLayoutScalar, PatioDataLayoutStruct {
}
diff --git a/src/main/java/org/shedlang/compiler/patio/ast/types/PatioDataLayoutScalar.java b/src/main/java/org/shedlang/compiler/patio/ast/types/PatioDataLayoutScalar.java
new file mode 100644
index 00000000..592d95f2
--- /dev/null
+++ b/src/main/java/org/shedlang/compiler/patio/ast/types/PatioDataLayoutScalar.java
@@ -0,0 +1,4 @@
+package org.shedlang.compiler.patio.ast.types;
+
+public record PatioDataLayoutScalar(PatioType type) implements PatioDataLayout {
+}
diff --git a/src/main/java/org/shedlang/compiler/patio/ast/types/PatioStruct.java b/src/main/java/org/shedlang/compiler/patio/ast/types/PatioDataLayoutStruct.java
index 99499738..6834f660 100644
--- a/src/main/java/org/shedlang/compiler/patio/ast/types/PatioStruct.java
+++ b/src/main/java/org/shedlang/compiler/patio/ast/types/PatioDataLayoutStruct.java
@@ -2,7 +2,7 @@ package org.shedlang.compiler.patio.ast.types;
import java.util.List;
-public record PatioStruct(
+public record PatioDataLayoutStruct(
List<PatioDataLayout> elements
) implements PatioDataLayout {
}
diff --git a/src/main/java/org/shedlang/compiler/patio/ast/types/PatioDataLayouts.java b/src/main/java/org/shedlang/compiler/patio/ast/types/PatioDataLayouts.java
index b2a83f7a..eccae15b 100644
--- a/src/main/java/org/shedlang/compiler/patio/ast/types/PatioDataLayouts.java
+++ b/src/main/java/org/shedlang/compiler/patio/ast/types/PatioDataLayouts.java
@@ -7,11 +7,11 @@ public class PatioDataLayouts {
}
public static PatioDataLayout scalar(PatioType type) {
- return new PatioScalar(type);
+ return new PatioDataLayoutScalar(type);
}
public static PatioDataLayout structFlat(List<PatioType> elements) {
- return new PatioStruct(
+ return new PatioDataLayoutStruct(
elements.stream()
.map(element -> scalar(element))
.toList()
@@ -19,6 +19,6 @@ public class PatioDataLayouts {
}
public static PatioDataLayout struct(List<PatioDataLayout> elements) {
- return new PatioStruct(elements);
+ return new PatioDataLayoutStruct(elements);
}
}
diff --git a/src/main/java/org/shedlang/compiler/patio/ast/types/PatioScalar.java b/src/main/java/org/shedlang/compiler/patio/ast/types/PatioScalar.java
deleted file mode 100644
index c301ab24..00000000
--- a/src/main/java/org/shedlang/compiler/patio/ast/types/PatioScalar.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package org.shedlang.compiler.patio.ast.types;
-
-public record PatioScalar(PatioType type) implements PatioDataLayout {
-}