diff options
Diffstat (limited to 'generate.go')
| -rw-r--r-- | generate.go | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/generate.go b/generate.go index 43e5092..7e42447 100644 --- a/generate.go +++ b/generate.go @@ -60,7 +60,13 @@ func (pb *Files) makeNewSortfile(pf *File) error { APPLE := s.VarType APPLES := s.VarName LOCK := s.Lockname - funcdef := newIterAll(wSort, FRUIT, APPLE, APPLES, LOCK) + + msg := pf.findMsg(s.VarType) + if msg == nil { + return fmt.Errorf("failed to find struct %s", s.VarType) + } + + funcdef := msg.newIterAll(wSort, FRUIT, APPLE, APPLES, LOCK) log.Printf("JUNK: %-2d %20s %20s %20s %20s %s\n", i, FRUIT, APPLE, "", LOCK, funcdef) } log.Printf("\n") @@ -73,7 +79,12 @@ func (pb *Files) makeNewSortfile(pf *File) error { VARNAME := s.VarName LOCK := s.Lockname - funcdef := addSelectAll(wSort, PARENT, CHILD, VARNAME, LOCK) + msg := pf.findMsg(s.VarType) + if msg == nil { + return fmt.Errorf("failed to find struct %s", s.VarType) + } + + funcdef := msg.addSelectAll(wSort, PARENT, CHILD, VARNAME, LOCK) log.Printf("SORT: %-2d %20s %20s %20s %20s %s\n", i, PARENT, CHILD, VARNAME, LOCK, funcdef) } log.Printf("END SELECT\n") @@ -121,7 +132,7 @@ func (pb *Files) makeNewSortfile(pf *File) error { } sortname := s.VarType + v.VarName selectName := "selectAll" + VARNAME - funcdef := newSortBy(wSort, PARENT, s.VarType, sortname, sortby, selectName) + funcdef := newSortBy(wSort, PARENT, s.VarType, sortname, sortby, selectName, v.VarName) log.Printf(" %-2s %20s %20s %20s %s %s\n", "", "", "", "", "", funcdef) } else { funcname := "func (x *" + FUNCTYPE + ") SortBy" + v.VarName + "(" + v.VarType + ") *[]iter" + s.VarType + " # can not do this yet" |
