codegens

package
v0.0.0-...-c1d5796 Latest Latest
Warning

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

Go to latest
Published: Feb 18, 2025 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Generate

func Generate(g Gen, nodes []parser.Node, importDirs []string) string

func LogErrorAndExit

func LogErrorAndExit(g Gen, msg string)

Types

type Gen

type Gen interface {
	File() string
	Lang() GenLang

	GenDefine() string
	GenEnum() string
	GenStruct() string
	GenReservedIds() string
	GenSize() string
	GenMarshal() string
	GenUnmarshal() string
	GenSizePlain() string
	GenMarshalPlain() string
	GenUnmarshalPlain() string

	ProcessImport(stmt *parser.UseStmt, importDirs []string) ([]string, []string)

	SetVarMap(map[string]string)

	HasPackageDefined() bool

	AddEnumDecls(enumDecls []string)
	AddContainerDecls(containerDecls []string)

	SetEnumStatement(stmt *parser.EnumStmt)
	SetDefineStatement(stmt *parser.DefineStmt)
	SetContainerStatement(stmt *parser.ContainerStmt)
}

func NewGen

func NewGen(lang GenLang, file string) Gen

type GenLang

type GenLang string
const (
	GoGenLang GenLang = "go"
)

func (GenLang) String

func (lang GenLang) String() string

type GoContainerStmt

type GoContainerStmt struct {
	PublicName  string
	PrivateName string

	DefaultName string

	Fields      []parser.Field
	ReservedIDs []uint16
}

type GoEnumStmt

type GoEnumStmt struct {
	PublicName  string
	PrivateName string

	DefaultName string

	Values []string
}

type GoField

type GoField struct {
	ID uint16

	PublicName  string
	PrivateName string
	DefaultName string

	Type *parser.Type
}

func (*GoField) AppendUnsafeIfPresent

func (f *GoField) AppendUnsafeIfPresent() string

type GoGen

type GoGen struct {
	// contains filtered or unexported fields
}

func NewGoGen

func NewGoGen(file string) *GoGen

func (*GoGen) AddContainerDecls

func (g *GoGen) AddContainerDecls(containerDecls []string)

func (*GoGen) AddEnumDecls

func (g *GoGen) AddEnumDecls(enumDecls []string)

func (*GoGen) File

func (g *GoGen) File() string

func (*GoGen) ForEachCtrFields

func (g *GoGen) ForEachCtrFields(f func(i int))

func (*GoGen) ForEachEnumValues

func (g *GoGen) ForEachEnumValues(f func(i int, value string))

func (*GoGen) GenDefine

func (g *GoGen) GenDefine() string

func (*GoGen) GenEnum

func (g *GoGen) GenEnum() string

func (*GoGen) GenMarshal

func (g *GoGen) GenMarshal() string

func (*GoGen) GenMarshalPlain

func (g *GoGen) GenMarshalPlain() string

func (*GoGen) GenReservedIds

func (g *GoGen) GenReservedIds() string

func (*GoGen) GenSize

func (g *GoGen) GenSize() string

func (*GoGen) GenSizePlain

func (g *GoGen) GenSizePlain() string

func (*GoGen) GenStruct

func (g *GoGen) GenStruct() string

func (*GoGen) GenUnmarshal

func (g *GoGen) GenUnmarshal() string

func (*GoGen) GenUnmarshalPlain

func (g *GoGen) GenUnmarshalPlain() string

func (*GoGen) HasPackageDefined

func (g *GoGen) HasPackageDefined() bool

func (*GoGen) IsContainer

func (g *GoGen) IsContainer(externalStructure string) bool

func (*GoGen) IsEnum

func (g *GoGen) IsEnum(externalStructure string) bool

func (*GoGen) Lang

func (*GoGen) Lang() GenLang

func (*GoGen) ProcessImport

func (g *GoGen) ProcessImport(stmt *parser.UseStmt, importDirs []string) ([]string, []string)

func (*GoGen) SetContainerStatement

func (g *GoGen) SetContainerStatement(stmt *parser.ContainerStmt)

func (*GoGen) SetDefineStatement

func (g *GoGen) SetDefineStatement(stmt *parser.DefineStmt)

func (*GoGen) SetEnumStatement

func (g *GoGen) SetEnumStatement(stmt *parser.EnumStmt)

func (*GoGen) SetVarMap

func (g *GoGen) SetVarMap(varMap map[string]string)

Jump to

Keyboard shortcuts

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