INNER CODE UNIT · Go
cases
expr-lang/expr · vm/runtime/helpers/main.go:58
func cases(op string, xs ...[]string) string {
var types []string
for _, x := range xs {
types = append(types, x...)
}
_, _ = fmt.Fprintf(os.Stderr, "Generating %s cases for %v\n", op, types)
var out string
echo := func(s string, xs ...any) {
out += fmt.Sprintf(s, xs...) + "\n"
}
for _, a := range types {
echo(`case %v:`, a)
echo(`switch y := b.(type) {`)
for _, b := range types {
t := "int"
if isDuration(a) || isDuration(b) {