INNER CODE UNIT · Go
main
expr-lang/expr · vm/func_types/main.go:108
func main() {
data := struct {
Index string
Code string
}{}
for i, t := range types {
if i == 0 {
continue
}
fn := reflect.ValueOf(t).Elem().Type()
data.Index += fmt.Sprintf("%v: new(%v),\n", i, fn)
data.Code += fmt.Sprintf("case %d:\n", i)
args := make([]string, fn.NumIn())
for j := fn.NumIn() - 1; j >= 0; j-- {
cast := fmt.Sprintf(".(%v)", fn.In(j))
if fn.In(j).Kind() == reflect.Interface {
cast = ""