analysis

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Aug 1, 2026 License: GPL-3.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BuiltinKind

type BuiltinKind uint8
const (
	BuiltinPrimitive BuiltinKind = iota
	BuiltinGeneric
)

type Result

type Result struct {
	Globals  *Scope
	Builtins map[string]TypeInfo
}

func Analyze

func Analyze(file *ast.File) (*Result, error)

type Scope

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

func NewScope

func NewScope(parent *Scope) *Scope

func (*Scope) Define

func (s *Scope) Define(sym Symbol) error

func (*Scope) Lookup

func (s *Scope) Lookup(name string) (Symbol, bool)

type Symbol

type Symbol struct {
	Name string
	Kind SymbolKind
	Node ast.Node
}

type SymbolKind

type SymbolKind uint8
const (
	SymbolType SymbolKind = iota
	SymbolFunction
	SymbolInterface
	SymbolWorld
	SymbolImport
	SymbolExport
)

type TypeInfo

type TypeInfo struct {
	Name  string
	Kind  BuiltinKind
	Arity int
}

Jump to

Keyboard shortcuts

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