GoPLS Viewer

Home|gopls/go/callgraph/rta/testdata/func.go
1// +build ignore
2
3package main
4
5// Test of dynamic function calls.
6// No interfaces, so no runtime/reflect types.
7
8func A1() {
9    A2(0)
10}
11
12func A2(int) {} // not address-taken
13
14func B() {} // unreachable
15
16var (
17    C = func(int) {}
18    D = func(int) {}
19)
20
21func main() {
22    A1()
23
24    pfn := C
25    pfn(0// calls C and D but not A2 (same sig but not address-taken)
26}
27
28// WANT:
29// Dynamic calls
30//   main --> init$1
31//   main --> init$2
32// Reachable functions
33//   A1
34//   A2
35//   init$1
36//   init$2
37// Reflect types
38
MembersX
main.pfn
A1
A2
B
main
Members
X