func NewImportTracker(typesToAdd ...*types.Type) namer.ImportTracker { tracker := namer.NewDefaultImportTracker(types.Name{}) tracker.IsInvalidType = func(*types.Type) bool { return false } tracker.LocalName = func(name types.Name) string { return golangTrackerLocalName(&tracker, name) } tracker.PrintImport = func(path, name string) string { return name + " \"" + path + "\"" } tracker.AddTypes(typesToAdd...) return &tracker }
func NewImportTracker(local types.Name, typesToAdd ...*types.Type) *ImportTracker { tracker := namer.NewDefaultImportTracker(local) tracker.IsInvalidType = func(t *types.Type) bool { return t.Kind != types.Protobuf } tracker.LocalName = func(name types.Name) string { return name.Package } tracker.PrintImport = func(path, name string) string { return path } tracker.AddTypes(typesToAdd...) return &ImportTracker{ DefaultImportTracker: tracker, } }