aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal
diff options
context:
space:
mode:
authorMark Freeman <mark@golang.org>2026-04-01 14:54:01 -0400
committerMark Freeman <mark@golang.org>2026-04-01 20:07:33 -0700
commitaffadc7997466dfacad5b9a3dc90ee5e7a7b6085 (patch)
tree04818f7f3e780e0434e32984a1b3cc91f1e4ad52 /src/cmd/compile/internal
parente7a2019a1b79e655452f86d5055b13e080aa89ac (diff)
downloadgo-affadc7997466dfacad5b9a3dc90ee5e7a7b6085.tar.xz
cmd/compile/internal/noder: add encoding for generic methods
We have not yet added the decoding on the reader side. Change-Id: Ic7f8dc51b6b9a2c214b402b1314ee84c0085c16a Reviewed-on: https://go-review.googlesource.com/c/go/+/761983 Reviewed-by: Robert Griesemer <gri@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Auto-Submit: Mark Freeman <markfreeman@google.com>
Diffstat (limited to 'src/cmd/compile/internal')
-rw-r--r--src/cmd/compile/internal/noder/writer.go13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/cmd/compile/internal/noder/writer.go b/src/cmd/compile/internal/noder/writer.go
index e7f7df76a9..a42b11f6fa 100644
--- a/src/cmd/compile/internal/noder/writer.go
+++ b/src/cmd/compile/internal/noder/writer.go
@@ -852,6 +852,19 @@ func (w *writer) doObj(wext *writer, obj types2.Object) pkgbits.CodeObj {
sig := obj.Type().(*types2.Signature)
w.pos(obj)
+ if isGenericMethod(sig) {
+ // otherwise the reader won't know to expect the flag
+ assert(w.Version().Has(pkgbits.GenericMethods))
+ w.Bool(true) // generic method
+
+ w.selector(obj)
+ w.typeParamNames(sig.RecvTypeParams())
+ w.param(sig.Recv())
+ } else {
+ if w.Version().Has(pkgbits.GenericMethods) {
+ w.Bool(false) // function
+ }
+ }
w.typeParamNames(sig.TypeParams())
w.signature(sig)
w.pos(decl)