gogen

package
v1.0.0-alpha.12 Latest Latest
Warning

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

Go to latest
Published: Jul 10, 2024 License: MIT Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var GoCustomTypeSN = adlast.Make_ScopedName(
	"adlc.config.go_",
	"GoCustomType",
)
View Source
var TypeParamConstraintListSN = adlast.Make_ScopedName("adlc.config.go_", "TypeParamConstraintList")

Functions

This section is empty.

Types

type BaseGen

type BaseGen struct {
	Cli        SubTask
	Resolver   SnResolver
	ModulePath string
	MidPath    string
	ModuleName string
	Imports    goimports.Imports
}

func NewBaseGen

func NewBaseGen(
	modulePath string,
	midPath string,
	moduleName string,
	in SubTask,
	loader loader.LoadResult,
) *BaseGen

func (*BaseGen) GoEscape

func (*BaseGen) GoEscape(n string) string

func (*BaseGen) GoType

func (in *BaseGen) GoType(
	typeExpr adlast.TypeExpr,
	anns adlast.Annotations,
) goTypeExpr

func (*BaseGen) PrimitiveMap

func (in *BaseGen) PrimitiveMap(
	p string,
	params []adlast.TypeExpr,
	unionTypeParams *TypeParam,
	anns adlast.Annotations,
) goTypeExpr

type Generator

type Generator struct {
	*BaseGen
	Rr TemplateRenderer
}

func (*Generator) GoDeclValue

func (bg *Generator) GoDeclValue(val adlast.Decl) string

func (*Generator) GoEscape

func (in *Generator) GoEscape(n string) string

func (*Generator) GoImport

func (in *Generator) GoImport(s string) (string, error)

func (*Generator) GoRegisterHelper

func (in *Generator) GoRegisterHelper(moduleName string, decl adlast.Decl) (string, error)

func (*Generator) GoTexprValue

func (bg *Generator) GoTexprValue(val adlast.TypeExpr, anns customtypes.MapMap[adlast.ScopedName, any]) string

func (*Generator) GoValue

func (bg *Generator) GoValue(
	anns adlast.Annotations,
	te adlast.TypeExpr,
	val any,
) string

func (*Generator) JsonEncode

func (*Generator) JsonEncode(val any) string

func (*Generator) ToTitle

func (in *Generator) ToTitle(s string) string

func (*Generator) WriteFile

func (in *Generator) WriteFile(
	rt *root.Root,
	modCodeGenPkg string,
	path string,
	noGoFmt bool,
	specialImports []goimports.ImportSpec,
) error

type SnResolver

type SnResolver func(sn adlast.ScopedName) (*adlast.Decl, bool)

type SubTask

type SubTask interface {
	GoImport(pkg, currModuleName string, imports *goimports.Imports) (string, error)
	ReservedImports() []goimports.ImportSpec
	IsStdLibGen() bool
	GoAdlImportPath() string
}

type TemplateRenderer

type TemplateRenderer struct {
	Buf  bytes.Buffer
	Tmpl *template.Template
}

func (*TemplateRenderer) Bytes

func (tr *TemplateRenderer) Bytes() []byte

Bytes returns the accumulated bytes.

func (*TemplateRenderer) Render

func (tr *TemplateRenderer) Render(params any)

Render calls ExecuteTemplate to render to its buffer.

func (*TemplateRenderer) RenderTemplate

func (tr *TemplateRenderer) RenderTemplate(name string, params any) error

type TypeParam

type TypeParam struct {
	Params          []param
	TypeConstraints []string
	Added           bool
}

func TypeParamsFromDecl

func TypeParamsFromDecl(decl adlast.Decl) TypeParam

func (TypeParam) AddParam

func (tp TypeParam) AddParam(newp string) TypeParam

func (TypeParam) AddParams

func (tp TypeParam) AddParams(newps ...string) TypeParam

func (TypeParam) Has

func (tp TypeParam) Has() bool

func (TypeParam) LSide

func (tp TypeParam) LSide() string

func (TypeParam) Last

func (tp TypeParam) Last() string

func (TypeParam) MarshalJSON

func (tp TypeParam) MarshalJSON() ([]byte, error)

func (TypeParam) RSide

func (tp TypeParam) RSide() string

func (TypeParam) TexprArgs

func (tp TypeParam) TexprArgs() string

func (TypeParam) TexprValues

func (tp TypeParam) TexprValues() string

func (TypeParam) TpArgs

func (tp TypeParam) TpArgs() string

Jump to

Keyboard shortcuts

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