summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-07-02 11:07:28 +0100
committerMichael Williamson <mike@zwobble.org>2026-07-02 11:07:28 +0100
commit09dd58c172d70411e880450c8961a28dd127f76f (patch)
treec8fbfcf6c78a25205c04ff4ea33e1f9d83de842e
parentfe0b53ce5b3577284f9020832c0f4bd3c0c2f58d (diff)
Add generation header to generated Rust files
-rw-r--r--examples/01-struct/output/rust/src/point.rs2
-rw-r--r--examples/02-sum/output/rust/src/shapes.rs2
-rw-r--r--examples/03-list/output/rust/src/point.rs2
-rw-r--r--examples/04-native-type/output/rust/src/gen/point.rs2
-rw-r--r--examples/07-imports/output/rust/src/line.rs2
-rw-r--r--examples/07-imports/output/rust/src/point.rs2
-rw-r--r--examples/08-enum/output/rust/src/numbers.rs2
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/RustWriter.java2
-rw-r--r--src/test/java/org/zwobble/hobgoblin/compiler/output/lang/rust/RustWriterTests.java2
9 files changed, 18 insertions, 0 deletions
diff --git a/examples/01-struct/output/rust/src/point.rs b/examples/01-struct/output/rust/src/point.rs
index 467b8a8..19ed5c8 100644
--- a/examples/01-struct/output/rust/src/point.rs
+++ b/examples/01-struct/output/rust/src/point.rs
@@ -1,3 +1,5 @@
+// Generated by hobgoblin.
+
/// A straight line from one point to another.
pub struct Line {
pub start: crate::point::Point,
diff --git a/examples/02-sum/output/rust/src/shapes.rs b/examples/02-sum/output/rust/src/shapes.rs
index 9bb32f4..586c7c0 100644
--- a/examples/02-sum/output/rust/src/shapes.rs
+++ b/examples/02-sum/output/rust/src/shapes.rs
@@ -1,3 +1,5 @@
+// Generated by hobgoblin.
+
/// A 2D shape.
pub enum Shape {
Rectangle(crate::shapes::Rectangle),
diff --git a/examples/03-list/output/rust/src/point.rs b/examples/03-list/output/rust/src/point.rs
index 837233a..6249c0a 100644
--- a/examples/03-list/output/rust/src/point.rs
+++ b/examples/03-list/output/rust/src/point.rs
@@ -1,3 +1,5 @@
+// Generated by hobgoblin.
+
pub struct Path {
pub points: std::vec::Vec<crate::point::Point>,
}
diff --git a/examples/04-native-type/output/rust/src/gen/point.rs b/examples/04-native-type/output/rust/src/gen/point.rs
index c2940f5..01c9d43 100644
--- a/examples/04-native-type/output/rust/src/gen/point.rs
+++ b/examples/04-native-type/output/rust/src/gen/point.rs
@@ -1,3 +1,5 @@
+// Generated by hobgoblin.
+
/// A straight line from one point to another.
pub struct Line {
pub start: crate::point::Point,
diff --git a/examples/07-imports/output/rust/src/line.rs b/examples/07-imports/output/rust/src/line.rs
index c2940f5..01c9d43 100644
--- a/examples/07-imports/output/rust/src/line.rs
+++ b/examples/07-imports/output/rust/src/line.rs
@@ -1,3 +1,5 @@
+// Generated by hobgoblin.
+
/// A straight line from one point to another.
pub struct Line {
pub start: crate::point::Point,
diff --git a/examples/07-imports/output/rust/src/point.rs b/examples/07-imports/output/rust/src/point.rs
index 5fb5592..718ecfd 100644
--- a/examples/07-imports/output/rust/src/point.rs
+++ b/examples/07-imports/output/rust/src/point.rs
@@ -1,3 +1,5 @@
+// Generated by hobgoblin.
+
/// A 2D point.
pub struct Point {
pub x: i32,
diff --git a/examples/08-enum/output/rust/src/numbers.rs b/examples/08-enum/output/rust/src/numbers.rs
index b71f573..e86b453 100644
--- a/examples/08-enum/output/rust/src/numbers.rs
+++ b/examples/08-enum/output/rust/src/numbers.rs
@@ -1,3 +1,5 @@
+// Generated by hobgoblin.
+
/// A small number.
pub enum SmallNumber {
Zero,
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/RustWriter.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/RustWriter.java
index 602fd2a..59b792c 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/RustWriter.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/RustWriter.java
@@ -40,6 +40,8 @@ public class RustWriter implements AutoCloseable {
// == Modules ==
public void writeModule(RustModule module) throws IOException {
+ this.writer.writeHeader();
+
writeWithSeparator(
module.items(),
this::writeItem,
diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/rust/RustWriterTests.java b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/rust/RustWriterTests.java
index 8b9bbe3..b5583ab 100644
--- a/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/rust/RustWriterTests.java
+++ b/src/test/java/org/zwobble/hobgoblin/compiler/output/lang/rust/RustWriterTests.java
@@ -26,6 +26,8 @@ public class RustWriterTests {
var string = write(writer -> writer.writeModule(rust));
assertThat(string, equalTo("""
+ // Generated by hobgoblin.
+
pub struct Rectangle {
}