values

package
v0.0.0-...-2cdba53 Latest Latest
Warning

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

Go to latest
Published: Feb 11, 2019 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ArrayV

type ArrayV []vm.Value

func (*ArrayV) Assign

func (v *ArrayV) Assign(t *vm.Thread, o vm.Value)

func (*ArrayV) Elem

func (v *ArrayV) Elem(t *vm.Thread, i int64) vm.Value

func (*ArrayV) Get

func (v *ArrayV) Get(*vm.Thread) ArrayValue

func (*ArrayV) String

func (v *ArrayV) String() string

func (*ArrayV) Sub

func (v *ArrayV) Sub(i int64, len int64) ArrayValue

type ArrayValue

type ArrayValue interface {
	vm.Value
	// TODO: Get() is here for uniformity, but is completely useless.
	// If a lot of other types have similarly useless Get methods, just special-case these uses.
	Get(*vm.Thread) ArrayValue         //
	Elem(*vm.Thread, int64) vm.Value   //
	Sub(i int64, len int64) ArrayValue // Sub returns an ArrayValue backed by the same array that starts from element i and has length len.
}

type BoolV

type BoolV bool

func (*BoolV) Assign

func (v *BoolV) Assign(t *vm.Thread, o vm.Value)

func (*BoolV) Get

func (v *BoolV) Get(*vm.Thread) bool

func (*BoolV) GetIdeal

func (v *BoolV) GetIdeal() bool

func (*BoolV) Set

func (v *BoolV) Set(t *vm.Thread, x bool)

func (*BoolV) String

func (v *BoolV) String() string

type BoolValue

type BoolValue interface {
	vm.Value
	GetIdeal() bool
	Get(*vm.Thread) bool
	Set(*vm.Thread, bool)
}

type Complex128V

type Complex128V complex128

func (*Complex128V) Assign

func (v *Complex128V) Assign(t *vm.Thread, o vm.Value)

func (*Complex128V) String

func (v *Complex128V) String() string

type Complex64V

type Complex64V complex64

func (*Complex64V) Assign

func (v *Complex64V) Assign(t *vm.Thread, o vm.Value)

func (*Complex64V) String

func (v *Complex64V) String() string

type ComplexValue

type ComplexValue interface {
	vm.Value
}

type Float32V

type Float32V float32

func (*Float32V) Assign

func (v *Float32V) Assign(t *vm.Thread, o vm.Value)

func (*Float32V) Get

func (v *Float32V) Get(*vm.Thread) float64

func (*Float32V) Set

func (v *Float32V) Set(t *vm.Thread, x float64)

func (*Float32V) String

func (v *Float32V) String() string

type Float64V

type Float64V float64

func (*Float64V) Assign

func (v *Float64V) Assign(t *vm.Thread, o vm.Value)

func (*Float64V) Get

func (v *Float64V) Get(*vm.Thread) float64

func (*Float64V) Set

func (v *Float64V) Set(t *vm.Thread, x float64)

func (*Float64V) String

func (v *Float64V) String() string

type FloatValue

type FloatValue interface {
	vm.Value
	Get(*vm.Thread) float64
	Set(*vm.Thread, float64)
}

type Func

type Func interface {
	NewFrame() *vm.Frame
	Call(*vm.Thread)
}

type FuncV

type FuncV struct {
	Target Func
}

func (*FuncV) Assign

func (v *FuncV) Assign(t *vm.Thread, o vm.Value)

func (*FuncV) Get

func (v *FuncV) Get(*vm.Thread) Func

func (*FuncV) Set

func (v *FuncV) Set(t *vm.Thread, x Func)

func (*FuncV) String

func (v *FuncV) String() string

type FuncValue

type FuncValue interface {
	vm.Value
	Get(*vm.Thread) Func
	Set(*vm.Thread, Func)
}

type IdealFloatV

type IdealFloatV struct {
	V *big.Rat
}

func (*IdealFloatV) Assign

func (v *IdealFloatV) Assign(t *vm.Thread, o vm.Value)

func (*IdealFloatV) Get

func (v *IdealFloatV) Get() *big.Rat

func (*IdealFloatV) String

func (v *IdealFloatV) String() string

type IdealFloatValue

type IdealFloatValue interface {
	vm.Value
	Get() *big.Rat
}

type IdealIntV

type IdealIntV struct {
	V *big.Int
}

func (*IdealIntV) Assign

func (v *IdealIntV) Assign(t *vm.Thread, o vm.Value)

func (*IdealIntV) Get

func (v *IdealIntV) Get() *big.Int

func (*IdealIntV) String

func (v *IdealIntV) String() string

type IdealIntValue

type IdealIntValue interface {
	vm.Value
	Get() *big.Int
}

type Int16V

