summaryrefslogtreecommitdiff
path: root/examples/05-native-type
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-07-02 16:32:26 +0100
committerMichael Williamson <mike@zwobble.org>2026-07-02 16:37:31 +0100
commit94d481c940fb36da896e2e80a62f39d849477f53 (patch)
tree1df183249ec0cffe9c02f6a145dbb11bfef05a91 /examples/05-native-type
parent6fe5f16e1b261dcc34f83ca9c6d6049d3591976b (diff)
Add inductive data types example
Diffstat (limited to 'examples/05-native-type')
-rw-r--r--examples/05-native-type/hobgoblin.json519
-rw-r--r--examples/05-native-type/output/java/.gitignore2
-rw-r--r--examples/05-native-type/output/java/pom.xml39
-rw-r--r--examples/05-native-type/output/java/src/main/java/org/zwobble/example/Main.java10
-rw-r--r--examples/05-native-type/output/java/src/main/java/org/zwobble/example/types/point/HobgoblinNativePoint.java7
-rw-r--r--examples/05-native-type/output/java/src/main/java/org/zwobble/example/types/point/Point.java4
-rw-r--r--examples/05-native-type/output/rust/.gitignore1
-rw-r--r--examples/05-native-type/output/rust/Cargo.lock7
-rw-r--r--examples/05-native-type/output/rust/Cargo.toml6
-rw-r--r--examples/05-native-type/output/rust/rust-toolchain.toml2
-rw-r--r--examples/05-native-type/output/rust/src/gen/point.rs7
-rw-r--r--examples/05-native-type/output/rust/src/main.rs7
-rw-r--r--examples/05-native-type/output/rust/src/point.rs3
-rw-r--r--examples/05-native-type/src/point.hob8
14 files changed, 0 insertions, 122 deletions
diff --git a/examples/05-native-type/hobgoblin.json5 b/examples/05-native-type/hobgoblin.json5
deleted file mode 100644
index a0f60c3..0000000
--- a/examples/05-native-type/hobgoblin.json5
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- outputs: {
- langs: {
- java: {
- packageName: "org.zwobble.example.types",
- },
- },
- generators: [
- {
- generator: "java-types",
- path: "output/java/src/gen/java",
- },
- {
- generator: "rust-types",
- path: "output/rust/src/gen",
- },
- ],
- },
-}
diff --git a/examples/05-native-type/output/java/.gitignore b/examples/05-native-type/output/java/.gitignore
deleted file mode 100644
index ff511d4..0000000
--- a/examples/05-native-type/output/java/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-/src/gen/
-/target/
diff --git a/examples/05-native-type/output/java/pom.xml b/examples/05-native-type/output/java/pom.xml
deleted file mode 100644
index 7493667..0000000
--- a/examples/05-native-type/output/java/pom.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <groupId>org.zwobble.hobgoblin.examples</groupId>
- <artifactId>example</artifactId>
- <version>1.0-SNAPSHOT</version>
-
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <maven.compiler.source>25</maven.compiler.source>
- <maven.compiler.target>25</maven.compiler.target>
- </properties>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <version>3.6.1</version>
- <executions>
- <execution>
- <id>add-source</id>
- <phase>generate-sources</phase>
- <goals>
- <goal>add-source</goal>
- </goals>
- <configuration>
- <sources>
- <source>src/gen/java</source>
- </sources>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/examples/05-native-type/output/java/src/main/java/org/zwobble/example/Main.java b/examples/05-native-type/output/java/src/main/java/org/zwobble/example/Main.java
deleted file mode 100644
index b2efcc1..0000000
--- a/examples/05-native-type/output/java/src/main/java/org/zwobble/example/Main.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package org.zwobble.example;
-
-import org.zwobble.example.types.point.Line;
-import org.zwobble.example.types.point.Point;
-
-public class Main {
- public static void main() {
- Line line = new Line(new Point(10, 25), new Point(25, 10));
- }
-}
diff --git a/examples/05-native-type/output/java/src/main/java/org/zwobble/example/types/point/HobgoblinNativePoint.java b/examples/05-native-type/output/java/src/main/java/org/zwobble/example/types/point/HobgoblinNativePoint.java
deleted file mode 100644
index bdb5427..0000000
--- a/examples/05-native-type/output/java/src/main/java/org/zwobble/example/types/point/HobgoblinNativePoint.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package org.zwobble.example.types.point;
-
-public class HobgoblinNativePoint {
- public static Point arbitraryPoint() {
- return new Point(0, 0);
- }
-}
diff --git a/examples/05-native-type/output/java/src/main/java/org/zwobble/example/types/point/Point.java b/examples/05-native-type/output/java/src/main/java/org/zwobble/example/types/point/Point.java
deleted file mode 100644
index cd26290..0000000
--- a/examples/05-native-type/output/java/src/main/java/org/zwobble/example/types/point/Point.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package org.zwobble.example.types.point;
-
-public record Point(int x, int y) {
-}
diff --git a/examples/05-native-type/output/rust/.gitignore b/examples/05-native-type/output/rust/.gitignore
deleted file mode 100644
index ea8c4bf..0000000
--- a/examples/05-native-type/output/rust/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/target
diff --git a/examples/05-native-type/output/rust/Cargo.lock b/examples/05-native-type/output/rust/Cargo.lock
deleted file mode 100644
index 9dc6e3e..0000000
--- a/examples/05-native-type/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/05-native-type/output/rust/Cargo.toml b/examples/05-native-type/output/rust/Cargo.toml
deleted file mode 100644
index 5d4c622..0000000
--- a/examples/05-native-type/output/rust/Cargo.toml
+++ /dev/null
@@ -1,6 +0,0 @@
-[package]
-name = "example"
-version = "0.1.0"
-edition = "2024"
-
-[dependencies]
diff --git a/examples/05-native-type/output/rust/rust-toolchain.toml b/examples/05-native-type/output/rust/rust-toolchain.toml
deleted file mode 100644
index 4fedb95..0000000
--- a/examples/05-native-type/output/rust/rust-toolchain.toml
+++ /dev/null
@@ -1,2 +0,0 @@
-[toolchain]
-channel = "1.96"
diff --git a/examples/05-native-type/output/rust/src/gen/point.rs b/examples/05-native-type/output/rust/src/gen/point.rs
deleted file mode 100644
index 01c9d43..0000000
--- a/examples/05-native-type/output/rust/src/gen/point.rs
+++ /dev/null
@@ -1,7 +0,0 @@
-// Generated by hobgoblin.
-
-/// A straight line from one point to another.
-pub struct Line {
- pub start: crate::point::Point,
- pub end: crate::point::Point,
-}
diff --git a/examples/05-native-type/output/rust/src/main.rs b/examples/05-native-type/output/rust/src/main.rs
deleted file mode 100644
index 4bd1cd0..0000000
--- a/examples/05-native-type/output/rust/src/main.rs
+++ /dev/null
@@ -1,7 +0,0 @@
-mod point;
-
-use point::{Line, Point};
-
-fn main() {
- let line = Line { start: Point(10, 25), end: Point(25, 10) };
-}
diff --git a/examples/05-native-type/output/rust/src/point.rs b/examples/05-native-type/output/rust/src/point.rs
deleted file mode 100644
index bc04e56..0000000
--- a/examples/05-native-type/output/rust/src/point.rs
+++ /dev/null
@@ -1,3 +0,0 @@
-include!("gen/point.rs");
-
-pub struct Point(pub i32, pub i32);
diff --git a/examples/05-native-type/src/point.hob b/examples/05-native-type/src/point.hob
deleted file mode 100644
index 7178dcb..0000000
--- a/examples/05-native-type/src/point.hob
+++ /dev/null
@@ -1,8 +0,0 @@
-native Point {
-}
-
-/// A straight line from one point to another.
-struct Line {
- field start: Point;
- field end: Point;
-}