blob: e65129b58aad6e5c935c2f90b6b4a42286e3362a (
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
34
35
36
37
38
39
40
41
|
package org.shedlang.compiler.backends.targets;
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
public enum ShedTarget {
AMD64("amd64"),
I686("i686"),
WASM32("wasm32"),
WASM64("wasm64"),
PATIO_NATIVE_C_HEADERS("patio-native-c-headers"),
PATIO_TEXT("patio-text"),
SHID_TEXT("shid-text");
public static List<String> targetNames() {
return Arrays.stream(ShedTarget.class.getEnumConstants())
.map(ShedTarget::targetName)
.toList();
}
public static Optional<ShedTarget> fromString(String targetName) {
for (var target : ShedTarget.class.getEnumConstants()) {
if (target.targetName.equals(targetName)) {
return Optional.of(target);
}
}
return Optional.empty();
}
private final String targetName;
ShedTarget(String targetName) {
this.targetName = targetName;
}
public String targetName() {
return targetName;
}
}
|