func (g *micro) objectNamed(name string) generator.Object {
	g.gen.RecordTypeUse(name)
	return g.gen.ObjectNamed(name)
}
Given a type name defined in a .proto, return its object.
Also record that we're using it, to guarantee the associated import.
package micro
import (
	"fmt"
	"path"
	"strconv"
	"strings"
	"github.com/golang/protobuf/proto"
	pb "github.com/golang/protobuf/protoc-gen-go/descriptor"
	"github.com/micro/micro/v3/cmd/protoc-gen-micro/generator"
	options "google.golang.org/genproto/googleapis/api/annotations"
)
const (
	apiPkgPath     = "github.com/micro/micro/v3/service/api"
	contextPkgPath = "context"
	clientPkgPath  = "github.com/micro/micro/v3/service/client"
	serverPkgPath  = "github.com/micro/micro/v3/service/server"
)
func init() {
	generator.RegisterPlugin(new(micro))
}
type micro struct {
	gen *generator.Generator
}
func (g *micro) Name() string {
	return "micro"
}
var (
	apiPkg     string
	contextPkg string
	clientPkg  string
	serverPkg  string
	pkgImports map[generator.GoPackageName]bool
)
func (g *micro) Init(gen *generator.Generator) {
	g.gen = gen
	apiPkg = generator.RegisterUniquePackageName("api", nil)
	contextPkg = generator.RegisterUniquePackageName("context", nil)
	clientPkg = generator.RegisterUniquePackageName("client", nil)
	serverPkg = generator.RegisterUniquePackageName("server", nil)
}