diff options
| author | Michael Williamson <mike@zwobble.org> | 2026-07-14 19:07:06 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2026-07-14 19:07:06 +0100 |
| commit | f8cbdc16c4bdb4ee82a34cba92e1168700d3e005 (patch) | |
| tree | 486b801e1f0068c71752e57bbfd23cbd9f0a4f1f /src/main/java/org | |
| parent | 93453d01e6331f86765e6dd0eda487016172f6d5 (diff) | |
Add stubbed rust-transient-0 generator
Diffstat (limited to 'src/main/java/org')
2 files changed, 49 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/config/ProjectConfig.java b/src/main/java/org/zwobble/hobgoblin/compiler/config/ProjectConfig.java index 8a2ab9e..04d9cdd 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/config/ProjectConfig.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/config/ProjectConfig.java @@ -5,6 +5,7 @@ import org.zwobble.hobgoblin.compiler.output.generators.errors.UnknownGeneratorE import org.zwobble.hobgoblin.compiler.output.generators.javapreciselymatchers.JavaPreciselyMatchersGenerator; import org.zwobble.hobgoblin.compiler.output.generators.javatransient0.JavaTransient0Generator; import org.zwobble.hobgoblin.compiler.output.generators.javatypes.JavaTypesGenerator; +import org.zwobble.hobgoblin.compiler.output.generators.rusttransient0.RustTransient0Generator; import org.zwobble.hobgoblin.compiler.output.generators.rusttypes.RustTypesGenerator; import org.zwobble.hobgoblin.compiler.sources.FileFragmentSource; import org.zwobble.json5.reader.Json5ObjectReader; @@ -52,6 +53,9 @@ public record ProjectConfig( case RustTypesGenerator.NAME -> RustTypesGenerator.parseGeneratorConfig(projectRoot, generatorJson, langsJson); + case RustTransient0Generator.NAME -> + RustTransient0Generator.parseGeneratorConfig(projectRoot, generatorJson, langsJson); + default -> throw new UnknownGeneratorError( generatorName.value(), diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rusttransient0/RustTransient0Generator.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rusttransient0/RustTransient0Generator.java new file mode 100644 index 0000000..822f229 --- /dev/null +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rusttransient0/RustTransient0Generator.java @@ -0,0 +1,45 @@ +package org.zwobble.hobgoblin.compiler.output.generators.rusttransient0; + +import org.zwobble.hobgoblin.compiler.ast.typed.TypedNamespaceNode; +import org.zwobble.hobgoblin.compiler.config.OutputConfig; +import org.zwobble.hobgoblin.compiler.output.generators.Generator; +import org.zwobble.hobgoblin.compiler.output.generators.rust.RustGeneratorConfig; +import org.zwobble.hobgoblin.compiler.typechecker.TypesInfo; +import org.zwobble.json5.reader.Json5ObjectReader; + +import java.io.IOException; +import java.nio.file.Path; +import java.util.List; +import java.util.Optional; + +public class RustTransient0Generator implements Generator { + public static final String NAME = "rust-transient-0"; + + public static OutputConfig parseGeneratorConfig( + Path projectRoot, + Json5ObjectReader output, + Optional<Json5ObjectReader> langsJson + ) { + return () -> { + var relativeOutputPath = output.getString("path").value(); + var outputPath = projectRoot.resolve(relativeOutputPath); + + var rustConfig = RustGeneratorConfig.parseLangsConfig(langsJson); + + return new RustTransient0Generator(outputPath, rustConfig); + }; + } + + private final Path outputPath; + private final RustGeneratorConfig config; + + private RustTransient0Generator(Path outputPath, RustGeneratorConfig config) { + this.outputPath = outputPath; + this.config = config; + } + + @Override + public void generate(List<TypedNamespaceNode> namespaces, TypesInfo typesInfo) throws IOException { + + } +} |