type Int16V int16

func (*Int16V) Assign

func (v *Int16V) Assign(t *vm.Thread, o vm.Value)

func (*Int16V) Get

func (v *Int16V) Get(*vm.Thread) int64

func (*Int16V) Set

func (v *Int16V) Set(t *vm.Thread, x int64)

func (*Int16V) String

func (v *Int16V) String() string

type Int32V

type Int32V int32

func (*Int32V) Assign

func (v *Int32V) Assign(t *vm.Thread, o vm.Value)

func (*Int32V) Get

func (v *Int32V) Get(*vm.Thread) int64

func (*Int32V) Set

func (v *Int32V) Set(t *vm.Thread, x int64)

func (*Int32V) String

func (v *Int32V) String() string

type Int64V

type Int64V int64

func (*Int64V) Assign

func (v *Int64V) Assign(t *vm.Thread, o vm.Value)

func (*Int64V) Get

func (v *Int64V) Get(*vm.Thread) int64

func (*Int64V) Set

func (v *Int64V) Set(t *vm.Thread, x int64)

func (*Int64V) String

func (v *Int64V) String() string

type Int8V

type Int8V int8

func (*Int8V) Assign

func (v *Int8V) Assign(t *vm.Thread, o vm.Value)

func (*Int8V) Get

func (v *Int8V) Get(*vm.Thread) int64

func (*Int8V) Set

func (v *Int8V) Set(t *vm.Thread, x int64)

func (*Int8V) String

func (v *Int8V) String() string

type IntV

type IntV int

func (*IntV) Assign

func (v *IntV) Assign(t *vm.Thread, o vm.Value)

func (*IntV) Get

func (v *IntV) Get(*vm.Thread) int64

func (*IntV) Set

func (v *IntV) Set(t *vm.Thread, x int64)

func (*IntV) String

func (v *IntV) String() string

type IntValue

type IntValue interface {
	vm.Value
	Get(*vm.Thread) int64
	Set(*vm.Thread, int64)
}

type Interface

type Interface struct {
	Type  vm.Type
	Value vm.Value
}

type InterfaceV

type InterfaceV struct {
	Interface
}

func (*InterfaceV) Assign

func (v *InterfaceV) Assign(t *vm.Thread, o vm.Value)

func (*InterfaceV) Get

func (v *InterfaceV) Get(*vm.Thread) Interface

func (*InterfaceV) Set

func (v *InterfaceV) Set(t *vm.Thread, x Interface)

func (*InterfaceV) String

func (v *InterfaceV) String() string

type InterfaceValue

type InterfaceValue interface {
	vm.Value
	Get(*vm.Thread) Interface
	Set(*vm.Thread, Interface)
}

type Map

type Map interface {
	Len(*vm.Thread) int64
	Elem(t *vm.Thread, key interface{}) vm.Value         // Retrieve an element from the map, returning nil if it does not exist.
	SetElem(t *vm.Thread, key interface{}, val vm.Value) // Set an entry in the map. If val is nil, delete the entry.
	Iter(func(key interface{}, val vm.Value) bool)       // TODO:  Perhaps there should be an iterator interface instead.
}

type MapV

type MapV struct {
	Target Map
}

func (*MapV) Assign

func (v *MapV) Assign(t *vm.Thread, o vm.Value)

func (*MapV) Get

func (v *MapV) Get(*vm.Thread) Map

func (*MapV) Set

func (v *MapV) Set(t *vm.Thread, x Map)

func (*MapV) String

func (v *MapV) String() string

type MapValue

type MapValue interface {
	vm.Value
	Get(*vm.Thread) Map
	Set(*vm.Thread, Map)
}

type MultiV

type MultiV []vm.Value

func (MultiV) Assign

func (v MultiV) Assign(t *vm.Thread, o vm.Value)

func (MultiV) String

func (v MultiV) String() string

type PackageV

type PackageV struct {
	Name   string
	Idents []vm.Value
}

func (*PackageV) Assign

func (v *PackageV) Assign(t *vm.Thread, o vm.Value)

func (*PackageV) Get

func (v *PackageV) Get(*vm.Thread) PackageValue

func (*PackageV) Ident

func (v *PackageV) Ident(t *vm.Thread, n int) vm.Value

func (*PackageV) String

func (v *PackageV) String() string

type PackageValue

type PackageValue interface {
	vm.Value
	Get(*vm.Thread) PackageValue
	Ident(*vm.Thread, int) vm.Value
}

type PtrV

type PtrV struct {
	Target vm.Value // nil if the pointer is nil
}

func (*PtrV) Assign

func (v *PtrV) Assign(t *vm.Thread, o vm.Value)

func (*PtrV) Get

func (v *PtrV) Get(*vm.Thread) vm.Value

