rustclient

package
v0.0.13 Latest Latest
Warning

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

Go to latest
Published: Jul 12, 2026 License: MIT Imports: 11 Imported by: 0

Documentation

Overview

Package rustclient generates Rust-side dispatch tables for FFFI2 IDL definitions. Output lands in src/rust/src/imzero2/ as `interpreter.rs` and `enums_out.rs`, providing the read side of the wire format produced by goclient on the Go end.

Index

Constants

This section is empty.

Variables

View Source
var BuilderFactoryCodeGenExprs = ir.BuilderFactoryCodeGenExprs{
	InterpreterLifetime:        "'a",
	Id:                         "i",
	Instance:                   "w",
	SendMessage:                "self.io.flush()?;\n",
	MarkReturn:                 "r = true;\n",
	FuncProcIdOuter:            "f",
	MethodProcId:               "m",
	EguiContext:                "c",
	EguiUiOptionalOuter:        "u",
	InterpreterDepth:           "d",
	EndConsumeFrameIfNecessary: "if d == 0 {\nself.end_consume_message()?;\n}\n",

	InvokeInterpreterInner: `if u2.is_some() {
	self.interpret_inner(c,u2,&f2,d+1)?;
} else {
	self.interpret_inner(c,u,&f2,d+1)?;
}
`,
	FuncProcIdInner:     "f2",
	EguiUiOptionalInner: "u2",

	AtomsRegister0Reference:       "self.r0_atoms",
	AtomsRegister0Transfer:        "std::mem::take(&mut self.r0_atoms)\n",
	WidgetTextRegister0Reference:  "self.r1_widget_text",
	WidgetTextRegister0Transfer:   "std::mem::take(&mut self.r1_widget_text)\n",
	Color32Register0Transfer:      "self.r11_color32\n",
	CodeViewJobRegister0Reference: "self.r12_code_view_job",
	CodeViewJobRegister0Transfer:  "std::mem::take(&mut self.r12_code_view_job)\n",
}
View Source
var PackageProps = packageprops.Props{
	WASMWASI:         packageprops.WASMCompiles,
	WASMJS:           packageprops.WASMCompiles,
	WASMFreestanding: packageprops.WASMCompiles,
}

PackageProps records this package's curated properties (ADR-0080). Seeded by `wasmsurvey props generate`; curate by hand, then `wasmsurvey props verify`.

View Source
var ReservedFuncProcIds = []string{
	"EndFrame",
}

Functions

func GenerateCode

func GenerateCode(wh WriterHolder, tls []ir.NodeI, tracker *compiletime.StateAndErrTracker[GeneratorStateE]) (err error)

Types

type GeneratorStateE

type GeneratorStateE uint8
const (
	GenerateStateInitial GeneratorStateE = 1 << 0
	GenerateStateChecked GeneratorStateE = 1 << 1
)

type WriterHolder

type WriterHolder struct {
	MethodWriter   io.Writer
	FactoryWriter  io.Writer
	DispatchWriter io.Writer
	EnumWriter     io.Writer
	TypeWriter     io.Writer
}

Jump to

Keyboard shortcuts

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