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 = ""

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…