const tagName …
const explicitFromTagName …
const externalTypesTagName …
func extractTag(comments []string) []string { … }
func extractExplicitFromTag(comments []string) []string { … }
func extractExternalTypesTag(comments []string) []string { … }
func isCopyOnly(comments []string) bool { … }
func isDrop(comments []string) bool { … }
func conversionNamer() *namer.NameStrategy { … }
func defaultFnNamer() *namer.NameStrategy { … }
func NameSystems() namer.NameSystems { … }
func DefaultNameSystem() string { … }
func getPeerTypeFor(context *generator.Context, t *types.Type, potenialPeerPkgs []string) *types.Type { … }
type conversionPair …
type conversionFuncMap …
func getManualConversionFunctions(context *generator.Context, pkg *types.Package, manualMap conversionFuncMap) { … }
func GetTargets(context *generator.Context, args *args.Args) []generator.Target { … }
type equalMemoryTypes …
func (e equalMemoryTypes) Skip(a, b *types.Type) { … }
func (e equalMemoryTypes) Equal(a, b *types.Type) bool { … }
func (e equalMemoryTypes) cachingEqual(a, b *types.Type, alreadyVisitedTypes map[*types.Type]bool) bool { … }
func (e equalMemoryTypes) equal(a, b *types.Type, alreadyVisitedTypes map[*types.Type]bool) bool { … }
func findMember(t *types.Type, name string) (types.Member, bool) { … }
func unwrapAlias(in *types.Type) *types.Type { … }
const runtimePackagePath …
const conversionPackagePath …
type noEquality …
func (noEquality) Equal(_, _ *types.Type) bool { … }
type TypesEqual …
type genConversion …
func NewGenConversion(outputFilename, typesPackage, outputPackage string, manualConversions conversionFuncMap, peerPkgs []string, useUnsafe TypesEqual) generator.Generator { … }
func (g *genConversion) Namers(c *generator.Context) namer.NameSystems { … }
type namerPlusImportTracking …
func (n *namerPlusImportTracking) Name(t *types.Type) string { … }
func (g *genConversion) convertibleOnlyWithinPackage(inType, outType *types.Type) bool { … }
func getExplicitFromTypes(t *types.Type) []types.Name { … }
func (g *genConversion) Filter(c *generator.Context, t *types.Type) bool { … }
func (g *genConversion) isOtherPackage(pkg string) bool { … }
func (g *genConversion) Imports(c *generator.Context) (imports []string) { … }
func argsFromType(inType, outType *types.Type) generator.Args { … }
const nameTmpl …
func (g *genConversion) preexists(inType, outType *types.Type) (*types.Type, bool) { … }
func (g *genConversion) Init(c *generator.Context, w io.Writer) error { … }
func (g *genConversion) GenerateType(c *generator.Context, t *types.Type, w io.Writer) error { … }
func (g *genConversion) generateConversion(inType, outType *types.Type, sw *generator.SnippetWriter) { … }
func (g *genConversion) generateFor(inType, outType *types.Type, sw *generator.SnippetWriter) { … }
func (g *genConversion) doBuiltin(inType, outType *types.Type, sw *generator.SnippetWriter) { … }
func (g *genConversion) doMap(inType, outType *types.Type, sw *generator.SnippetWriter) { … }
func (g *genConversion) doSlice(inType, outType *types.Type, sw *generator.SnippetWriter) { … }
func (g *genConversion) doStruct(inType, outType *types.Type, sw *generator.SnippetWriter) { … }
func (g *genConversion) isFastConversion(inType, outType *types.Type) bool { … }
func (g *genConversion) isDirectlyAssignable(inType, outType *types.Type) bool { … }
func (g *genConversion) doPointer(inType, outType *types.Type, sw *generator.SnippetWriter) { … }
func (g *genConversion) doAlias(inType, outType *types.Type, sw *generator.SnippetWriter) { … }
func (g *genConversion) doUnknown(inType, outType *types.Type, sw *generator.SnippetWriter) { … }
func (g *genConversion) generateFromURLValues(inType, outType *types.Type, sw *generator.SnippetWriter) { … }
func (g *genConversion) fromValuesEntry(inType *types.Type, outMember types.Member, sw *generator.SnippetWriter) { … }
func (g *genConversion) setZeroValue(outMember types.Member, sw *generator.SnippetWriter) { … }
func isDirectlyAssignable(inType, outType *types.Type) bool { … }
func isSamePackage(inType, outType *types.Type) bool { … }