JavaCompilerCore/resources/bytecode/javFiles/SwitchAppend.jav
dholle fbc9f1e755
All checks were successful
Build and Test with Maven / Build-and-test-with-Maven (push) Successful in 5m13s
Fix bugs and add new example
2024-08-22 15:13:25 +02:00

17 lines
587 B
Java

sealed interface List<T> permits LinkedElem, Elem {}
public record LinkedElem<T>(T a, List<T> l) implements List<T> {}
public record Elem<T>(T a) implements List<T> {}
public class SwitchAppend {
public append(l1, l2) {
return switch(l1) {
case LinkedElem(a, Elem(e)) -> new LinkedElem<>(a, new LinkedElem<>(e, l2));
case LinkedElem(a, r) -> new LinkedElem<>(a, append(r, l2));
//Alternativ:
//case LinkedElem(a, LinkedElem(e, r)) -> new LinkedElem<>(a, append(new LinkedElem(e, r), l2));
default -> null;
};
}
}