Skip to content

Commit 0bbb54a

Browse files
aarzillithanm
authored andcommitted
cmd/link: add ReflectMethod flag to -dumpdep output
Adds ReflectMethod flag to the output of -dumpdep. Fixes #60221 Change-Id: I631d72ee21b819a3a629780317ff4d962cc121e0 Reviewed-on: https://go-review.googlesource.com/c/go/+/495715 TryBot-Result: Gopher Robot <[email protected]> Reviewed-by: Cherry Mui <[email protected]> Run-TryBot: Alessandro Arzilli <[email protected]> Reviewed-by: Heschi Kreinick <[email protected]>
1 parent d0c72c2 commit 0bbb54a

File tree

1 file changed

+16
-6
lines changed

1 file changed

+16
-6
lines changed

src/cmd/link/internal/ld/deadcode.go

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -325,22 +325,32 @@ func (d *deadcodePass) mark(symIdx, parent loader.Sym) {
325325
if *flagDumpDep {
326326
to := d.ldr.SymName(symIdx)
327327
if to != "" {
328-
if d.ldr.AttrUsedInIface(symIdx) {
329-
to += " <UsedInIface>"
330-
}
328+
to = d.dumpDepAddFlags(to, symIdx)
331329
from := "_"
332330
if parent != 0 {
333331
from = d.ldr.SymName(parent)
334-
if d.ldr.AttrUsedInIface(parent) {
335-
from += " <UsedInIface>"
336-
}
332+
from = d.dumpDepAddFlags(from, parent)
337333
}
338334
fmt.Printf("%s -> %s\n", from, to)
339335
}
340336
}
341337
}
342338
}
343339

340+
func (d *deadcodePass) dumpDepAddFlags(name string, symIdx loader.Sym) string {
341+
var flags strings.Builder
342+
if d.ldr.AttrUsedInIface(symIdx) {
343+
flags.WriteString("<UsedInIface>")
344+
}
345+
if d.ldr.IsReflectMethod(symIdx) {
346+
flags.WriteString("<ReflectMethod>")
347+
}
348+
if flags.Len() > 0 {
349+
return name + " " + flags.String()
350+
}
351+
return name
352+
}
353+
344354
func (d *deadcodePass) markMethod(m methodref) {
345355
relocs := d.ldr.Relocs(m.src)
346356
d.mark(relocs.At(m.r).Sym(), m.src)

0 commit comments

Comments
 (0)