diff options
| author | Michael Williamson <mike@zwobble.org> | 2026-07-25 23:20:26 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2026-07-25 23:20:26 +0100 |
| commit | 08438b9d69ad3ca6ab44f1577c7e16051d82de06 (patch) | |
| tree | 3604a1a1edc42b65a1c974b1fc7629524f07ca71 | |
| parent | 8e6ed5c893d044dfacf10fd6a7687be52a1c20d3 (diff) | |
Extract constants for Rust primitive types
| -rw-r--r-- | src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rust/RustGeneratorConfig.java | 7 | ||||
| -rw-r--r-- | src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/RustTypes.java | 4 |
2 files changed, 8 insertions, 3 deletions
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<SimpleNativeType, RustNativeTypeConfig> 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)); |