func (*PtrV) Set

func (v *PtrV) Set(t *vm.Thread, x vm.Value)

func (*PtrV) String

func (v *PtrV) String() string

type PtrValue

type PtrValue interface {
	vm.Value
	Get(*vm.Thread) vm.Value
	Set(*vm.Thread, vm.Value)
}

type Slice

type Slice struct {
	Base ArrayValue
	Len  int64
	Cap  int64
}

type SliceV

type SliceV struct {
	Slice
}

func (*SliceV) Assign

func (v *SliceV) Assign(t *vm.Thread, o vm.Value)

func (*SliceV) Get

func (v *SliceV) Get(*vm.Thread) Slice

func (*SliceV) Set

func (v *SliceV) Set(t *vm.Thread, x Slice)

func (*SliceV) String

func (v *SliceV) String() string

type SliceValue

type SliceValue interface {
	vm.Value
	Get(*vm.Thread) Slice
	Set(*vm.Thread, Slice)
}

type StringV

type StringV string

func (*StringV) Assign

func (v *StringV) Assign(t *vm.Thread, o vm.Value)

func (*StringV) Get

func (v *StringV) Get(*vm.Thread) string

func (*StringV) Set

func (v *StringV) Set(t *vm.Thread, x string)

func (*StringV) String

func (v *StringV) String() string

type StringValue

type StringValue interface {
	vm.Value
	Get(*vm.Thread) string
	Set(*vm.Thread, string)
}

type StructV

type StructV []vm.Value

func (*StructV) Assign

func (v *StructV) Assign(t *vm.Thread, o vm.Value)

func (*StructV) Field

func (v *StructV) Field(t *vm.Thread, i int) vm.Value

func (*StructV) Get

func (v *StructV) Get(*vm.Thread) StructValue

func (*StructV) String

func (v *StructV) String() string

type StructValue

type StructValue interface {
	vm.Value
	// TODO: Get() is here for uniformity, but is completely useless.
	// If a lot of other types have similarly useless Get methods, just special-case these uses.
	Get(*vm.Thread) StructValue
	Field(*vm.Thread, int) vm.Value
}

type Uint16V

type Uint16V uint16

func (*Uint16V) Assign

func (v *Uint16V) Assign(t *vm.Thread, o vm.Value)

func (*Uint16V) Get

func (v *Uint16V) Get(*vm.Thread) uint64

func (*Uint16V) Set

func (v *Uint16V) Set(t *vm.Thread, x uint64)

func (*Uint16V) String

func (v *Uint16V) String() string

type Uint32V

type Uint32V uint32

func (*Uint32V) Assign

func (v *Uint32V) Assign(t *vm.Thread, o vm.Value)

func (*Uint32V) Get

func (v *Uint32V) Get(*vm.Thread) uint64

func (*Uint32V) Set

func (v *Uint32V) Set(t *vm.Thread, x uint64)

func (*Uint32V) String

func (v *Uint32V) String() string

type Uint64V

type Uint64V uint64

func (*Uint64V) Assign

func (v *Uint64V) Assign(t *vm.Thread, o vm.Value)

func (*Uint64V) Get

func (v *Uint64V) Get(*vm.Thread) uint64

func (*Uint64V) Set

func (v *Uint64V) Set(t *vm.Thread, x uint64)

func (*Uint64V) String

func (v *Uint64V) String() string

type Uint8V

type Uint8V uint8

func (*Uint8V) Assign

func (v *Uint8V) Assign(t *vm.Thread, o vm.Value)

func (*Uint8V) Get

func (v *Uint8V) Get(*vm.Thread) uint64

func (*Uint8V) Set

func (v *Uint8V) Set(t *vm.Thread, x uint64)

func (*Uint8V) String

func (v *Uint8V) String() string

type UintV

type UintV uint

func (*UintV) Assign

func (v *UintV) Assign(t *vm.Thread, o vm.Value)

func (*UintV) Get

func (v *UintV) Get(*vm.Thread) uint64

func (*UintV) Set

func (v *UintV) Set(t *vm.Thread, x uint64)

func (*UintV) String

func (v *UintV) String() string

type UintValue

type UintValue interface {
	vm.Value
	Get(*vm.Thread) uint64
	Set(*vm.Thread, uint64)
}

type UintptrV

type UintptrV uintptr

func (*UintptrV) Assign

func (v *UintptrV) Assign(t *vm.Thread, o vm.Value)

func (*UintptrV) Get

func (v *UintptrV) Get(*vm.Thread) uint64

func (*UintptrV) Set

func (v *UintptrV) Set(t *vm.Thread, x uint64)

func (*UintptrV) String

func (v *UintptrV) String() string

Jump to

Keyboard shortcuts

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