blob: 39fd115d693a2ded44b1336c34a85f95ac8e7edb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
package org.shedlang.compiler.backends.paths;
import org.shedlang.compiler.types.NamespaceName;
import java.nio.file.Path;
public class TargetDir {
private final Path targetDir;
public TargetDir(Path targetDir) {
this.targetDir = targetDir;
}
public PartialTargetPath bin(String name) {
return new PartialTargetPath(
targetDir.resolve("bin").resolve(name)
);
}
public PartialTargetPath namespace(NamespaceName namespaceName) {
var path = targetDir.resolve("namespaces");
for (var part : namespaceName.parts()) {
path = path.resolve(part);
}
return new PartialTargetPath(path);
}
public Path topLevel(String name) {
return targetDir.resolve(name);
}
}
|