@@ -829,7 +829,7 @@ func (b *builder) expr0(fn *Function, e ast.Expr, tv types.TypeAndValue) Value {
829
829
// The result is a "bound".
830
830
obj := sel .obj .(* types.Func )
831
831
rt := fn .typ (recvType (obj ))
832
- _ , wantAddr := deptr (rt )
832
+ _ , wantAddr := deref (rt )
833
833
escaping := true
834
834
v := b .receiver (fn , e .X , wantAddr , escaping , sel )
835
835
@@ -956,9 +956,8 @@ func (b *builder) stmtList(fn *Function, list []ast.Stmt) {
956
956
//
957
957
// escaping is defined as per builder.addr().
958
958
func (b * builder ) receiver (fn * Function , e ast.Expr , wantAddr , escaping bool , sel * selection ) Value {
959
-
960
959
var v Value
961
- if _ , eptr := deptr (fn .typeOf (e )); wantAddr && ! sel .indirect && ! eptr {
960
+ if _ , eptr := deref (fn .typeOf (e )); wantAddr && ! sel .indirect && ! eptr {
962
961
v = b .addr (fn , e , escaping ).address (fn )
963
962
} else {
964
963
v = b .expr (fn , e )
@@ -967,7 +966,7 @@ func (b *builder) receiver(fn *Function, e ast.Expr, wantAddr, escaping bool, se
967
966
last := len (sel .index ) - 1
968
967
// The position of implicit selection is the position of the inducing receiver expression.
969
968
v = emitImplicitSelections (fn , v , sel .index [:last ], e .Pos ())
970
- if _ , vptr := deptr (v .Type ()); ! wantAddr && vptr {
969
+ if _ , vptr := deref (v .Type ()); ! wantAddr && vptr {
971
970
v = emitLoad (fn , v )
972
971
}
973
972
return v
@@ -986,7 +985,7 @@ func (b *builder) setCallFunc(fn *Function, e *ast.CallExpr, c *CallCommon) {
986
985
obj := sel .obj .(* types.Func )
987
986
recv := recvType (obj )
988
987
989
- _ , wantAddr := deptr (recv )
988
+ _ , wantAddr := deref (recv )
990
989
escaping := true
991
990
v := b .receiver (fn , selector .X , wantAddr , escaping , sel )
992
991
if types .IsInterface (recv ) {
0 commit comments