From 802b7f3ba61b0c031206ef8b6db50eaa1c763e8f Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Fri, 21 Jul 2023 16:31:47 +0100 Subject: Rename data layout classes to have PatioDataLayout prefix --- .../shedlang/compiler/backends/wasm/WasmPatioCodeGen.java | 14 +++++++------- .../org/shedlang/compiler/patio/PatioCodeGenClosures.java | 2 +- .../org/shedlang/compiler/patio/ast/PatioSerializer.java | 4 ++-- .../shedlang/compiler/patio/ast/types/PatioDataLayout.java | 2 +- .../compiler/patio/ast/types/PatioDataLayoutScalar.java | 4 ++++ .../compiler/patio/ast/types/PatioDataLayoutStruct.java | 8 ++++++++ .../compiler/patio/ast/types/PatioDataLayouts.java | 6 +++--- .../org/shedlang/compiler/patio/ast/types/PatioScalar.java | 4 ---- .../org/shedlang/compiler/patio/ast/types/PatioStruct.java | 8 -------- 9 files changed, 26 insertions(+), 26 deletions(-) create mode 100644 src/main/java/org/shedlang/compiler/patio/ast/types/PatioDataLayoutScalar.java create mode 100644 src/main/java/org/shedlang/compiler/patio/ast/types/PatioDataLayoutStruct.java delete mode 100644 src/main/java/org/shedlang/compiler/patio/ast/types/PatioScalar.java delete mode 100644 src/main/java/org/shedlang/compiler/patio/ast/types/PatioStruct.java (limited to 'src/main/java') 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 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/PatioDataLayoutStruct.java b/src/main/java/org/shedlang/compiler/patio/ast/types/PatioDataLayoutStruct.java new file mode 100644 index 00000000..6834f660 --- /dev/null +++ b/src/main/java/org/shedlang/compiler/patio/ast/types/PatioDataLayoutStruct.java @@ -0,0 +1,8 @@ +package org.shedlang.compiler.patio.ast.types; + +import java.util.List; + +public record PatioDataLayoutStruct( + List 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 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 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 { -} diff --git a/src/main/java/org/shedlang/compiler/patio/ast/types/PatioStruct.java b/src/main/java/org/shedlang/compiler/patio/ast/types/PatioStruct.java deleted file mode 100644 index 99499738..00000000 --- a/src/main/java/org/shedlang/compiler/patio/ast/types/PatioStruct.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.shedlang.compiler.patio.ast.types; - -import java.util.List; - -public record PatioStruct( - List elements -) implements PatioDataLayout { -} -- cgit v1.2.3