// Copyright 2021 The Go Authors. All rights reserved. | |
// Use of this source code is governed by a BSD-style | |
// license that can be found in the LICENSE file. | |
// go:build ignore | |
package testdata | |
type I interface { | |
Foo() | |
} | |
type A struct { | |
I | |
} | |
func (a *A) Do() { | |
a.Foo() | |
} | |
type B struct{} | |
func (b B) Foo() {} | |
func NewA(b B) *A { | |
return &A{I: &b} | |
} | |
func Baz(b B) { | |
a := NewA(b) | |
a.Do() | |
} | |
// WANT: | |
// Baz: (*A).Do(t0) -> A.Do; NewA(b) -> NewA | |
// A.Do: invoke t1.Foo() -> B.Foo |