diff options
Diffstat (limited to 'vendor/golang.org/x/tools/go/callgraph/cha/testdata/recv.go')
-rw-r--r-- | vendor/golang.org/x/tools/go/callgraph/cha/testdata/recv.go | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/vendor/golang.org/x/tools/go/callgraph/cha/testdata/recv.go b/vendor/golang.org/x/tools/go/callgraph/cha/testdata/recv.go new file mode 100644 index 0000000..5ba48e9 --- /dev/null +++ b/vendor/golang.org/x/tools/go/callgraph/cha/testdata/recv.go @@ -0,0 +1,37 @@ +//+build ignore + +package main + +type I interface { + f() +} + +type J interface { + g() +} + +type C int // C and *C implement I; *C implements J + +func (C) f() +func (*C) g() + +type D int // *D implements I and J + +func (*D) f() +func (*D) g() + +func f(i I) { + i.f() // calls C, *C, *D +} + +func g(j J) { + j.g() // calls *C, *D +} + +// WANT: +// Dynamic calls +// f --> (*C).f +// f --> (*D).f +// f --> (C).f +// g --> (*C).g +// g --> (*D).g |