diff options
| author | Michael Williamson <mike@zwobble.org> | 2026-07-31 10:50:10 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2026-07-31 10:50:10 +0100 |
| commit | 578bf1f04b48f48225cfa794a27426cca4f6384a (patch) | |
| tree | fc5c2737ffa65e20305f165a593111463a36166d /examples/02-sum/output | |
| parent | 1831d27671abe87bcbea5da40517093c37efb9b7 (diff) | |
Support singleton structs
Diffstat (limited to 'examples/02-sum/output')
| -rw-r--r-- | examples/02-sum/output/java/.gitignore | 2 | ||||
| l--------- | examples/02-sum/output/java/pom.xml | 1 | ||||
| -rw-r--r-- | examples/02-sum/output/java/src/main/java/org/zwobble/example/Shapes.java | 17 | ||||
| -rw-r--r-- | examples/02-sum/output/java/src/test/java/org/zwobble/example/ShapesTests.java | 23 | ||||
| -rw-r--r-- | examples/02-sum/output/rust/.gitignore | 1 | ||||
| -rw-r--r-- | examples/02-sum/output/rust/Cargo.lock | 7 | ||||
| -rw-r--r-- | examples/02-sum/output/rust/Cargo.toml | 6 | ||||
| -rw-r--r-- | examples/02-sum/output/rust/rust-toolchain.toml | 2 | ||||
| -rw-r--r-- | examples/02-sum/output/rust/src/lib.rs | 29 | ||||
| -rw-r--r-- | examples/02-sum/output/rust/src/shapes.rs | 32 |
10 files changed, 0 insertions, 120 deletions
diff --git a/examples/02-sum/output/java/.gitignore b/examples/02-sum/output/java/.gitignore deleted file mode 100644 index ff511d4..0000000 --- a/examples/02-sum/output/java/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/src/gen/ -/target/ diff --git a/examples/02-sum/output/java/pom.xml b/examples/02-sum/output/java/pom.xml deleted file mode 120000 index 445fa65..0000000 --- a/examples/02-sum/output/java/pom.xml +++ /dev/null @@ -1 +0,0 @@ -../../../templates/java-junit/pom.xml
\ No newline at end of file diff --git a/examples/02-sum/output/java/src/main/java/org/zwobble/example/Shapes.java b/examples/02-sum/output/java/src/main/java/org/zwobble/example/Shapes.java deleted file mode 100644 index a6a468f..0000000 --- a/examples/02-sum/output/java/src/main/java/org/zwobble/example/Shapes.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.zwobble.example; - -import org.zwobble.example.types.shapes.Shape; -import org.zwobble.example.types.shapes.Rectangle; -import org.zwobble.example.types.shapes.Triangle; - -public class Shapes { - public static int area(Shape shape) { - return switch (shape) { - case Rectangle(var width, var height) -> - width * height; - - case Triangle(var width, var height) -> - width * height / 2; - }; - } -} diff --git a/examples/02-sum/output/java/src/test/java/org/zwobble/example/ShapesTests.java b/examples/02-sum/output/java/src/test/java/org/zwobble/example/ShapesTests.java deleted file mode 100644 index 893a544..0000000 --- a/examples/02-sum/output/java/src/test/java/org/zwobble/example/ShapesTests.java +++ /dev/null @@ -1,23 +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.Shape; -import org.zwobble.example.types.shapes.Rectangle; -import org.zwobble.example.types.shapes.Triangle; - -public class ShapesTests { - @Test - public void rectangle() { - Shape rectangle = new Rectangle(10, 25); - int area = Shapes.area(rectangle); - assertEquals(area, 250); - } - - @Test - public void triangle() { - Shape triangle = new Triangle(10, 25); - int area = Shapes.area(triangle); - assertEquals(area, 125); - } -} diff --git a/examples/02-sum/output/rust/.gitignore b/examples/02-sum/output/rust/.gitignore deleted file mode 100644 index ea8c4bf..0000000 --- a/examples/02-sum/output/rust/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/target diff --git a/examples/02-sum/output/rust/Cargo.lock b/examples/02-sum/output/rust/Cargo.lock deleted file mode 100644 index 9dc6e3e..0000000 --- a/examples/02-sum/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/02-sum/output/rust/Cargo.toml b/examples/02-sum/output/rust/Cargo.toml deleted file mode 100644 index 5d4c622..0000000 --- a/examples/02-sum/output/rust/Cargo.toml +++ /dev/null @@ -1,6 +0,0 @@ -[package] -name = "example" -version = "0.1.0" -edition = "2024" - -[dependencies] diff --git a/examples/02-sum/output/rust/rust-toolchain.toml b/examples/02-sum/output/rust/rust-toolchain.toml deleted file mode 100644 index 4fedb95..0000000 --- a/examples/02-sum/output/rust/rust-toolchain.toml +++ /dev/null @@ -1,2 +0,0 @@ -[toolchain] -channel = "1.96" diff --git a/examples/02-sum/output/rust/src/lib.rs b/examples/02-sum/output/rust/src/lib.rs deleted file mode 100644 index f961002..0000000 --- a/examples/02-sum/output/rust/src/lib.rs +++ /dev/null @@ -1,29 +0,0 @@ -mod shapes; - -use shapes::{Rectangle, Shape, Triangle}; - -fn area(shape: &Shape) -> i32 { - match shape { - Shape::Rectangle(rectangle) => rectangle.width * rectangle.height, - Shape::Triangle(triangle) => triangle.width * triangle.height / 2, - } -} - -#[cfg(test)] -mod test { - use super::shapes::{Rectangle, Shape, Triangle}; - - #[test] - fn rectangle() { - let rectangle = Shape::Rectangle(Rectangle { width: 10, height: 25 }); - let area = super::area(&rectangle); - assert_eq!(area, 250); - } - - #[test] - fn triangle() { - let triangle = Shape::Triangle(Triangle { width: 10, height: 25 }); - let area = super::area(&triangle); - assert_eq!(area, 125); - } -} diff --git a/examples/02-sum/output/rust/src/shapes.rs b/examples/02-sum/output/rust/src/shapes.rs deleted file mode 100644 index a0a9b7f..0000000 --- a/examples/02-sum/output/rust/src/shapes.rs +++ /dev/null @@ -1,32 +0,0 @@ -// Generated by hobgoblin. - -/// A 2D shape. -#[derive(Debug, Hash, PartialEq)] -pub enum Shape { - Rectangle(crate::shapes::Rectangle), - Triangle(crate::shapes::Triangle), -} - -impl ::std::convert::From::<crate::shapes::Rectangle> for crate::shapes::Shape { - fn from(value: crate::shapes::Rectangle) -> Self { - Self::Rectangle(value) - } -} - -impl ::std::convert::From::<crate::shapes::Triangle> for crate::shapes::Shape { - fn from(value: crate::shapes::Triangle) -> Self { - Self::Triangle(value) - } -} - -#[derive(Debug, Hash, PartialEq)] -pub struct Rectangle { - pub width: ::core::primitive::i32, - pub height: ::core::primitive::i32, -} - -#[derive(Debug, Hash, PartialEq)] -pub struct Triangle { - pub width: ::core::primitive::i32, - pub height: ::core::primitive::i32, -} |
