From 08438b9d69ad3ca6ab44f1577c7e16051d82de06 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 25 Jul 2026 23:20:26 +0100 Subject: Extract constants for Rust primitive types --- .../compiler/output/generators/rust/RustGeneratorConfig.java | 7 ++++--- .../org/zwobble/hobgoblin/compiler/output/lang/rust/RustTypes.java | 4 ++++ 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rust/RustGeneratorConfig.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rust/RustGeneratorConfig.java index db5fae0..810e952 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rust/RustGeneratorConfig.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rust/RustGeneratorConfig.java @@ -1,6 +1,7 @@ package org.zwobble.hobgoblin.compiler.output.generators.rust; import org.zwobble.hobgoblin.compiler.builtins.NativeTypes; +import org.zwobble.hobgoblin.compiler.output.lang.rust.RustTypes; import org.zwobble.hobgoblin.compiler.output.lang.rust.ast.RustPath; import org.zwobble.hobgoblin.compiler.parser.Parser; import org.zwobble.hobgoblin.compiler.types.SimpleNativeType; @@ -51,9 +52,9 @@ public record RustGeneratorConfig( } private static final Map DEFAULT_NATIVE_TYPE_CONFIGS = Map.ofEntries( - Map.entry(NativeTypes.BOOL, new RustNativeTypeConfig(RustPath.primitive("bool"))), - Map.entry(NativeTypes.INT_32, new RustNativeTypeConfig(RustPath.primitive("i32"))), - Map.entry(NativeTypes.INT_64, new RustNativeTypeConfig(RustPath.primitive("i64"))), + Map.entry(NativeTypes.BOOL, new RustNativeTypeConfig(RustTypes.BOOL)), + Map.entry(NativeTypes.INT_32, new RustNativeTypeConfig(RustTypes.I32)), + Map.entry(NativeTypes.INT_64, new RustNativeTypeConfig(RustTypes.I64)), Map.entry(NativeTypes.STRING, new RustNativeTypeConfig(RustPath.global("std", "string", "String"))), Map.entry(NativeTypes.LIST_INNER, new RustNativeTypeConfig(RustPath.global("std", "vec", "Vec"))), Map.entry(NativeTypes.OPTION_INNER, new RustNativeTypeConfig(RustPath.global("std", "option", "Option"))), diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/RustTypes.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/RustTypes.java index bbc0c67..e0417c1 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/RustTypes.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/RustTypes.java @@ -8,6 +8,10 @@ import java.util.List; public class RustTypes { private RustTypes() {} + public static RustPath BOOL = RustPath.primitive("bool"); + public static RustPath I32 = RustPath.primitive("i32"); + public static RustPath I64 = RustPath.primitive("i64"); + public static RustPath box(RustType elementType) { return RustPath.global("std", "boxed", "Box") .withArgs(List.of(elementType)); -- cgit v1.2.3