From 578bf1f04b48f48225cfa794a27426cca4f6384a Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Fri, 31 Jul 2026 10:50:10 +0100 Subject: Support singleton structs --- examples/09-custom-code/output/java/.gitignore | 2 -- examples/09-custom-code/output/java/pom.xml | 1 - .../org/zwobble/example/types/shapes/Square.java | 37 ---------------------- .../test/java/org/zwobble/example/ShapesTests.java | 13 -------- examples/09-custom-code/output/rust/.gitignore | 1 - examples/09-custom-code/output/rust/Cargo.lock | 7 ---- examples/09-custom-code/output/rust/Cargo.toml | 6 ---- .../09-custom-code/output/rust/rust-toolchain.toml | 2 -- .../09-custom-code/output/rust/src/gen/shapes.rs | 6 ---- examples/09-custom-code/output/rust/src/lib.rs | 12 ------- examples/09-custom-code/output/rust/src/shapes.rs | 7 ---- 11 files changed, 94 deletions(-) delete mode 100644 examples/09-custom-code/output/java/.gitignore delete mode 120000 examples/09-custom-code/output/java/pom.xml delete mode 100644 examples/09-custom-code/output/java/src/main/java/org/zwobble/example/types/shapes/Square.java delete mode 100644 examples/09-custom-code/output/java/src/test/java/org/zwobble/example/ShapesTests.java delete mode 100644 examples/09-custom-code/output/rust/.gitignore delete mode 100644 examples/09-custom-code/output/rust/Cargo.lock delete mode 100644 examples/09-custom-code/output/rust/Cargo.toml delete mode 100644 examples/09-custom-code/output/rust/rust-toolchain.toml delete mode 100644 examples/09-custom-code/output/rust/src/gen/shapes.rs delete mode 100644 examples/09-custom-code/output/rust/src/lib.rs delete mode 100644 examples/09-custom-code/output/rust/src/shapes.rs (limited to 'examples/09-custom-code/output') diff --git a/examples/09-custom-code/output/java/.gitignore b/examples/09-custom-code/output/java/.gitignore deleted file mode 100644 index ff511d4..0000000 --- a/examples/09-custom-code/output/java/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/src/gen/ -/target/ diff --git a/examples/09-custom-code/output/java/pom.xml b/examples/09-custom-code/output/java/pom.xml deleted file mode 120000 index 445fa65..0000000 --- a/examples/09-custom-code/output/java/pom.xml +++ /dev/null @@ -1 +0,0 @@ -../../../templates/java-junit/pom.xml \ No newline at end of file diff --git a/examples/09-custom-code/output/java/src/main/java/org/zwobble/example/types/shapes/Square.java b/examples/09-custom-code/output/java/src/main/java/org/zwobble/example/types/shapes/Square.java deleted file mode 100644 index 69a1ab1..0000000 --- a/examples/09-custom-code/output/java/src/main/java/org/zwobble/example/types/shapes/Square.java +++ /dev/null @@ -1,37 +0,0 @@ -// Generated by hobgoblin. - -package org.zwobble.example.types.shapes; - -// Custom area start: org.zwobble.example.types.shapes.Square imports -// Custom area end: org.zwobble.example.types.shapes.Square imports - -public record Square( - int width -) { - public static org.zwobble.example.types.shapes.Square.Builder arbitrary() { - return new org.zwobble.example.types.shapes.Square.Builder(0); - } - - public record Builder( - int width - ) { - public org.zwobble.example.types.shapes.Square build() { - return new org.zwobble.example.types.shapes.Square(width); - } - - public org.zwobble.example.types.shapes.Square.Builder withWidth(int width) { - return new org.zwobble.example.types.shapes.Square.Builder(width); - } - - // Custom area start: org.zwobble.example.types.shapes.Square.Builder body - // Custom area end: org.zwobble.example.types.shapes.Square.Builder body - } - - // Custom area start: org.zwobble.example.types.shapes.Square body - - public int area() { - return this.width * this.width; - } - - // Custom area end: org.zwobble.example.types.shapes.Square body -} diff --git a/examples/09-custom-code/output/java/src/test/java/org/zwobble/example/ShapesTests.java b/examples/09-custom-code/output/java/src/test/java/org/zwobble/example/ShapesTests.java deleted file mode 100644 index fba8e6c..0000000 --- a/examples/09-custom-code/output/java/src/test/java/org/zwobble/example/ShapesTests.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.zwobble.example; - -import static org.junit.jupiter.api.Assertions.assertEquals; -import org.junit.jupiter.api.Test; -import org.zwobble.example.types.shapes.Square; - -public class ShapesTests { - @Test - public void canUseCustomCode() { - Square square = new Square(10); - assertEquals(square.area(), 100); - } -} diff --git a/examples/09-custom-code/output/rust/.gitignore b/examples/09-custom-code/output/rust/.gitignore deleted file mode 100644 index ea8c4bf..0000000 --- a/examples/09-custom-code/output/rust/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/target diff --git a/examples/09-custom-code/output/rust/Cargo.lock b/examples/09-custom-code/output/rust/Cargo.lock deleted file mode 100644 index 9dc6e3e..0000000 --- a/examples/09-custom-code/output/rust/Cargo.lock +++ /dev/null @@ -1,7 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 4 - -[[package]] -name = "example" -version = "0.1.0" diff --git a/examples/09-custom-code/output/rust/Cargo.toml b/examples/09-custom-code/output/rust/Cargo.toml deleted file mode 100644 index 5d4c622..0000000 --- a/examples/09-custom-code/output/rust/Cargo.toml +++ /dev/null @@ -1,6 +0,0 @@ -[package] -name = "example" -version = "0.1.0" -edition = "2024" - -[dependencies] diff --git a/examples/09-custom-code/output/rust/rust-toolchain.toml b/examples/09-custom-code/output/rust/rust-toolchain.toml deleted file mode 100644 index 4fedb95..0000000 --- a/examples/09-custom-code/output/rust/rust-toolchain.toml +++ /dev/null @@ -1,2 +0,0 @@ -[toolchain] -channel = "1.96" diff --git a/examples/09-custom-code/output/rust/src/gen/shapes.rs b/examples/09-custom-code/output/rust/src/gen/shapes.rs deleted file mode 100644 index 815db2a..0000000 --- a/examples/09-custom-code/output/rust/src/gen/shapes.rs +++ /dev/null @@ -1,6 +0,0 @@ -// Generated by hobgoblin. - -#[derive(Debug, Hash, PartialEq)] -pub struct Square { - pub width: ::core::primitive::i32, -} diff --git a/examples/09-custom-code/output/rust/src/lib.rs b/examples/09-custom-code/output/rust/src/lib.rs deleted file mode 100644 index 1825d72..0000000 --- a/examples/09-custom-code/output/rust/src/lib.rs +++ /dev/null @@ -1,12 +0,0 @@ -mod shapes; - -#[cfg(test)] -mod test { - use super::shapes::Square; - - #[test] - fn can_use_custom_code() { - let square = Square { width: 10 }; - assert_eq!(square.area(), 100); - } -} diff --git a/examples/09-custom-code/output/rust/src/shapes.rs b/examples/09-custom-code/output/rust/src/shapes.rs deleted file mode 100644 index f806bbb..0000000 --- a/examples/09-custom-code/output/rust/src/shapes.rs +++ /dev/null @@ -1,7 +0,0 @@ -include!("gen/shapes.rs"); - -impl Square { - pub fn area(&self) -> i32 { - self.width * self.width - } -} -- cgit v1.2.3