summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-05-30 17:37:04 +0100
committerMichael Williamson <mike@zwobble.org>2026-05-30 17:37:04 +0100
commit4ff1c2d997d907cb6ace838775ed936a23320b1b (patch)
tree85a5c17a49611f7c413db13c7dd8e128b670c861
parent8296d3c6393e216c10c531f06aa076a72269c958 (diff)
Fix qualified type names in java-types config
-rw-r--r--hobgoblin/hobgoblin.json57
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatypes/JavaTypesGenerator.java8
2 files changed, 8 insertions, 7 deletions
diff --git a/hobgoblin/hobgoblin.json5 b/hobgoblin/hobgoblin.json5
index 1f531ff..db2888e 100644
--- a/hobgoblin/hobgoblin.json5
+++ b/hobgoblin/hobgoblin.json5
@@ -12,16 +12,15 @@
],
nativeTypes: [
{
- // TODO: should be hobgoblin/untyped.Source ?
- hobgoblin: "hobgoblin.untyped.Source",
+ hobgoblin: "hobgoblin/untyped.Source",
java: "org.zwobble.hobgoblin.compiler.sources.Source",
},
{
- hobgoblin: "hobgoblin.untyped.NamespaceName",
+ hobgoblin: "hobgoblin/untyped.NamespaceName",
java: "org.zwobble.hobgoblin.compiler.types.NamespaceName",
},
{
- hobgoblin: "hobgoblin.untyped.DocComment",
+ hobgoblin: "hobgoblin/untyped.DocComment",
java: "org.zwobble.hobgoblin.compiler.ast.DocComment",
}
],
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatypes/JavaTypesGenerator.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatypes/JavaTypesGenerator.java
index 1ee7f78..ced72bf 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatypes/JavaTypesGenerator.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatypes/JavaTypesGenerator.java
@@ -63,10 +63,12 @@ public class JavaTypesGenerator implements Generator {
output.getArrayOfObjects("nativeTypes").ifPresent(nativeTypesJson -> {
for (var nativeTypeJson : nativeTypesJson) {
var hobgoblinTypeString = nativeTypeJson.getString("hobgoblin").value();
- var hobgoblinTypeParts = Arrays.asList(hobgoblinTypeString.split("\\."));
+ var hobgoblinTypeName = Parser.parseQualifiedTypeName(
+ SourceText.fromString("<string>", hobgoblinTypeString)
+ );
var hobgoblinType = new SimpleNativeType(
- new NamespaceName(hobgoblinTypeParts.subList(0, hobgoblinTypeParts.size() - 1)),
- hobgoblinTypeParts.getLast()
+ hobgoblinTypeName.namespaceName(),
+ hobgoblinTypeName.name()
);
var javaTypeString = nativeTypeJson.getString("java").value();