5 // Test of interface calls.
9 type A byte // instantiated but not a reflect type
11 func (A) f() {} // called directly
12 func (A) F() {} // unreachable
14 type B int // a reflect type
16 func (*B) f() {} // reachable via interface invoke
17 func (*B) F() {} // reachable: exported method of reflect type
19 type B2 int // a reflect type, and *B2 also
21 func (B2) f() {} // reachable via interface invoke
22 func (B2) g() {} // reachable: exported method of reflect type
24 type C string // not instantiated
26 func (C) f() {} // unreachable
27 func (C) F() {} // unreachable
29 type D uint // instantiated only in dead code
31 func (D) f() {} // unreachable
32 func (D) F() {} // unreachable
43 i.f() // calls (*B).f, (*B2).f and (B2.f)
53 j.f() // calls (B2).f and (*B2).f but not (*B).f (no g method).
67 // Reachable functions