// addEdge adds the specified call graph edge, and marks it reachable. // addrTaken indicates whether to mark the callee as "address-taken". func (r *rta) addEdge(site ssa.CallInstruction, callee *ssa.Function, addrTaken bool) { r.addReachable(callee, addrTaken) if g := r.result.CallGraph; g != nil { if site.Parent() == nil { panic(site) } from := g.CreateNode(site.Parent()) to := g.CreateNode(callee) callgraph.AddEdge(from, site, to) } }