gopkg.in/alecthomas/gometalinter.v3@v3.0.0/_linters/src/github.com/mibk/dupl/job/buildtree.go (about) 1 package job 2 3 import ( 4 "github.com/mibk/dupl/suffixtree" 5 "github.com/mibk/dupl/syntax" 6 ) 7 8 func BuildTree(schan chan []*syntax.Node) (t *suffixtree.STree, d *[]*syntax.Node, done chan bool) { 9 t = suffixtree.New() 10 data := make([]*syntax.Node, 0, 100) 11 done = make(chan bool) 12 go func() { 13 for seq := range schan { 14 data = append(data, seq...) 15 for _, node := range seq { 16 t.Update(node) 17 } 18 } 19 done <- true 20 }() 21 return t, &data, done 22 }