aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2025-01-25 17:02:28 +0000
committerMichael Williamson <mike@zwobble.org>2025-01-25 17:02:28 +0000
commit16d861c2b995df00307ed8aac84f3ded280ea9c2 (patch)
treeee84b15ebad250ce4c6df45ea65a68617768324d /src/main/java
parentd3a3473e892726bfb0ec0878d1eb1703108b5bd4 (diff)
Create separate target directories for each namespace parent
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/backends/paths/TargetDir.java11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/main/java/org/shedlang/compiler/backends/paths/TargetDir.java b/src/main/java/org/shedlang/compiler/backends/paths/TargetDir.java
index cb6a14af..39fd115d 100644
--- a/src/main/java/org/shedlang/compiler/backends/paths/TargetDir.java
+++ b/src/main/java/org/shedlang/compiler/backends/paths/TargetDir.java
@@ -18,10 +18,13 @@ public class TargetDir {
}
public PartialTargetPath namespace(NamespaceName namespaceName) {
- return new PartialTargetPath(
- targetDir.resolve("namespaces")
- .resolve(String.join("_", namespaceName.parts()))
- );
+ var path = targetDir.resolve("namespaces");
+
+ for (var part : namespaceName.parts()) {
+ path = path.resolve(part);
+ }
+
+ return new PartialTargetPath(path);
}
public Path topLevel(String name) {