Esempio n. 1
0
func (c *converter) convertInterface(v *gotypes.Interface) *types.Interface {
	if v == nil {
		return nil
	}
	if v, ok := c.converted[v]; ok {
		return v.(*types.Interface)
	}
	ret := types.NewInterface(nil, nil)
	c.converted[v] = ret
	for i := 0; i < v.NumExplicitMethods(); i++ {
		ret.AddMethod(c.convertFunc(v.ExplicitMethod(i)))
	}
	for i := 0; i < v.NumEmbeddeds(); i++ {
		ret.AddEmbedded(c.convertNamed(v.Embedded(i)))
	}
	c.ifaces = append(c.ifaces, ret)
	return ret
}