generator

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Mar 4, 2024 License: MIT Imports: 11 Imported by: 5

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	PackageName        string           `yaml:"PackageName"`
	PackageDescription string           `yaml:"PackageDescription"`
	PackageLicense     string           `yaml:"PackageLicense"`
	PkgConfigOpts      []string         `yaml:"PkgConfigOpts"`
	FlagGroups         []TraitFlagGroup `yaml:"FlagGroups"`
	SysIncludes        []string         `yaml:"SysIncludes"`
	Includes           []string         `yaml:"Includes"`
	Options            GenOptions       `yaml:"Options"`
}

type GenOptions

type GenOptions struct {
	SafeStrings     bool `yaml:"SafeStrings"`
	StructAccessors bool `yaml:"StructAccessors"`
	KeepAlive       bool `yaml:"KeepAlive"`
}

type Generator

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

func New

func New(pkg string, cfg *Config, tr *tl.Translator) (*Generator, error)

func (*Generator) Close

func (gen *Generator) Close()

func (*Generator) DisableTimestamps

func (g *Generator) DisableTimestamps()

func (*Generator) MemTipOf

func (gen *Generator) MemTipOf(decl *tl.CDecl) tl.Tip

func (*Generator) MonitorAndWriteHelpers

func (gen *Generator) MonitorAndWriteHelpers(goWr, chWr io.Writer, ccWr io.Writer, initWrFunc ...func() (io.Writer, error))

func (*Generator) SetMaxMemory

func (g *Generator) SetMaxMemory(spec MemSpec)

func (*Generator) WriteConst

func (gen *Generator) WriteConst(wr io.Writer) int

func (*Generator) WriteDeclares

func (gen *Generator) WriteDeclares(wr io.Writer) int

func (*Generator) WriteDoc

func (gen *Generator) WriteDoc(wr io.Writer) bool

func (*Generator) WriteIncludes

func (gen *Generator) WriteIncludes(wr io.Writer)

func (*Generator) WritePackageHeader

func (gen *Generator) WritePackageHeader(wr io.Writer)

func (*Generator) WriteTypedefs

func (gen *Generator) WriteTypedefs(wr io.Writer) int

func (*Generator) WriteUnions

func (gen *Generator) WriteUnions(wr io.Writer) int

type Helper

type Helper struct {
	Name        string
	Side        HelperSide
	Description string
	Source      string
	Nillable    bool
	Requires    []*Helper
}

type HelperSide

type HelperSide string
const (
	NoSide HelperSide = ""
	GoSide HelperSide = "go"
	CHSide HelperSide = "h"
	CCSide HelperSide = "c"
)

type Helpers

type Helpers []*Helper

type MemSpec

type MemSpec string
const (
	MemSpec1 MemSpec = "0x1fffffff"
	MemSpec2 MemSpec = "0x2fffffff"
	MemSpec3 MemSpec = "0x3fffffff"
	MemSpec4 MemSpec = "0x4fffffff"
	MemSpec5 MemSpec = "0x5fffffff"
	MemSpec6 MemSpec = "0x6fffffff"
	MemSpec7 MemSpec = "0x7fffffff"
	MemSpec8 MemSpec = "0x8fffffff"
	MemSpec9 MemSpec = "0x9fffffff"
	MemSpecA MemSpec = "0xafffffff"
	MemSpecB MemSpec = "0xbfffffff"
	MemSpecC MemSpec = "0xcfffffff"
	MemSpecD MemSpec = "0xdfffffff"
	MemSpecE MemSpec = "0xefffffff"
	MemSpecF MemSpec = "0xffffffff"

	MemSpecDefault MemSpec = "0x7fffffff"
)

func NewMemSpec

func NewMemSpec(spec string) MemSpec

type TraitFlagGroup

type TraitFlagGroup struct {
	Name   string   `yaml:"name"`
	Traits []string `yaml:"traits"`
	Flags  []string `yaml:"flags"`
}

Jump to

Keyboard shortcuts

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