aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/noder/reader.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/compile/internal/noder/reader.go')
-rw-r--r--src/cmd/compile/internal/noder/reader.go15
1 files changed, 2 insertions, 13 deletions
diff --git a/src/cmd/compile/internal/noder/reader.go b/src/cmd/compile/internal/noder/reader.go
index 275baead04..14d982a1af 100644
--- a/src/cmd/compile/internal/noder/reader.go
+++ b/src/cmd/compile/internal/noder/reader.go
@@ -1623,11 +1623,7 @@ func (r *reader) funcLit() ir.Node {
fn.ClosureVars = make([]*ir.Name, 0, r.len())
for len(fn.ClosureVars) < cap(fn.ClosureVars) {
- pos := r.pos()
- outer := r.useLocal()
-
- cv := ir.NewClosureVar(pos, fn, outer)
- r.setType(cv, outer.Type())
+ ir.NewClosureVar(r.pos(), fn, r.useLocal())
}
r.addBody(fn)
@@ -2204,17 +2200,10 @@ func (r *reader) methodValueWrapper(tbase *types.Type, method *types.Field, targ
pos := base.AutogeneratedPos
fn := r.newWrapperFunc(pos, sym, nil, method)
- fn.SetNeedctxt(true)
sym.Def = fn
// Declare and initialize variable holding receiver.
- recv := ir.NewNameAt(pos, typecheck.Lookup(".this"))
- recv.Class = ir.PAUTOHEAP
- recv.SetType(recvType)
- recv.Curfn = fn
- recv.SetIsClosureVar(true)
- recv.SetByval(true)
- fn.ClosureVars = append(fn.ClosureVars, recv)
+ recv := ir.NewHiddenParam(pos, fn, typecheck.Lookup(".this"), recvType)
addTailCall(pos, fn, recv, method)