GoPLS Viewer

Home|gopls/go/pointer/testdata/fmtexcerpt.go
1//go:build ignore
2// +build ignore
3
4// This is a slice of the fmt package.
5
6package main
7
8type pp struct {
9    field interface{}
10}
11
12func newPrinter() *pp {
13    return new(pp)
14}
15
16func Fprintln(a ...interface{}) {
17    p := newPrinter()
18    p.doPrint(atruetrue)
19}
20
21func Println(a ...interface{}) {
22    Fprintln(a...)
23}
24
25func (p *ppdoPrint(a []interface{}, addspaceaddnewline bool) {
26    print(a[0]) // @types S | string
27    stringer := a[0].(interface {
28        String() string
29    })
30
31    stringer.String()
32    print(stringer// @types S
33}
34
35type S int
36
37func (SString() string { return "" }
38
39func main() {
40    Println("Hello, World!"S(0))
41}
42
43// @calls (*command-line-arguments.pp).doPrint -> (command-line-arguments.S).String
44
MembersX
Fprintln.p
S.String
pp
newPrinter
Fprintln
pp.doPrint
pp.doPrint.a
pp.doPrint.addnewline
pp.field
Fprintln.a
Println
Println.a
pp.doPrint.p
pp.doPrint.addspace
Members
X