diff options
Diffstat (limited to 'src')
3 files changed, 9 insertions, 6 deletions
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 16384a4..1ec1ca0 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 @@ -1,7 +1,6 @@ package org.zwobble.hobgoblin.compiler.output.lang.rust; import org.zwobble.hobgoblin.compiler.output.CodeWriter; -import org.zwobble.hobgoblin.compiler.output.lang.java.JavaWriter; import org.zwobble.hobgoblin.compiler.output.lang.rust.ast.*; import java.io.IOException; @@ -71,6 +70,7 @@ public class RustWriter implements AutoCloseable { for (var field : structStruct.fields()) { this.writer.newLine(); + this.writer.write("pub "); this.writeIdentifier(field.name()); this.writer.write(": "); this.writeType(field.type()); diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/ExampleTests.java b/src/test/java/org/zwobble/hobgoblin/compiler/ExampleTests.java index 55944f7..82a6ef3 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/ExampleTests.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/ExampleTests.java @@ -27,12 +27,17 @@ public class ExampleTests { HobgoblinCompiler.compile(exampleSet.path()); verifyJavaOutput(exampleSet); + verifyRustOutput(exampleSet); } private void verifyJavaOutput(ExampleSet exampleSet) throws NoSuchAlgorithmException, IOException, InterruptedException { verifyOutput(exampleSet, "java", List.of("mvn", "compile")); } + private void verifyRustOutput(ExampleSet exampleSet) throws NoSuchAlgorithmException, IOException, InterruptedException { + verifyOutput(exampleSet, "rust", List.of("cargo", "build")); + } + private void verifyOutput( ExampleSet exampleSet, String name, 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 bc6f55e..8062fb9 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 @@ -2,8 +2,6 @@ package org.zwobble.hobgoblin.compiler.output.lang.rust; import org.junit.jupiter.api.Test; import org.zwobble.hobgoblin.compiler.output.CodeWriter; -import org.zwobble.hobgoblin.compiler.output.lang.java.JavaWriter; -import org.zwobble.hobgoblin.compiler.output.lang.java.JavaWriterTests; import org.zwobble.hobgoblin.compiler.output.lang.rust.ast.*; import java.io.IOException; @@ -54,7 +52,7 @@ public class RustWriterTests { } @Test - public void emptyStructWithFields() throws IOException { + public void structWithFields() throws IOException { var rust = new RustStructStruct( new RustIdentifier("Rectangle"), List.of( @@ -67,8 +65,8 @@ public class RustWriterTests { assertThat(string, equalTo(""" pub struct Rectangle { - width: i32, - height: i32, + pub width: i32, + pub height: i32, }""")); } |
