code: func (b *builder) setCall(fn *Function, e *ast.CallExpr, c *CallCommon) {
  	// First deal with the f(...) part and optional receiver.
  	b.setCallFunc(fn, e, c)
  
  	// Then append the other actual parameters.
  	sig, _ := fn.Pkg.typeOf(e.Fun).Underlying().(*types.Signature)
  	if sig == nil {
  		panic(fmt.Sprintf("no signature for call of %s", e.Fun))
  	}
  	c.Args = b.emitCallArgs(fn, sig, e, c.Args)
  }
docs: // setCall emits to fn code to evaluate all the parameters of a function
  // call e, and populates *c with those values.
  //