aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/gc/noder.go
diff options
context:
space:
mode:
authorMatthew Dempsky <mdempsky@google.com>2017-01-23 14:24:24 -0800
committerMatthew Dempsky <mdempsky@google.com>2017-01-25 08:04:17 +0000
commitde2e5459aecb531a67dad274b789ffeb61dca020 (patch)
tree0ee90256f3e20059531dfb3d146ace755ec7d43d /src/cmd/compile/internal/gc/noder.go
parent9259f3073afe0830ab1484bfee46bfa1f322e7e7 (diff)
downloadgo-de2e5459aecb531a67dad274b789ffeb61dca020.tar.xz
[dev.typealias] cmd/compile: declare methods after resolving receiver type
For #18130. Fixes #18655. Change-Id: I58e2f076b9d8273f128cc033bba9edcd06c81567 Reviewed-on: https://go-review.googlesource.com/35575 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Robert Griesemer <gri@golang.org>
Diffstat (limited to 'src/cmd/compile/internal/gc/noder.go')
-rw-r--r--src/cmd/compile/internal/gc/noder.go12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/cmd/compile/internal/gc/noder.go b/src/cmd/compile/internal/gc/noder.go
index 0c5957f987..1d69151cc4 100644
--- a/src/cmd/compile/internal/gc/noder.go
+++ b/src/cmd/compile/internal/gc/noder.go
@@ -247,19 +247,19 @@ func (p *noder) funcHeader(fun *syntax.FuncDecl) *Node {
yyerror("func main must have no arguments and no return values")
}
}
-
- f.Func.Nname = newfuncname(name)
} else {
- // Receiver MethodName Signature
-
f.Func.Shortname = name
- f.Func.Nname = methodname(f.Func.Shortname, t.Left.Right)
+ name = nblank.Sym // filled in by typecheckfunc
}
+ f.Func.Nname = newfuncname(name)
f.Func.Nname.Name.Defn = f
f.Func.Nname.Name.Param.Ntype = t // TODO: check if nname already has an ntype
- declare(f.Func.Nname, PFUNC)
+ if fun.Recv == nil {
+ declare(f.Func.Nname, PFUNC)
+ }
+
funchdr(f)
return f
}