summaryrefslogtreecommitdiff
path: root/examples/02-sum/output/java/src/main
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-05-02 09:33:20 +0100
committerMichael Williamson <mike@zwobble.org>2026-05-02 09:33:20 +0100
commit5d76fa1b86ff1bd15b9c6b546916bc03c9d9b9b4 (patch)
treec217496a632957cdeea37de3dd7106be2458c385 /examples/02-sum/output/java/src/main
parent3e1e789ab04226af17f58635be6367e69d9b655b (diff)
Add example for sum types
Diffstat (limited to 'examples/02-sum/output/java/src/main')
-rw-r--r--examples/02-sum/output/java/src/main/java/org/zwobble/example/Main.java22
1 files changed, 22 insertions, 0 deletions
diff --git a/examples/02-sum/output/java/src/main/java/org/zwobble/example/Main.java b/examples/02-sum/output/java/src/main/java/org/zwobble/example/Main.java
new file mode 100644
index 0000000..41522e6
--- /dev/null
+++ b/examples/02-sum/output/java/src/main/java/org/zwobble/example/Main.java
@@ -0,0 +1,22 @@
+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 Main {
+ public static void main() {
+ Shape shape = createShape();
+ var area = switch (shape) {
+ case Rectangle(var width, var height) ->
+ width * height;
+
+ case Triangle(var width, var height) ->
+ width * height / 2;
+ };
+ }
+
+ private static Shape createShape() {
+ return new Rectangle(10, 25);
+ }
+}