format

package
v0.0.0-...-4665129 Latest Latest
Warning

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

Go to latest
Published: Jun 8, 2023 License: GPL-2.0 Imports: 1 Imported by: 0

Documentation

Index

Constants

View Source
const (
	LoadOp = iota
	StoreOp
	NaturalOp
	GlobalLoadOp
	GlobalStoreOp
	CreateOp
	FieldOp
	RetOp
	CallOp
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Class

type Class struct {
	Name   symtab.Symbol
	Kind   CoreKind
	Fieldc uint32
}

type ClassID

type ClassID int32

type CoreKind

type CoreKind uint32
const (
	UserKind CoreKind = iota
	IntKind
	TrueKind
	FalseKind
	ArrayKind
	StringKind

	// not a kind, but can be used to init the kind list
	AllKinds
)

type ImplKind

type ImplKind int32
const (
	StandardBinding ImplKind
	ExternalBinding
	HandlerBinding
)

type Implementation

type Implementation struct {
	Class      ClassID
	Method     MethodID
	Kind       ImplKind
	EntryPoint uint32
}

type Method

type Method struct {
	Visibility Visibility
	Name       symtab.Symbol
	Offset     int32
}

type MethodID

type MethodID uint32

type Package

type Package struct {
	Imports         []string
	ExternalMethods []symtab.Symbol
	Classes         []Class
	Methods         []Method
	Implementations []Implementation
	Relocations     []Relocation
	Code            []byte
}

type Program

type Program struct {
	ExternalMethods []symtab.Symbol
	CoreKinds       []ClassID
	GlobalCount     int32
	Classes         []Class
	Methods         []Method
	Implmentations  []Implementation
	Symbols         symtab.Symtab
	Code            []byte
}

type Relocation

type Relocation struct {
	Kind RelocationKind
	ID   int32
	Pos  uint32
}

type RelocationKind

type RelocationKind int32
const (
	GlobalRel RelocationKind
	ImportRel
	ClassRel
	MethodRel
	CodeRel
)

type Visibility

type Visibility int32
const (
	Public Visibility
	Private
)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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