codegen

package
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 31, 2024 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

Functions

func JSONName

func JSONName(name string, tag reflect.StructTag) string

func JSONTag

func JSONTag(name string, tag reflect.StructTag) string

func TypeID

func TypeID(name string, tag reflect.StructTag) string

Types

type AcceptFuncGen

type AcceptFuncGen struct{}

func (AcceptFuncGen) GeneratePolyStruct

func (AcceptFuncGen) GeneratePolyStruct(w *Context, p *generator.PolyStruct) error

type CodeGen

type CodeGen interface {
	GeneratePolyStruct(*Context, *generator.PolyStruct) error
}

type Config

type Config struct {
	Generators        []CodeGen
	OutputFileOptions []OutputFileOption
}

func (*Config) NewContext

func (c *Config) NewContext(p *att.Package, w io.Writer) *Context

func (*Config) NewOutputFile

func (c *Config) NewOutputFile(filename string, p *att.Package, opts ...OutputFileOption) *OutputFile

type Context

type Context struct {
	Imports map[string]string
	Package *att.Package
	Config  *Config
	io.Writer
}

func (*Context) New

func (c *Context) New(t types.Type) string

func (*Context) TypeString

func (c *Context) TypeString(t types.Type) string

type DefaultVisitorGen

type DefaultVisitorGen struct{}

func (DefaultVisitorGen) GeneratePolyStruct

func (DefaultVisitorGen) GeneratePolyStruct(w *Context, p *generator.PolyStruct) error

type MarshalFuncGen

type MarshalFuncGen struct{}

func (MarshalFuncGen) GeneratePolyStruct

func (MarshalFuncGen) GeneratePolyStruct(ctx *Context, p *generator.PolyStruct) error

type OutputFile

type OutputFile struct {
	*Context
	FileName   string
	Finalizers []func()
	// contains filtered or unexported fields
}

func (*OutputFile) AddError

func (o *OutputFile) AddError(err error)

func (*OutputFile) Close

func (o *OutputFile) Close() error

func (*OutputFile) Error

func (o *OutputFile) Error() error

type OutputFileOption

type OutputFileOption func(*OutputFile)

func WithGoFmt

func WithGoFmt() OutputFileOption

func WithGoFumpt

func WithGoFumpt() OutputFileOption

func WithGoImports

func WithGoImports() OutputFileOption

type PolyStructGen

type PolyStructGen struct{}

func (PolyStructGen) GeneratePolyStruct

func (PolyStructGen) GeneratePolyStruct(w *Context, p *generator.PolyStruct) error

type PolyStructNewGen

type PolyStructNewGen struct{}

func (PolyStructNewGen) GeneratePolyStruct

func (PolyStructNewGen) GeneratePolyStruct(w *Context, p *generator.PolyStruct) error

type SliceAppendGen

type SliceAppendGen struct{}

func (SliceAppendGen) GeneratePolyStruct

func (SliceAppendGen) GeneratePolyStruct(w *Context, p *generator.PolyStruct) error

type SliceMarshalGen added in v0.1.1

type SliceMarshalGen struct{}

func (SliceMarshalGen) GeneratePolyStruct added in v0.1.1

func (SliceMarshalGen) GeneratePolyStruct(ctx *Context, p *generator.PolyStruct) error

type SliceTypeGen

type SliceTypeGen struct{}

func (SliceTypeGen) GeneratePolyStruct

func (SliceTypeGen) GeneratePolyStruct(w *Context, p *generator.PolyStruct) error

type TypeFieldGen

type TypeFieldGen struct{}

func (TypeFieldGen) GeneratePolyStruct

func (TypeFieldGen) GeneratePolyStruct(w *Context, p *generator.PolyStruct) error

type UnmarshalFuncGen

type UnmarshalFuncGen struct{}

func (UnmarshalFuncGen) GeneratePolyStruct

func (u UnmarshalFuncGen) GeneratePolyStruct(ctx *Context, p *generator.PolyStruct) error

type VisitorFuncGen

type VisitorFuncGen struct{}

func (VisitorFuncGen) GeneratePolyStruct

func (VisitorFuncGen) GeneratePolyStruct(w *Context, p *generator.PolyStruct) error

type VisitorInterfaceGen

type VisitorInterfaceGen struct{}

func (VisitorInterfaceGen) GeneratePolyStruct

func (VisitorInterfaceGen) GeneratePolyStruct(w *Context, p *generator.PolyStruct) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL