From affadc7997466dfacad5b9a3dc90ee5e7a7b6085 Mon Sep 17 00:00:00 2001 From: Mark Freeman Date: Wed, 1 Apr 2026 14:54:01 -0400 Subject: 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 LUCI-TryBot-Result: Go LUCI Auto-Submit: Mark Freeman --- src/cmd/compile/internal/noder/writer.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/cmd/compile/internal/noder') 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) -- cgit v1.3