diff options
| author | Matthew Dempsky <mdempsky@google.com> | 2017-01-23 14:24:24 -0800 |
|---|---|---|
| committer | Matthew Dempsky <mdempsky@google.com> | 2017-01-25 08:04:17 +0000 |
| commit | de2e5459aecb531a67dad274b789ffeb61dca020 (patch) | |
| tree | 0ee90256f3e20059531dfb3d146ace755ec7d43d /src/cmd/compile/internal/gc/noder.go | |
| parent | 9259f3073afe0830ab1484bfee46bfa1f322e7e7 (diff) | |
| download | go-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.go | 12 |
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 } |
