func (ctxt *context) callees(inst *ssa.Call) ([]*ssa.Function, error) { pos := ctxt.lprog.Fset.Position(inst.Pos()) if pos.Line <= 0 { return nil, fmt.Errorf("no position") } qpos, err := oracle.ParseQueryPos(ctxt.lprog, posStr(pos), true) if err != nil { return nil, fmt.Errorf("cannot parse query pos %q: %v", posStr(pos), err) } result, err := ctxt.oracle.Query("callees", qpos) if err != nil { return nil, fmt.Errorf("query error: %v", err) } return calleeFuncs(result), nil }