summaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/zwobble')
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rust/RustGeneratorConfig.java7
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/lang/rust/RustTypes.java4
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));