enum

package
v0.1.0-preview.8 Latest Latest
Warning

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

Go to latest
Published: Aug 13, 2026 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Overview

Package enum validates closed, type-safe enum declarations from the shared typed compiler program. It never evaluates application code or emits runtime registries.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Catalog

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

Catalog is the immutable enum validation result.

func Build

func Build(program *load.Program, resolution resolve.Result) Catalog

Build validates every resolved @Enum declaration without reloading source.

func (Catalog) Diagnostics

func (catalog Catalog) Diagnostics() []Diagnostic

Diagnostics returns deterministic enum diagnostics.

func (Catalog) Types

func (catalog Catalog) Types() []Type

Types returns validated enums in stable symbol order.

type Diagnostic

type Diagnostic struct {
	Position         token.Position
	PhysicalPosition token.Position
	SymbolID         string
	Kind             string
	Message          string
}

Diagnostic is one deterministic enum validation failure.

func (Diagnostic) Error

func (diagnostic Diagnostic) Error() string

Error renders a compiler-style diagnostic.

type Member

type Member struct {
	Name             string
	Value            string
	Position         token.Position
	PhysicalPosition token.Position
}

Member is one declared member of a closed enum.

type Type

type Type struct {
	Symbol           load.Symbol
	SymbolID         string
	Name             string
	PackagePath      string
	Type             types.Type
	TypeID           string
	Underlying       string
	Position         token.Position
	PhysicalPosition token.Position
	// contains filtered or unexported fields
}

Type is one validated @Enum declaration.

func (Type) Members

func (value Type) Members() []Member

Members returns enum members in source declaration order.

Jump to

Keyboard shortcuts

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