func (g *goGen) qualifiedType(typ types.Type) string { switch typ := typ.(type) { case *types.Basic: return typ.Name() case *types.Named: obj := typ.Obj() //return obj.Pkg().Name() + "." + obj.Name() return "GoPy_" + obj.Name() switch typ := typ.Underlying().(type) { case *types.Struct: return typ.String() default: return "GoPy_ooops_" + obj.Name() } } return fmt.Sprintf("%#T", typ) }