interpreter

package
v0.24.0-beta.1 Latest Latest
Warning

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

Go to latest
Published: Jun 2, 2022 License: Apache-2.0 Imports: 29 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CBORTagVoidValue = CBORTagBase + iota

	CBORTagSomeValue
	CBORTagAddressValue
	CBORTagCompositeValue
	CBORTagTypeValue

	CBORTagStringValue
	CBORTagCharacterValue

	// Int*
	CBORTagIntValue
	CBORTagInt8Value
	CBORTagInt16Value
	CBORTagInt32Value
	CBORTagInt64Value
	CBORTagInt128Value
	CBORTagInt256Value

	// UInt*
	CBORTagUIntValue
	CBORTagUInt8Value
	CBORTagUInt16Value
	CBORTagUInt32Value
	CBORTagUInt64Value
	CBORTagUInt128Value
	CBORTagUInt256Value

	CBORTagWord8Value
	CBORTagWord16Value
	CBORTagWord32Value
	CBORTagWord64Value

	CBORTagFix64Value

	CBORTagUFix64Value

	// Locations
	CBORTagAddressLocation
	CBORTagStringLocation
	CBORTagIdentifierLocation
	CBORTagTransactionLocation
	CBORTagScriptLocation

	CBORTagPathValue
	CBORTagCapabilityValue

	CBORTagLinkValue

	// Static Types
	CBORTagPrimitiveStaticType
	CBORTagCompositeStaticType
	CBORTagInterfaceStaticType
	CBORTagVariableSizedStaticType
	CBORTagConstantSizedStaticType
	CBORTagDictionaryStaticType
	CBORTagOptionalStaticType
	CBORTagReferenceStaticType
	CBORTagRestrictedStaticType
	CBORTagCapabilityStaticType

	// !!! *WARNING* !!!
	// ADD NEW TYPES *BEFORE* THIS WARNING.
	// DO *NOT* ADD NEW TYPES AFTER THIS LINE!
	CBORTag_Count
)
View Source
const CBORTagBase = 128
View Source
const Fix64MaxValue = math.MaxInt64
View Source
const UFix64MaxValue = math.MaxUint64
View Source
const UnknownElementSize = 0

Variables

Memory is NOT metered for this value

View Source
var CBORDecMode = func() cbor.DecMode {
	decMode, err := cbor.DecOptions{
		IntDec:           cbor.IntDecConvertNone,
		MaxArrayElements: math.MaxInt64,
		MaxMapPairs:      math.MaxInt64,
		MaxNestedLevels:  math.MaxInt16,
	}.DecMode()
	if err != nil {
		panic(err)
	}
	return decMode
}()
View Source
var CBOREncMode = func() cbor.EncMode {
	options := cbor.CanonicalEncOptions()
	options.BigIntConvert = cbor.BigIntConvertNone
	encMode, err := options.EncMode()
	if err != nil {
		panic(err)
	}
	return encMode
}()

CBOREncMode

See https://github.com/fxamacker/cbor: "For best performance, reuse EncMode and DecMode after creating them."

View Source
var ConverterDeclarations = []ValueConverterDeclaration{
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
	{
		// contains filtered or unexported fields
	},
}

It would be nice if return types in Go's function types would be covariant

View Source
var EmptyLinkValue = LinkValue{}
View Source
var EmptyPathValue = PathValue{}
View Source
var EmptyTypeValue = TypeValue{}
View Source
var Int128MemoryUsage = common.NewBigIntMemoryUsage(16)
View Source
var Int16MemoryUsage = common.NewNumberMemoryUsage(int16Size)
View Source
var Int256MemoryUsage = common.NewBigIntMemoryUsage(32)
View Source
var Int32MemoryUsage = common.NewNumberMemoryUsage(int32Size)
View Source
var Int64MemoryUsage = common.NewNumberMemoryUsage(int64Size)
View Source
var Int8MemoryUsage = common.NewNumberMemoryUsage(int8Size)
View Source
var PrimitiveStaticTypes = _PrimitiveStaticType_map
View Source
var Uint128MemoryUsage = common.NewBigIntMemoryUsage(16)
View Source
var Uint256MemoryUsage = common.NewBigIntMemoryUsage(32)

Functions

func ByteArrayValueToByteSlice added in v0.2.0

func ByteArrayValueToByteSlice(memoryGauge common.MemoryGauge, value Value) ([]byte, error)

func ByteValueToByte added in v0.2.0

func ByteValueToByte(memoryGauge common.MemoryGauge, element Value) (byte, error)

func ConvertStaticToSemaType

func ConvertStaticToSemaType(
	memoryGauge common.MemoryGauge,
	typ StaticType,
	getInterface func(location common.Location, qualifiedIdentifier string) (*sema.InterfaceType, error),
	getComposite func(location common.Location, qualifiedIdentifier string, typeID common.TypeID) (*sema.CompositeType, error),
) (_ sema.Type, err error)

func DecodeStorable added in v0.20.0

func DecodeStorable(
	decoder *cbor.StreamDecoder,
	slabStorageID atree.StorageID,
	memoryGauge common.MemoryGauge,
) (
	atree.Storable,
	error,
)

func DecodeTypeInfo added in v0.20.0

func DecodeTypeInfo(decoder *cbor.StreamDecoder, memoryGauge common.MemoryGauge) (atree.TypeInfo, error)

func EncodeStaticType added in v0.20.0

func EncodeStaticType(e *cbor.StreamEncoder, t StaticType) error

func InspectValue added in v0.19.0

func InspectValue(interpreter *Interpreter, value Value, f func(Value) bool)

func NewCompositeTypeInfo added in v0.24.0

func NewCompositeTypeInfo(
	memoryGauge common.MemoryGauge,
	location common.Location,
	qualifiedIdentifier string,
	kind common.CompositeKind,
) compositeTypeInfo

func OverEstimateBigIntStringLength added in v0.24.0

func OverEstimateBigIntStringLength(n *big.Int) int

func OverEstimateFixedPointStringLength added in v0.24.0

func OverEstimateFixedPointStringLength(
	memoryGauge common.MemoryGauge,
	integerPart NumberValue,
	scale int,
) int

func OverEstimateIntStringLength added in v0.24.0

func OverEstimateIntStringLength(n int) int

func OverEstimateNumberStringLength added in v0.24.0

func OverEstimateNumberStringLength(memoryGauge common.MemoryGauge, value NumberValue) int

func OverEstimateUintStringLength added in v0.24.0

func OverEstimateUintStringLength(n uint) int

func ReturnEmptyRange added in v0.23.0

func ReturnEmptyRange() ast.Range

func SignedBigIntToBigEndianBytes added in v0.5.0

func SignedBigIntToBigEndianBytes(bigInt *big.Int) []byte

func StaticTypeToBytes added in v0.20.0

func StaticTypeToBytes(t StaticType) (cbor.RawMessage, error)

func StorableSize added in v0.20.0

func StorableSize(storable atree.Storable) (uint32, error)

StorableSize returns the size of the storable in bytes.

func StringAtreeComparator added in v0.24.0

func StringAtreeComparator(storage atree.SlabStorage, value atree.Value, otherStorable atree.Storable) (bool, error)

func StringAtreeHashInput added in v0.24.0

func StringAtreeHashInput(v atree.Value, _ []byte) ([]byte, error)

func UnsignedBigIntToBigEndianBytes added in v0.5.0

func UnsignedBigIntToBigEndianBytes(bigInt *big.Int) []byte

func WalkValue added in v0.19.0

func WalkValue(interpreter *Interpreter, walker ValueWalker, value Value)

WalkValue traverses a Value object graph in depth-first order: It starts by calling valueWalker.WalkValue(value); If the returned walker is nil, child values are not walked. If the returned walker is not-nil, then WalkValue is invoked recursively on this returned walker for each of the non-nil children of the value, followed by a call of WalkValue(nil) on the returned walker.

The initial walker may not be nil.

Types

type AddressValue

type AddressValue common.Address

AddressValue

func ConvertAddress

func ConvertAddress(memoryGauge common.MemoryGauge, value Value) AddressValue

func NewAddressValue

func NewAddressValue(
	memoryGauge common.MemoryGauge,
	address common.Address,
) AddressValue

NewAddressValue constructs an address-value from a `common.Address`.

NOTE: This method must only be used if the `address` value is already constructed, and/or already loaded onto memory. This is a convenient method for better performance. If the `address` needs to be constructed, the `NewAddressValueFromConstructor` must be used.

func NewAddressValueFromBytes

func NewAddressValueFromBytes(memoryGauge common.MemoryGauge, constructor func() []byte) AddressValue

func NewAddressValueFromConstructor added in v0.24.0

func NewAddressValueFromConstructor(
	memoryGauge common.MemoryGauge,
	addressConstructor func() common.Address,
) AddressValue

func NewUnmeteredAddressValueFromBytes added in v0.24.0

func NewUnmeteredAddressValueFromBytes(b []byte) AddressValue

func (AddressValue) Accept added in v0.12.0

func (v AddressValue) Accept(interpreter *Interpreter, visitor Visitor)

func (AddressValue) ByteSize added in v0.20.0

func (v AddressValue) ByteSize() uint32

func (AddressValue) ChildStorables added in v0.20.0

func (AddressValue) ChildStorables() []atree.Storable

func (AddressValue) Clone added in v0.24.0

func (v AddressValue) Clone(_ *Interpreter) Value

func (AddressValue) ConformsToStaticType added in v0.24.0

func (v AddressValue) ConformsToStaticType(
	inter *Interpreter,
	_ func() LocationRange,
	staticType StaticType,
	_ TypeConformanceResults,
) bool

func (AddressValue) DeepRemove added in v0.20.0

func (AddressValue) DeepRemove(_ *Interpreter)

func (AddressValue) Encode added in v0.20.0

func (v AddressValue) Encode(e *atree.Encoder) error

Encode encodes AddressValue as

cbor.Tag{
		Number:  CBORTagAddressValue,
		Content: []byte(v.ToAddress().Bytes()),
}

func (AddressValue) Equal

func (v AddressValue) Equal(_ *Interpreter, _ func() LocationRange, other Value) bool

func (AddressValue) GetMember added in v0.3.0

func (v AddressValue) GetMember(interpreter *Interpreter, _ func() LocationRange, name string) Value

func (AddressValue) HashInput added in v0.20.0

func (v AddressValue) HashInput(_ *Interpreter, _ func() LocationRange, scratch []byte) []byte

HashInput returns a byte slice containing: - HashInputTypeAddress (1 byte) - address (8 bytes)

func (AddressValue) Hex

func (v AddressValue) Hex() string

func (AddressValue) IsImportable added in v0.24.0

func (AddressValue) IsImportable(_ *Interpreter) bool

func (AddressValue) IsResourceKinded added in v0.20.0

func (AddressValue) IsResourceKinded(_ *Interpreter) bool

func (AddressValue) IsStorable added in v0.16.0

func (AddressValue) IsStorable() bool

func (AddressValue) IsValue

func (AddressValue) IsValue()

func (AddressValue) MeteredString added in v0.24.0

func (v AddressValue) MeteredString(memoryGauge common.MemoryGauge, seenReferences SeenReferences) string

func (AddressValue) NeedsStoreTo added in v0.20.0

func (AddressValue) NeedsStoreTo(_ atree.Address) bool

func (AddressValue) RecursiveString added in v0.17.0

func (v AddressValue) RecursiveString(_ SeenReferences) string

func (AddressValue) RemoveMember added in v0.20.0

func (AddressValue) RemoveMember(_ *Interpreter, _ func() LocationRange, _ string) Value

func (AddressValue) SetMember added in v0.3.0

func (AddressValue) SetMember(_ *Interpreter, _ func() LocationRange, _ string, _ Value)

func (AddressValue) StaticType added in v0.12.0

func (AddressValue) StaticType(interpreter *Interpreter) StaticType

func (AddressValue) Storable added in v0.20.0

func (AddressValue) StoredValue added in v0.20.0

func (v AddressValue) StoredValue(_ atree.SlabStorage) (atree.Value, error)

func (AddressValue) String

func (v AddressValue) String() string

func (AddressValue) ToAddress

func (v AddressValue) ToAddress() common.Address

func (AddressValue) Transfer added in v0.20.0

func (v AddressValue) Transfer(
	interpreter *Interpreter,
	_ func() LocationRange,
	_ atree.Address,
	remove bool,
	storable atree.Storable,
) Value

func (AddressValue) Walk added in v0.19.0

func (AddressValue) Walk(_ *Interpreter, _ func(Value))

type ArgumentCountError

type ArgumentCountError struct {
	ParameterCount int
	ArgumentCount  int
}

func (ArgumentCountError) Error

func (e ArgumentCountError) Error() string

type ArrayIndexOutOfBoundsError added in v0.9.2

type ArrayIndexOutOfBoundsError struct {
	Index int
	Size  int
	LocationRange
}

ArrayIndexOutOfBoundsError

func (ArrayIndexOutOfBoundsError) Error added in v0.9.2

type ArraySliceIndicesError added in v0.24.0

type ArraySliceIndicesError struct {
	FromIndex int
	UpToIndex int
	Size      int
	LocationRange
}

ArraySliceIndicesError

func (ArraySliceIndicesError) Error added in v0.24.0

func (e ArraySliceIndicesError) Error() string

type ArrayStaticType added in v0.19.0

type ArrayStaticType interface {
	StaticType

	ElementType() StaticType
	// contains filtered or unexported methods
}

func ConvertSemaArrayTypeToStaticArrayType added in v0.19.0

func ConvertSemaArrayTypeToStaticArrayType(
	memoryGauge common.MemoryGauge,
	t sema.ArrayType,
) ArrayStaticType

type ArrayValue

type ArrayValue struct {
	Type ArrayStaticType
	// contains filtered or unexported fields
}

func ByteSliceToByteArrayValue added in v0.2.0

func ByteSliceToByteArrayValue(interpreter *Interpreter, buf []byte) *ArrayValue

func NewArrayValue added in v0.16.0

func NewArrayValue(
	interpreter *Interpreter,
	arrayType ArrayStaticType,
	address common.Address,
	values ...Value,
) *ArrayValue

func NewArrayValueWithIterator added in v0.20.0

func NewArrayValueWithIterator(
	interpreter *Interpreter,
	arrayType ArrayStaticType,
	address common.Address,
	count uint64,
	values func() Value,
) *ArrayValue

func (*ArrayValue) Accept added in v0.12.0

func (v *ArrayValue) Accept(interpreter *Interpreter, visitor Visitor)

func (*ArrayValue) Append

func (v *ArrayValue) Append(interpreter *Interpreter, getLocationRange func() LocationRange, element Value)

func (*ArrayValue) AppendAll added in v0.15.0

func (v *ArrayValue) AppendAll(interpreter *Interpreter, getLocationRange func() LocationRange, other *ArrayValue)

func (*ArrayValue) Clone added in v0.24.0

func (v *ArrayValue) Clone(interpreter *Interpreter) Value

func (*ArrayValue) Concat

func (v *ArrayValue) Concat(interpreter *Interpreter, getLocationRange func() LocationRange, other *ArrayValue) Value

func (*ArrayValue) ConformsToStaticType added in v0.24.0

func (v *ArrayValue) ConformsToStaticType(
	interpreter *Interpreter,
	getLocationRange func() LocationRange,
	staticType StaticType,
	results TypeConformanceResults,
) bool

func (*ArrayValue) Contains

func (v *ArrayValue) Contains(
	interpreter *Interpreter,
	getLocationRange func() LocationRange,
	needleValue Value,
) BoolValue

func (*ArrayValue) Count

func (v *ArrayValue) Count() int

func (*ArrayValue) DeepRemove added in v0.20.0

func (v *ArrayValue) DeepRemove(interpreter *Interpreter)

func (*ArrayValue) Destroy

func (v *ArrayValue) Destroy(interpreter *Interpreter, getLocationRange func() LocationRange)

func (*ArrayValue) Equal added in v0.15.0

func (v *ArrayValue) Equal(interpreter *Interpreter, getLocationRange func() LocationRange, other Value) bool

func (*ArrayValue) FirstIndex added in v0.24.0

func (v *ArrayValue) FirstIndex(interpreter *Interpreter, getLocationRange func() LocationRange, needleValue Value) OptionalValue

func (*ArrayValue) Get

func (v *ArrayValue) Get(interpreter *Interpreter, getLocationRange func() LocationRange, index int) Value

func (*ArrayValue) GetKey added in v0.20.0

func (v *ArrayValue) GetKey(interpreter *Interpreter, getLocationRange func() LocationRange, key Value) Value

func (*ArrayValue) GetMember

func (v *ArrayValue) GetMember(interpreter *Interpreter, getLocationRange func() LocationRange, name string) Value

func (*ArrayValue) GetOwner

func (v *ArrayValue) GetOwner() common.Address

func (*ArrayValue) Insert

func (v *ArrayValue) Insert(interpreter *Interpreter, getLocationRange func() LocationRange, index int, element Value)

func (*ArrayValue) InsertKey added in v0.20.0

func (v *ArrayValue) InsertKey(interpreter *Interpreter, getLocationRange func() LocationRange, key Value, value Value)

func (*ArrayValue) IsDestroyed added in v0.20.0

func (v *ArrayValue) IsDestroyed() bool

func (*ArrayValue) IsImportable added in v0.24.0

func (v *ArrayValue) IsImportable(inter *Interpreter) bool

func (*ArrayValue) IsReferenceTrackedResourceKindedValue added in v0.21.0

func (v *ArrayValue) IsReferenceTrackedResourceKindedValue()

func (*ArrayValue) IsResourceKinded added in v0.20.0

func (v *ArrayValue) IsResourceKinded(interpreter *Interpreter) bool

func (*ArrayValue) IsValue

func (*ArrayValue) IsValue()

func (*ArrayValue) Iterate added in v0.20.0

func (v *ArrayValue) Iterate(gauge common.MemoryGauge, f func(element Value) (resume bool))

func (*ArrayValue) MeteredString added in v0.24.0

func (v *ArrayValue) MeteredString(memoryGauge common.MemoryGauge, seenReferences SeenReferences) string

func (*ArrayValue) NeedsStoreTo added in v0.20.0

func (v *ArrayValue) NeedsStoreTo(address atree.Address) bool

func (*ArrayValue) RecursiveString added in v0.17.0

func (v *ArrayValue) RecursiveString(seenReferences SeenReferences) string

func (*ArrayValue) Remove

func (v *ArrayValue) Remove(interpreter *Interpreter, getLocationRange func() LocationRange, index int) Value

func (*ArrayValue) RemoveFirst

func (v *ArrayValue) RemoveFirst(interpreter *Interpreter, getLocationRange func() LocationRange) Value

func (*ArrayValue) RemoveKey added in v0.20.0

func (v *ArrayValue) RemoveKey(interpreter *Interpreter, getLocationRange func() LocationRange, key Value) Value

func (*ArrayValue) RemoveLast

func (v *ArrayValue) RemoveLast(interpreter *Interpreter, getLocationRange func() LocationRange) Value

func (*ArrayValue) RemoveMember added in v0.20.0

func (v *ArrayValue) RemoveMember(interpreter *Interpreter, getLocationRange func() LocationRange, _ string) Value

func (*ArrayValue) SemaType added in v0.20.0

func (v *ArrayValue) SemaType(interpreter *Interpreter) sema.ArrayType

func (*ArrayValue) Set

func (v *ArrayValue) Set(interpreter *Interpreter, getLocationRange func() LocationRange, index int, element Value)

func (*ArrayValue) SetKey added in v0.20.0

func (v *ArrayValue) SetKey(interpreter *Interpreter, getLocationRange func() LocationRange, key Value, value Value)

func (*ArrayValue) SetMember

func (v *ArrayValue) SetMember(interpreter *Interpreter, getLocationRange func() LocationRange, _ string, _ Value)

func (*ArrayValue) Slice added in v0.24.0

func (v *ArrayValue) Slice(
	interpreter *Interpreter,
	from IntValue,
	to IntValue,
	getLocationRange func() LocationRange,
) Value

func (*ArrayValue) StaticType added in v0.12.0

func (v *ArrayValue) StaticType(_ *Interpreter) StaticType

func (*ArrayValue) Storable added in v0.20.0

func (*ArrayValue) StorageID added in v0.20.0

func (v *ArrayValue) StorageID() atree.StorageID

func (*ArrayValue) String

func (v *ArrayValue) String() string

func (*ArrayValue) Transfer added in v0.20.0

func (v *ArrayValue) Transfer(
	interpreter *Interpreter,
	getLocationRange func() LocationRange,
	address atree.Address,
	remove bool,
	storable atree.Storable,
) Value

func (*ArrayValue) Walk added in v0.19.0

func (v *ArrayValue) Walk(interpreter *Interpreter, walkChild func(Value))

type BLSAggregatePublicKeysHandlerFunc added in v0.23.0

type BLSAggregatePublicKeysHandlerFunc func(
	interpreter *Interpreter,
	getLocationRange func() LocationRange,
	publicKeys *ArrayValue,
) OptionalValue

BLSAggregatePublicKeysHandlerFunc is a function that aggregates multiple BLS public keys. Parameter types: - publicKeys: [PublicKey] Expected result type: PublicKey?

type BLSAggregateSignaturesHandlerFunc added in v0.23.0

type BLSAggregateSignaturesHandlerFunc func(
	inter *Interpreter,
	getLocationRange func() LocationRange,
	signatures *ArrayValue,
) OptionalValue

BLSAggregateSignaturesHandlerFunc is a function that aggregates multiple BLS signatures. Parameter types: - signatures: [[UInt8]] Expected result type: [UInt8]?

type BLSVerifyPoPHandlerFunc added in v0.23.0

type BLSVerifyPoPHandlerFunc func(
	interpreter *Interpreter,
	getLocationRange func() LocationRange,
	publicKey MemberAccessibleValue,
	signature *ArrayValue,
) BoolValue

BLSVerifyPoPHandlerFunc is a function that verifies a BLS proof of possession. Parameter types: - publicKey: PublicKey - signature: [UInt8] Expected result type: Bool

type BigNumberValue

type BigNumberValue interface {
	NumberValue
	ByteLength() int
	ToBigInt(memoryGauge common.MemoryGauge) *big.Int
}

BigNumberValue is a number value with an integer value outside the range of int64

type BoolValue

type BoolValue bool

func NewBoolValue added in v0.24.0

func NewBoolValue(memoryGauge common.MemoryGauge, value bool) BoolValue

func NewBoolValueFromConstructor added in v0.24.0

func NewBoolValueFromConstructor(memoryGauge common.MemoryGauge, constructor func() bool) BoolValue

func NewUnmeteredBoolValue added in v0.24.0

func NewUnmeteredBoolValue(value bool) BoolValue

func (BoolValue) Accept added in v0.12.0

func (v BoolValue) Accept(interpreter *Interpreter, visitor Visitor)

func (BoolValue) ByteSize added in v0.20.0

func (v BoolValue) ByteSize() uint32

func (BoolValue) ChildStorables added in v0.20.0

func (BoolValue) ChildStorables() []atree.Storable

func (BoolValue) Clone added in v0.24.0

func (v BoolValue) Clone(_ *Interpreter) Value

func (BoolValue) ConformsToStaticType added in v0.24.0

func (v BoolValue) ConformsToStaticType(
	inter *Interpreter,
	_ func() LocationRange,
	staticType StaticType,
	_ TypeConformanceResults,
) bool

func (BoolValue) DeepRemove added in v0.20.0

func (BoolValue) DeepRemove(_ *Interpreter)

func (BoolValue) Encode added in v0.20.0

func (v BoolValue) Encode(e *atree.Encoder) error

Encode encodes the value as a CBOR bool

func (BoolValue) Equal

func (v BoolValue) Equal(_ *Interpreter, _ func() LocationRange, other Value) bool

func (BoolValue) HashInput added in v0.20.0

func (v BoolValue) HashInput(_ *Interpreter, _ func() LocationRange, scratch []byte) []byte

HashInput returns a byte slice containing: - HashInputTypeBool (1 byte) - 1/0 (1 byte)

func (BoolValue) IsImportable added in v0.24.0

func (BoolValue) IsImportable(_ *Interpreter) bool

func (BoolValue) IsResourceKinded added in v0.20.0

func (BoolValue) IsResourceKinded(_ *Interpreter) bool

func (BoolValue) IsValue

func (BoolValue) IsValue()

func (BoolValue) MeteredString added in v0.24.0

func (v BoolValue) MeteredString(memoryGauge common.MemoryGauge, _ SeenReferences) string

func (BoolValue) NeedsStoreTo added in v0.20.0

func (BoolValue) NeedsStoreTo(_ atree.Address) bool

func (BoolValue) Negate

func (v BoolValue) Negate(interpreter *Interpreter) BoolValue

func (BoolValue) RecursiveString added in v0.17.0

func (v BoolValue) RecursiveString(_ SeenReferences) string

func (BoolValue) StaticType added in v0.12.0

func (BoolValue) StaticType(interpreter *Interpreter) StaticType

func (BoolValue) Storable added in v0.20.0

func (BoolValue) StoredValue added in v0.20.0

func (v BoolValue) StoredValue(_ atree.SlabStorage) (atree.Value, error)

func (BoolValue) String

func (v BoolValue) String() string

func (BoolValue) Transfer added in v0.20.0

func (v BoolValue) Transfer(
	interpreter *Interpreter,
	_ func() LocationRange,
	_ atree.Address,
	remove bool,
	storable atree.Storable,
) Value

func (BoolValue) Walk added in v0.19.0

func (BoolValue) Walk(_ *Interpreter, _ func(Value))

type BoundFunctionValue

type BoundFunctionValue struct {
	Function FunctionValue
	Self     *CompositeValue
}

BoundFunctionValue

func NewBoundFunctionValue added in v0.24.0

func NewBoundFunctionValue(
	interpreter *Interpreter,
	function FunctionValue,
	self *CompositeValue,
) BoundFunctionValue

func (BoundFunctionValue) Accept added in v0.12.0

func (f BoundFunctionValue) Accept(interpreter *Interpreter, visitor Visitor)

func (BoundFunctionValue) Clone added in v0.24.0

func (f BoundFunctionValue) Clone(_ *Interpreter) Value

func (BoundFunctionValue) ConformsToStaticType added in v0.24.0

func (f BoundFunctionValue) ConformsToStaticType(
	interpreter *Interpreter,
	getLocationRange func() LocationRange,
	staticType StaticType,
	results TypeConformanceResults,
) bool

func (BoundFunctionValue) DeepRemove added in v0.20.0

func (BoundFunctionValue) DeepRemove(_ *Interpreter)

func (BoundFunctionValue) IsImportable added in v0.24.0

func (BoundFunctionValue) IsImportable(_ *Interpreter) bool

func (BoundFunctionValue) IsResourceKinded added in v0.20.0

func (BoundFunctionValue) IsResourceKinded(_ *Interpreter) bool

func (BoundFunctionValue) IsValue

func (BoundFunctionValue) IsValue()

func (BoundFunctionValue) MeteredString added in v0.24.0

func (f BoundFunctionValue) MeteredString(memoryGauge common.MemoryGauge, seenReferences SeenReferences) string

func (BoundFunctionValue) NeedsStoreTo added in v0.20.0

func (BoundFunctionValue) NeedsStoreTo(_ atree.Address) bool

func (BoundFunctionValue) RecursiveString added in v0.17.0

func (f BoundFunctionValue) RecursiveString(seenReferences SeenReferences) string

func (BoundFunctionValue) StaticType added in v0.12.0

func (f BoundFunctionValue) StaticType(inter *Interpreter) StaticType

func (BoundFunctionValue) Storable added in v0.20.0

func (BoundFunctionValue) String added in v0.2.0

func (f BoundFunctionValue) String() string

func (BoundFunctionValue) Transfer added in v0.20.0

func (f BoundFunctionValue) Transfer(
	interpreter *Interpreter,
	_ func() LocationRange,
	_ atree.Address,
	remove bool,
	storable atree.Storable,
) Value

func (BoundFunctionValue) Walk added in v0.19.0

func (f BoundFunctionValue) Walk(_ *Interpreter, _ func(Value))

type CapabilityStaticType added in v0.5.0

type CapabilityStaticType struct {
	BorrowType StaticType
}

func NewCapabilityStaticType added in v0.24.0

func NewCapabilityStaticType(
	memoryGauge common.MemoryGauge,
	borrowType StaticType,
) CapabilityStaticType

func (CapabilityStaticType) Encode added in v0.20.0

func (t CapabilityStaticType) Encode(e *cbor.StreamEncoder) error

Encode encodes CapabilityStaticType as

cbor.Tag{
		Number:  CBORTagCapabilityStaticType,
		Content: StaticType(v.BorrowType),
}

func (CapabilityStaticType) Equal added in v0.15.0

func (t CapabilityStaticType) Equal(other StaticType) bool

func (CapabilityStaticType) MeteredString added in v0.24.0

func (t CapabilityStaticType) MeteredString(memoryGauge common.MemoryGauge) string

func (CapabilityStaticType) String added in v0.5.0

func (t CapabilityStaticType) String() string

type CapabilityValue

type CapabilityValue struct {
	Address    AddressValue
	Path       PathValue
	BorrowType StaticType
}

func NewCapabilityValue added in v0.24.0

func NewCapabilityValue(
	memoryGauge common.MemoryGauge,
	address AddressValue,
	path PathValue,
	borrowType StaticType,
) *CapabilityValue

func NewUnmeteredCapabilityValue added in v0.24.0

func NewUnmeteredCapabilityValue(address AddressValue, path PathValue, borrowType StaticType) *CapabilityValue

func (*CapabilityValue) Accept added in v0.12.0

func (v *CapabilityValue) Accept(interpreter *Interpreter, visitor Visitor)

func (*CapabilityValue) ByteSize added in v0.20.0

func (v *CapabilityValue) ByteSize() uint32

func (*CapabilityValue) ChildStorables added in v0.20.0

func (v *CapabilityValue) ChildStorables() []atree.Storable

func (*CapabilityValue) Clone added in v0.24.0

func (v *CapabilityValue) Clone(interpreter *Interpreter) Value

func (*CapabilityValue) ConformsToStaticType added in v0.24.0

func (v *CapabilityValue) ConformsToStaticType(
	inter *Interpreter,
	_ func() LocationRange,
	staticType StaticType,
	_ TypeConformanceResults,
) bool

func (*CapabilityValue) DeepRemove added in v0.20.0

func (v *CapabilityValue) DeepRemove(interpreter *Interpreter)

func (*CapabilityValue) Encode added in v0.20.0

func (v *CapabilityValue) Encode(e *atree.Encoder) error

Encode encodes CapabilityStorable as

cbor.Tag{
			Number: CBORTagCapabilityValue,
			Content: []interface{}{
					encodedCapabilityValueAddressFieldKey:    AddressValue(v.Address),
					encodedCapabilityValuePathFieldKey:       PathValue(v.Path),
					encodedCapabilityValueBorrowTypeFieldKey: StaticType(v.BorrowType),
				},
}

func (*CapabilityValue) Equal added in v0.15.0

func (v *CapabilityValue) Equal(interpreter *Interpreter, getLocationRange func() LocationRange, other Value) bool

func (*CapabilityValue) GetMember

func (v *CapabilityValue) GetMember(interpreter *Interpreter, _ func() LocationRange, name string) Value

func (*CapabilityValue) IsImportable added in v0.24.0

func (v *CapabilityValue) IsImportable(_ *Interpreter) bool

func (*CapabilityValue) IsResourceKinded added in v0.20.0

func (*CapabilityValue) IsResourceKinded(_ *Interpreter) bool

func (*CapabilityValue) IsStorable added in v0.16.0

func (*CapabilityValue) IsStorable() bool

func (*CapabilityValue) IsValue

func (*CapabilityValue) IsValue()

func (*CapabilityValue) MeteredString added in v0.24.0

func (v *CapabilityValue) MeteredString(memoryGauge common.MemoryGauge, seenReferences SeenReferences) string

func (*CapabilityValue) NeedsStoreTo added in v0.20.0

func (*CapabilityValue) NeedsStoreTo(_ atree.Address) bool

func (*CapabilityValue) RecursiveString added in v0.17.0

func (v *CapabilityValue) RecursiveString(seenReferences SeenReferences) string

func (*CapabilityValue) RemoveMember added in v0.20.0

func (*CapabilityValue) RemoveMember(_ *Interpreter, _ func() LocationRange, _ string) Value

func (*CapabilityValue) SetMember

func (*CapabilityValue) SetMember(_ *Interpreter, _ func() LocationRange, _ string, _ Value)

func (*CapabilityValue) StaticType added in v0.12.0

func (v *CapabilityValue) StaticType(inter *Interpreter) StaticType

func (*CapabilityValue) Storable added in v0.20.0

func (v *CapabilityValue) Storable(
	storage atree.SlabStorage,
	address atree.Address,
	maxInlineSize uint64,
) (atree.Storable, error)

func (*CapabilityValue) StoredValue added in v0.20.0

func (v *CapabilityValue) StoredValue(_ atree.SlabStorage) (atree.Value, error)

func (*CapabilityValue) String

func (v *CapabilityValue) String() string

func (*CapabilityValue) Transfer added in v0.20.0

func (v *CapabilityValue) Transfer(
	interpreter *Interpreter,
	_ func() LocationRange,
	_ atree.Address,
	remove bool,
	storable atree.Storable,
) Value

func (*CapabilityValue) Walk added in v0.19.0

func (v *CapabilityValue) Walk(_ *Interpreter, walkChild func(Value))

type CharacterValue added in v0.24.0

type CharacterValue string

CharacterValue represents a Cadence character, which is a Unicode extended grapheme cluster. Hence, use a Go string to be able to hold multiple Unicode code points (Go runes). It should consist of exactly one grapheme cluster

func NewCharacterValue added in v0.24.0

func NewCharacterValue(
	memoryGauge common.MemoryGauge,
	memoryUsage common.MemoryUsage,
	characterConstructor func() string,
) CharacterValue

func NewUnmeteredCharacterValue added in v0.24.0

func NewUnmeteredCharacterValue(r string) CharacterValue

func (CharacterValue) Accept added in v0.24.0

func (v CharacterValue) Accept(interpreter *Interpreter, visitor Visitor)

func (CharacterValue) ByteSize added in v0.24.0

func (v CharacterValue) ByteSize() uint32

func (CharacterValue) ChildStorables added in v0.24.0

func (CharacterValue) ChildStorables() []atree.Storable

func (CharacterValue) Clone added in v0.24.0

func (v CharacterValue) Clone(_ *Interpreter) Value

func (CharacterValue) ConformsToStaticType added in v0.24.0

func (v CharacterValue) ConformsToStaticType(
	inter *Interpreter,
	_ func() LocationRange,
	staticType StaticType,
	_ TypeConformanceResults,
) bool

func (CharacterValue) DeepRemove added in v0.24.0

func (CharacterValue) DeepRemove(_ *Interpreter)

func (CharacterValue) Encode added in v0.24.0

func (v CharacterValue) Encode(e *atree.Encoder) error

Encode encodes the value as a CBOR string

func (CharacterValue) Equal added in v0.24.0

func (v CharacterValue) Equal(_ *Interpreter, _ func() LocationRange, other Value) bool

func (CharacterValue) GetMember added in v0.24.0

func (v CharacterValue) GetMember(interpreter *Interpreter, _ func() LocationRange, name string) Value

func (CharacterValue) HashInput added in v0.24.0

func (v CharacterValue) HashInput(_ *Interpreter, _ func() LocationRange, scratch []byte) []byte

func (CharacterValue) IsImportable added in v0.24.0

func (CharacterValue) IsImportable(_ *Interpreter) bool

func (CharacterValue) IsResourceKinded added in v0.24.0

func (CharacterValue) IsResourceKinded(_ *Interpreter) bool

func (CharacterValue) IsValue added in v0.24.0

func (CharacterValue) IsValue()

func (CharacterValue) MeteredString added in v0.24.0

func (v CharacterValue) MeteredString(memoryGauge common.MemoryGauge, _ SeenReferences) string

func (CharacterValue) NeedsStoreTo added in v0.24.0

func (CharacterValue) NeedsStoreTo(_ atree.Address) bool

func (CharacterValue) NormalForm added in v0.24.0

func (v CharacterValue) NormalForm() string

func (CharacterValue) RecursiveString added in v0.24.0

func (v CharacterValue) RecursiveString(_ SeenReferences) string

func (CharacterValue) RemoveMember added in v0.24.0

func (CharacterValue) RemoveMember(_ *Interpreter, _ func() LocationRange, _ string) Value

func (CharacterValue) SetMember added in v0.24.0

func (CharacterValue) SetMember(_ *Interpreter, _ func() LocationRange, _ string, _ Value)

func (CharacterValue) StaticType added in v0.24.0

func (CharacterValue) StaticType(interpreter *Interpreter) StaticType

func (CharacterValue) Storable added in v0.24.0

func (CharacterValue) StoredValue added in v0.24.0

func (v CharacterValue) StoredValue(_ atree.SlabStorage) (atree.Value, error)

func (CharacterValue) String added in v0.24.0

func (v CharacterValue) String() string

func (CharacterValue) Transfer added in v0.24.0

func (v CharacterValue) Transfer(
	interpreter *Interpreter,
	_ func() LocationRange,
	_ atree.Address,
	remove bool,
	storable atree.Storable,
) Value

func (CharacterValue) Walk added in v0.24.0

func (CharacterValue) Walk(_ *Interpreter, _ func(Value))

type CompositeField added in v0.20.0

type CompositeField struct {
	Name  string
	Value Value
}

func NewCompositeField added in v0.24.0

func NewCompositeField(memoryGauge common.MemoryGauge, name string, value Value) CompositeField

func NewUnmeteredCompositeField added in v0.24.0

func NewUnmeteredCompositeField(name string, value Value) CompositeField

type CompositeStaticType

type CompositeStaticType struct {
	Location            common.Location
	QualifiedIdentifier string
	TypeID              common.TypeID
}

func NewCompositeStaticType added in v0.20.0

func NewCompositeStaticType(
	memoryGauge common.MemoryGauge,
	location common.Location,
	qualifiedIdentifier string,
	typeID common.TypeID,
) CompositeStaticType

func NewCompositeStaticTypeComputeTypeID added in v0.24.0

func NewCompositeStaticTypeComputeTypeID(
	memoryGauge common.MemoryGauge,
	location common.Location,
	qualifiedIdentifier string,
) CompositeStaticType

func (CompositeStaticType) Encode added in v0.20.0

func (t CompositeStaticType) Encode(e *cbor.StreamEncoder) error

Encode encodes CompositeStaticType as

cbor.Tag{
			Number: CBORTagCompositeStaticType,
			Content: cborArray{
				encodedCompositeStaticTypeLocationFieldKey:            Location(v.Location),
				encodedCompositeStaticTypeQualifiedIdentifierFieldKey: string(v.QualifiedIdentifier),
		},
}

func (CompositeStaticType) Equal added in v0.15.0

func (t CompositeStaticType) Equal(other StaticType) bool

func (CompositeStaticType) MeteredString added in v0.24.0

func (t CompositeStaticType) MeteredString(memoryGauge common.MemoryGauge) string

func (CompositeStaticType) String

func (t CompositeStaticType) String() string

type CompositeTypeCode added in v0.5.0

type CompositeTypeCode struct {
	CompositeFunctions map[string]FunctionValue
	DestructorFunction FunctionValue
}

CompositeTypeCode contains the "prepared" / "callable" "code" for the functions and the destructor of a composite (contract, struct, resource, event).

As there is no support for inheritance of concrete types, these are the "leaf" nodes in the call chain, and are functions.

type CompositeValue

type CompositeValue struct {
	Location            common.Location
	QualifiedIdentifier string
	Kind                common.CompositeKind
	InjectedFields      map[string]Value
	ComputedFields      map[string]ComputedField
	NestedVariables     map[string]*Variable
	Functions           map[string]FunctionValue
	Destructor          FunctionValue
	Stringer            func(gauge common.MemoryGauge, value *CompositeValue, seenReferences SeenReferences) string
	// contains filtered or unexported fields
}

func NewCompositeValue added in v0.2.1

func NewCompositeValue(
	interpreter *Interpreter,
	location common.Location,
	qualifiedIdentifier string,
	kind common.CompositeKind,
	fields []CompositeField,
	address common.Address,
) *CompositeValue

func NewEnumCaseValue added in v0.18.0

func NewEnumCaseValue(
	interpreter *Interpreter,
	enumType *sema.CompositeType,
	rawValue NumberValue,
	functions map[string]FunctionValue,
) *CompositeValue

func NewPublicKeyValue added in v0.14.0

func NewPublicKeyValue(
	interpreter *Interpreter,
	getLocationRange func() LocationRange,
	publicKey *ArrayValue,
	signAlgo *CompositeValue,
	validatePublicKey PublicKeyValidationHandlerFunc,
) *CompositeValue

NewPublicKeyValue constructs a PublicKey value.

func (*CompositeValue) Accept added in v0.12.0

func (v *CompositeValue) Accept(interpreter *Interpreter, visitor Visitor)

func (*CompositeValue) Clone added in v0.24.0

func (v *CompositeValue) Clone(interpreter *Interpreter) Value

func (*CompositeValue) ConformsToStaticType added in v0.24.0

func (v *CompositeValue) ConformsToStaticType(
	interpreter *Interpreter,
	getLocationRange func() LocationRange,
	staticType StaticType,
	results TypeConformanceResults,
) bool

func (*CompositeValue) DeepRemove added in v0.20.0

func (v *CompositeValue) DeepRemove(interpreter *Interpreter)

func (*CompositeValue) Destroy

func (v *CompositeValue) Destroy(interpreter *Interpreter, getLocationRange func() LocationRange)

func (*CompositeValue) Equal added in v0.10.0

func (v *CompositeValue) Equal(interpreter *Interpreter, getLocationRange func() LocationRange, other Value) bool

func (*CompositeValue) ForEachField added in v0.20.0

func (v *CompositeValue) ForEachField(gauge common.MemoryGauge, f func(fieldName string, fieldValue Value))

ForEachField iterates over all field-name field-value pairs of the composite value. It does NOT iterate over computed fields and functions!

func (*CompositeValue) GetField

func (v *CompositeValue) GetField(interpreter *Interpreter, getLocationRange func() LocationRange, name string) Value

func (*CompositeValue) GetMember

func (v *CompositeValue) GetMember(interpreter *Interpreter, getLocationRange func() LocationRange, name string) Value

func (*CompositeValue) GetOwner

func (v *CompositeValue) GetOwner() common.Address

func (*CompositeValue) HashInput added in v0.20.0

func (v *CompositeValue) HashInput(interpreter *Interpreter, getLocationRange func() LocationRange, scratch []byte) []byte

HashInput returns a byte slice containing: - HashInputTypeEnum (1 byte) - type id (n bytes) - hash input of raw value field name (n bytes)

func (*CompositeValue) InitializeFunctions added in v0.2.1

func (v *CompositeValue) InitializeFunctions(interpreter *Interpreter)

func (*CompositeValue) IsDestroyed added in v0.20.0

func (v *CompositeValue) IsDestroyed() bool

func (*CompositeValue) IsImportable added in v0.24.0

func (v *CompositeValue) IsImportable(inter *Interpreter) bool

func (*CompositeValue) IsReferenceTrackedResourceKindedValue added in v0.21.0

func (v *CompositeValue) IsReferenceTrackedResourceKindedValue()

func (*CompositeValue) IsResourceKinded added in v0.20.0

func (v *CompositeValue) IsResourceKinded(_ *Interpreter) bool

func (*CompositeValue) IsStorable added in v0.16.0

func (v *CompositeValue) IsStorable() bool

func (*CompositeValue) IsValue

func (*CompositeValue) IsValue()

func (*CompositeValue) MeteredString added in v0.24.0

func (v *CompositeValue) MeteredString(memoryGauge common.MemoryGauge, seenReferences SeenReferences) string

func (*CompositeValue) NeedsStoreTo added in v0.20.0

func (v *CompositeValue) NeedsStoreTo(address atree.Address) bool

func (*CompositeValue) OwnerValue

func (v *CompositeValue) OwnerValue(interpreter *Interpreter, getLocationRange func() LocationRange) OptionalValue

func (*CompositeValue) RecursiveString added in v0.17.0

func (v *CompositeValue) RecursiveString(seenReferences SeenReferences) string

func (*CompositeValue) RemoveField added in v0.20.0

func (v *CompositeValue) RemoveField(
	interpreter *Interpreter,
	_ func() LocationRange,
	name string,
)

func (*CompositeValue) RemoveMember added in v0.20.0

func (v *CompositeValue) RemoveMember(
	interpreter *Interpreter,
	getLocationRange func() LocationRange,
	name string,
) Value

func (*CompositeValue) ResourceUUID added in v0.24.0

func (v *CompositeValue) ResourceUUID(interpreter *Interpreter, getLocationRange func() LocationRange) *UInt64Value

func (*CompositeValue) SetMember

func (v *CompositeValue) SetMember(
	interpreter *Interpreter,
	getLocationRange func() LocationRange,
	name string,
	value Value,
)

func (*CompositeValue) StaticType added in v0.12.0

func (v *CompositeValue) StaticType(interpreter *Interpreter) StaticType

func (*CompositeValue) Storable added in v0.20.0

func (*CompositeValue) StorageID added in v0.20.0

func (v *CompositeValue) StorageID() atree.StorageID

func (*CompositeValue) String

func (v *CompositeValue) String() string

func (*CompositeValue) Transfer added in v0.20.0

func (v *CompositeValue) Transfer(
	interpreter *Interpreter,
	getLocationRange func() LocationRange,
	address atree.Address,
	remove bool,
	storable atree.Storable,
) Value

func (*CompositeValue) TypeID

func (v *CompositeValue) TypeID() common.TypeID

func (*CompositeValue) Walk added in v0.19.0

func (v *CompositeValue) Walk(interpreter *Interpreter, walkChild func(Value))

Walk iterates over all field values of the composite value. It does NOT walk the computed fields and functions!

type ComputedField added in v0.13.5

type ComputedField func(*Interpreter, func() LocationRange) Value

type ConditionError

type ConditionError struct {
	ConditionKind ast.ConditionKind
	Message       string
	LocationRange
}

func (ConditionError) Error

func (e ConditionError) Error() string

type ConstantSizedStaticType

type ConstantSizedStaticType struct {
	Type StaticType
	Size int64
}

func NewConstantSizedStaticType added in v0.24.0

func NewConstantSizedStaticType(
	memoryGauge common.MemoryGauge,
	elementType StaticType,
	size int64,
) ConstantSizedStaticType

func (ConstantSizedStaticType) ElementType added in v0.19.0

func (t ConstantSizedStaticType) ElementType() StaticType

func (ConstantSizedStaticType) Encode added in v0.20.0

func (t ConstantSizedStaticType) Encode(e *cbor.StreamEncoder) error

Encode encodes ConstantSizedStaticType as

cbor.Tag{
		Number: CBORTagConstantSizedStaticType,
		Content: cborArray{
				encodedConstantSizedStaticTypeSizeFieldKey: int64(v.Size),
				encodedConstantSizedStaticTypeTypeFieldKey: StaticType(v.Type),
		},
}

func (ConstantSizedStaticType) Equal added in v0.15.0

func (t ConstantSizedStaticType) Equal(other StaticType) bool

func (ConstantSizedStaticType) MeteredString added in v0.24.0

func (t ConstantSizedStaticType) MeteredString(memoryGauge common.MemoryGauge) string

func (ConstantSizedStaticType) String

func (t ConstantSizedStaticType) String() string

type ContainerMutationError added in v0.19.0

type ContainerMutationError struct {
	ExpectedType sema.Type
	ActualType   sema.Type
	LocationRange
}

ContainerMutationError

func (ContainerMutationError) Error added in v0.19.0

func (e ContainerMutationError) Error() string

type ContractValueHandlerFunc

type ContractValueHandlerFunc func(
	inter *Interpreter,
	compositeType *sema.CompositeType,
	constructorGenerator func(common.Address) *HostFunctionValue,
	invocationRange ast.Range,
) *CompositeValue

ContractValueHandlerFunc is a function that handles contract values.

type CyclicLinkError

type CyclicLinkError struct {
	Address common.Address
	Paths   []PathValue
	LocationRange
}

CyclicLinkError

func (CyclicLinkError) Error

func (e CyclicLinkError) Error() string

type Debugger added in v0.24.0

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

func NewDebugger added in v0.24.0

func NewDebugger() *Debugger

func (*Debugger) Continue added in v0.24.0

func (d *Debugger) Continue() bool

func (*Debugger) CurrentActivation added in v0.24.0

func (d *Debugger) CurrentActivation(interpreter *Interpreter) *VariableActivation

func (*Debugger) Next added in v0.24.0

func (d *Debugger) Next() Stop

func (*Debugger) Pause added in v0.24.0

func (d *Debugger) Pause() Stop

func (*Debugger) PauseRequested added in v0.24.0

func (d *Debugger) PauseRequested() bool

func (*Debugger) RequestPause added in v0.24.0

func (d *Debugger) RequestPause()

func (*Debugger) Stops added in v0.24.0

func (d *Debugger) Stops() <-chan Stop

type DereferenceError

type DereferenceError struct {
	LocationRange
}

func (DereferenceError) Error

func (e DereferenceError) Error() string

type DictionaryEntryValues

type DictionaryEntryValues struct {
	Key   Value
	Value Value
}

type DictionaryStaticType

type DictionaryStaticType struct {
	KeyType   StaticType
	ValueType StaticType
}

func ConvertSemaDictionaryTypeToStaticDictionaryType added in v0.19.0

func ConvertSemaDictionaryTypeToStaticDictionaryType(
	memoryGauge common.MemoryGauge,
	t *sema.DictionaryType,
) DictionaryStaticType

func NewDictionaryStaticType added in v0.24.0

func NewDictionaryStaticType(
	memoryGauge common.MemoryGauge,
	keyType, valueType StaticType,
) DictionaryStaticType

func (DictionaryStaticType) Encode added in v0.20.0

func (t DictionaryStaticType) Encode(e *cbor.StreamEncoder) error

Encode encodes DictionaryStaticType as

cbor.Tag{
		Number: CBORTagDictionaryStaticType,
		Content: []interface{}{
				encodedDictionaryStaticTypeKeyTypeFieldKey:   StaticType(v.KeyType),
				encodedDictionaryStaticTypeValueTypeFieldKey: StaticType(v.ValueType),
		},
}

func (DictionaryStaticType) Equal added in v0.15.0

func (t DictionaryStaticType) Equal(other StaticType) bool

func (DictionaryStaticType) MeteredString added in v0.24.0

func (t DictionaryStaticType) MeteredString(memoryGauge common.MemoryGauge) string

func (DictionaryStaticType) String

func (t DictionaryStaticType) String() string

type DictionaryValue

type DictionaryValue struct {
	Type DictionaryStaticType
	// contains filtered or unexported fields
}

func NewDictionaryValue added in v0.20.0

func NewDictionaryValue(
	interpreter *Interpreter,
	dictionaryType DictionaryStaticType,
	keysAndValues ...Value,
) *DictionaryValue

func NewDictionaryValueWithAddress added in v0.20.0

func NewDictionaryValueWithAddress(
	interpreter *Interpreter,
	dictionaryType DictionaryStaticType,
	address common.Address,
	keysAndValues ...Value,
) *DictionaryValue

func (*DictionaryValue) Accept added in v0.12.0

func (v *DictionaryValue) Accept(interpreter *Interpreter, visitor Visitor)

func (*DictionaryValue) Clone added in v0.24.0

func (v *DictionaryValue) Clone(interpreter *Interpreter) Value

func (*DictionaryValue) ConformsToStaticType added in v0.24.0

func (v *DictionaryValue) ConformsToStaticType(
	interpreter *Interpreter,
	getLocationRange func() LocationRange,
	staticType StaticType,
	results TypeConformanceResults,
) bool

func (*DictionaryValue) ContainsKey added in v0.14.4

func (v *DictionaryValue) ContainsKey(
	interpreter *Interpreter,
	getLocationRange func() LocationRange,
	keyValue Value,
) BoolValue

func (*DictionaryValue) Count

func (v *DictionaryValue) Count() int

func (*DictionaryValue) DeepRemove added in v0.20.0

func (v *DictionaryValue) DeepRemove(interpreter *Interpreter)

func (*DictionaryValue) Destroy

func (v *DictionaryValue) Destroy(interpreter *Interpreter, getLocationRange func() LocationRange)

func (*DictionaryValue) Equal added in v0.15.0

func (v *DictionaryValue) Equal(interpreter *Interpreter, getLocationRange func() LocationRange, other Value) bool

func (*DictionaryValue) Get

func (v *DictionaryValue) Get(
	interpreter *Interpreter,
	getLocationRange func() LocationRange,
	keyValue Value,
) (Value, bool)

func (*DictionaryValue) GetKey added in v0.20.0

func (v *DictionaryValue) GetKey(interpreter *Interpreter, getLocationRange func() LocationRange, keyValue Value) Value

func (*DictionaryValue) GetMember

func (v *DictionaryValue) GetMember(
	interpreter *Interpreter,
	getLocationRange func() LocationRange,
	name string,
) Value

func (*DictionaryValue) GetOwner

func (v *DictionaryValue) GetOwner() common.Address

func (*DictionaryValue) Insert

func (v *DictionaryValue) Insert(
	interpreter *Interpreter,
	getLocationRange func() LocationRange,
	keyValue, value Value,
) OptionalValue

func (*DictionaryValue) InsertKey added in v0.20.0

func (v *DictionaryValue) InsertKey(
	interpreter *Interpreter,
	getLocationRange func() LocationRange,
	key, value Value,
)

func (*DictionaryValue) IsDestroyed added in v0.20.0

func (v *DictionaryValue) IsDestroyed() bool

func (*DictionaryValue) IsImportable added in v0.24.0

func (v *DictionaryValue) IsImportable(inter *Interpreter) bool

func (*DictionaryValue) IsReferenceTrackedResourceKindedValue added in v0.21.0

func (v *DictionaryValue) IsReferenceTrackedResourceKindedValue()

func (*DictionaryValue) IsResourceKinded added in v0.20.0

func (v *DictionaryValue) IsResourceKinded(interpreter *Interpreter) bool

func (*DictionaryValue) IsValue

func (*DictionaryValue) IsValue()

func (*DictionaryValue) Iterate added in v0.20.0

func (v *DictionaryValue) Iterate(gauge common.MemoryGauge, f func(key, value Value) (resume bool))

func (*DictionaryValue) MeteredString added in v0.24.0

func (v *DictionaryValue) MeteredString(memoryGauge common.MemoryGauge, seenReferences SeenReferences) string

func (*DictionaryValue) NeedsStoreTo added in v0.20.0

func (v *DictionaryValue) NeedsStoreTo(address atree.Address) bool

func (*DictionaryValue) RecursiveString added in v0.17.0

func (v *DictionaryValue) RecursiveString(seenReferences SeenReferences) string

func (*DictionaryValue) Remove

func (v *DictionaryValue) Remove(
	interpreter *Interpreter,
	getLocationRange func() LocationRange,
	keyValue Value,
) OptionalValue

func (*DictionaryValue) RemoveKey added in v0.20.0

func (v *DictionaryValue) RemoveKey(
	interpreter *Interpreter,
	getLocationRange func() LocationRange,
	key Value,
) Value

func (*DictionaryValue) RemoveMember added in v0.20.0

func (v *DictionaryValue) RemoveMember(interpreter *Interpreter, getLocationRange func() LocationRange, _ string) Value

func (*DictionaryValue) SemaType added in v0.20.0

func (v *DictionaryValue) SemaType(interpreter *Interpreter) *sema.DictionaryType

func (*DictionaryValue) SetKey added in v0.20.0

func (v *DictionaryValue) SetKey(
	interpreter *Interpreter,
	getLocationRange func() LocationRange,
	keyValue Value,
	value Value,
)

func (*DictionaryValue) SetMember

func (v *DictionaryValue) SetMember(interpreter *Interpreter, getLocationRange func() LocationRange, _ string, _ Value)

func (*DictionaryValue) StaticType added in v0.12.0

func (v *DictionaryValue) StaticType(_ *Interpreter) StaticType

func (*DictionaryValue) Storable added in v0.20.0

func (*DictionaryValue) StorageID added in v0.20.0

func (v *DictionaryValue) StorageID() atree.StorageID

func (*DictionaryValue) String

func (v *DictionaryValue) String() string

func (*DictionaryValue) Transfer added in v0.20.0

func (v *DictionaryValue) Transfer(
	interpreter *Interpreter,
	getLocationRange func() LocationRange,
	address atree.Address,
	remove bool,
	storable atree.Storable,
) Value

func (*DictionaryValue) Walk added in v0.19.0

func (v *DictionaryValue) Walk(interpreter *Interpreter, walkChild func(Value))

type DivisionByZeroError

type DivisionByZeroError struct{}

func (DivisionByZeroError) Error

func (e DivisionByZeroError) Error() string

type EmptyTypeInfo added in v0.23.0

type EmptyTypeInfo struct{}

EmptyTypeInfo

func (EmptyTypeInfo) Encode added in v0.23.0

func (e EmptyTypeInfo) Encode(encoder *cbor.StreamEncoder) error

type EmptyVisitor added in v0.12.0

type EmptyVisitor struct {
	SimpleCompositeValueVisitor     func(interpreter *Interpreter, value *SimpleCompositeValue)
	TypeValueVisitor                func(interpreter *Interpreter, value TypeValue)
	VoidValueVisitor                func(interpreter *Interpreter, value VoidValue)
	BoolValueVisitor                func(interpreter *Interpreter, value BoolValue)
	CharacterValueVisitor           func(interpreter *Interpreter, value CharacterValue)
	StringValueVisitor              func(interpreter *Interpreter, value *StringValue)
	ArrayValueVisitor               func(interpreter *Interpreter, value *ArrayValue) bool
	IntValueVisitor                 func(interpreter *Interpreter, value IntValue)
	Int8ValueVisitor                func(interpreter *Interpreter, value Int8Value)
	Int16ValueVisitor               func(interpreter *Interpreter, value Int16Value)
	Int32ValueVisitor               func(interpreter *Interpreter, value Int32Value)
	Int64ValueVisitor               func(interpreter *Interpreter, value Int64Value)
	Int128ValueVisitor              func(interpreter *Interpreter, value Int128Value)
	Int256ValueVisitor              func(interpreter *Interpreter, value Int256Value)
	UIntValueVisitor                func(interpreter *Interpreter, value UIntValue)
	UInt8ValueVisitor               func(interpreter *Interpreter, value UInt8Value)
	UInt16ValueVisitor              func(interpreter *Interpreter, value UInt16Value)
	UInt32ValueVisitor              func(interpreter *Interpreter, value UInt32Value)
	UInt64ValueVisitor              func(interpreter *Interpreter, value UInt64Value)
	UInt128ValueVisitor             func(interpreter *Interpreter, value UInt128Value)
	UInt256ValueVisitor             func(interpreter *Interpreter, value UInt256Value)
	Word8ValueVisitor               func(interpreter *Interpreter, value Word8Value)
	Word16ValueVisitor              func(interpreter *Interpreter, value Word16Value)
	Word32ValueVisitor              func(interpreter *Interpreter, value Word32Value)
	Word64ValueVisitor              func(interpreter *Interpreter, value Word64Value)
	Fix64ValueVisitor               func(interpreter *Interpreter, value Fix64Value)
	UFix64ValueVisitor              func(interpreter *Interpreter, value UFix64Value)
	CompositeValueVisitor           func(interpreter *Interpreter, value *CompositeValue) bool
	DictionaryValueVisitor          func(interpreter *Interpreter, value *DictionaryValue) bool
	NilValueVisitor                 func(interpreter *Interpreter, value NilValue)
	SomeValueVisitor                func(interpreter *Interpreter, value *SomeValue) bool
	StorageReferenceValueVisitor    func(interpreter *Interpreter, value *StorageReferenceValue)
	EphemeralReferenceValueVisitor  func(interpreter *Interpreter, value *EphemeralReferenceValue)
	AddressValueVisitor             func(interpreter *Interpreter, value AddressValue)
	PathValueVisitor                func(interpreter *Interpreter, value PathValue)
	CapabilityValueVisitor          func(interpreter *Interpreter, value *CapabilityValue)
	LinkValueVisitor                func(interpreter *Interpreter, value LinkValue)
	InterpretedFunctionValueVisitor func(interpreter *Interpreter, value *InterpretedFunctionValue)
	HostFunctionValueVisitor        func(interpreter *Interpreter, value *HostFunctionValue)
	BoundFunctionValueVisitor       func(interpreter *Interpreter, value BoundFunctionValue)
}

func (EmptyVisitor) VisitAddressValue added in v0.12.0

func (v EmptyVisitor) VisitAddressValue(interpreter *Interpreter, value AddressValue)

func (EmptyVisitor) VisitArrayValue added in v0.12.0

func (v EmptyVisitor) VisitArrayValue(interpreter *Interpreter, value *ArrayValue) bool

func (EmptyVisitor) VisitBoolValue added in v0.12.0

func (v EmptyVisitor) VisitBoolValue(interpreter *Interpreter, value BoolValue)

func (EmptyVisitor) VisitBoundFunctionValue added in v0.12.0

func (v EmptyVisitor) VisitBoundFunctionValue(interpreter *Interpreter, value BoundFunctionValue)

func (EmptyVisitor) VisitCapabilityValue added in v0.12.0

func (v EmptyVisitor) VisitCapabilityValue(interpreter *Interpreter, value *CapabilityValue)

func (EmptyVisitor) VisitCharacterValue added in v0.24.0

func (v EmptyVisitor) VisitCharacterValue(interpreter *Interpreter, value CharacterValue)

func (EmptyVisitor) VisitCompositeValue added in v0.12.0

func (v EmptyVisitor) VisitCompositeValue(interpreter *Interpreter, value *CompositeValue) bool

func (EmptyVisitor) VisitDictionaryValue added in v0.12.0

func (v EmptyVisitor) VisitDictionaryValue(interpreter *Interpreter, value *DictionaryValue) bool

func (EmptyVisitor) VisitEphemeralReferenceValue added in v0.12.0

func (v EmptyVisitor) VisitEphemeralReferenceValue(interpreter *Interpreter, value *EphemeralReferenceValue)

func (EmptyVisitor) VisitFix64Value added in v0.12.0

func (v EmptyVisitor) VisitFix64Value(interpreter *Interpreter, value Fix64Value)

func (EmptyVisitor) VisitHostFunctionValue added in v0.12.0

func (v EmptyVisitor) VisitHostFunctionValue(interpreter *Interpreter, value *HostFunctionValue)

func (EmptyVisitor) VisitInt128Value added in v0.12.0

func (v EmptyVisitor) VisitInt128Value(interpreter *Interpreter, value Int128Value)

func (EmptyVisitor) VisitInt16Value added in v0.12.0

func (v EmptyVisitor) VisitInt16Value(interpreter *Interpreter, value Int16Value)

func (EmptyVisitor) VisitInt256Value added in v0.12.0

func (v EmptyVisitor) VisitInt256Value(interpreter *Interpreter, value Int256Value)

func (EmptyVisitor) VisitInt32Value added in v0.12.0

func (v EmptyVisitor) VisitInt32Value(interpreter *Interpreter, value Int32Value)

func (EmptyVisitor) VisitInt64Value added in v0.12.0

func (v EmptyVisitor) VisitInt64Value(interpreter *Interpreter, value Int64Value)

func (EmptyVisitor) VisitInt8Value added in v0.12.0

func (v EmptyVisitor) VisitInt8Value(interpreter *Interpreter, value Int8Value)

func (EmptyVisitor) VisitIntValue added in v0.12.0

func (v EmptyVisitor) VisitIntValue(interpreter *Interpreter, value IntValue)

func (EmptyVisitor) VisitInterpretedFunctionValue added in v0.12.0

func (v EmptyVisitor) VisitInterpretedFunctionValue(interpreter *Interpreter, value *InterpretedFunctionValue)

func (EmptyVisitor) VisitLinkValue added in v0.12.0

func (v EmptyVisitor) VisitLinkValue(interpreter *Interpreter, value LinkValue)

func (EmptyVisitor) VisitNilValue added in v0.12.0

func (v EmptyVisitor) VisitNilValue(interpreter *Interpreter, value NilValue)

func (EmptyVisitor) VisitPathValue added in v0.12.0

func (v EmptyVisitor) VisitPathValue(interpreter *Interpreter, value PathValue)

func (EmptyVisitor) VisitSimpleCompositeValue added in v0.20.0

func (v EmptyVisitor) VisitSimpleCompositeValue(interpreter *Interpreter, value *SimpleCompositeValue)

func (EmptyVisitor) VisitSomeValue added in v0.12.0

func (v EmptyVisitor) VisitSomeValue(interpreter *Interpreter, value *SomeValue) bool

func (EmptyVisitor) VisitStorageReferenceValue added in v0.12.0

func (v EmptyVisitor) VisitStorageReferenceValue(interpreter *Interpreter, value *StorageReferenceValue)

func (EmptyVisitor) VisitStringValue added in v0.12.0

func (v EmptyVisitor) VisitStringValue(interpreter *Interpreter, value *StringValue)

func (EmptyVisitor) VisitTypeValue added in v0.12.0

func (v EmptyVisitor) VisitTypeValue(interpreter *Interpreter, value TypeValue)

func (EmptyVisitor) VisitUFix64Value added in v0.12.0

func (v EmptyVisitor) VisitUFix64Value(interpreter *Interpreter, value UFix64Value)

func (EmptyVisitor) VisitUInt128Value added in v0.12.0

func (v EmptyVisitor) VisitUInt128Value(interpreter *Interpreter, value UInt128Value)

func (EmptyVisitor) VisitUInt16Value added in v0.12.0

func (v EmptyVisitor) VisitUInt16Value(interpreter *Interpreter, value UInt16Value)

func (EmptyVisitor) VisitUInt256Value added in v0.12.0

func (v EmptyVisitor) VisitUInt256Value(interpreter *Interpreter, value UInt256Value)

func (EmptyVisitor) VisitUInt32Value added in v0.12.0

func (v EmptyVisitor) VisitUInt32Value(interpreter *Interpreter, value UInt32Value)

func (EmptyVisitor) VisitUInt64Value added in v0.12.0

func (v EmptyVisitor) VisitUInt64Value(interpreter *Interpreter, value UInt64Value)

func (EmptyVisitor) VisitUInt8Value added in v0.12.0

func (v EmptyVisitor) VisitUInt8Value(interpreter *Interpreter, value UInt8Value)

func (EmptyVisitor) VisitUIntValue added in v0.12.0

func (v EmptyVisitor) VisitUIntValue(interpreter *Interpreter, value UIntValue)

func (EmptyVisitor) VisitVoidValue added in v0.12.0

func (v EmptyVisitor) VisitVoidValue(interpreter *Interpreter, value VoidValue)

func (EmptyVisitor) VisitWord16Value added in v0.12.0

func (v EmptyVisitor) VisitWord16Value(interpreter *Interpreter, value Word16Value)

func (EmptyVisitor) VisitWord32Value added in v0.12.0

func (v EmptyVisitor) VisitWord32Value(interpreter *Interpreter, value Word32Value)

func (EmptyVisitor) VisitWord64Value added in v0.12.0

func (v EmptyVisitor) VisitWord64Value(interpreter *Interpreter, value Word64Value)

func (EmptyVisitor) VisitWord8Value added in v0.12.0

func (v EmptyVisitor) VisitWord8Value(interpreter *Interpreter, value Word8Value)

type EphemeralReferenceValue

type EphemeralReferenceValue struct {
	Authorized   bool
	Value        Value
	BorrowedType sema.Type
}

func NewEphemeralReferenceValue added in v0.24.0

func NewEphemeralReferenceValue(
	interpreter *Interpreter,
	authorized bool,
	value Value,
	borrowedType sema.Type,
) *EphemeralReferenceValue

func NewUnmeteredEphemeralReferenceValue added in v0.24.0

func NewUnmeteredEphemeralReferenceValue(
	authorized bool,
	value Value,
	borrowedType sema.Type,
) *EphemeralReferenceValue

func (*EphemeralReferenceValue) Accept added in v0.12.0

func (v *EphemeralReferenceValue) Accept(interpreter *Interpreter, visitor Visitor)

func (*EphemeralReferenceValue) Clone added in v0.24.0

func (*EphemeralReferenceValue) ConformsToStaticType added in v0.24.0

func (v *EphemeralReferenceValue) ConformsToStaticType(
	interpreter *Interpreter,
	getLocationRange func() LocationRange,
	staticType StaticType,
	results TypeConformanceResults,
) bool

func (*EphemeralReferenceValue) DeepRemove added in v0.20.0

func (*EphemeralReferenceValue) DeepRemove(_ *Interpreter)

func (*EphemeralReferenceValue) Equal

func (v *EphemeralReferenceValue) Equal(_ *Interpreter, _ func() LocationRange, other Value) bool

func (*EphemeralReferenceValue) GetKey added in v0.20.0

func (v *EphemeralReferenceValue) GetKey(
	interpreter *Interpreter,
	getLocationRange func() LocationRange,
	key Value,
) Value

func (*EphemeralReferenceValue) GetMember

func (v *EphemeralReferenceValue) GetMember(
	interpreter *Interpreter,
	getLocationRange func() LocationRange,
	name string,
) Value

func (*EphemeralReferenceValue) InsertKey added in v0.20.0

func (v *EphemeralReferenceValue) InsertKey(
	interpreter *Interpreter,
	getLocationRange func() LocationRange,
	key Value,
	value Value,
)

func (*EphemeralReferenceValue) IsImportable added in v0.24.0

func (*EphemeralReferenceValue) IsImportable(_ *Interpreter) bool

func (*EphemeralReferenceValue) IsResourceKinded added in v0.20.0

func (*EphemeralReferenceValue) IsResourceKinded(_ *Interpreter) bool

func (*EphemeralReferenceValue) IsStorable added in v0.16.0

func (*EphemeralReferenceValue) IsStorable() bool

func (*EphemeralReferenceValue) IsValue

func (*EphemeralReferenceValue) IsValue()

func (*EphemeralReferenceValue) MeteredString added in v0.24.0

func (v *EphemeralReferenceValue) MeteredString(memoryGauge common.MemoryGauge, seenReferences SeenReferences) string

func (*EphemeralReferenceValue) NeedsStoreTo added in v0.20.0

func (*EphemeralReferenceValue) NeedsStoreTo(_ atree.Address) bool

func (*EphemeralReferenceValue) RecursiveString added in v0.17.0

func (v *EphemeralReferenceValue) RecursiveString(seenReferences SeenReferences) string

func (*EphemeralReferenceValue) ReferencedValue added in v0.11.0

func (v *EphemeralReferenceValue) ReferencedValue(
	interpreter *Interpreter,
	getLocationRange func() LocationRange,
) *Value

func (*EphemeralReferenceValue) RemoveKey added in v0.20.0

func (v *EphemeralReferenceValue) RemoveKey(
	interpreter *Interpreter,
	getLocationRange func() LocationRange,
	key Value,
) Value

func (*EphemeralReferenceValue) RemoveMember added in v0.20.0

func (v *EphemeralReferenceValue) RemoveMember(
	interpreter *Interpreter,
	getLocationRange func() LocationRange,
	identifier string,
) Value

func (*EphemeralReferenceValue) SetKey added in v0.20.0

func (v *EphemeralReferenceValue) SetKey(
	interpreter *Interpreter,
	getLocationRange func() LocationRange,
	key Value,
	value Value,
)

func (*EphemeralReferenceValue) SetMember

func (v *EphemeralReferenceValue) SetMember(
	interpreter *Interpreter,
	getLocationRange func() LocationRange,
	name string,
	value Value,
)

func (*EphemeralReferenceValue) StaticType added in v0.12.0

func (v *EphemeralReferenceValue) StaticType(inter *Interpreter) StaticType

func (*EphemeralReferenceValue) Storable added in v0.20.0

func (*EphemeralReferenceValue) String added in v0.5.0

func (v *EphemeralReferenceValue) String() string

func (*EphemeralReferenceValue) Transfer added in v0.20.0

func (v *EphemeralReferenceValue) Transfer(
	interpreter *Interpreter,
	_ func() LocationRange,
	_ atree.Address,
	remove bool,
	storable atree.Storable,
) Value

func (*EphemeralReferenceValue) Walk added in v0.19.0

func (*EphemeralReferenceValue) Walk(_ *Interpreter, _ func(Value))

type EquatableValue

type EquatableValue interface {
	Value
	// Equal returns true if the given value is equal to this value.
	// If no location range is available, pass e.g. ReturnEmptyLocationRange
	Equal(interpreter *Interpreter, getLocationRange func() LocationRange, other Value) bool
}

type Error added in v0.12.0

type Error struct {
	Err      error
	Location common.Location
}

Error is the containing type for all errors produced by the interpreter.

func (Error) ChildErrors added in v0.12.1

func (e Error) ChildErrors() []error

func (Error) Error added in v0.12.0

func (e Error) Error() string

func (Error) ImportLocation added in v0.12.1

func (e Error) ImportLocation() common.Location

func (Error) Unwrap added in v0.12.0

func (e Error) Unwrap() error

type EventEmissionUnavailableError added in v0.10.4

type EventEmissionUnavailableError struct {
	LocationRange
}

EventEmissionUnavailableError

func (EventEmissionUnavailableError) Error added in v0.10.4

type ExitHandlerFunc added in v0.17.0

type ExitHandlerFunc func() error

ExitHandlerFunc is a function that is called at the end of execution

type ExpressionStatementResult

type ExpressionStatementResult struct {
	Value Value
}

type ExternalError added in v0.3.0

type ExternalError struct {
	Recovered interface{}
}

ExternalError is an error that occurred externally. It contains the recovered value.

func (ExternalError) Error added in v0.3.0

func (e ExternalError) Error() string

type Fix64Value

type Fix64Value int64

Fix64Value

func ConvertFix64

func ConvertFix64(memoryGauge common.MemoryGauge, value Value) Fix64Value

func NewFix64Value added in v0.24.0

func NewFix64Value(gauge common.MemoryGauge, valueGetter func() int64) Fix64Value

func NewFix64ValueWithInteger added in v0.2.0

func NewFix64ValueWithInteger(gauge common.MemoryGauge, constructor func() int64) Fix64Value

func NewUnmeteredFix64Value added in v0.24.0

func NewUnmeteredFix64Value(integer int64) Fix64Value

func NewUnmeteredFix64ValueWithInteger added in v0.24.0

func NewUnmeteredFix64ValueWithInteger(integer int64) Fix64Value

func (Fix64Value) Accept added in v0.12.0

func (v Fix64Value) Accept(interpreter *Interpreter, visitor Visitor)

func (Fix64Value) ByteSize added in v0.20.0

func (v Fix64Value) ByteSize() uint32

func (Fix64Value) ChildStorables added in v0.20.0

func (Fix64Value) ChildStorables() []atree.Storable

func (Fix64Value) Clone added in v0.24.0

func (v Fix64Value) Clone(_ *Interpreter) Value

func (Fix64Value) ConformsToStaticType added in v0.24.0

func (v Fix64Value) ConformsToStaticType(
	inter *Interpreter,
	_ func() LocationRange,
	staticType StaticType,
	_ TypeConformanceResults,
) bool

func (Fix64Value) DeepRemove added in v0.20.0

func (Fix64Value) DeepRemove(_ *Interpreter)

func (Fix64Value) Div

func (v Fix64Value) Div(interpreter *Interpreter, other NumberValue) NumberValue

func (Fix64Value) Encode added in v0.20.0

func (v Fix64Value) Encode(e *atree.Encoder) error

Encode encodes Fix64Value as

cbor.Tag{
		Number:  CBORTagFix64Value,
		Content: int64(v),
}

func (Fix64Value) Equal

func (v Fix64Value) Equal(_ *Interpreter, _ func() LocationRange, other Value) bool

func (Fix64Value) GetMember added in v0.3.0

func (v Fix64Value) GetMember(interpreter *Interpreter, _ func() LocationRange, name string) Value

func (Fix64Value) Greater

func (v Fix64Value) Greater(interpreter *Interpreter, other NumberValue) BoolValue

func (Fix64Value) GreaterEqual

func (v Fix64Value) GreaterEqual(interpreter *Interpreter, other NumberValue) BoolValue

func (Fix64Value) HashInput added in v0.20.0

func (v Fix64Value) HashInput(_ *Interpreter, _ func() LocationRange, scratch []byte) []byte

HashInput returns a byte slice containing: - HashInputTypeFix64 (1 byte) - int64 value encoded in big-endian (8 bytes)

func (Fix64Value) IntegerPart added in v0.24.0

func (v Fix64Value) IntegerPart() NumberValue

func (Fix64Value) IsImportable added in v0.24.0

func (Fix64Value) IsImportable(_ *Interpreter) bool

func (Fix64Value) IsResourceKinded added in v0.20.0

func (Fix64Value) IsResourceKinded(_ *Interpreter) bool

func (Fix64Value) IsStorable added in v0.16.0

func (Fix64Value) IsStorable() bool

func (Fix64Value) IsValue

func (Fix64Value) IsValue()

func (Fix64Value) Less

func (v Fix64Value) Less(interpreter *Interpreter, other NumberValue) BoolValue

func (Fix64Value) LessEqual

func (v Fix64Value) LessEqual(interpreter *Interpreter, other NumberValue) BoolValue

func (Fix64Value) MeteredString added in v0.24.0

func (v Fix64Value) MeteredString(memoryGauge common.MemoryGauge, _ SeenReferences) string

func (Fix64Value) Minus

func (v Fix64Value) Minus(interpreter *Interpreter, other NumberValue) NumberValue

func (Fix64Value) Mod

func (v Fix64Value) Mod(interpreter *Interpreter, other NumberValue) NumberValue

func (Fix64Value) Mul

func (v Fix64Value) Mul(interpreter *Interpreter, other NumberValue) NumberValue

func (Fix64Value) NeedsStoreTo added in v0.20.0

func (Fix64Value) NeedsStoreTo(_ atree.Address) bool

func (Fix64Value) Negate

func (v Fix64Value) Negate(interpreter *Interpreter) NumberValue

func (Fix64Value) Plus

func (v Fix64Value) Plus(interpreter *Interpreter, other NumberValue) NumberValue

func (Fix64Value) RecursiveString added in v0.17.0

func (v Fix64Value) RecursiveString(_ SeenReferences) string

func (Fix64Value) RemoveMember added in v0.20.0

func (Fix64Value) RemoveMember(_ *Interpreter, _ func() LocationRange, _ string) Value

func (Fix64Value) SaturatingDiv added in v0.15.0

func (v Fix64Value) SaturatingDiv(interpreter *Interpreter, other NumberValue) NumberValue

func (Fix64Value) SaturatingMinus added in v0.15.0

func (v Fix64Value) SaturatingMinus(interpreter *Interpreter, other NumberValue) NumberValue

func (Fix64Value) SaturatingMul added in v0.15.0

func (v Fix64Value) SaturatingMul(interpreter *Interpreter, other NumberValue) NumberValue

func (Fix64Value) SaturatingPlus added in v0.15.0

func (v Fix64Value) SaturatingPlus(interpreter *Interpreter, other NumberValue) NumberValue

func (Fix64Value) Scale added in v0.24.0

func (Fix64Value) Scale() int

func (Fix64Value) SetMember added in v0.3.0

func (Fix64Value) SetMember(_ *Interpreter, _ func() LocationRange, _ string, _ Value)

func (Fix64Value) StaticType added in v0.12.0

func (Fix64Value) StaticType(interpreter *Interpreter) StaticType

func (Fix64Value) Storable added in v0.20.0

func (Fix64Value) StoredValue added in v0.20.0

func (v Fix64Value) StoredValue(_ atree.SlabStorage) (atree.Value, error)

func (Fix64Value) String

func (v Fix64Value) String() string

func (Fix64Value) ToBigEndianBytes added in v0.5.0

func (v Fix64Value) ToBigEndianBytes() []byte

func (Fix64Value) ToInt

func (v Fix64Value) ToInt() int

func (Fix64Value) Transfer added in v0.20.0

func (v Fix64Value) Transfer(
	interpreter *Interpreter,
	_ func() LocationRange,
	_ atree.Address,
	remove bool,
	storable atree.Storable,
) Value

func (Fix64Value) Walk added in v0.19.0

func (Fix64Value) Walk(_ *Interpreter, _ func(Value))

type FixedPointValue added in v0.24.0

type FixedPointValue interface {
	NumberValue
	IntegerPart() NumberValue
	Scale() int
}

FixedPointValue is a fixed-point number value

type ForceAssignmentToNonNilResourceError

type ForceAssignmentToNonNilResourceError struct {
	LocationRange
}

ForceAssignmentToNonNilResourceError

func (ForceAssignmentToNonNilResourceError) Error

type ForceCastTypeMismatchError added in v0.19.0

type ForceCastTypeMismatchError struct {
	ExpectedType sema.Type
	LocationRange
}

ForceCastTypeMismatchError

func (ForceCastTypeMismatchError) Error added in v0.19.0

type ForceNilError

type ForceNilError struct {
	LocationRange
}

ForceNilError

func (ForceNilError) Error

func (e ForceNilError) Error() string

type FunctionStaticType added in v0.19.0

type FunctionStaticType struct {
	Type *sema.FunctionType
}

func NewFunctionStaticType added in v0.24.0

func NewFunctionStaticType(
	memoryGauge common.MemoryGauge,
	functionType *sema.FunctionType,
) FunctionStaticType

func (FunctionStaticType) Encode added in v0.20.0

func (t FunctionStaticType) Encode(_ *cbor.StreamEncoder) error

func (FunctionStaticType) Equal added in v0.19.0

func (t FunctionStaticType) Equal(other StaticType) bool

func (FunctionStaticType) MeteredString added in v0.24.0

func (t FunctionStaticType) MeteredString(memoryGauge common.MemoryGauge) string

func (FunctionStaticType) ParameterTypes added in v0.19.0

func (t FunctionStaticType) ParameterTypes(interpreter *Interpreter) []StaticType

func (FunctionStaticType) ReturnType added in v0.19.0

func (t FunctionStaticType) ReturnType(interpreter *Interpreter) StaticType

func (FunctionStaticType) String added in v0.19.0

func (t FunctionStaticType) String() string

func (FunctionStaticType) TypeParameters added in v0.19.0

func (t FunctionStaticType) TypeParameters(interpreter *Interpreter) []*TypeParameter

type FunctionValue

type FunctionValue interface {
	Value
	// contains filtered or unexported methods
}

FunctionValue

type FunctionWrapper

type FunctionWrapper = func(inner FunctionValue) FunctionValue

type GlobalVariables added in v0.19.0

type GlobalVariables map[string]*Variable

GlobalVariables represents global variables defined in a program.

func (GlobalVariables) Contains added in v0.19.0

func (globalVars GlobalVariables) Contains(name string) bool

func (GlobalVariables) Get added in v0.19.0

func (globalVars GlobalVariables) Get(name string) (*Variable, bool)

func (GlobalVariables) Set added in v0.19.0

func (globalVars GlobalVariables) Set(name string, variable *Variable)

type HashHandlerFunc added in v0.18.0

type HashHandlerFunc func(
	inter *Interpreter,
	getLocationRange func() LocationRange,
	data *ArrayValue,
	domainSeparationTag *StringValue,
	hashAlgorithm MemberAccessibleValue,
) *ArrayValue

HashHandlerFunc is a function that hashes. Parameter types: - data: [UInt8] - domainSeparationTag: [UInt8] - hashAlgorithm: HashAlgorithm Expected result type: [UInt8]

type HashInputType added in v0.20.0

type HashInputType byte

HashInputType is a type flag that is included in the hash input for a value, i.e., it should be included in the result of HashableValue.HashInput.

const (
	HashInputTypeBool HashInputType = iota
	HashInputTypeString
	HashInputTypeEnum
	HashInputTypeAddress
	HashInputTypePath
	HashInputTypeType
	HashInputTypeCharacter

	// Int*
	HashInputTypeInt
	HashInputTypeInt8
	HashInputTypeInt16
	HashInputTypeInt32
	HashInputTypeInt64
	HashInputTypeInt128
	HashInputTypeInt256

	// UInt*
	HashInputTypeUInt
	HashInputTypeUInt8
	HashInputTypeUInt16
	HashInputTypeUInt32
	HashInputTypeUInt64
	HashInputTypeUInt128
	HashInputTypeUInt256

	HashInputTypeWord8
	HashInputTypeWord16
	HashInputTypeWord32
	HashInputTypeWord64

	HashInputTypeFix64

	HashInputTypeUFix64

	// !!! *WARNING* !!!
	// ADD NEW TYPES *BEFORE* THIS WARNING.
	// DO *NOT* ADD NEW TYPES AFTER THIS LINE!
	HashInputType_Count
)

type HashableValue added in v0.20.0

type HashableValue interface {
	Value
	HashInput(interpreter *Interpreter, getLocationRange func() LocationRange, scratch []byte) []byte
}

HashableValue is an immutable value that can be hashed

type HostFunction

type HostFunction func(invocation Invocation) Value

HostFunctionValue

type HostFunctionValue

type HostFunctionValue struct {
	Function        HostFunction
	NestedVariables map[string]*Variable
	Type            *sema.FunctionType
}

func EnumConstructorFunction added in v0.14.0

func EnumConstructorFunction(
	inter *Interpreter,
	getLocationRange func() LocationRange,
	enumType *sema.CompositeType,
	caseValues []*CompositeValue,
	nestedVariables map[string]*Variable,
) *HostFunctionValue

func NewHostFunctionValue

func NewHostFunctionValue(
	gauge common.MemoryGauge,
	function HostFunction,
	funcType *sema.FunctionType,
) *HostFunctionValue

func NewUnmeteredHostFunctionValue added in v0.24.0

func NewUnmeteredHostFunctionValue(
	function HostFunction,
	funcType *sema.FunctionType,
) *HostFunctionValue

func (*HostFunctionValue) Accept added in v0.12.0

func (f *HostFunctionValue) Accept(interpreter *Interpreter, visitor Visitor)

func (*HostFunctionValue) Clone added in v0.24.0

func (f *HostFunctionValue) Clone(_ *Interpreter) Value

func (*HostFunctionValue) ConformsToStaticType added in v0.24.0

func (f *HostFunctionValue) ConformsToStaticType(
	_ *Interpreter,
	_ func() LocationRange,
	staticType StaticType,
	_ TypeConformanceResults,
) bool

func (*HostFunctionValue) DeepRemove added in v0.20.0

func (*HostFunctionValue) DeepRemove(_ *Interpreter)

func (*HostFunctionValue) GetMember

func (f *HostFunctionValue) GetMember(_ *Interpreter, _ func() LocationRange, name string) Value

func (*HostFunctionValue) IsImportable added in v0.24.0

func (*HostFunctionValue) IsImportable(_ *Interpreter) bool

func (*HostFunctionValue) IsResourceKinded added in v0.20.0

func (*HostFunctionValue) IsResourceKinded(_ *Interpreter) bool

func (*HostFunctionValue) IsValue

func (*HostFunctionValue) IsValue()

func (*HostFunctionValue) MeteredString added in v0.24.0

func (f *HostFunctionValue) MeteredString(memoryGauge common.MemoryGauge, _ SeenReferences) string

func (*HostFunctionValue) NeedsStoreTo added in v0.20.0

func (*HostFunctionValue) NeedsStoreTo(_ atree.Address) bool

func (*HostFunctionValue) RecursiveString added in v0.17.0

func (f *HostFunctionValue) RecursiveString(_ SeenReferences) string

func (*HostFunctionValue) RemoveMember added in v0.20.0

func (*HostFunctionValue) RemoveMember(_ *Interpreter, _ func() LocationRange, _ string) Value

func (*HostFunctionValue) SetMember

func (*HostFunctionValue) SetMember(_ *Interpreter, _ func() LocationRange, _ string, _ Value)

func (*HostFunctionValue) StaticType added in v0.12.0

func (f *HostFunctionValue) StaticType(interpreter *Interpreter) StaticType

func (*HostFunctionValue) Storable added in v0.20.0

func (*HostFunctionValue) String added in v0.2.0

func (f *HostFunctionValue) String() string

func (*HostFunctionValue) Transfer added in v0.20.0

func (f *HostFunctionValue) Transfer(
	interpreter *Interpreter,
	_ func() LocationRange,
	_ atree.Address,
	remove bool,
	storable atree.Storable,
) Value

func (*HostFunctionValue) Walk added in v0.19.0

func (f *HostFunctionValue) Walk(_ *Interpreter, _ func(Value))

type Import added in v0.5.0

type Import interface {
	// contains filtered or unexported methods
}

type ImportLocationHandlerFunc added in v0.5.0

type ImportLocationHandlerFunc func(
	inter *Interpreter,
	location common.Location,
) Import

ImportLocationHandlerFunc is a function that handles imports of locations.

type InMemoryStorage added in v0.20.0

type InMemoryStorage struct {
	*atree.BasicSlabStorage
	StorageMaps map[StorageKey]*StorageMap
	// contains filtered or unexported fields
}

InMemoryStorage

func NewInMemoryStorage added in v0.20.0

func NewInMemoryStorage(memoryGauge common.MemoryGauge) InMemoryStorage

func (InMemoryStorage) CheckHealth added in v0.20.0

func (i InMemoryStorage) CheckHealth() error

func (InMemoryStorage) GetStorageMap added in v0.23.0

func (i InMemoryStorage) GetStorageMap(
	address common.Address,
	domain string,
	createIfNotExists bool,
) (
	storageMap *StorageMap,
)

type InjectedCompositeFieldsHandlerFunc

type InjectedCompositeFieldsHandlerFunc func(
	inter *Interpreter,
	location common.Location,
	qualifiedIdentifier string,
	compositeKind common.CompositeKind,
) map[string]Value

InjectedCompositeFieldsHandlerFunc is a function that handles storage reads.

type Int128Value

type Int128Value struct {
	BigInt *big.Int
}

func ConvertInt128

func ConvertInt128(memoryGauge common.MemoryGauge, value Value) Int128Value

func NewInt128ValueFromBigInt

func NewInt128ValueFromBigInt(memoryGauge common.MemoryGauge, bigIntConstructor func() *big.Int) Int128Value

func NewInt128ValueFromUint64 added in v0.24.0

func NewInt128ValueFromUint64(memoryGauge common.MemoryGauge, value int64) Int128Value

func NewUnmeteredInt128ValueFromBigInt added in v0.24.0

func NewUnmeteredInt128ValueFromBigInt(value *big.Int) Int128Value

func NewUnmeteredInt128ValueFromInt64 added in v0.24.0

func NewUnmeteredInt128ValueFromInt64(value int64) Int128Value

func (Int128Value) Accept added in v0.12.0

func (v Int128Value) Accept(interpreter *Interpreter, visitor Visitor)

func (Int128Value) BitwiseAnd added in v0.2.0

func (v Int128Value) BitwiseAnd(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Int128Value) BitwiseLeftShift added in v0.2.0

func (v Int128Value) BitwiseLeftShift(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Int128Value) BitwiseOr added in v0.2.0

func (v Int128Value) BitwiseOr(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Int128Value) BitwiseRightShift added in v0.2.0

func (v Int128Value) BitwiseRightShift(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Int128Value) BitwiseXor added in v0.2.0

func (v Int128Value) BitwiseXor(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Int128Value) ByteLength added in v0.24.0

func (v Int128Value) ByteLength() int

func (Int128Value) ByteSize added in v0.20.0

func (v Int128Value) ByteSize() uint32

func (Int128Value) ChildStorables added in v0.20.0

func (Int128Value) ChildStorables() []atree.Storable

func (Int128Value) Clone added in v0.24.0

func (v Int128Value) Clone(_ *Interpreter) Value

func (Int128Value) ConformsToStaticType added in v0.24.0

func (v Int128Value) ConformsToStaticType(
	inter *Interpreter,
	_ func() LocationRange,
	staticType StaticType,
	_ TypeConformanceResults,
) bool

func (Int128Value) DeepRemove added in v0.20.0

func (Int128Value) DeepRemove(_ *Interpreter)

func (Int128Value) Div

func (v Int128Value) Div(interpreter *Interpreter, other NumberValue) NumberValue

func (Int128Value) Encode added in v0.20.0

func (v Int128Value) Encode(e *atree.Encoder) error

Encode encodes Int128Value as

cbor.Tag{
		Number:  CBORTagInt128Value,
		Content: *big.Int(v.BigInt),
}

func (Int128Value) Equal

func (v Int128Value) Equal(_ *Interpreter, _ func() LocationRange, other Value) bool

func (Int128Value) GetMember added in v0.3.0

func (v Int128Value) GetMember(interpreter *Interpreter, _ func() LocationRange, name string) Value

func (Int128Value) Greater

func (v Int128Value) Greater(interpreter *Interpreter, other NumberValue) BoolValue

func (Int128Value) GreaterEqual

func (v Int128Value) GreaterEqual(interpreter *Interpreter, other NumberValue) BoolValue

func (Int128Value) HashInput added in v0.20.0

func (v Int128Value) HashInput(_ *Interpreter, _ func() LocationRange, scratch []byte) []byte

HashInput returns a byte slice containing: - HashInputTypeInt128 (1 byte) - big int value encoded in big-endian (n bytes)

func (Int128Value) IsImportable added in v0.24.0

func (Int128Value) IsImportable(_ *Interpreter) bool

func (Int128Value) IsResourceKinded added in v0.20.0

func (Int128Value) IsResourceKinded(_ *Interpreter) bool

func (Int128Value) IsValue

func (Int128Value) IsValue()

func (Int128Value) Less

func (v Int128Value) Less(interpreter *Interpreter, other NumberValue) BoolValue

func (Int128Value) LessEqual

func (v Int128Value) LessEqual(interpreter *Interpreter, other NumberValue) BoolValue

func (Int128Value) MeteredString added in v0.24.0

func (v Int128Value) MeteredString(memoryGauge common.MemoryGauge, _ SeenReferences) string

func (Int128Value) Minus

func (v Int128Value) Minus(interpreter *Interpreter, other NumberValue) NumberValue

func (Int128Value) Mod

func (v Int128Value) Mod(interpreter *Interpreter, other NumberValue) NumberValue

func (Int128Value) Mul

func (v Int128Value) Mul(interpreter *Interpreter, other NumberValue) NumberValue

func (Int128Value) NeedsStoreTo added in v0.20.0

func (Int128Value) NeedsStoreTo(_ atree.Address) bool

func (Int128Value) Negate

func (v Int128Value) Negate(interpreter *Interpreter) NumberValue

func (Int128Value) Plus

func (v Int128Value) Plus(interpreter *Interpreter, other NumberValue) NumberValue

func (Int128Value) RecursiveString added in v0.17.0

func (v Int128Value) RecursiveString(_ SeenReferences) string

func (Int128Value) RemoveMember added in v0.20.0

func (Int128Value) RemoveMember(_ *Interpreter, _ func() LocationRange, _ string) Value

func (Int128Value) SaturatingDiv added in v0.15.0

func (v Int128Value) SaturatingDiv(interpreter *Interpreter, other NumberValue) NumberValue

func (Int128Value) SaturatingMinus added in v0.15.0

func (v Int128Value) SaturatingMinus(interpreter *Interpreter, other NumberValue) NumberValue

func (Int128Value) SaturatingMul added in v0.15.0

func (v Int128Value) SaturatingMul(interpreter *Interpreter, other NumberValue) NumberValue

func (Int128Value) SaturatingPlus added in v0.15.0

func (v Int128Value) SaturatingPlus(interpreter *Interpreter, other NumberValue) NumberValue

func (Int128Value) SetMember added in v0.3.0

func (Int128Value) SetMember(_ *Interpreter, _ func() LocationRange, _ string, _ Value)

func (Int128Value) StaticType added in v0.12.0

func (Int128Value) StaticType(interpreter *Interpreter) StaticType

func (Int128Value) Storable added in v0.20.0

func (Int128Value) StoredValue added in v0.20.0

func (v Int128Value) StoredValue(_ atree.SlabStorage) (atree.Value, error)

func (Int128Value) String

func (v Int128Value) String() string

func (Int128Value) ToBigEndianBytes added in v0.5.0

func (v Int128Value) ToBigEndianBytes() []byte

func (Int128Value) ToBigInt

func (v Int128Value) ToBigInt(memoryGauge common.MemoryGauge) *big.Int

func (Int128Value) ToInt

func (v Int128Value) ToInt() int

func (Int128Value) Transfer added in v0.20.0

func (v Int128Value) Transfer(
	interpreter *Interpreter,
	_ func() LocationRange,
	_ atree.Address,
	remove bool,
	storable atree.Storable,
) Value

func (Int128Value) Walk added in v0.19.0

func (Int128Value) Walk(_ *Interpreter, _ func(Value))

type Int16Value

type Int16Value int16

func ConvertInt16

func ConvertInt16(memoryGauge common.MemoryGauge, value Value) Int16Value

func NewInt16Value added in v0.24.0

func NewInt16Value(gauge common.MemoryGauge, valueGetter func() int16) Int16Value

func NewUnmeteredInt16Value added in v0.24.0

func NewUnmeteredInt16Value(value int16) Int16Value

func (Int16Value) Accept added in v0.12.0

func (v Int16Value) Accept(interpreter *Interpreter, visitor Visitor)

func (Int16Value) BitwiseAnd added in v0.2.0

func (v Int16Value) BitwiseAnd(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Int16Value) BitwiseLeftShift added in v0.2.0

func (v Int16Value) BitwiseLeftShift(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Int16Value) BitwiseOr added in v0.2.0

func (v Int16Value) BitwiseOr(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Int16Value) BitwiseRightShift added in v0.2.0

func (v Int16Value) BitwiseRightShift(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Int16Value) BitwiseXor added in v0.2.0

func (v Int16Value) BitwiseXor(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Int16Value) ByteSize added in v0.20.0

func (v Int16Value) ByteSize() uint32

func (Int16Value) ChildStorables added in v0.20.0

func (Int16Value) ChildStorables() []atree.Storable

func (Int16Value) Clone added in v0.24.0

func (v Int16Value) Clone(_ *Interpreter) Value

func (Int16Value) ConformsToStaticType added in v0.24.0

func (v Int16Value) ConformsToStaticType(
	inter *Interpreter,
	_ func() LocationRange,
	staticType StaticType,
	_ TypeConformanceResults,
) bool

func (Int16Value) DeepRemove added in v0.20.0

func (Int16Value) DeepRemove(_ *Interpreter)

func (Int16Value) Div

func (v Int16Value) Div(interpreter *Interpreter, other NumberValue) NumberValue

func (Int16Value) Encode added in v0.20.0

func (v Int16Value) Encode(e *atree.Encoder) error

Encode encodes Int16Value as

cbor.Tag{
		Number:  CBORTagInt16Value,
		Content: int16(v),
}

func (Int16Value) Equal

func (v Int16Value) Equal(_ *Interpreter, _ func() LocationRange, other Value) bool

func (Int16Value) GetMember added in v0.3.0

func (v Int16Value) GetMember(interpreter *Interpreter, _ func() LocationRange, name string) Value

func (Int16Value) Greater

func (v Int16Value) Greater(interpreter *Interpreter, other NumberValue) BoolValue

func (Int16Value) GreaterEqual

func (v Int16Value) GreaterEqual(interpreter *Interpreter, other NumberValue) BoolValue

func (Int16Value) HashInput added in v0.20.0

func (v Int16Value) HashInput(_ *Interpreter, _ func() LocationRange, scratch []byte) []byte

HashInput returns a byte slice containing: - HashInputTypeInt16 (1 byte) - int16 value encoded in big-endian (2 bytes)

func (Int16Value) IsImportable added in v0.24.0

func (Int16Value) IsImportable(_ *Interpreter) bool

func (Int16Value) IsResourceKinded added in v0.20.0

func (Int16Value) IsResourceKinded(_ *Interpreter) bool

func (Int16Value) IsValue

func (Int16Value) IsValue()

func (Int16Value) Less

func (v Int16Value) Less(interpreter *Interpreter, other NumberValue) BoolValue

func (Int16Value) LessEqual

func (v Int16Value) LessEqual(interpreter *Interpreter, other NumberValue) BoolValue

func (Int16Value) MeteredString added in v0.24.0

func (v Int16Value) MeteredString(memoryGauge common.MemoryGauge, _ SeenReferences) string

func (Int16Value) Minus

func (v Int16Value) Minus(interpreter *Interpreter, other NumberValue) NumberValue

func (Int16Value) Mod

func (v Int16Value) Mod(interpreter *Interpreter, other NumberValue) NumberValue

func (Int16Value) Mul

func (v Int16Value) Mul(interpreter *Interpreter, other NumberValue) NumberValue

func (Int16Value) NeedsStoreTo added in v0.20.0

func (Int16Value) NeedsStoreTo(_ atree.Address) bool

func (Int16Value) Negate

func (v Int16Value) Negate(interpreter *Interpreter) NumberValue

func (Int16Value) Plus

func (v Int16Value) Plus(interpreter *Interpreter, other NumberValue) NumberValue

func (Int16Value) RecursiveString added in v0.17.0

func (v Int16Value) RecursiveString(_ SeenReferences) string

func (Int16Value) RemoveMember added in v0.20.0

func (Int16Value) RemoveMember(_ *Interpreter, _ func() LocationRange, _ string) Value

func (Int16Value) SaturatingDiv added in v0.15.0

func (v Int16Value) SaturatingDiv(interpreter *Interpreter, other NumberValue) NumberValue

func (Int16Value) SaturatingMinus added in v0.15.0

func (v Int16Value) SaturatingMinus(interpreter *Interpreter, other NumberValue) NumberValue

func (Int16Value) SaturatingMul added in v0.15.0

func (v Int16Value) SaturatingMul(interpreter *Interpreter, other NumberValue) NumberValue

func (Int16Value) SaturatingPlus added in v0.15.0

func (v Int16Value) SaturatingPlus(interpreter *Interpreter, other NumberValue) NumberValue

func (Int16Value) SetMember added in v0.3.0

func (Int16Value) SetMember(_ *Interpreter, _ func() LocationRange, _ string, _ Value)

func (Int16Value) StaticType added in v0.12.0

func (Int16Value) StaticType(interpreter *Interpreter) StaticType

func (Int16Value) Storable added in v0.20.0

func (Int16Value) StoredValue added in v0.20.0

func (v Int16Value) StoredValue(_ atree.SlabStorage) (atree.Value, error)

func (Int16Value) String

func (v Int16Value) String() string

func (Int16Value) ToBigEndianBytes added in v0.5.0

func (v Int16Value) ToBigEndianBytes() []byte

func (Int16Value) ToInt

func (v Int16Value) ToInt() int

func (Int16Value) Transfer added in v0.20.0

func (v Int16Value) Transfer(
	interpreter *Interpreter,
	_ func() LocationRange,
	_ atree.Address,
	remove bool,
	storable atree.Storable,
) Value

func (Int16Value) Walk added in v0.19.0

func (Int16Value) Walk(_ *Interpreter, _ func(Value))

type Int256Value

type Int256Value struct {
	BigInt *big.Int
}

func ConvertInt256

func ConvertInt256(memoryGauge common.MemoryGauge, value Value) Int256Value

func NewInt256ValueFromBigInt

func NewInt256ValueFromBigInt(memoryGauge common.MemoryGauge, bigIntConstructor func() *big.Int) Int256Value

func NewInt256ValueFromUint64 added in v0.24.0

func NewInt256ValueFromUint64(memoryGauge common.MemoryGauge, value int64) Int256Value

func NewUnmeteredInt256ValueFromBigInt added in v0.24.0

func NewUnmeteredInt256ValueFromBigInt(value *big.Int) Int256Value

func NewUnmeteredInt256ValueFromInt64 added in v0.24.0

func NewUnmeteredInt256ValueFromInt64(value int64) Int256Value

func (Int256Value) Accept added in v0.12.0

func (v Int256Value) Accept(interpreter *Interpreter, visitor Visitor)

func (Int256Value) BitwiseAnd added in v0.2.0

func (v Int256Value) BitwiseAnd(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Int256Value) BitwiseLeftShift added in v0.2.0

func (v Int256Value) BitwiseLeftShift(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Int256Value) BitwiseOr added in v0.2.0

func (v Int256Value) BitwiseOr(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Int256Value) BitwiseRightShift added in v0.2.0

func (v Int256Value) BitwiseRightShift(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Int256Value) BitwiseXor added in v0.2.0

func (v Int256Value) BitwiseXor(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Int256Value) ByteLength added in v0.24.0

func (v Int256Value) ByteLength() int

func (Int256Value) ByteSize added in v0.20.0

func (v Int256Value) ByteSize() uint32

func (Int256Value) ChildStorables added in v0.20.0

func (Int256Value) ChildStorables() []atree.Storable

func (Int256Value) Clone added in v0.24.0

func (v Int256Value) Clone(_ *Interpreter) Value

func (Int256Value) ConformsToStaticType added in v0.24.0

func (v Int256Value) ConformsToStaticType(
	inter *Interpreter,
	_ func() LocationRange,
	staticType StaticType,
	_ TypeConformanceResults,
) bool

func (Int256Value) DeepRemove added in v0.20.0

func (Int256Value) DeepRemove(_ *Interpreter)

func (Int256Value) Div

func (v Int256Value) Div(interpreter *Interpreter, other NumberValue) NumberValue

func (Int256Value) Encode added in v0.20.0

func (v Int256Value) Encode(e *atree.Encoder) error

Encode encodes Int256Value as

cbor.Tag{
		Number:  CBORTagInt256Value,
		Content: *big.Int(v.BigInt),
}

func (Int256Value) Equal

func (v Int256Value) Equal(_ *Interpreter, _ func() LocationRange, other Value) bool

func (Int256Value) GetMember added in v0.3.0

func (v Int256Value) GetMember(interpreter *Interpreter, _ func() LocationRange, name string) Value

func (Int256Value) Greater

func (v Int256Value) Greater(interpreter *Interpreter, other NumberValue) BoolValue

func (Int256Value) GreaterEqual

func (v Int256Value) GreaterEqual(interpreter *Interpreter, other NumberValue) BoolValue

func (Int256Value) HashInput added in v0.20.0

func (v Int256Value) HashInput(_ *Interpreter, _ func() LocationRange, scratch []byte) []byte

HashInput returns a byte slice containing: - HashInputTypeInt256 (1 byte) - big int value encoded in big-endian (n bytes)

func (Int256Value) IsImportable added in v0.24.0

func (Int256Value) IsImportable(_ *Interpreter) bool

func (Int256Value) IsResourceKinded added in v0.20.0

func (Int256Value) IsResourceKinded(_ *Interpreter) bool

func (Int256Value) IsValue

func (Int256Value) IsValue()

func (Int256Value) Less

func (v Int256Value) Less(interpreter *Interpreter, other NumberValue) BoolValue

func (Int256Value) LessEqual

func (v Int256Value) LessEqual(interpreter *Interpreter, other NumberValue) BoolValue

func (Int256Value) MeteredString added in v0.24.0

func (v Int256Value) MeteredString(memoryGauge common.MemoryGauge, _ SeenReferences) string

func (Int256Value) Minus

func (v Int256Value) Minus(interpreter *Interpreter, other NumberValue) NumberValue

func (Int256Value) Mod

func (v Int256Value) Mod(interpreter *Interpreter, other NumberValue) NumberValue

func (Int256Value) Mul

func (v Int256Value) Mul(interpreter *Interpreter, other NumberValue) NumberValue

func (Int256Value) NeedsStoreTo added in v0.20.0

func (Int256Value) NeedsStoreTo(_ atree.Address) bool

func (Int256Value) Negate

func (v Int256Value) Negate(interpreter *Interpreter) NumberValue

func (Int256Value) Plus

func (v Int256Value) Plus(interpreter *Interpreter, other NumberValue) NumberValue

func (Int256Value) RecursiveString added in v0.17.0

func (v Int256Value) RecursiveString(_ SeenReferences) string

func (Int256Value) RemoveMember added in v0.20.0

func (Int256Value) RemoveMember(_ *Interpreter, _ func() LocationRange, _ string) Value

func (Int256Value) SaturatingDiv added in v0.15.0

func (v Int256Value) SaturatingDiv(interpreter *Interpreter, other NumberValue) NumberValue

func (Int256Value) SaturatingMinus added in v0.15.0

func (v Int256Value) SaturatingMinus(interpreter *Interpreter, other NumberValue) NumberValue

func (Int256Value) SaturatingMul added in v0.15.0

func (v Int256Value) SaturatingMul(interpreter *Interpreter, other NumberValue) NumberValue

func (Int256Value) SaturatingPlus added in v0.15.0

func (v Int256Value) SaturatingPlus(interpreter *Interpreter, other NumberValue) NumberValue

func (Int256Value) SetMember added in v0.3.0

func (Int256Value) SetMember(_ *Interpreter, _ func() LocationRange, _ string, _ Value)

func (Int256Value) StaticType added in v0.12.0

func (Int256Value) StaticType(interpreter *Interpreter) StaticType

func (Int256Value) Storable added in v0.20.0

func (Int256Value) StoredValue added in v0.20.0

func (v Int256Value) StoredValue(_ atree.SlabStorage) (atree.Value, error)

func (Int256Value) String

func (v Int256Value) String() string

func (Int256Value) ToBigEndianBytes added in v0.5.0

func (v Int256Value) ToBigEndianBytes() []byte

func (Int256Value) ToBigInt

func (v Int256Value) ToBigInt(memoryGauge common.MemoryGauge) *big.Int

func (Int256Value) ToInt

func (v Int256Value) ToInt() int

func (Int256Value) Transfer added in v0.20.0

func (v Int256Value) Transfer(
	interpreter *Interpreter,
	_ func() LocationRange,
	_ atree.Address,
	remove bool,
	storable atree.Storable,
) Value

func (Int256Value) Walk added in v0.19.0

func (Int256Value) Walk(_ *Interpreter, _ func(Value))

type Int32Value

type Int32Value int32

func ConvertInt32

func ConvertInt32(memoryGauge common.MemoryGauge, value Value) Int32Value

func NewInt32Value added in v0.24.0

func NewInt32Value(gauge common.MemoryGauge, valueGetter func() int32) Int32Value

func NewUnmeteredInt32Value added in v0.24.0

func NewUnmeteredInt32Value(value int32) Int32Value

func (Int32Value) Accept added in v0.12.0

func (v Int32Value) Accept(interpreter *Interpreter, visitor Visitor)

func (Int32Value) BitwiseAnd added in v0.2.0

func (v Int32Value) BitwiseAnd(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Int32Value) BitwiseLeftShift added in v0.2.0

func (v Int32Value) BitwiseLeftShift(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Int32Value) BitwiseOr added in v0.2.0

func (v Int32Value) BitwiseOr(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Int32Value) BitwiseRightShift added in v0.2.0

func (v Int32Value) BitwiseRightShift(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Int32Value) BitwiseXor added in v0.2.0

func (v Int32Value) BitwiseXor(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Int32Value) ByteSize added in v0.20.0

func (v Int32Value) ByteSize() uint32

func (Int32Value) ChildStorables added in v0.20.0

func (Int32Value) ChildStorables() []atree.Storable

func (Int32Value) Clone added in v0.24.0

func (v Int32Value) Clone(_ *Interpreter) Value

func (Int32Value) ConformsToStaticType added in v0.24.0

func (v Int32Value) ConformsToStaticType(
	inter *Interpreter,
	_ func() LocationRange,
	staticType StaticType,
	_ TypeConformanceResults,
) bool

func (Int32Value) DeepRemove added in v0.20.0

func (Int32Value) DeepRemove(_ *Interpreter)

func (Int32Value) Div

func (v Int32Value) Div(interpreter *Interpreter, other NumberValue) NumberValue

func (Int32Value) Encode added in v0.20.0

func (v Int32Value) Encode(e *atree.Encoder) error

Encode encodes Int32Value as

cbor.Tag{
		Number:  CBORTagInt32Value,
		Content: int32(v),
}

func (Int32Value) Equal

func (v Int32Value) Equal(_ *Interpreter, _ func() LocationRange, other Value) bool

func (Int32Value) GetMember added in v0.3.0

func (v Int32Value) GetMember(interpreter *Interpreter, _ func() LocationRange, name string) Value

func (Int32Value) Greater

func (v Int32Value) Greater(interpreter *Interpreter, other NumberValue) BoolValue

func (Int32Value) GreaterEqual

func (v Int32Value) GreaterEqual(interpreter *Interpreter, other NumberValue) BoolValue

func (Int32Value) HashInput added in v0.20.0

func (v Int32Value) HashInput(_ *Interpreter, _ func() LocationRange, scratch []byte) []byte

HashInput returns a byte slice containing: - HashInputTypeInt32 (1 byte) - int32 value encoded in big-endian (4 bytes)

func (Int32Value) IsImportable added in v0.24.0

func (Int32Value) IsImportable(_ *Interpreter) bool

func (Int32Value) IsResourceKinded added in v0.20.0

func (Int32Value) IsResourceKinded(_ *Interpreter) bool

func (Int32Value) IsValue

func (Int32Value) IsValue()

func (Int32Value) Less

func (v Int32Value) Less(interpreter *Interpreter, other NumberValue) BoolValue

func (Int32Value) LessEqual

func (v Int32Value) LessEqual(interpreter *Interpreter, other NumberValue) BoolValue

func (Int32Value) MeteredString added in v0.24.0

func (v Int32Value) MeteredString(memoryGauge common.MemoryGauge, _ SeenReferences) string

func (Int32Value) Minus

func (v Int32Value) Minus(interpreter *Interpreter, other NumberValue) NumberValue

func (Int32Value) Mod

func (v Int32Value) Mod(interpreter *Interpreter, other NumberValue) NumberValue

func (Int32Value) Mul

func (v Int32Value) Mul(interpreter *Interpreter, other NumberValue) NumberValue

func (Int32Value) NeedsStoreTo added in v0.20.0

func (Int32Value) NeedsStoreTo(_ atree.Address) bool

func (Int32Value) Negate

func (v Int32Value) Negate(interpreter *Interpreter) NumberValue

func (Int32Value) Plus

func (v Int32Value) Plus(interpreter *Interpreter, other NumberValue) NumberValue

func (Int32Value) RecursiveString added in v0.17.0

func (v Int32Value) RecursiveString(_ SeenReferences) string

func (Int32Value) RemoveMember added in v0.20.0

func (Int32Value) RemoveMember(_ *Interpreter, _ func() LocationRange, _ string) Value

func (Int32Value) SaturatingDiv added in v0.15.0

func (v Int32Value) SaturatingDiv(interpreter *Interpreter, other NumberValue) NumberValue

func (Int32Value) SaturatingMinus added in v0.15.0

func (v Int32Value) SaturatingMinus(interpreter *Interpreter, other NumberValue) NumberValue

func (Int32Value) SaturatingMul added in v0.15.0

func (v Int32Value) SaturatingMul(interpreter *Interpreter, other NumberValue) NumberValue

func (Int32Value) SaturatingPlus added in v0.15.0

func (v Int32Value) SaturatingPlus(interpreter *Interpreter, other NumberValue) NumberValue

func (Int32Value) SetMember added in v0.3.0

func (Int32Value) SetMember(_ *Interpreter, _ func() LocationRange, _ string, _ Value)

func (Int32Value) StaticType added in v0.12.0

func (Int32Value) StaticType(interpreter *Interpreter) StaticType

func (Int32Value) Storable added in v0.20.0

func (Int32Value) StoredValue added in v0.20.0

func (v Int32Value) StoredValue(_ atree.SlabStorage) (atree.Value, error)

func (Int32Value) String

func (v Int32Value) String() string

func (Int32Value) ToBigEndianBytes added in v0.5.0

func (v Int32Value) ToBigEndianBytes() []byte

func (Int32Value) ToInt

func (v Int32Value) ToInt() int

func (Int32Value) Transfer added in v0.20.0

func (v Int32Value) Transfer(
	interpreter *Interpreter,
	_ func() LocationRange,
	_ atree.Address,
	remove bool,
	storable atree.Storable,
) Value

func (Int32Value) Walk added in v0.19.0

func (Int32Value) Walk(_ *Interpreter, _ func(Value))

type Int64Value

type Int64Value int64

func ConvertInt64

func ConvertInt64(memoryGauge common.MemoryGauge, value Value) Int64Value

func NewInt64Value added in v0.24.0

func NewInt64Value(gauge common.MemoryGauge, valueGetter func() int64) Int64Value

func NewUnmeteredInt64Value added in v0.24.0

func NewUnmeteredInt64Value(value int64) Int64Value

func (Int64Value) Accept added in v0.12.0

func (v Int64Value) Accept(interpreter *Interpreter, visitor Visitor)

func (Int64Value) BitwiseAnd added in v0.2.0

func (v Int64Value) BitwiseAnd(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Int64Value) BitwiseLeftShift added in v0.2.0

func (v Int64Value) BitwiseLeftShift(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Int64Value) BitwiseOr added in v0.2.0

func (v Int64Value) BitwiseOr(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Int64Value) BitwiseRightShift added in v0.2.0

func (v Int64Value) BitwiseRightShift(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Int64Value) BitwiseXor added in v0.2.0

func (v Int64Value) BitwiseXor(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Int64Value) ByteSize added in v0.20.0

func (v Int64Value) ByteSize() uint32

func (Int64Value) ChildStorables added in v0.20.0

func (Int64Value) ChildStorables() []atree.Storable

func (Int64Value) Clone added in v0.24.0

func (v Int64Value) Clone(_ *Interpreter) Value

func (Int64Value) ConformsToStaticType added in v0.24.0

func (v Int64Value) ConformsToStaticType(
	inter *Interpreter,
	_ func() LocationRange,
	staticType StaticType,
	_ TypeConformanceResults,
) bool

func (Int64Value) DeepRemove added in v0.20.0

func (Int64Value) DeepRemove(_ *Interpreter)

func (Int64Value) Div

func (v Int64Value) Div(interpreter *Interpreter, other NumberValue) NumberValue

func (Int64Value) Encode added in v0.20.0

func (v Int64Value) Encode(e *atree.Encoder) error

Encode encodes Int64Value as

cbor.Tag{
		Number:  CBORTagInt64Value,
		Content: int64(v),
}

func (Int64Value) Equal

func (v Int64Value) Equal(_ *Interpreter, _ func() LocationRange, other Value) bool

func (Int64Value) GetMember added in v0.3.0

func (v Int64Value) GetMember(interpreter *Interpreter, _ func() LocationRange, name string) Value

func (Int64Value) Greater

func (v Int64Value) Greater(interpreter *Interpreter, other NumberValue) BoolValue

func (Int64Value) GreaterEqual

func (v Int64Value) GreaterEqual(interpreter *Interpreter, other NumberValue) BoolValue

func (Int64Value) HashInput added in v0.20.0

func (v Int64Value) HashInput(_ *Interpreter, _ func() LocationRange, scratch []byte) []byte

HashInput returns a byte slice containing: - HashInputTypeInt64 (1 byte) - int64 value encoded in big-endian (8 bytes)

func (Int64Value) IsImportable added in v0.24.0

func (Int64Value) IsImportable(_ *Interpreter) bool

func (Int64Value) IsResourceKinded added in v0.20.0

func (Int64Value) IsResourceKinded(_ *Interpreter) bool

func (Int64Value) IsValue

func (Int64Value) IsValue()

func (Int64Value) Less

func (v Int64Value) Less(interpreter *Interpreter, other NumberValue) BoolValue

func (Int64Value) LessEqual

func (v Int64Value) LessEqual(interpreter *Interpreter, other NumberValue) BoolValue

func (Int64Value) MeteredString added in v0.24.0

func (v Int64Value) MeteredString(memoryGauge common.MemoryGauge, _ SeenReferences) string

func (Int64Value) Minus

func (v Int64Value) Minus(interpreter *Interpreter, other NumberValue) NumberValue

func (Int64Value) Mod

func (v Int64Value) Mod(interpreter *Interpreter, other NumberValue) NumberValue

func (Int64Value) Mul

func (v Int64Value) Mul(interpreter *Interpreter, other NumberValue) NumberValue

func (Int64Value) NeedsStoreTo added in v0.20.0

func (Int64Value) NeedsStoreTo(_ atree.Address) bool

func (Int64Value) Negate

func (v Int64Value) Negate(interpreter *Interpreter) NumberValue

func (Int64Value) Plus

func (v Int64Value) Plus(interpreter *Interpreter, other NumberValue) NumberValue

func (Int64Value) RecursiveString added in v0.17.0

func (v Int64Value) RecursiveString(_ SeenReferences) string

func (Int64Value) RemoveMember added in v0.20.0

func (Int64Value) RemoveMember(_ *Interpreter, _ func() LocationRange, _ string) Value

func (Int64Value) SaturatingDiv added in v0.15.0

func (v Int64Value) SaturatingDiv(interpreter *Interpreter, other NumberValue) NumberValue

func (Int64Value) SaturatingMinus added in v0.15.0

func (v Int64Value) SaturatingMinus(interpreter *Interpreter, other NumberValue) NumberValue

func (Int64Value) SaturatingMul added in v0.15.0

func (v Int64Value) SaturatingMul(interpreter *Interpreter, other NumberValue) NumberValue

func (Int64Value) SaturatingPlus added in v0.15.0

func (v Int64Value) SaturatingPlus(interpreter *Interpreter, other NumberValue) NumberValue

func (Int64Value) SetMember added in v0.3.0

func (Int64Value) SetMember(_ *Interpreter, _ func() LocationRange, _ string, _ Value)

func (Int64Value) StaticType added in v0.12.0

func (Int64Value) StaticType(interpreter *Interpreter) StaticType

func (Int64Value) Storable added in v0.20.0

func (Int64Value) StoredValue added in v0.20.0

func (v Int64Value) StoredValue(_ atree.SlabStorage) (atree.Value, error)

func (Int64Value) String

func (v Int64Value) String() string

func (Int64Value) ToBigEndianBytes added in v0.5.0

func (v Int64Value) ToBigEndianBytes() []byte

func (Int64Value) ToInt

func (v Int64Value) ToInt() int

func (Int64Value) Transfer added in v0.20.0

func (v Int64Value) Transfer(
	interpreter *Interpreter,
	_ func() LocationRange,
	_ atree.Address,
	remove bool,
	storable atree.Storable,
) Value

func (Int64Value) Walk added in v0.19.0

func (Int64Value) Walk(_ *Interpreter, _ func(Value))

type Int8Value

type Int8Value int8

func ConvertInt8

func ConvertInt8(memoryGauge common.MemoryGauge, value Value) Int8Value

func NewInt8Value added in v0.24.0

func NewInt8Value(gauge common.MemoryGauge, valueGetter func() int8) Int8Value

func NewUnmeteredInt8Value added in v0.24.0

func NewUnmeteredInt8Value(value int8) Int8Value

func (Int8Value) Accept added in v0.12.0

func (v Int8Value) Accept(interpreter *Interpreter, visitor Visitor)

func (Int8Value) BitwiseAnd added in v0.2.0

func (v Int8Value) BitwiseAnd(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Int8Value) BitwiseLeftShift added in v0.2.0

func (v Int8Value) BitwiseLeftShift(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Int8Value) BitwiseOr added in v0.2.0

func (v Int8Value) BitwiseOr(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Int8Value) BitwiseRightShift added in v0.2.0

func (v Int8Value) BitwiseRightShift(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Int8Value) BitwiseXor added in v0.2.0

func (v Int8Value) BitwiseXor(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Int8Value) ByteSize added in v0.20.0

func (v Int8Value) ByteSize() uint32

func (Int8Value) ChildStorables added in v0.20.0

func (Int8Value) ChildStorables() []atree.Storable

func (Int8Value) Clone added in v0.24.0

func (v Int8Value) Clone(_ *Interpreter) Value

func (Int8Value) ConformsToStaticType added in v0.24.0

func (v Int8Value) ConformsToStaticType(
	inter *Interpreter,
	_ func() LocationRange,
	staticType StaticType,
	_ TypeConformanceResults,
) bool

func (Int8Value) DeepRemove added in v0.20.0

func (Int8Value) DeepRemove(_ *Interpreter)

func (Int8Value) Div

func (v Int8Value) Div(interpreter *Interpreter, other NumberValue) NumberValue

func (Int8Value) Encode added in v0.20.0

func (v Int8Value) Encode(e *atree.Encoder) error

Encode encodes Int8Value as

cbor.Tag{
		Number:  CBORTagInt8Value,
		Content: int8(v),
}

func (Int8Value) Equal

func (v Int8Value) Equal(_ *Interpreter, _ func() LocationRange, other Value) bool

func (Int8Value) GetMember added in v0.3.0

func (v Int8Value) GetMember(interpreter *Interpreter, _ func() LocationRange, name string) Value

func (Int8Value) Greater

func (v Int8Value) Greater(interpreter *Interpreter, other NumberValue) BoolValue

func (Int8Value) GreaterEqual

func (v Int8Value) GreaterEqual(interpreter *Interpreter, other NumberValue) BoolValue

func (Int8Value) HashInput added in v0.20.0

func (v Int8Value) HashInput(_ *Interpreter, _ func() LocationRange, scratch []byte) []byte

HashInput returns a byte slice containing: - HashInputTypeInt8 (1 byte) - int8 value (1 byte)

func (Int8Value) IsImportable added in v0.24.0

func (Int8Value) IsImportable(_ *Interpreter) bool

func (Int8Value) IsResourceKinded added in v0.20.0

func (Int8Value) IsResourceKinded(_ *Interpreter) bool

func (Int8Value) IsValue

func (Int8Value) IsValue()

func (Int8Value) Less

func (v Int8Value) Less(interpreter *Interpreter, other NumberValue) BoolValue

func (Int8Value) LessEqual

func (v Int8Value) LessEqual(interpreter *Interpreter, other NumberValue) BoolValue

func (Int8Value) MeteredString added in v0.24.0

func (v Int8Value) MeteredString(memoryGauge common.MemoryGauge, _ SeenReferences) string

func (Int8Value) Minus

func (v Int8Value) Minus(interpreter *Interpreter, other NumberValue) NumberValue

func (Int8Value) Mod

func (v Int8Value) Mod(interpreter *Interpreter, other NumberValue) NumberValue

func (Int8Value) Mul

func (v Int8Value) Mul(interpreter *Interpreter, other NumberValue) NumberValue

func (Int8Value) NeedsStoreTo added in v0.20.0

func (Int8Value) NeedsStoreTo(_ atree.Address) bool

func (Int8Value) Negate

func (v Int8Value) Negate(interpreter *Interpreter) NumberValue

func (Int8Value) Plus

func (v Int8Value) Plus(interpreter *Interpreter, other NumberValue) NumberValue

func (Int8Value) RecursiveString added in v0.17.0

func (v Int8Value) RecursiveString(_ SeenReferences) string

func (Int8Value) RemoveMember added in v0.20.0

func (Int8Value) RemoveMember(_ *Interpreter, _ func() LocationRange, _ string) Value

func (Int8Value) SaturatingDiv added in v0.15.0

func (v Int8Value) SaturatingDiv(interpreter *Interpreter, other NumberValue) NumberValue

func (Int8Value) SaturatingMinus added in v0.15.0

func (v Int8Value) SaturatingMinus(interpreter *Interpreter, other NumberValue) NumberValue

func (Int8Value) SaturatingMul added in v0.15.0

func (v Int8Value) SaturatingMul(interpreter *Interpreter, other NumberValue) NumberValue

func (Int8Value) SaturatingPlus added in v0.15.0

func (v Int8Value) SaturatingPlus(interpreter *Interpreter, other NumberValue) NumberValue

func (Int8Value) SetMember added in v0.3.0

func (Int8Value) SetMember(_ *Interpreter, _ func() LocationRange, _ string, _ Value)

func (Int8Value) StaticType added in v0.12.0

func (Int8Value) StaticType(interpreter *Interpreter) StaticType

func (Int8Value) Storable added in v0.20.0

func (Int8Value) StoredValue added in v0.20.0

func (v Int8Value) StoredValue(_ atree.SlabStorage) (atree.Value, error)

func (Int8Value) String

func (v Int8Value) String() string

func (Int8Value) ToBigEndianBytes added in v0.5.0

func (v Int8Value) ToBigEndianBytes() []byte

func (Int8Value) ToInt

func (v Int8Value) ToInt() int

func (Int8Value) Transfer added in v0.20.0

func (v Int8Value) Transfer(
	interpreter *Interpreter,
	_ func() LocationRange,
	_ atree.Address,
	remove bool,
	storable atree.Storable,
) Value

func (Int8Value) Walk added in v0.19.0

func (Int8Value) Walk(_ *Interpreter, _ func(Value))

type IntValue

type IntValue struct {
	BigInt *big.Int
}

func ConvertInt

func ConvertInt(memoryGauge common.MemoryGauge, value Value) IntValue

func NewIntValueFromBigInt

func NewIntValueFromBigInt(
	memoryGauge common.MemoryGauge,
	memoryUsage common.MemoryUsage,
	bigIntConstructor func() *big.Int,
) IntValue

func NewIntValueFromInt64

func NewIntValueFromInt64(memoryGauge common.MemoryGauge, value int64) IntValue

func NewUnmeteredIntValueFromBigInt added in v0.24.0

func NewUnmeteredIntValueFromBigInt(value *big.Int) IntValue

func NewUnmeteredIntValueFromInt64 added in v0.24.0

func NewUnmeteredIntValueFromInt64(value int64) IntValue

func (IntValue) Accept added in v0.12.0

func (v IntValue) Accept(interpreter *Interpreter, visitor Visitor)

func (IntValue) BitwiseAnd added in v0.2.0

func (v IntValue) BitwiseAnd(interpreter *Interpreter, other IntegerValue) IntegerValue

func (IntValue) BitwiseLeftShift added in v0.2.0

func (v IntValue) BitwiseLeftShift(interpreter *Interpreter, other IntegerValue) IntegerValue

func (IntValue) BitwiseOr added in v0.2.0

func (v IntValue) BitwiseOr(interpreter *Interpreter, other IntegerValue) IntegerValue

func (IntValue) BitwiseRightShift added in v0.2.0

func (v IntValue) BitwiseRightShift(interpreter *Interpreter, other IntegerValue) IntegerValue

func (IntValue) BitwiseXor added in v0.2.0

func (v IntValue) BitwiseXor(interpreter *Interpreter, other IntegerValue) IntegerValue

func (IntValue) ByteLength added in v0.24.0

func (v IntValue) ByteLength() int

func (IntValue) ByteSize added in v0.20.0

func (v IntValue) ByteSize() uint32

func (IntValue) ChildStorables added in v0.20.0

func (IntValue) ChildStorables() []atree.Storable

func (IntValue) Clone added in v0.24.0

func (v IntValue) Clone(_ *Interpreter) Value

func (IntValue) ConformsToStaticType added in v0.24.0

func (v IntValue) ConformsToStaticType(
	inter *Interpreter,
	_ func() LocationRange,
	staticType StaticType,
	_ TypeConformanceResults,
) bool

func (IntValue) DeepRemove added in v0.20.0

func (IntValue) DeepRemove(_ *Interpreter)

func (IntValue) Div

func (v IntValue) Div(interpreter *Interpreter, other NumberValue) NumberValue

func (IntValue) Encode added in v0.20.0

func (v IntValue) Encode(e *atree.Encoder) error

Encode encodes the value as

cbor.Tag{
		Number:  CBORTagIntValue,
		Content: *big.Int(v.BigInt),
}

func (IntValue) Equal

func (v IntValue) Equal(_ *Interpreter, _ func() LocationRange, other Value) bool

func (IntValue) GetMember added in v0.3.0

func (v IntValue) GetMember(interpreter *Interpreter, _ func() LocationRange, name string) Value

func (IntValue) Greater

func (v IntValue) Greater(interpreter *Interpreter, other NumberValue) BoolValue

func (IntValue) GreaterEqual

func (v IntValue) GreaterEqual(interpreter *Interpreter, other NumberValue) BoolValue

func (IntValue) HashInput added in v0.20.0

func (v IntValue) HashInput(_ *Interpreter, _ func() LocationRange, scratch []byte) []byte

HashInput returns a byte slice containing: - HashInputTypeInt (1 byte) - big int encoded in big-endian (n bytes)

func (IntValue) IsImportable added in v0.24.0

func (IntValue) IsImportable(_ *Interpreter) bool

func (IntValue) IsResourceKinded added in v0.20.0

func (IntValue) IsResourceKinded(_ *Interpreter) bool

func (IntValue) IsValue

func (IntValue) IsValue()

func (IntValue) Less

func (v IntValue) Less(interpreter *Interpreter, other NumberValue) BoolValue

func (IntValue) LessEqual

func (v IntValue) LessEqual(interpreter *Interpreter, other NumberValue) BoolValue

func (IntValue) MeteredString added in v0.24.0

func (v IntValue) MeteredString(memoryGauge common.MemoryGauge, _ SeenReferences) string

func (IntValue) Minus

func (v IntValue) Minus(interpreter *Interpreter, other NumberValue) NumberValue

func (IntValue) Mod

func (v IntValue) Mod(interpreter *Interpreter, other NumberValue) NumberValue

func (IntValue) Mul

func (v IntValue) Mul(interpreter *Interpreter, other NumberValue) NumberValue

func (IntValue) NeedsStoreTo added in v0.20.0

func (IntValue) NeedsStoreTo(_ atree.Address) bool

func (IntValue) Negate

func (v IntValue) Negate(interpreter *Interpreter) NumberValue

func (IntValue) Plus

func (v IntValue) Plus(interpreter *Interpreter, other NumberValue) NumberValue

func (IntValue) RecursiveString added in v0.17.0

func (v IntValue) RecursiveString(_ SeenReferences) string

func (IntValue) RemoveMember added in v0.20.0

func (IntValue) RemoveMember(_ *Interpreter, _ func() LocationRange, _ string) Value

func (IntValue) SaturatingDiv added in v0.15.0

func (v IntValue) SaturatingDiv(interpreter *Interpreter, other NumberValue) NumberValue

func (IntValue) SaturatingMinus added in v0.15.0

func (v IntValue) SaturatingMinus(interpreter *Interpreter, other NumberValue) NumberValue

func (IntValue) SaturatingMul added in v0.15.0

func (v IntValue) SaturatingMul(interpreter *Interpreter, other NumberValue) NumberValue

func (IntValue) SaturatingPlus added in v0.15.0

func (v IntValue) SaturatingPlus(interpreter *Interpreter, other NumberValue) NumberValue

func (IntValue) SetMember added in v0.3.0

func (IntValue) SetMember(_ *Interpreter, _ func() LocationRange, _ string, _ Value)

func (IntValue) StaticType added in v0.12.0

func (IntValue) StaticType(interpreter *Interpreter) StaticType

func (IntValue) Storable added in v0.20.0

func (v IntValue) Storable(storage atree.SlabStorage, address atree.Address, maxInlineSize uint64) (atree.Storable, error)

func (IntValue) StoredValue added in v0.20.0

func (v IntValue) StoredValue(_ atree.SlabStorage) (atree.Value, error)

func (IntValue) String

func (v IntValue) String() string

func (IntValue) ToBigEndianBytes added in v0.5.0

func (v IntValue) ToBigEndianBytes() []byte

func (IntValue) ToBigInt

func (v IntValue) ToBigInt(memoryGauge common.MemoryGauge) *big.Int

func (IntValue) ToInt

func (v IntValue) ToInt() int

func (IntValue) Transfer added in v0.20.0

func (v IntValue) Transfer(
	interpreter *Interpreter,
	_ func() LocationRange,
	_ atree.Address,
	remove bool,
	storable atree.Storable,
) Value

func (IntValue) Walk added in v0.19.0

func (IntValue) Walk(_ *Interpreter, _ func(Value))

type IntegerValue added in v0.2.0

type IntegerValue interface {
	NumberValue
	BitwiseOr(interpreter *Interpreter, other IntegerValue) IntegerValue
	BitwiseXor(interpreter *Interpreter, other IntegerValue) IntegerValue
	BitwiseAnd(interpreter *Interpreter, other IntegerValue) IntegerValue
	BitwiseLeftShift(interpreter *Interpreter, other IntegerValue) IntegerValue
	BitwiseRightShift(interpreter *Interpreter, other IntegerValue) IntegerValue
}

type InterfaceMissingLocationError added in v0.24.0

type InterfaceMissingLocationError struct {
	QualifiedIdentifier string
}

InterfaceMissingLocation is reported during interface lookup, if an interface is looked up without a location

func (InterfaceMissingLocationError) Error added in v0.24.0

type InterfaceStaticType

type InterfaceStaticType struct {
	Location            common.Location
	QualifiedIdentifier string
}

func ConvertSemaInterfaceTypeToStaticInterfaceType added in v0.19.0

func ConvertSemaInterfaceTypeToStaticInterfaceType(
	memoryGauge common.MemoryGauge,
	t *sema.InterfaceType,
) InterfaceStaticType

func NewInterfaceStaticType added in v0.24.0

func NewInterfaceStaticType(
	memoryGauge common.MemoryGauge,
	location common.Location,
	qualifiedIdentifier string,
) InterfaceStaticType

func (InterfaceStaticType) Encode added in v0.20.0

func (t InterfaceStaticType) Encode(e *cbor.StreamEncoder) error

Encode encodes InterfaceStaticType as

cbor.Tag{
		Number: CBORTagInterfaceStaticType,
		Content: cborArray{
				encodedInterfaceStaticTypeLocationFieldKey:            Location(v.Location),
				encodedInterfaceStaticTypeQualifiedIdentifierFieldKey: string(v.QualifiedIdentifier),
		},
}

func (InterfaceStaticType) Equal added in v0.15.0

func (t InterfaceStaticType) Equal(other StaticType) bool

func (InterfaceStaticType) MeteredString added in v0.24.0

func (t InterfaceStaticType) MeteredString(memoryGauge common.MemoryGauge) string

func (InterfaceStaticType) String

func (t InterfaceStaticType) String() string

type InterpretedFunctionValue

type InterpretedFunctionValue struct {
	Interpreter      *Interpreter
	ParameterList    *ast.ParameterList
	Type             *sema.FunctionType
	Activation       *VariableActivation
	BeforeStatements []ast.Statement
	PreConditions    ast.Conditions
	Statements       []ast.Statement
	PostConditions   ast.Conditions
}

InterpretedFunctionValue

func NewInterpretedFunctionValue added in v0.24.0

func NewInterpretedFunctionValue(
	interpreter *Interpreter,
	parameterList *ast.ParameterList,
	functionType *sema.FunctionType,
	lexicalScope *VariableActivation,
	beforeStatements []ast.Statement,
	preConditions ast.Conditions,
	statements []ast.Statement,
	postConditions ast.Conditions,
) *InterpretedFunctionValue

func (*InterpretedFunctionValue) Accept added in v0.12.0

func (f *InterpretedFunctionValue) Accept(interpreter *Interpreter, visitor Visitor)

func (*InterpretedFunctionValue) Clone added in v0.24.0

func (*InterpretedFunctionValue) ConformsToStaticType added in v0.24.0

func (f *InterpretedFunctionValue) ConformsToStaticType(
	_ *Interpreter,
	_ func() LocationRange,
	staticType StaticType,
	_ TypeConformanceResults,
) bool

func (*InterpretedFunctionValue) DeepRemove added in v0.20.0

func (*InterpretedFunctionValue) DeepRemove(_ *Interpreter)

func (*InterpretedFunctionValue) IsImportable added in v0.24.0

func (*InterpretedFunctionValue) IsImportable(_ *Interpreter) bool

func (*InterpretedFunctionValue) IsResourceKinded added in v0.20.0

func (*InterpretedFunctionValue) IsResourceKinded(_ *Interpreter) bool

func (*InterpretedFunctionValue) IsValue

func (*InterpretedFunctionValue) IsValue()

func (*InterpretedFunctionValue) MeteredString added in v0.24.0

func (f *InterpretedFunctionValue) MeteredString(memoryGauge common.MemoryGauge, _ SeenReferences) string

func (*InterpretedFunctionValue) NeedsStoreTo added in v0.20.0

func (*InterpretedFunctionValue) NeedsStoreTo(_ atree.Address) bool

func (*InterpretedFunctionValue) RecursiveString added in v0.17.0

func (f *InterpretedFunctionValue) RecursiveString(_ SeenReferences) string

func (*InterpretedFunctionValue) StaticType added in v0.12.0

func (f *InterpretedFunctionValue) StaticType(interpreter *Interpreter) StaticType

func (*InterpretedFunctionValue) Storable added in v0.20.0

func (*InterpretedFunctionValue) String added in v0.2.0

func (f *InterpretedFunctionValue) String() string

func (*InterpretedFunctionValue) Transfer added in v0.20.0

func (f *InterpretedFunctionValue) Transfer(
	interpreter *Interpreter,
	_ func() LocationRange,
	_ atree.Address,
	remove bool,
	storable atree.Storable,
) Value

func (*InterpretedFunctionValue) Walk added in v0.19.0

func (f *InterpretedFunctionValue) Walk(_ *Interpreter, _ func(Value))

type Interpreter

type Interpreter struct {
	Program           *Program
	Location          common.Location
	PredeclaredValues []ValueDeclaration

	Globals GlobalVariables

	Transactions []*HostFunctionValue
	Storage      Storage

	PublicKeyValidationHandler    PublicKeyValidationHandlerFunc
	SignatureVerificationHandler  SignatureVerificationHandlerFunc
	BLSVerifyPoPHandler           BLSVerifyPoPHandlerFunc
	BLSAggregateSignaturesHandler BLSAggregateSignaturesHandlerFunc
	BLSAggregatePublicKeysHandler BLSAggregatePublicKeysHandlerFunc
	HashHandler                   HashHandlerFunc
	ExitHandler                   ExitHandlerFunc
	// contains filtered or unexported fields
}

func NewInterpreter

func NewInterpreter(program *Program, location common.Location, options ...Option) (*Interpreter, error)

func (*Interpreter) BoxOptional added in v0.20.0

func (interpreter *Interpreter) BoxOptional(
	getLocationRange func() LocationRange,
	value Value,
	targetType sema.Type,
) Value

BoxOptional boxes a value in optionals, if necessary

func (*Interpreter) CheckValueTransferTargetType added in v0.24.0

func (interpreter *Interpreter) CheckValueTransferTargetType(value Value, targetType sema.Type) bool

func (*Interpreter) ConvertAndBox added in v0.20.0

func (interpreter *Interpreter) ConvertAndBox(
	getLocationRange func() LocationRange,
	value Value,
	valueType, targetType sema.Type,
) Value

ConvertAndBox converts a value to a target type, and boxes in optionals and any value, if necessary

func (*Interpreter) ConvertStaticToSemaType added in v0.7.0

func (interpreter *Interpreter) ConvertStaticToSemaType(staticType StaticType) (sema.Type, error)

func (*Interpreter) DecodeStorable added in v0.24.0

func (interpreter *Interpreter) DecodeStorable(
	decoder *cbor.StreamDecoder,
	storageID atree.StorageID,
) (
	atree.Storable,
	error,
)

func (*Interpreter) DecodeTypeInfo added in v0.24.0

func (interpreter *Interpreter) DecodeTypeInfo(decoder *cbor.StreamDecoder) (atree.TypeInfo, error)

func (*Interpreter) EnsureLoaded added in v0.16.0

func (interpreter *Interpreter) EnsureLoaded(
	location common.Location,
) *Interpreter

func (*Interpreter) ExpectType added in v0.19.0

func (interpreter *Interpreter) ExpectType(
	value Value,
	expectedType sema.Type,
	getLocationRange func() LocationRange,
)

func (*Interpreter) GetCapabilityFinalTargetPath added in v0.23.0

func (interpreter *Interpreter) GetCapabilityFinalTargetPath(
	address common.Address,
	path PathValue,
	wantedBorrowType *sema.ReferenceType,
	getLocationRange func() LocationRange,
) (
	finalPath PathValue,
	authorized bool,
	err error,
)

func (*Interpreter) GetCompositeType added in v0.24.0

func (interpreter *Interpreter) GetCompositeType(
	location common.Location,
	qualifiedIdentifier string,
	typeID common.TypeID,
) (*sema.CompositeType, error)

func (*Interpreter) GetContractComposite added in v0.16.0

func (interpreter *Interpreter) GetContractComposite(contractLocation common.AddressLocation) (*CompositeValue, error)

GetContractComposite gets the composite value of the contract at the address location.

func (*Interpreter) Interpret

func (interpreter *Interpreter) Interpret() (err error)

func (*Interpreter) Invoke

func (interpreter *Interpreter) Invoke(functionName string, arguments ...Value) (value Value, err error)

Invoke invokes a global function with the given arguments

func (*Interpreter) InvokeFunction added in v0.16.0

func (interpreter *Interpreter) InvokeFunction(function FunctionValue, invocation Invocation) (value Value, err error)

InvokeFunction invokes a function value with the given invocation

func (*Interpreter) InvokeFunctionValue

func (interpreter *Interpreter) InvokeFunctionValue(
	function FunctionValue,
	arguments []Value,
	argumentTypes []sema.Type,
	parameterTypes []sema.Type,
	invocationPosition ast.HasPosition,
) (
	value Value,
	err error,
)

func (*Interpreter) InvokeTransaction

func (interpreter *Interpreter) InvokeTransaction(index int, arguments ...Value) (err error)

func (*Interpreter) IsSubType

func (interpreter *Interpreter) IsSubType(subType StaticType, superType StaticType) bool

func (*Interpreter) IsSubTypeOfSemaType added in v0.24.0

func (interpreter *Interpreter) IsSubTypeOfSemaType(subType StaticType, superType sema.Type) bool

func (*Interpreter) MeterMemory added in v0.24.0

func (interpreter *Interpreter) MeterMemory(usage common.MemoryUsage) error

MeterMemory delegates the memory usage to the interpreter's memory gauge, if any.

func (*Interpreter) MustConvertStaticToSemaType added in v0.24.0

func (interpreter *Interpreter) MustConvertStaticToSemaType(staticType StaticType) sema.Type

func (*Interpreter) NewIntegerValueFromBigInt added in v0.24.0

func (interpreter *Interpreter) NewIntegerValueFromBigInt(value *big.Int, integerSubType sema.Type) Value

NewIntegerValueFromBigInt creates a Cadence interpreter value of a given subtype. This method assumes the range validations are done prior to calling this method. (i.e: at semantic level)

func (*Interpreter) NewSubInterpreter added in v0.13.0

func (interpreter *Interpreter) NewSubInterpreter(
	program *Program,
	location common.Location,
	options ...Option,
) (
	*Interpreter,
	error,
)

func (*Interpreter) ReadStored added in v0.15.0

func (interpreter *Interpreter) ReadStored(
	storageAddress common.Address,
	domain string,
	identifier string,
) Value

func (*Interpreter) RecoverErrors added in v0.17.0

func (interpreter *Interpreter) RecoverErrors(onError func(error))

func (*Interpreter) RemoveReferencedSlab added in v0.20.0

func (interpreter *Interpreter) RemoveReferencedSlab(storable atree.Storable)

func (*Interpreter) ReportComputation added in v0.23.2

func (interpreter *Interpreter) ReportComputation(compKind common.ComputationKind, intensity uint)

func (*Interpreter) SetAllInterpreters

func (interpreter *Interpreter) SetAllInterpreters(allInterpreters map[common.LocationID]*Interpreter)

SetAllInterpreters sets the given map of interpreters as the map of all interpreters.

func (*Interpreter) SetAtreeStorageValidationEnabled added in v0.20.0

func (interpreter *Interpreter) SetAtreeStorageValidationEnabled(enabled bool)

SetAtreeStorageValidationEnabled sets the atree storage validation option.

func (*Interpreter) SetAtreeValueValidationEnabled added in v0.20.0

func (interpreter *Interpreter) SetAtreeValueValidationEnabled(enabled bool)

SetAtreeValueValidationEnabled sets the atree value validation option.

func (*Interpreter) SetBLSCryptoFunctions added in v0.23.0

func (interpreter *Interpreter) SetBLSCryptoFunctions(
	verifyPoP BLSVerifyPoPHandlerFunc,
	aggregateSignatures BLSAggregateSignaturesHandlerFunc,
	aggregatePublicKeys BLSAggregatePublicKeysHandlerFunc,
)

SetBLSCryptoFunctions sets the functions that are used to handle certain BLS specific crypt functions.

func (*Interpreter) SetContractValueHandler

func (interpreter *Interpreter) SetContractValueHandler(function ContractValueHandlerFunc)

SetContractValueHandler sets the function that is used to handle imports of values

func (*Interpreter) SetDebugger added in v0.24.0

func (interpreter *Interpreter) SetDebugger(debugger *Debugger)

SetDebugger sets the debugger.

func (*Interpreter) SetExitHandler added in v0.17.0

func (interpreter *Interpreter) SetExitHandler(function ExitHandlerFunc)

SetExitHandler sets the function that is used to handle end of execution.

func (*Interpreter) SetHashHandler added in v0.18.0

func (interpreter *Interpreter) SetHashHandler(function HashHandlerFunc)

SetHashHandler sets the function that is used to hash.

func (*Interpreter) SetImportLocationHandler added in v0.5.0

func (interpreter *Interpreter) SetImportLocationHandler(function ImportLocationHandlerFunc)

SetImportLocationHandler sets the function that is used to handle imports of locations.

func (*Interpreter) SetInjectedCompositeFieldsHandler

func (interpreter *Interpreter) SetInjectedCompositeFieldsHandler(function InjectedCompositeFieldsHandlerFunc)

SetInjectedCompositeFieldsHandler sets the function that is used to initialize new composite values' fields

func (*Interpreter) SetInvalidatedResourceValidationEnabled added in v0.24.0

func (interpreter *Interpreter) SetInvalidatedResourceValidationEnabled(enabled bool)

SetInvalidatedResourceValidationEnabled sets the invalidated resource validation option.

func (*Interpreter) SetMemoryGauge added in v0.24.0

func (interpreter *Interpreter) SetMemoryGauge(memoryGauge common.MemoryGauge)

SetMemoryGauge sets the object as the memory gauge.

func (*Interpreter) SetOnEventEmittedHandler

func (interpreter *Interpreter) SetOnEventEmittedHandler(function OnEventEmittedFunc)

SetOnEventEmittedHandler sets the function that is triggered when an event is emitted by the program.

func (*Interpreter) SetOnFunctionInvocationHandler added in v0.2.0

func (interpreter *Interpreter) SetOnFunctionInvocationHandler(function OnFunctionInvocationFunc)

SetOnFunctionInvocationHandler sets the function that is triggered when a function invocation is about to be executed.

func (*Interpreter) SetOnInvokedFunctionReturnHandler added in v0.20.0

func (interpreter *Interpreter) SetOnInvokedFunctionReturnHandler(function OnInvokedFunctionReturnFunc)

SetOnInvokedFunctionReturnHandler sets the function that is triggered when an invoked function returned.

func (*Interpreter) SetOnLoopIterationHandler added in v0.2.0

func (interpreter *Interpreter) SetOnLoopIterationHandler(function OnLoopIterationFunc)

SetOnLoopIterationHandler sets the function that is triggered when a loop iteration is about to be executed.

func (*Interpreter) SetOnMeterComputationHandler added in v0.23.2

func (interpreter *Interpreter) SetOnMeterComputationHandler(function OnMeterComputationFunc)

SetOnMeterComputationFuncHandler sets the function that is triggered when a computation is about to happen.

func (*Interpreter) SetOnRecordTraceHandler added in v0.23.0

func (interpreter *Interpreter) SetOnRecordTraceHandler(function OnRecordTraceFunc)

SetOnRecordTraceHandler sets the function that is triggered when a trace is recorded.

func (*Interpreter) SetOnResourceOwnerChangeHandler added in v0.24.0

func (interpreter *Interpreter) SetOnResourceOwnerChangeHandler(function OnResourceOwnerChangeFunc)

SetOnResourceOwnerChangeHandler sets the function that is triggered when the owner of a resource changes.

func (*Interpreter) SetOnStatementHandler

func (interpreter *Interpreter) SetOnStatementHandler(function OnStatementFunc)

SetOnStatementHandler sets the function that is triggered when a statement is about to be executed.

func (*Interpreter) SetPublicAccountHandler added in v0.20.0

func (interpreter *Interpreter) SetPublicAccountHandler(function PublicAccountHandlerFunc)

SetPublicAccountHandler sets the function that is used to handle accounts.

func (*Interpreter) SetPublicKeyValidationHandler added in v0.16.0

func (interpreter *Interpreter) SetPublicKeyValidationHandler(function PublicKeyValidationHandlerFunc)

SetPublicKeyValidationHandler sets the function that is used to handle public key validation.

func (*Interpreter) SetSignatureVerificationHandler added in v0.18.0

func (interpreter *Interpreter) SetSignatureVerificationHandler(function SignatureVerificationHandlerFunc)

SetSignatureVerificationHandler sets the function that is used to handle signature validation.

func (*Interpreter) SetStorage added in v0.20.0

func (interpreter *Interpreter) SetStorage(storage Storage)

SetStorage sets the value that is used for storage operations.

func (*Interpreter) SetTracingEnabled added in v0.23.0

func (interpreter *Interpreter) SetTracingEnabled(enabled bool)

SetTracingEnabled sets the tracing option.

func (*Interpreter) SetUUIDHandler

func (interpreter *Interpreter) SetUUIDHandler(function UUIDHandlerFunc)

SetUUIDHandler sets the function that is used to handle the generation of UUIDs.

func (*Interpreter) Unbox added in v0.24.0

func (interpreter *Interpreter) Unbox(getLocationRange func() LocationRange, value Value) Value

func (*Interpreter) ValidateAtreeValue added in v0.20.0

func (interpreter *Interpreter) ValidateAtreeValue(value atree.Value)

func (*Interpreter) VisitArrayExpression

func (interpreter *Interpreter) VisitArrayExpression(expression *ast.ArrayExpression) ast.Repr

func (*Interpreter) VisitAssignmentStatement

func (interpreter *Interpreter) VisitAssignmentStatement(assignment *ast.AssignmentStatement) ast.Repr

func (*Interpreter) VisitBinaryExpression

func (interpreter *Interpreter) VisitBinaryExpression(expression *ast.BinaryExpression) ast.Repr

func (*Interpreter) VisitBlock

func (interpreter *Interpreter) VisitBlock(block *ast.Block) ast.Repr

func (*Interpreter) VisitBoolExpression

func (interpreter *Interpreter) VisitBoolExpression(expression *ast.BoolExpression) ast.Repr

func (*Interpreter) VisitBreakStatement

func (interpreter *Interpreter) VisitBreakStatement(_ *ast.BreakStatement) ast.Repr

func (*Interpreter) VisitCastingExpression

func (interpreter *Interpreter) VisitCastingExpression(expression *ast.CastingExpression) ast.Repr

func (*Interpreter) VisitCompositeDeclaration

func (interpreter *Interpreter) VisitCompositeDeclaration(declaration *ast.CompositeDeclaration) ast.Repr

NOTE: only called for top-level composite declarations

func (*Interpreter) VisitConditionalExpression

func (interpreter *Interpreter) VisitConditionalExpression(expression *ast.ConditionalExpression) ast.Repr

func (*Interpreter) VisitContinueStatement

func (interpreter *Interpreter) VisitContinueStatement(_ *ast.ContinueStatement) ast.Repr

func (*Interpreter) VisitCreateExpression

func (interpreter *Interpreter) VisitCreateExpression(expression *ast.CreateExpression) ast.Repr

func (*Interpreter) VisitDestroyExpression

func (interpreter *Interpreter) VisitDestroyExpression(expression *ast.DestroyExpression) ast.Repr

func (*Interpreter) VisitDictionaryExpression

func (interpreter *Interpreter) VisitDictionaryExpression(expression *ast.DictionaryExpression) ast.Repr

func (*Interpreter) VisitEmitStatement

func (interpreter *Interpreter) VisitEmitStatement(statement *ast.EmitStatement) ast.Repr

func (*Interpreter) VisitEnumCaseDeclaration added in v0.10.0

func (interpreter *Interpreter) VisitEnumCaseDeclaration(_ *ast.EnumCaseDeclaration) ast.Repr

func (*Interpreter) VisitExpressionStatement

func (interpreter *Interpreter) VisitExpressionStatement(statement *ast.ExpressionStatement) ast.Repr

func (*Interpreter) VisitFieldDeclaration

func (interpreter *Interpreter) VisitFieldDeclaration(_ *ast.FieldDeclaration) ast.Repr

func (*Interpreter) VisitFixedPointExpression

func (interpreter *Interpreter) VisitFixedPointExpression(expression *ast.FixedPointExpression) ast.Repr

func (*Interpreter) VisitForStatement

func (interpreter *Interpreter) VisitForStatement(statement *ast.ForStatement) ast.Repr

func (*Interpreter) VisitForceExpression

func (interpreter *Interpreter) VisitForceExpression(expression *ast.ForceExpression) ast.Repr

func (*Interpreter) VisitFunctionBlock

func (interpreter *Interpreter) VisitFunctionBlock(_ *ast.FunctionBlock) ast.Repr

func (*Interpreter) VisitFunctionDeclaration

func (interpreter *Interpreter) VisitFunctionDeclaration(declaration *ast.FunctionDeclaration) ast.Repr

func (*Interpreter) VisitFunctionExpression

func (interpreter *Interpreter) VisitFunctionExpression(expression *ast.FunctionExpression) ast.Repr

func (*Interpreter) VisitIdentifierExpression

func (interpreter *Interpreter) VisitIdentifierExpression(expression *ast.IdentifierExpression) ast.Repr

func (*Interpreter) VisitIfStatement

func (interpreter *Interpreter) VisitIfStatement(statement *ast.IfStatement) ast.Repr

func (*Interpreter) VisitImportDeclaration

func (interpreter *Interpreter) VisitImportDeclaration(declaration *ast.ImportDeclaration) ast.Repr

func (*Interpreter) VisitIndexExpression

func (interpreter *Interpreter) VisitIndexExpression(expression *ast.IndexExpression) ast.Repr

func (*Interpreter) VisitIntegerExpression

func (interpreter *Interpreter) VisitIntegerExpression(expression *ast.IntegerExpression) ast.Repr

func (*Interpreter) VisitInterfaceDeclaration

func (interpreter *Interpreter) VisitInterfaceDeclaration(declaration *ast.InterfaceDeclaration) ast.Repr

NOTE: only called for top-level interface declarations

func (*Interpreter) VisitInvocationExpression

func (interpreter *Interpreter) VisitInvocationExpression(invocationExpression *ast.InvocationExpression) ast.Repr

func (*Interpreter) VisitMemberExpression

func (interpreter *Interpreter) VisitMemberExpression(expression *ast.MemberExpression) ast.Repr

func (*Interpreter) VisitNilExpression

func (interpreter *Interpreter) VisitNilExpression(_ *ast.NilExpression) ast.Repr

func (*Interpreter) VisitPathExpression

func (interpreter *Interpreter) VisitPathExpression(expression *ast.PathExpression) ast.Repr

func (*Interpreter) VisitPragmaDeclaration added in v0.7.0

func (interpreter *Interpreter) VisitPragmaDeclaration(_ *ast.PragmaDeclaration) ast.Repr

func (*Interpreter) VisitProgram

func (interpreter *Interpreter) VisitProgram(program *ast.Program) ast.Repr

func (*Interpreter) VisitReferenceExpression

func (interpreter *Interpreter) VisitReferenceExpression(referenceExpression *ast.ReferenceExpression) ast.Repr

func (*Interpreter) VisitReturnStatement

func (interpreter *Interpreter) VisitReturnStatement(statement *ast.ReturnStatement) ast.Repr

func (*Interpreter) VisitStringExpression

func (interpreter *Interpreter) VisitStringExpression(expression *ast.StringExpression) ast.Repr

func (*Interpreter) VisitSwapStatement

func (interpreter *Interpreter) VisitSwapStatement(swap *ast.SwapStatement) ast.Repr

func (*Interpreter) VisitSwitchStatement added in v0.10.0

func (interpreter *Interpreter) VisitSwitchStatement(switchStatement *ast.SwitchStatement) ast.Repr

func (*Interpreter) VisitTransactionDeclaration

func (interpreter *Interpreter) VisitTransactionDeclaration(declaration *ast.TransactionDeclaration) ast.Repr

func (*Interpreter) VisitUnaryExpression

func (interpreter *Interpreter) VisitUnaryExpression(expression *ast.UnaryExpression) ast.Repr

func (*Interpreter) VisitVariableDeclaration

func (interpreter *Interpreter) VisitVariableDeclaration(declaration *ast.VariableDeclaration) ast.Repr

VisitVariableDeclaration first visits the declaration's value, then declares the variable with the name bound to the value

func (*Interpreter) VisitWhileStatement

func (interpreter *Interpreter) VisitWhileStatement(statement *ast.WhileStatement) ast.Repr

type InterpreterImport added in v0.13.0

type InterpreterImport struct {
	Interpreter *Interpreter
}

type InvalidOperandsError added in v0.20.3

type InvalidOperandsError struct {
	Operation    ast.Operation
	FunctionName string
	LeftType     StaticType
	RightType    StaticType
	LocationRange
}

InvalidOperandsError

func (InvalidOperandsError) Error added in v0.20.3

func (e InvalidOperandsError) Error() string

type InvalidPathDomainError

type InvalidPathDomainError struct {
	ActualDomain    common.PathDomain
	ExpectedDomains []common.PathDomain
	LocationRange
}

InvalidPathDomainError

func (InvalidPathDomainError) Error

func (e InvalidPathDomainError) Error() string

func (InvalidPathDomainError) SecondaryError

func (e InvalidPathDomainError) SecondaryError() string

type InvalidPublicKeyError added in v0.23.0

type InvalidPublicKeyError struct {
	PublicKey *ArrayValue
	Err       error
	LocationRange
}

InvalidPublicKeyError is reported during PublicKey creation, if the PublicKey is invalid.

func (InvalidPublicKeyError) Error added in v0.23.0

func (e InvalidPublicKeyError) Error() string

func (InvalidPublicKeyError) Unwrap added in v0.23.0

func (e InvalidPublicKeyError) Unwrap() error

type InvalidSliceIndexError added in v0.24.0

type InvalidSliceIndexError struct {
	FromIndex int
	UpToIndex int
	LocationRange
}

InvalidSliceIndexError is returned when a slice index is invalid, such as fromIndex > upToIndex This error can be returned even when fromIndex and upToIndex are both within bounds.

func (InvalidSliceIndexError) Error added in v0.24.0

func (e InvalidSliceIndexError) Error() string

type InvalidStringLengthError added in v0.24.0

type InvalidStringLengthError struct {
	Length uint64
}

func (InvalidStringLengthError) Error added in v0.24.0

func (e InvalidStringLengthError) Error() string

type InvalidatedResourceError added in v0.20.0

type InvalidatedResourceError struct {
	LocationRange
}

func (InvalidatedResourceError) Error added in v0.20.0

func (e InvalidatedResourceError) Error() string

type Invocation

type Invocation struct {
	Self               MemberAccessibleValue
	Arguments          []Value
	ArgumentTypes      []sema.Type
	TypeParameterTypes *sema.TypeParameterTypeOrderedMap
	GetLocationRange   func() LocationRange
	Interpreter        *Interpreter
}

Invocation

func NewInvocation added in v0.24.0

func NewInvocation(
	interpreter *Interpreter,
	self MemberAccessibleValue,
	arguments []Value,
	argumentTypes []sema.Type,
	typeParameterTypes *sema.TypeParameterTypeOrderedMap,
	getLocationRange func() LocationRange,
) Invocation

type InvocationArgumentTypeError added in v0.14.5

type InvocationArgumentTypeError struct {
	Index         int
	ParameterType sema.Type
	LocationRange
}

InvocationArgumentTypeError

func (InvocationArgumentTypeError) Error added in v0.14.5

type InvocationReceiverTypeError added in v0.19.0

type InvocationReceiverTypeError struct {
	SelfType     sema.Type
	ReceiverType sema.Type
	LocationRange
}

InvocationReceiverTypeError

func (InvocationReceiverTypeError) Error added in v0.19.0

type LinkValue

type LinkValue struct {
	TargetPath PathValue
	Type       StaticType
}

func NewLinkValue added in v0.24.0

func NewLinkValue(memoryGauge common.MemoryGauge, targetPath PathValue, staticType StaticType) LinkValue

func NewUnmeteredLinkValue added in v0.24.0

func NewUnmeteredLinkValue(targetPath PathValue, staticType StaticType) LinkValue

func (LinkValue) Accept added in v0.12.0

func (v LinkValue) Accept(interpreter *Interpreter, visitor Visitor)

func (LinkValue) ByteSize added in v0.20.0

func (v LinkValue) ByteSize() uint32

func (LinkValue) ChildStorables added in v0.20.0

func (v LinkValue) ChildStorables() []atree.Storable

func (LinkValue) Clone added in v0.24.0

func (v LinkValue) Clone(interpreter *Interpreter) Value

func (LinkValue) ConformsToStaticType added in v0.24.0

func (v LinkValue) ConformsToStaticType(
	_ *Interpreter,
	_ func() LocationRange,
	_ StaticType,
	_ TypeConformanceResults,
) bool

func (LinkValue) DeepRemove added in v0.20.0

func (LinkValue) DeepRemove(_ *Interpreter)

func (LinkValue) Encode added in v0.20.0

func (v LinkValue) Encode(e *atree.Encoder) error

Encode encodes LinkValue as

cbor.Tag{
			Number: CBORTagLinkValue,
			Content: []interface{}{
				encodedLinkValueTargetPathFieldKey: PathValue(v.TargetPath),
				encodedLinkValueTypeFieldKey:       StaticType(v.Type),
			},
}

func (LinkValue) Equal added in v0.15.0

func (v LinkValue) Equal(interpreter *Interpreter, getLocationRange func() LocationRange, other Value) bool

func (LinkValue) IsImportable added in v0.24.0

func (LinkValue) IsImportable(_ *Interpreter) bool

func (LinkValue) IsResourceKinded added in v0.20.0

func (LinkValue) IsResourceKinded(_ *Interpreter) bool

func (LinkValue) IsStorable added in v0.16.0

func (LinkValue) IsStorable() bool

func (LinkValue) IsValue

func (LinkValue) IsValue()

func (LinkValue) MeteredString added in v0.24.0

func (v LinkValue) MeteredString(memoryGauge common.MemoryGauge, seenReferences SeenReferences) string

func (LinkValue) NeedsStoreTo added in v0.20.0

func (LinkValue) NeedsStoreTo(_ atree.Address) bool

func (LinkValue) RecursiveString added in v0.17.0

func (v LinkValue) RecursiveString(seenReferences SeenReferences) string

func (LinkValue) StaticType added in v0.12.0

func (LinkValue) StaticType(_ *Interpreter) StaticType

func (LinkValue) Storable added in v0.20.0

func (v LinkValue) Storable(storage atree.SlabStorage, address atree.Address, maxInlineSize uint64) (atree.Storable, error)

func (LinkValue) StoredValue added in v0.20.0

func (v LinkValue) StoredValue(_ atree.SlabStorage) (atree.Value, error)

func (LinkValue) String

func (v LinkValue) String() string

func (LinkValue) Transfer added in v0.20.0

func (v LinkValue) Transfer(
	interpreter *Interpreter,
	_ func() LocationRange,
	_ atree.Address,
	remove bool,
	storable atree.Storable,
) Value

func (LinkValue) Walk added in v0.19.0

func (v LinkValue) Walk(_ *Interpreter, walkChild func(Value))

type LocationDecoder added in v0.24.0

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

func NewLocationDecoder added in v0.24.0

func NewLocationDecoder(
	decoder *cbor.StreamDecoder,
	memoryGauge common.MemoryGauge,
) LocationDecoder

func (LocationDecoder) DecodeLocation added in v0.24.0

func (d LocationDecoder) DecodeLocation() (common.Location, error)

type LocationPosition

type LocationPosition struct {
	Location common.Location
	Position ast.Position
}

LocationPosition defines a position in the source of the import tree. The Location defines the script within the import tree, the Position defines the row/colum within the source of that script.

type LocationRange

type LocationRange struct {
	Location common.Location
	ast.Range
}

LocationRange defines a range in the source of the import tree. The Position defines the script within the import tree, the Range defines the start/end position within the source of that script.

func ReturnEmptyLocationRange added in v0.14.0

func ReturnEmptyLocationRange() LocationRange

func (LocationRange) ImportLocation

func (r LocationRange) ImportLocation() common.Location

type MemberAccessibleValue

type MemberAccessibleValue interface {
	Value
	GetMember(interpreter *Interpreter, getLocationRange func() LocationRange, name string) Value
	RemoveMember(interpreter *Interpreter, getLocationRange func() LocationRange, name string) Value
	SetMember(interpreter *Interpreter, getLocationRange func() LocationRange, name string, value Value)
}

type MissingMemberValueError added in v0.15.0

type MissingMemberValueError struct {
	Name string
	LocationRange
}

func (MissingMemberValueError) Error added in v0.15.0

func (e MissingMemberValueError) Error() string

type NilValue

type NilValue struct{}

func NewNilValue added in v0.24.0

func NewNilValue(memoryGauge common.MemoryGauge) NilValue

func NewUnmeteredNilValue added in v0.24.0

func NewUnmeteredNilValue() NilValue

func (NilValue) Accept added in v0.12.0

func (v NilValue) Accept(interpreter *Interpreter, visitor Visitor)

func (NilValue) ByteSize added in v0.20.0

func (v NilValue) ByteSize() uint32

func (NilValue) ChildStorables added in v0.20.0

func (NilValue) ChildStorables() []atree.Storable

func (NilValue) Clone added in v0.24.0

func (v NilValue) Clone(_ *Interpreter) Value

func (NilValue) ConformsToStaticType added in v0.24.0

func (v NilValue) ConformsToStaticType(
	inter *Interpreter,
	_ func() LocationRange,
	staticType StaticType,
	_ TypeConformanceResults,
) bool

func (NilValue) DeepRemove added in v0.20.0

func (NilValue) DeepRemove(_ *Interpreter)

func (NilValue) Destroy

func (v NilValue) Destroy(_ *Interpreter, _ func() LocationRange)

func (NilValue) Encode added in v0.20.0

func (v NilValue) Encode(e *atree.Encoder) error

Encode encodes the value as a CBOR nil

func (NilValue) Equal added in v0.15.0

func (v NilValue) Equal(_ *Interpreter, _ func() LocationRange, other Value) bool

func (NilValue) GetMember added in v0.9.0

func (v NilValue) GetMember(_ *Interpreter, _ func() LocationRange, name string) Value

func (NilValue) IsDestroyed added in v0.20.0

func (NilValue) IsDestroyed() bool

func (NilValue) IsImportable added in v0.24.0

func (NilValue) IsImportable(_ *Interpreter) bool

func (NilValue) IsResourceKinded added in v0.20.0

func (NilValue) IsResourceKinded(_ *Interpreter) bool

func (NilValue) IsStorable added in v0.16.0

func (NilValue) IsStorable() bool

func (NilValue) IsValue

func (NilValue) IsValue()

func (NilValue) MeteredString added in v0.24.0

func (v NilValue) MeteredString(memoryGauge common.MemoryGauge, _ SeenReferences) string

func (NilValue) NeedsStoreTo added in v0.20.0

func (NilValue) NeedsStoreTo(_ atree.Address) bool

func (NilValue) RecursiveString added in v0.17.0

func (v NilValue) RecursiveString(_ SeenReferences) string

func (NilValue) RemoveMember added in v0.20.0

func (NilValue) RemoveMember(_ *Interpreter, _ func() LocationRange, _ string) Value

func (NilValue) SetMember added in v0.9.0

func (NilValue) SetMember(_ *Interpreter, _ func() LocationRange, _ string, _ Value)

func (NilValue) StaticType added in v0.12.0

func (NilValue) StaticType(interpreter *Interpreter) StaticType

func (NilValue) Storable added in v0.20.0

func (v NilValue) Storable(_ atree.SlabStorage, _ atree.Address, _ uint64) (atree.Storable, error)

func (NilValue) StoredValue added in v0.20.0

func (v NilValue) StoredValue(_ atree.SlabStorage) (atree.Value, error)

func (NilValue) String

func (NilValue) String() string

func (NilValue) Transfer added in v0.20.0

func (v NilValue) Transfer(
	interpreter *Interpreter,
	_ func() LocationRange,
	_ atree.Address,
	remove bool,
	storable atree.Storable,
) Value

func (NilValue) Walk added in v0.19.0

func (NilValue) Walk(_ *Interpreter, _ func(Value))

type NonStorable added in v0.20.0

type NonStorable struct {
	Value Value
}

NonStorable represents a value that cannot be stored

func (NonStorable) ByteSize added in v0.20.0

func (s NonStorable) ByteSize() uint32

func (NonStorable) ChildStorables added in v0.20.0

func (NonStorable) ChildStorables() []atree.Storable

func (NonStorable) Encode added in v0.20.0

func (s NonStorable) Encode(_ *atree.Encoder) error

func (NonStorable) StoredValue added in v0.20.0

func (s NonStorable) StoredValue(_ atree.SlabStorage) (atree.Value, error)

type NonStorableStaticTypeError added in v0.20.0

type NonStorableStaticTypeError struct {
	Type StaticType
}

NonStorableStaticTypeError

func (NonStorableStaticTypeError) Error added in v0.20.0

type NonStorableValueError added in v0.20.0

type NonStorableValueError struct {
	Value Value
}

NonStorableValueError

func (NonStorableValueError) Error added in v0.20.0

func (e NonStorableValueError) Error() string

type NotDeclaredError

type NotDeclaredError struct {
	ExpectedKind common.DeclarationKind
	Name         string
}

func (NotDeclaredError) Error

func (e NotDeclaredError) Error() string

func (NotDeclaredError) SecondaryError

func (e NotDeclaredError) SecondaryError() string

type NotInvokableError

type NotInvokableError struct {
	Value Value
}

func (NotInvokableError) Error

func (e NotInvokableError) Error() string

type NumberValue

type NumberValue interface {
	EquatableValue
	ToInt() int
	Negate(*Interpreter) NumberValue
	Plus(interpreter *Interpreter, other NumberValue) NumberValue
	SaturatingPlus(interpreter *Interpreter, other NumberValue) NumberValue
	Minus(interpreter *Interpreter, other NumberValue) NumberValue
	SaturatingMinus(interpreter *Interpreter, other NumberValue) NumberValue
	Mod(interpreter *Interpreter, other NumberValue) NumberValue
	Mul(interpreter *Interpreter, other NumberValue) NumberValue
	SaturatingMul(interpreter *Interpreter, other NumberValue) NumberValue
	Div(interpreter *Interpreter, other NumberValue) NumberValue
	SaturatingDiv(interpreter *Interpreter, other NumberValue) NumberValue
	Less(interpreter *Interpreter, other NumberValue) BoolValue
	LessEqual(interpreter *Interpreter, other NumberValue) BoolValue
	Greater(interpreter *Interpreter, other NumberValue) BoolValue
	GreaterEqual(interpreter *Interpreter, other NumberValue) BoolValue
	ToBigEndianBytes() []byte
}

NumberValue

type OnEventEmittedFunc

type OnEventEmittedFunc func(
	inter *Interpreter,
	getLocationRange func() LocationRange,
	event *CompositeValue,
	eventType *sema.CompositeType,
) error

OnEventEmittedFunc is a function that is triggered when an event is emitted by the program.

type OnFunctionInvocationFunc added in v0.2.0

type OnFunctionInvocationFunc func(
	inter *Interpreter,
	line int,
)

OnFunctionInvocationFunc is a function that is triggered when a function is about to be invoked.

type OnInvokedFunctionReturnFunc added in v0.20.0

type OnInvokedFunctionReturnFunc func(
	inter *Interpreter,
	line int,
)

OnInvokedFunctionReturnFunc is a function that is triggered when an invoked function returned.

type OnLoopIterationFunc added in v0.2.0

type OnLoopIterationFunc func(
	inter *Interpreter,
	line int,
)

OnLoopIterationFunc is a function that is triggered when a loop iteration is about to be executed.

type OnMeterComputationFunc added in v0.23.2

type OnMeterComputationFunc func(
	compKind common.ComputationKind,
	intensity uint,
)

OnMeterComputationFunc is a function that is called when some computation is about to happen. intensity captures the intensity of the computation and can be set using input sizes complexity of computation given input sizes, or any other factors that could help the upper levels to differentiate same kind of computation with different level (and time) of execution.

type OnRecordTraceFunc added in v0.23.0

type OnRecordTraceFunc func(
	inter *Interpreter,
	operationName string,
	duration time.Duration,
	logs []opentracing.LogRecord,
)

OnRecordTraceFunc is a function thats records a trace.

type OnResourceOwnerChangeFunc added in v0.24.0

type OnResourceOwnerChangeFunc func(
	inter *Interpreter,
	resource *CompositeValue,
	oldOwner common.Address,
	newOwner common.Address,
)

OnResourceOwnerChangeFunc is a function that is triggered when a resource's owner changes.

type OnStatementFunc

type OnStatementFunc func(
	inter *Interpreter,
	statement ast.Statement,
)

OnStatementFunc is a function that is triggered when a statement is about to be executed.

type Option

type Option func(*Interpreter) error

func WithAllInterpreters

func WithAllInterpreters(allInterpreters map[common.LocationID]*Interpreter) Option

WithAllInterpreters returns an interpreter option which sets the given map of interpreters as the map of all interpreters.

func WithAtreeStorageValidationEnabled added in v0.20.0

func WithAtreeStorageValidationEnabled(enabled bool) Option

WithAtreeStorageValidationEnabled returns an interpreter option which sets the atree validation option.

func WithAtreeValueValidationEnabled added in v0.20.0

func WithAtreeValueValidationEnabled(enabled bool) Option

WithAtreeValueValidationEnabled returns an interpreter option which sets the atree validation option.

func WithBLSCryptoFunctions added in v0.23.0

func WithBLSCryptoFunctions(
	verifyPoP BLSVerifyPoPHandlerFunc,
	aggregateSignatures BLSAggregateSignaturesHandlerFunc,
	aggregatePublicKeys BLSAggregatePublicKeysHandlerFunc,
) Option

WithBLSCryptoFunctions returns an interpreter option which sets the given functions as the functions used to handle certain BLS-specific crypto functions.

func WithContractValueHandler

func WithContractValueHandler(handler ContractValueHandlerFunc) Option

WithContractValueHandler returns an interpreter option which sets the given function as the function that is used to handle imports of values.

func WithDebugger added in v0.24.0

func WithDebugger(debugger *Debugger) Option

WithDebugger returns an interpreter option which sets the given debugger

func WithExitHandler added in v0.17.0

func WithExitHandler(handler ExitHandlerFunc) Option

WithExitHandler returns an interpreter option which sets the given function as the function that is used when execution is complete.

func WithHashHandler added in v0.18.0

func WithHashHandler(handler HashHandlerFunc) Option

WithHashHandler returns an interpreter option which sets the given function as the function that is used to hash.

func WithImportLocationHandler added in v0.5.0

func WithImportLocationHandler(handler ImportLocationHandlerFunc) Option

WithImportLocationHandler returns an interpreter option which sets the given function as the function that is used to handle the imports of locations.

func WithInjectedCompositeFieldsHandler

func WithInjectedCompositeFieldsHandler(handler InjectedCompositeFieldsHandlerFunc) Option

WithInjectedCompositeFieldsHandler returns an interpreter option which sets the given function as the function that is used to initialize new composite values' fields

func WithInvalidatedResourceValidationEnabled added in v0.24.0

func WithInvalidatedResourceValidationEnabled(enabled bool) Option

WithInvalidatedResourceValidationEnabled returns an interpreter option which sets the resource validation option.

func WithMemoryGauge added in v0.24.0

func WithMemoryGauge(memoryGauge common.MemoryGauge) Option

WithMemoryGauge returns an interpreter option which sets the given object as the memory gauge.

func WithOnEventEmittedHandler

func WithOnEventEmittedHandler(handler OnEventEmittedFunc) Option

WithOnEventEmittedHandler returns an interpreter option which sets the given function as the event handler.

func WithOnFunctionInvocationHandler added in v0.2.0

func WithOnFunctionInvocationHandler(handler OnFunctionInvocationFunc) Option

WithOnFunctionInvocationHandler returns an interpreter option which sets the given function as the function invocation handler.

func WithOnInvokedFunctionReturnHandler added in v0.20.0

func WithOnInvokedFunctionReturnHandler(handler OnInvokedFunctionReturnFunc) Option

WithOnInvokedFunctionReturnHandler returns an interpreter option which sets the given function as the invoked function return handler.

func WithOnLoopIterationHandler added in v0.2.0

func WithOnLoopIterationHandler(handler OnLoopIterationFunc) Option

WithOnLoopIterationHandler returns an interpreter option which sets the given function as the loop iteration handler.

func WithOnMeterComputationFuncHandler added in v0.23.2

func WithOnMeterComputationFuncHandler(handler OnMeterComputationFunc) Option

WithOnMeterComputationFuncHandler returns an interpreter option which sets the given function as the meter computation handler.

func WithOnRecordTraceHandler added in v0.23.0

func WithOnRecordTraceHandler(handler OnRecordTraceFunc) Option

WithOnRecordTraceHandler returns an interpreter option which sets the given function as the record trace handler.

func WithOnResourceOwnerChangeHandler added in v0.24.0

func WithOnResourceOwnerChangeHandler(handler OnResourceOwnerChangeFunc) Option

WithOnResourceOwnerChangeHandler returns an interpreter option which sets the given function as the resource owner change handler.

func WithOnStatementHandler

func WithOnStatementHandler(handler OnStatementFunc) Option

WithOnStatementHandler returns an interpreter option which sets the given function as the statement handler.

func WithPredeclaredValues added in v0.12.0

func WithPredeclaredValues(predeclaredValues []ValueDeclaration) Option

WithPredeclaredValues returns an interpreter option which declares the given the predeclared values.

func WithPublicAccountHandler added in v0.24.0

func WithPublicAccountHandler(handler PublicAccountHandlerFunc) Option

WithPublicAccountHandler returns an interpreter option which sets the given function as the function that is used to handle public accounts.

func WithPublicKeyValidationHandler added in v0.16.0

func WithPublicKeyValidationHandler(handler PublicKeyValidationHandlerFunc) Option

WithPublicKeyValidationHandler returns an interpreter option which sets the given function as the function that is used to handle public key validation.

func WithSignatureVerificationHandler added in v0.18.0

func WithSignatureVerificationHandler(handler SignatureVerificationHandlerFunc) Option

WithSignatureVerificationHandler returns an interpreter option which sets the given function as the function that is used to handle signature validation.

func WithStorage added in v0.20.0

func WithStorage(storage Storage) Option

WithStorage returns an interpreter option which sets the given value as the function that is used for storage operations.

func WithTracingEnabled added in v0.23.0

func WithTracingEnabled(enabled bool) Option

WithTracingEnabled returns an interpreter option which sets the tracing option.

func WithUUIDHandler

func WithUUIDHandler(handler UUIDHandlerFunc) Option

WithUUIDHandler returns an interpreter option which sets the given function as the function that is used to generate UUIDs.

type OptionalStaticType

type OptionalStaticType struct {
	Type StaticType
}

func NewOptionalStaticType added in v0.24.0

func NewOptionalStaticType(
	memoryGauge common.MemoryGauge,
	typ StaticType,
) OptionalStaticType

func (OptionalStaticType) Encode added in v0.20.0

func (t OptionalStaticType) Encode(e *cbor.StreamEncoder) error

Encode encodes OptionalStaticType as

cbor.Tag{
		Number:  CBORTagOptionalStaticType,
		Content: StaticType(v.Type),
}

func (OptionalStaticType) Equal added in v0.15.0

func (t OptionalStaticType) Equal(other StaticType) bool

func (OptionalStaticType) MeteredString added in v0.24.0

func (t OptionalStaticType) MeteredString(memoryGauge common.MemoryGauge) string

func (OptionalStaticType) String

func (t OptionalStaticType) String() string

type OptionalValue

type OptionalValue interface {
	Value
	// contains filtered or unexported methods
}

type OverflowError

type OverflowError struct{}

func (OverflowError) Error

func (e OverflowError) Error() string

type OverwriteError

type OverwriteError struct {
	Address AddressValue
	Path    PathValue
	LocationRange
}

OverwriteError

func (OverwriteError) Error

func (e OverwriteError) Error() string

type PathValue

type PathValue struct {
	Domain     common.PathDomain
	Identifier string
}

func NewPathValue added in v0.24.0

func NewPathValue(
	memoryGauge common.MemoryGauge,
	domain common.PathDomain,
	identifier string,
) PathValue

func NewUnmeteredPathValue added in v0.24.0

func NewUnmeteredPathValue(domain common.PathDomain, identifier string) PathValue

func (PathValue) Accept added in v0.12.0

func (v PathValue) Accept(interpreter *Interpreter, visitor Visitor)

func (PathValue) ByteSize added in v0.20.0

func (v PathValue) ByteSize() uint32

func (PathValue) ChildStorables added in v0.20.0

func (PathValue) ChildStorables() []atree.Storable

func (PathValue) Clone added in v0.24.0

func (v PathValue) Clone(_ *Interpreter) Value

func (PathValue) ConformsToStaticType added in v0.24.0

func (v PathValue) ConformsToStaticType(
	_ *Interpreter,
	_ func() LocationRange,
	staticType StaticType,
	_ TypeConformanceResults,
) bool

func (PathValue) DeepRemove added in v0.20.0

func (PathValue) DeepRemove(_ *Interpreter)

func (PathValue) Encode added in v0.20.0

func (v PathValue) Encode(e *atree.Encoder) error

Encode encodes PathValue as

cbor.Tag{
			Number: CBORTagPathValue,
			Content: []interface{}{
				encodedPathValueDomainFieldKey:     uint(v.Domain),
				encodedPathValueIdentifierFieldKey: string(v.Identifier),
			},
}

func (PathValue) Equal added in v0.15.0

func (v PathValue) Equal(_ *Interpreter, _ func() LocationRange, other Value) bool

func (PathValue) GetMember added in v0.20.0

func (v PathValue) GetMember(inter *Interpreter, _ func() LocationRange, name string) Value

func (PathValue) HashInput added in v0.20.0

func (v PathValue) HashInput(_ *Interpreter, _ func() LocationRange, scratch []byte) []byte

HashInput returns a byte slice containing: - HashInputTypePath (1 byte) - domain (1 byte) - identifier (n bytes)

func (PathValue) IsImportable added in v0.24.0

func (v PathValue) IsImportable(_ *Interpreter) bool

func (PathValue) IsResourceKinded added in v0.20.0

func (PathValue) IsResourceKinded(_ *Interpreter) bool

func (PathValue) IsStorable added in v0.16.0

func (PathValue) IsStorable() bool

func (PathValue) IsValue

func (PathValue) IsValue()

func (PathValue) MeteredString added in v0.24.0

func (v PathValue) MeteredString(memoryGauge common.MemoryGauge, seenReferences SeenReferences) string

func (PathValue) NeedsStoreTo added in v0.20.0

func (PathValue) NeedsStoreTo(_ atree.Address) bool

func (PathValue) RecursiveString added in v0.17.0

func (v PathValue) RecursiveString(_ SeenReferences) string

func (PathValue) RemoveMember added in v0.20.0

func (PathValue) RemoveMember(_ *Interpreter, _ func() LocationRange, _ string) Value

func (PathValue) SetMember added in v0.20.0

func (PathValue) SetMember(_ *Interpreter, _ func() LocationRange, _ string, _ Value)

func (PathValue) StaticType added in v0.12.0

func (v PathValue) StaticType(interpreter *Interpreter) StaticType

func (PathValue) Storable added in v0.20.0

func (v PathValue) Storable(
	storage atree.SlabStorage,
	address atree.Address,
	maxInlineSize uint64,
) (atree.Storable, error)

func (PathValue) StoredValue added in v0.20.0

func (v PathValue) StoredValue(_ atree.SlabStorage) (atree.Value, error)

func (PathValue) String

func (v PathValue) String() string

func (PathValue) Transfer added in v0.20.0

func (v PathValue) Transfer(
	interpreter *Interpreter,
	_ func() LocationRange,
	_ atree.Address,
	remove bool,
	storable atree.Storable,
) Value

func (PathValue) Walk added in v0.19.0

func (PathValue) Walk(_ *Interpreter, _ func(Value))

type PositionedError added in v0.12.1

type PositionedError struct {
	Err error
	ast.Range
}

PositionedError wraps an unpositioned error with position info

func (PositionedError) Error added in v0.12.1

func (e PositionedError) Error() string

func (PositionedError) Unwrap added in v0.12.1

func (e PositionedError) Unwrap() error

type PrimitiveStaticType added in v0.2.0

type PrimitiveStaticType uint
const (
	PrimitiveStaticTypeUnknown PrimitiveStaticType = iota
	PrimitiveStaticTypeVoid
	PrimitiveStaticTypeAny
	PrimitiveStaticTypeNever
	PrimitiveStaticTypeAnyStruct
	PrimitiveStaticTypeAnyResource
	PrimitiveStaticTypeBool
	PrimitiveStaticTypeAddress
	PrimitiveStaticTypeString
	PrimitiveStaticTypeCharacter
	PrimitiveStaticTypeMetaType
	PrimitiveStaticTypeBlock

	// Number
	PrimitiveStaticTypeNumber
	PrimitiveStaticTypeSignedNumber

	// Integer
	PrimitiveStaticTypeInteger
	PrimitiveStaticTypeSignedInteger

	// FixedPoint
	PrimitiveStaticTypeFixedPoint
	PrimitiveStaticTypeSignedFixedPoint

	// Int*
	PrimitiveStaticTypeInt
	PrimitiveStaticTypeInt8
	PrimitiveStaticTypeInt16
	PrimitiveStaticTypeInt32
	PrimitiveStaticTypeInt64
	PrimitiveStaticTypeInt128
	PrimitiveStaticTypeInt256

	// UInt*
	PrimitiveStaticTypeUInt
	PrimitiveStaticTypeUInt8
	PrimitiveStaticTypeUInt16
	PrimitiveStaticTypeUInt32
	PrimitiveStaticTypeUInt64
	PrimitiveStaticTypeUInt128
	PrimitiveStaticTypeUInt256

	PrimitiveStaticTypeWord8
	PrimitiveStaticTypeWord16
	PrimitiveStaticTypeWord32
	PrimitiveStaticTypeWord64

	PrimitiveStaticTypeFix64

	PrimitiveStaticTypeUFix64

	PrimitiveStaticTypePath
	PrimitiveStaticTypeCapability
	PrimitiveStaticTypeStoragePath
	PrimitiveStaticTypeCapabilityPath
	PrimitiveStaticTypePublicPath
	PrimitiveStaticTypePrivatePath

	PrimitiveStaticTypeAuthAccount
	PrimitiveStaticTypePublicAccount
	PrimitiveStaticTypeDeployedContract
	PrimitiveStaticTypeAuthAccountContracts
	PrimitiveStaticTypePublicAccountContracts
	PrimitiveStaticTypeAuthAccountKeys
	PrimitiveStaticTypePublicAccountKeys
	PrimitiveStaticTypeAccountKey

	// !!! *WARNING* !!!
	// ADD NEW TYPES *BEFORE* THIS WARNING.
	// DO *NOT* ADD NEW TYPES AFTER THIS LINE!
	PrimitiveStaticType_Count
)

func ConvertSemaToPrimitiveStaticType added in v0.2.0

func ConvertSemaToPrimitiveStaticType(
	memoryGauge common.MemoryGauge,
	t sema.Type,
) (typ PrimitiveStaticType)

ConvertSemaToPrimitiveStaticType converts a `sema.Type` to a `PrimitiveStaticType`.

Returns `PrimitiveStaticTypeUnknown` if the given type is not a primitive type.

func NewPrimitiveStaticType added in v0.24.0

func NewPrimitiveStaticType(
	memoryGauge common.MemoryGauge,
	staticType PrimitiveStaticType,
) PrimitiveStaticType

func (PrimitiveStaticType) Encode added in v0.20.0

func (t PrimitiveStaticType) Encode(e *cbor.StreamEncoder) error

Encode encodes PrimitiveStaticType as

cbor.Tag{
		Number:  CBORTagPrimitiveStaticType,
		Content: uint(v),
}

func (PrimitiveStaticType) Equal added in v0.15.0

func (t PrimitiveStaticType) Equal(other StaticType) bool

func (PrimitiveStaticType) MeteredString added in v0.24.0

func (t PrimitiveStaticType) MeteredString(memoryGauge common.MemoryGauge) string

func (PrimitiveStaticType) SemaType added in v0.2.0

func (i PrimitiveStaticType) SemaType() sema.Type

func (PrimitiveStaticType) String added in v0.2.0

func (i PrimitiveStaticType) String() string

type Program added in v0.13.0

type Program struct {
	Program     *ast.Program
	Elaboration *sema.Elaboration
}

func ProgramFromChecker added in v0.13.0

func ProgramFromChecker(checker *sema.Checker) *Program

type PublicAccountHandlerFunc added in v0.20.0

type PublicAccountHandlerFunc func(
	inter *Interpreter,
	address AddressValue,
) Value

PublicAccountHandlerFunc is a function that handles retrieving a public account at a given address. The account returned must be of type `PublicAccount`.

type PublicKeyValidationHandlerFunc added in v0.16.0

type PublicKeyValidationHandlerFunc func(
	interpreter *Interpreter,
	getLocationRange func() LocationRange,
	publicKey *CompositeValue,
) error

PublicKeyValidationHandlerFunc is a function that validates a given public key. Parameter types: - publicKey: PublicKey

type RedeclarationError

type RedeclarationError struct {
	Name string
}

func (RedeclarationError) Error

func (e RedeclarationError) Error() string

type ReferenceStaticType

type ReferenceStaticType struct {
	Authorized     bool
	BorrowedType   StaticType
	ReferencedType StaticType
}

func ConvertSemaReferenceTypeToStaticReferenceType added in v0.24.0

func ConvertSemaReferenceTypeToStaticReferenceType(
	memoryGauge common.MemoryGauge,
	t *sema.ReferenceType,
) ReferenceStaticType

func NewReferenceStaticType added in v0.24.0

func NewReferenceStaticType(
	memoryGauge common.MemoryGauge,
	authorized bool,
	staticType StaticType,
	referenceType StaticType,
) ReferenceStaticType

func (ReferenceStaticType) Encode added in v0.20.0

func (t ReferenceStaticType) Encode(e *cbor.StreamEncoder) error

Encode encodes ReferenceStaticType as

cbor.Tag{
		Number: CBORTagReferenceStaticType,
		Content: cborArray{
				encodedReferenceStaticTypeAuthorizedFieldKey: bool(v.Authorized),
				encodedReferenceStaticTypeTypeFieldKey:       StaticType(v.Type),
		},
	}

func (ReferenceStaticType) Equal added in v0.15.0

func (t ReferenceStaticType) Equal(other StaticType) bool

func (ReferenceStaticType) MeteredString added in v0.24.0

func (t ReferenceStaticType) MeteredString(memoryGauge common.MemoryGauge) string

func (ReferenceStaticType) String

func (t ReferenceStaticType) String() string

type ReferenceTrackedResourceKindedValue added in v0.21.0

type ReferenceTrackedResourceKindedValue interface {
	ResourceKindedValue
	IsReferenceTrackedResourceKindedValue()
	StorageID() atree.StorageID
}

ReferenceTrackedResourceKindedValue is a resource-kinded value that must be tracked when a reference of it is taken.

type ReferencedResourceKindedValues added in v0.21.0

type ReferencedResourceKindedValues map[atree.StorageID]map[ReferenceTrackedResourceKindedValue]struct{}

type ResourceConstructionError added in v0.19.0

type ResourceConstructionError struct {
	CompositeType *sema.CompositeType
	LocationRange
}

ResourceConstructionError

func (ResourceConstructionError) Error added in v0.19.0

type ResourceKindedValue added in v0.20.0

type ResourceKindedValue interface {
	Value
	Destroy(interpreter *Interpreter, getLocationRange func() LocationRange)
	IsDestroyed() bool
}

type RestrictedStaticType

type RestrictedStaticType struct {
	Type         StaticType
	Restrictions []InterfaceStaticType
}

func NewRestrictedStaticType added in v0.24.0

func NewRestrictedStaticType(
	memoryGauge common.MemoryGauge,
	staticType StaticType,
	restrictions []InterfaceStaticType,
) *RestrictedStaticType

func (*RestrictedStaticType) Encode added in v0.20.0

func (t *RestrictedStaticType) Encode(e *cbor.StreamEncoder) error

Encode encodes RestrictedStaticType as

cbor.Tag{
		Number: CBORTagRestrictedStaticType,
		Content: cborArray{
				encodedRestrictedStaticTypeTypeFieldKey:         StaticType(v.Type),
				encodedRestrictedStaticTypeRestrictionsFieldKey: []interface{}(v.Restrictions),
		},
}

func (*RestrictedStaticType) Equal added in v0.15.0

func (t *RestrictedStaticType) Equal(other StaticType) bool

func (*RestrictedStaticType) MeteredString added in v0.24.0

func (t *RestrictedStaticType) MeteredString(memoryGauge common.MemoryGauge) string

func (*RestrictedStaticType) String

func (t *RestrictedStaticType) String() string

type SeenReferences added in v0.19.0

type SeenReferences map[*EphemeralReferenceValue]struct{}

SeenReferences is a set of seen references.

NOTE: Do not generalize to map[interpreter.Value], as not all values are Go hashable, i.e. this might lead to run-time panics

type SignatureVerificationHandlerFunc added in v0.18.0

type SignatureVerificationHandlerFunc func(
	interpreter *Interpreter,
	getLocationRange func() LocationRange,
	signature *ArrayValue,
	signedData *ArrayValue,
	domainSeparationTag *StringValue,
	hashAlgorithm *CompositeValue,
	publicKey MemberAccessibleValue,
) BoolValue

SignatureVerificationHandlerFunc is a function that validates a signature. Parameter types: - signature: [UInt8] - signedData: [UInt8] - domainSeparationTag: String - hashAlgorithm: HashAlgorithm - publicKey: PublicKey Expected result type: Bool

type SimpleCompositeValue added in v0.20.0

type SimpleCompositeValue struct {
	TypeID sema.TypeID

	// FieldNames are the names of the field members (i.e. not functions, and not computed fields), in order
	FieldNames     []string
	Fields         map[string]Value
	ComputedFields map[string]ComputedField
	// contains filtered or unexported fields
}

func NewAccountKeyValue added in v0.14.0

func NewAccountKeyValue(
	inter *Interpreter,
	keyIndex IntValue,
	publicKey *CompositeValue,
	hashAlgo *CompositeValue,
	weight UFix64Value,
	isRevoked BoolValue,
) *SimpleCompositeValue

NewAccountKeyValue constructs an AccountKey value.

func NewBlockValue added in v0.20.0

func NewBlockValue(
	inter *Interpreter,
	height UInt64Value,
	view UInt64Value,
	id *ArrayValue,
	timestamp UFix64Value,
) *SimpleCompositeValue

func NewDeployedContractValue added in v0.20.0

func NewDeployedContractValue(
	inter *Interpreter,
	address AddressValue,
	name *StringValue,
	code *ArrayValue,
) *SimpleCompositeValue

func NewSimpleCompositeValue added in v0.20.0

func NewSimpleCompositeValue(
	inter *Interpreter,
	typeID sema.TypeID,
	staticType StaticType,
	fieldNames []string,
	fields map[string]Value,
	computedFields map[string]ComputedField,
	fieldFormatters map[string]func(common.MemoryGauge, Value, SeenReferences) string,
	stringer func(common.MemoryGauge, SeenReferences) string,
) *SimpleCompositeValue

func (*SimpleCompositeValue) Accept added in v0.20.0

func (v *SimpleCompositeValue) Accept(interpreter *Interpreter, visitor Visitor)

func (*SimpleCompositeValue) Clone added in v0.24.0

func (v *SimpleCompositeValue) Clone(interpreter *Interpreter) Value

func (*SimpleCompositeValue) ConformsToStaticType added in v0.24.0

func (v *SimpleCompositeValue) ConformsToStaticType(
	inter *Interpreter,
	_ func() LocationRange,
	staticType StaticType,
	_ TypeConformanceResults,
) bool

func (*SimpleCompositeValue) DeepRemove added in v0.20.0

func (v *SimpleCompositeValue) DeepRemove(_ *Interpreter)

func (*SimpleCompositeValue) ForEachField added in v0.20.0

func (v *SimpleCompositeValue) ForEachField(_ *Interpreter, f func(fieldName string, fieldValue Value))

ForEachField iterates over all field-name field-value pairs of the composite value. It does NOT iterate over computed fields and functions!

func (*SimpleCompositeValue) GetMember added in v0.20.0

func (v *SimpleCompositeValue) GetMember(
	interpreter *Interpreter,
	getLocationRange func() LocationRange,
	name string,
) Value

func (*SimpleCompositeValue) IsImportable added in v0.24.0

func (v *SimpleCompositeValue) IsImportable(inter *Interpreter) bool

func (*SimpleCompositeValue) IsResourceKinded added in v0.20.0

func (v *SimpleCompositeValue) IsResourceKinded(_ *Interpreter) bool

func (*SimpleCompositeValue) IsValue added in v0.20.0

func (*SimpleCompositeValue) IsValue()

func (*SimpleCompositeValue) MeteredString added in v0.24.0

func (v *SimpleCompositeValue) MeteredString(memoryGauge common.MemoryGauge, seenReferences SeenReferences) string

func (*SimpleCompositeValue) NeedsStoreTo added in v0.20.0

func (*SimpleCompositeValue) NeedsStoreTo(_ atree.Address) bool

func (*SimpleCompositeValue) RecursiveString added in v0.20.0

func (v *SimpleCompositeValue) RecursiveString(seenReferences SeenReferences) string

func (*SimpleCompositeValue) RemoveMember added in v0.20.0

func (*SimpleCompositeValue) RemoveMember(_ *Interpreter, _ func() LocationRange, _ string) Value

func (*SimpleCompositeValue) SetMember added in v0.20.0

func (v *SimpleCompositeValue) SetMember(_ *Interpreter, _ func() LocationRange, name string, value Value)

func (*SimpleCompositeValue) StaticType added in v0.20.0

func (v *SimpleCompositeValue) StaticType(_ *Interpreter) StaticType

func (*SimpleCompositeValue) Storable added in v0.20.0

func (*SimpleCompositeValue) String added in v0.20.0

func (v *SimpleCompositeValue) String() string

func (*SimpleCompositeValue) Transfer added in v0.20.0

func (v *SimpleCompositeValue) Transfer(
	interpreter *Interpreter,
	_ func() LocationRange,
	_ atree.Address,
	remove bool,
	storable atree.Storable,
) Value

func (*SimpleCompositeValue) Walk added in v0.20.0

func (v *SimpleCompositeValue) Walk(interpreter *Interpreter, walkChild func(Value))

Walk iterates over all field values of the composite value. It does NOT walk the computed fields and functions!

type SomeStorable added in v0.20.0

type SomeStorable struct {
	Storable atree.Storable
	// contains filtered or unexported fields
}

func (SomeStorable) ByteSize added in v0.20.0

func (s SomeStorable) ByteSize() uint32

func (SomeStorable) ChildStorables added in v0.20.0

func (s SomeStorable) ChildStorables() []atree.Storable

func (SomeStorable) Encode added in v0.20.0

func (s SomeStorable) Encode(e *atree.Encoder) error

Encode encodes SomeStorable as

cbor.Tag{
		Number: CBORTagSomeValue,
		Content: Value(v.Value),
}

func (SomeStorable) StoredValue added in v0.20.0

func (s SomeStorable) StoredValue(storage atree.SlabStorage) (atree.Value, error)

type SomeValue

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

func NewSomeValueNonCopying added in v0.20.0

func NewSomeValueNonCopying(interpreter *Interpreter, value Value) *SomeValue

func NewUnmeteredSomeValueNonCopying added in v0.24.0

func NewUnmeteredSomeValueNonCopying(value Value) *SomeValue

func (*SomeValue) Accept added in v0.12.0

func (v *SomeValue) Accept(interpreter *Interpreter, visitor Visitor)

func (*SomeValue) Clone added in v0.24.0

func (v *SomeValue) Clone(interpreter *Interpreter) Value

func (SomeValue) ConformsToStaticType added in v0.24.0

func (v SomeValue) ConformsToStaticType(
	interpreter *Interpreter,
	getLocationRange func() LocationRange,
	staticType StaticType,
	results TypeConformanceResults,
) bool

func (*SomeValue) DeepRemove added in v0.20.0

func (v *SomeValue) DeepRemove(interpreter *Interpreter)

func (*SomeValue) Destroy

func (v *SomeValue) Destroy(interpreter *Interpreter, getLocationRange func() LocationRange)

func (*SomeValue) Equal added in v0.15.0

func (v *SomeValue) Equal(interpreter *Interpreter, getLocationRange func() LocationRange, other Value) bool

func (*SomeValue) GetMember added in v0.9.0

func (v *SomeValue) GetMember(interpreter *Interpreter, getLocationRange func() LocationRange, name string) Value

func (*SomeValue) InnerValue added in v0.24.0

func (v *SomeValue) InnerValue(interpreter *Interpreter, getLocationRange func() LocationRange) Value

func (*SomeValue) IsDestroyed added in v0.20.0

func (v *SomeValue) IsDestroyed() bool

func (*SomeValue) IsImportable added in v0.24.0

func (v *SomeValue) IsImportable(inter *Interpreter) bool

func (*SomeValue) IsResourceKinded added in v0.20.0

func (v *SomeValue) IsResourceKinded(interpreter *Interpreter) bool

func (*SomeValue) IsValue

func (*SomeValue) IsValue()

func (SomeValue) MeteredString added in v0.24.0

func (v SomeValue) MeteredString(memoryGauge common.MemoryGauge, seenReferences SeenReferences) string

func (*SomeValue) NeedsStoreTo added in v0.20.0

func (v *SomeValue) NeedsStoreTo(address atree.Address) bool

func (*SomeValue) RecursiveString added in v0.17.0

func (v *SomeValue) RecursiveString(seenReferences SeenReferences) string

func (*SomeValue) RemoveMember added in v0.20.0

func (v *SomeValue) RemoveMember(interpreter *Interpreter, getLocationRange func() LocationRange, _ string) Value

func (*SomeValue) SetMember added in v0.9.0

func (v *SomeValue) SetMember(interpreter *Interpreter, getLocationRange func() LocationRange, _ string, _ Value)

func (*SomeValue) StaticType added in v0.12.0

func (v *SomeValue) StaticType(inter *Interpreter) StaticType

func (*SomeValue) Storable added in v0.20.0

func (v *SomeValue) Storable(
	storage atree.SlabStorage,
	address atree.Address,
	maxInlineSize uint64,
) (atree.Storable, error)

func (*SomeValue) String

func (v *SomeValue) String() string

func (*SomeValue) Transfer added in v0.20.0

func (v *SomeValue) Transfer(
	interpreter *Interpreter,
	getLocationRange func() LocationRange,
	address atree.Address,
	remove bool,
	storable atree.Storable,
) Value

func (*SomeValue) Walk added in v0.19.0

func (v *SomeValue) Walk(_ *Interpreter, walkChild func(Value))

type StaticType

type StaticType interface {
	fmt.Stringer

	Equal(other StaticType) bool
	Encode(e *cbor.StreamEncoder) error
	MeteredString(memoryGauge common.MemoryGauge) string
	// contains filtered or unexported methods
}

StaticType is a shallow representation of a static type (`sema.Type`) which doesn't contain the full information, but only refers to composite and interface types by ID.

This allows static types to be efficiently serialized and deserialized, for example in the world state.

func ConvertSemaToStaticType

func ConvertSemaToStaticType(memoryGauge common.MemoryGauge, t sema.Type) StaticType

type Stop added in v0.24.0

type Stop struct {
	Interpreter *Interpreter
	Statement   ast.Statement
}

type StorableDecoder added in v0.24.0

type StorableDecoder struct {
	TypeDecoder
	// contains filtered or unexported fields
}

func NewStorableDecoder added in v0.24.0

func NewStorableDecoder(
	decoder *cbor.StreamDecoder,
	slabStorageID atree.StorageID,
	memoryGauge common.MemoryGauge,
) StorableDecoder

type Storage added in v0.20.0

type Storage interface {
	atree.SlabStorage
	GetStorageMap(address common.Address, domain string, createIfNotExists bool) *StorageMap
	CheckHealth() error
}

type StorageKey added in v0.15.0

type StorageKey struct {
	Address common.Address
	Key     string
}

func NewStorageKey added in v0.24.0

func NewStorageKey(memoryGauge common.MemoryGauge, address common.Address, key string) StorageKey

func (StorageKey) IsLess added in v0.20.0

func (k StorageKey) IsLess(o StorageKey) bool

type StorageMap added in v0.23.0

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

StorageMap is an ordered map which stores values in an account.

func NewStorageMap added in v0.23.0

func NewStorageMap(memoryGauge common.MemoryGauge, storage atree.SlabStorage, address atree.Address) *StorageMap

func NewStorageMapWithRootID added in v0.23.0

func NewStorageMapWithRootID(storage atree.SlabStorage, storageID atree.StorageID) *StorageMap

func (StorageMap) Iterator added in v0.23.0

func (s StorageMap) Iterator(gauge common.MemoryGauge) StorageMapIterator

Iterator returns an iterator (StorageMapIterator), which allows iterating over the keys and values of the storage map

func (StorageMap) ReadValue added in v0.23.0

func (s StorageMap) ReadValue(interpreter *Interpreter, key string) Value

ReadValue returns the value for the given key. Returns nil if the key does not exist.

func (StorageMap) SetValue added in v0.23.0

func (s StorageMap) SetValue(interpreter *Interpreter, key string, value atree.Value)

SetValue sets a value in the storage map. If the given key already stores a value, it is overwritten.

func (StorageMap) StorageID added in v0.23.0

func (s StorageMap) StorageID() atree.StorageID

func (StorageMap) ValueExists added in v0.23.0

func (s StorageMap) ValueExists(key string) bool

ValueExists returns true if the given key exists in the storage map.

func (StorageMap) WriteValue added in v0.23.0

func (s StorageMap) WriteValue(interpreter *Interpreter, key string, value atree.Value)

WriteValue sets or removes a value in the storage map. If the given value is nil, the key is removed. If the given value is non-nil, the key is added/updated.

type StorageMapIterator added in v0.23.0

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

StorageMapIterator is an iterator over StorageMap

func (StorageMapIterator) Next added in v0.23.0

func (i StorageMapIterator) Next() (string, Value)

Next returns the next key and value of the storage map iterator. If there is no further key-value pair, ("", nil) is returned.

func (StorageMapIterator) NextKey added in v0.23.0

func (i StorageMapIterator) NextKey() string

NextKey returns the next key of the storage map iterator. If there is no further key, "" is returned.

func (StorageMapIterator) NextValue added in v0.23.0

func (i StorageMapIterator) NextValue() Value

NextValue returns the next value in the storage map iterator. If there is nop further value, nil is returned.

type StorageReferenceValue

type StorageReferenceValue struct {
	Authorized           bool
	TargetStorageAddress common.Address
	TargetPath           PathValue
	BorrowedType         sema.Type
}

func NewStorageReferenceValue added in v0.24.0

func NewStorageReferenceValue(
	memoryGauge common.MemoryGauge,
	authorized bool,
	targetStorageAddress common.Address,
	targetPath PathValue,
	borrowedType sema.Type,
) *StorageReferenceValue

func NewUnmeteredStorageReferenceValue added in v0.24.0

func NewUnmeteredStorageReferenceValue(
	authorized bool,
	targetStorageAddress common.Address,
	targetPath PathValue,
	borrowedType sema.Type,
) *StorageReferenceValue

func (*StorageReferenceValue) Accept added in v0.12.0

func (v *StorageReferenceValue) Accept(interpreter *Interpreter, visitor Visitor)

func (*StorageReferenceValue) Clone added in v0.23.0

func (*StorageReferenceValue) ConformsToStaticType added in v0.24.0

func (v *StorageReferenceValue) ConformsToStaticType(
	interpreter *Interpreter,
	getLocationRange func() LocationRange,
	staticType StaticType,
	results TypeConformanceResults,
) bool

func (*StorageReferenceValue) DeepRemove added in v0.20.0

func (*StorageReferenceValue) DeepRemove(_ *Interpreter)

func (*StorageReferenceValue) Equal

func (v *StorageReferenceValue) Equal(_ *Interpreter, _ func() LocationRange, other Value) bool

func (*StorageReferenceValue) GetKey added in v0.20.0

func (v *StorageReferenceValue) GetKey(
	interpreter *Interpreter,
	getLocationRange func() LocationRange,
	key Value,
) Value

func (*StorageReferenceValue) GetMember

func (v *StorageReferenceValue) GetMember(
	interpreter *Interpreter,
	getLocationRange func() LocationRange,
	name string,
) Value

func (*StorageReferenceValue) InsertKey added in v0.20.0

func (v *StorageReferenceValue) InsertKey(
	interpreter *Interpreter,
	getLocationRange func() LocationRange,
	key Value,
	value Value,
)

func (*StorageReferenceValue) IsImportable added in v0.24.0

func (*StorageReferenceValue) IsImportable(_ *Interpreter) bool

func (*StorageReferenceValue) IsResourceKinded added in v0.20.0

func (*StorageReferenceValue) IsResourceKinded(_ *Interpreter) bool

func (*StorageReferenceValue) IsStorable added in v0.16.0

func (*StorageReferenceValue) IsStorable() bool

func (*StorageReferenceValue) IsValue

func (*StorageReferenceValue) IsValue()

func (*StorageReferenceValue) MeteredString added in v0.24.0

func (v *StorageReferenceValue) MeteredString(memoryGauge common.MemoryGauge, seenReferences SeenReferences) string

func (*StorageReferenceValue) NeedsStoreTo added in v0.20.0

func (*StorageReferenceValue) NeedsStoreTo(_ atree.Address) bool

func (*StorageReferenceValue) RecursiveString added in v0.17.0

func (v *StorageReferenceValue) RecursiveString(_ SeenReferences) string

func (*StorageReferenceValue) ReferencedValue added in v0.11.0

func (v *StorageReferenceValue) ReferencedValue(interpreter *Interpreter) *Value

func (*StorageReferenceValue) RemoveKey added in v0.20.0

func (v *StorageReferenceValue) RemoveKey(
	interpreter *Interpreter,
	getLocationRange func() LocationRange,
	key Value,
) Value

func (*StorageReferenceValue) RemoveMember added in v0.20.0

func (v *StorageReferenceValue) RemoveMember(
	interpreter *Interpreter,
	getLocationRange func() LocationRange,
	name string,
) Value

func (*StorageReferenceValue) SetKey added in v0.20.0

func (v *StorageReferenceValue) SetKey(
	interpreter *Interpreter,
	getLocationRange func() LocationRange,
	key Value,
	value Value,
)

func (*StorageReferenceValue) SetMember

func (v *StorageReferenceValue) SetMember(
	interpreter *Interpreter,
	getLocationRange func() LocationRange,
	name string,
	value Value,
)

func (*StorageReferenceValue) StaticType added in v0.12.0

func (v *StorageReferenceValue) StaticType(inter *Interpreter) StaticType

func (*StorageReferenceValue) Storable added in v0.20.0

func (*StorageReferenceValue) String added in v0.5.0

func (*StorageReferenceValue) String() string

func (*StorageReferenceValue) Transfer added in v0.20.0

func (v *StorageReferenceValue) Transfer(
	interpreter *Interpreter,
	_ func() LocationRange,
	_ atree.Address,
	remove bool,
	storable atree.Storable,
) Value

func (*StorageReferenceValue) Walk added in v0.19.0

func (*StorageReferenceValue) Walk(_ *Interpreter, _ func(Value))

type StringAtreeValue added in v0.24.0

type StringAtreeValue string

func NewStringAtreeValue added in v0.24.0

func NewStringAtreeValue(gauge common.MemoryGauge, s string) StringAtreeValue

func (StringAtreeValue) ByteSize added in v0.24.0

func (v StringAtreeValue) ByteSize() uint32

func (StringAtreeValue) ChildStorables added in v0.24.0

func (StringAtreeValue) ChildStorables() []atree.Storable

func (StringAtreeValue) Encode added in v0.24.0

func (v StringAtreeValue) Encode(e *atree.Encoder) error

Encode encodes the value as a CBOR string

func (StringAtreeValue) Storable added in v0.24.0

func (v StringAtreeValue) Storable(
	storage atree.SlabStorage,
	address atree.Address,
	maxInlineSize uint64,
) (
	atree.Storable,
	error,
)

func (StringAtreeValue) StoredValue added in v0.24.0

func (v StringAtreeValue) StoredValue(_ atree.SlabStorage) (atree.Value, error)

type StringIndexOutOfBoundsError added in v0.16.0

type StringIndexOutOfBoundsError struct {
	Index  int
	Length int
	LocationRange
}

StringIndexOutOfBoundsError

func (StringIndexOutOfBoundsError) Error added in v0.16.0

type StringSliceIndicesError added in v0.24.0

type StringSliceIndicesError struct {
	FromIndex int
	UpToIndex int
	Length    int
	LocationRange
}

StringSliceIndicesError

func (StringSliceIndicesError) Error added in v0.24.0

func (e StringSliceIndicesError) Error() string

type StringValue

type StringValue struct {
	Str string
	// contains filtered or unexported fields
}

func NewStringValue

func NewStringValue(
	memoryGauge common.MemoryGauge,
	memoryUsage common.MemoryUsage,
	stringConstructor func() string,
) *StringValue

func NewUnmeteredStringValue added in v0.24.0

func NewUnmeteredStringValue(str string) *StringValue

func (*StringValue) Accept added in v0.12.0

func (v *StringValue) Accept(interpreter *Interpreter, visitor Visitor)

func (*StringValue) ByteSize added in v0.20.0

func (v *StringValue) ByteSize() uint32

func (*StringValue) ChildStorables added in v0.20.0

func (*StringValue) ChildStorables() []atree.Storable

func (*StringValue) Clone added in v0.24.0

func (v *StringValue) Clone(_ *Interpreter) Value

func (*StringValue) Concat

func (v *StringValue) Concat(interpreter *Interpreter, other *StringValue) Value

func (*StringValue) ConformsToStaticType added in v0.24.0

func (v *StringValue) ConformsToStaticType(
	inter *Interpreter,
	_ func() LocationRange,
	staticType StaticType,
	_ TypeConformanceResults,
) bool

func (*StringValue) DecodeHex added in v0.5.0

func (v *StringValue) DecodeHex(interpreter *Interpreter) *ArrayValue

DecodeHex hex-decodes this string and returns an array of UInt8 values

func (*StringValue) DeepRemove added in v0.20.0

func (*StringValue) DeepRemove(_ *Interpreter)

func (*StringValue) Encode added in v0.20.0

func (v *StringValue) Encode(e *atree.Encoder) error

Encode encodes the value as a CBOR string

func (*StringValue) Equal

func (v *StringValue) Equal(_ *Interpreter, _ func() LocationRange, other Value) bool

func (*StringValue) GetKey added in v0.20.0

func (v *StringValue) GetKey(interpreter *Interpreter, getLocationRange func() LocationRange, key Value) Value

func (*StringValue) GetMember

func (v *StringValue) GetMember(interpreter *Interpreter, _ func() LocationRange, name string) Value

func (*StringValue) HashInput added in v0.20.0

func (v *StringValue) HashInput(_ *Interpreter, _ func() LocationRange, scratch []byte) []byte

HashInput returns a byte slice containing: - HashInputTypeString (1 byte) - string value (n bytes)

func (*StringValue) InsertKey added in v0.20.0

func (*StringValue) InsertKey(_ *Interpreter, _ func() LocationRange, _ Value, _ Value)

func (*StringValue) IsImportable added in v0.24.0

func (*StringValue) IsImportable(_ *Interpreter) bool

func (*StringValue) IsResourceKinded added in v0.20.0

func (*StringValue) IsResourceKinded(_ *Interpreter) bool

func (*StringValue) IsValue

func (*StringValue) IsValue()

func (*StringValue) Length added in v0.5.0

func (v *StringValue) Length() int

Length returns the number of characters (grapheme clusters)

func (StringValue) MeteredString added in v0.24.0

func (v StringValue) MeteredString(memoryGauge common.MemoryGauge, _ SeenReferences) string

func (*StringValue) NeedsStoreTo added in v0.20.0

func (*StringValue) NeedsStoreTo(_ atree.Address) bool

func (*StringValue) NormalForm

func (v *StringValue) NormalForm() string

func (*StringValue) RecursiveString added in v0.17.0

func (v *StringValue) RecursiveString(_ SeenReferences) string

func (*StringValue) RemoveKey added in v0.20.0

func (*StringValue) RemoveKey(_ *Interpreter, _ func() LocationRange, _ Value) Value

func (*StringValue) RemoveMember added in v0.20.0

func (*StringValue) RemoveMember(_ *Interpreter, _ func() LocationRange, _ string) Value

func (*StringValue) SetKey added in v0.20.0

func (*StringValue) SetKey(_ *Interpreter, _ func() LocationRange, _ Value, _ Value)

func (*StringValue) SetMember

func (*StringValue) SetMember(_ *Interpreter, _ func() LocationRange, _ string, _ Value)

func (*StringValue) Slice

func (v *StringValue) Slice(from IntValue, to IntValue, getLocationRange func() LocationRange) Value

func (*StringValue) StaticType added in v0.12.0

func (*StringValue) StaticType(interpreter *Interpreter) StaticType

func (*StringValue) Storable added in v0.20.0

func (v *StringValue) Storable(storage atree.SlabStorage, address atree.Address, maxInlineSize uint64) (atree.Storable, error)

func (*StringValue) StoredValue added in v0.20.0

func (v *StringValue) StoredValue(_ atree.SlabStorage) (atree.Value, error)

func (*StringValue) String

func (v *StringValue) String() string

func (*StringValue) ToLower added in v0.20.0

func (v *StringValue) ToLower(interpreter *Interpreter) *StringValue

func (*StringValue) Transfer added in v0.20.0

func (v *StringValue) Transfer(
	interpreter *Interpreter,
	_ func() LocationRange,
	_ atree.Address,
	remove bool,
	storable atree.Storable,
) Value

func (*StringValue) Walk added in v0.19.0

func (*StringValue) Walk(_ *Interpreter, _ func(Value))

type TransactionNotDeclaredError

type TransactionNotDeclaredError struct {
	Index int
}

func (TransactionNotDeclaredError) Error

type TypeCodes added in v0.5.0

type TypeCodes struct {
	CompositeCodes       map[sema.TypeID]CompositeTypeCode
	InterfaceCodes       map[sema.TypeID]WrapperCode
	TypeRequirementCodes map[sema.TypeID]WrapperCode
}

TypeCodes is the value which stores the "prepared" / "callable" "code" of all composite types, interface types, and type requirements.

func (TypeCodes) Merge added in v0.5.0

func (c TypeCodes) Merge(codes TypeCodes)

type TypeConformanceResults added in v0.15.0

type TypeConformanceResults map[typeConformanceResultEntry]bool

type TypeDecoder added in v0.24.0

type TypeDecoder struct {
	LocationDecoder
	// contains filtered or unexported fields
}

func NewTypeDecoder added in v0.24.0

func NewTypeDecoder(
	decoder *cbor.StreamDecoder,
	memoryGauge common.MemoryGauge,
) TypeDecoder

func (TypeDecoder) DecodeStaticType added in v0.24.0

func (d TypeDecoder) DecodeStaticType() (StaticType, error)

type TypeLoadingError added in v0.10.5

type TypeLoadingError struct {
	TypeID common.TypeID
}

TypeLoadingError

func (TypeLoadingError) Error added in v0.10.5

func (e TypeLoadingError) Error() string

type TypeMismatchError

type TypeMismatchError struct {
	ExpectedType sema.Type
	LocationRange
}

TypeMismatchError

func (TypeMismatchError) Error

func (e TypeMismatchError) Error() string

type TypeParameter added in v0.19.0

type TypeParameter struct {
	Name      string
	TypeBound StaticType
	Optional  bool
}

func (TypeParameter) Equal added in v0.19.0

func (p TypeParameter) Equal(other *TypeParameter) bool

func (TypeParameter) String added in v0.19.0

func (p TypeParameter) String() string

type TypeValue added in v0.4.0

type TypeValue struct {
	Type StaticType
}

func NewTypeValue added in v0.24.0

func NewTypeValue(
	memoryGauge common.MemoryGauge,
	staticType StaticType,
) TypeValue

func NewUnmeteredTypeValue added in v0.24.0

func NewUnmeteredTypeValue(t StaticType) TypeValue

func (TypeValue) Accept added in v0.12.0

func (v TypeValue) Accept(interpreter *Interpreter, visitor Visitor)

func (TypeValue) ByteSize added in v0.20.0

func (v TypeValue) ByteSize() uint32

func (TypeValue) ChildStorables added in v0.20.0

func (TypeValue) ChildStorables() []atree.Storable

func (TypeValue) Clone added in v0.24.0

func (v TypeValue) Clone(_ *Interpreter) Value

func (TypeValue) ConformsToStaticType added in v0.24.0

func (v TypeValue) ConformsToStaticType(
	inter *Interpreter,
	_ func() LocationRange,
	staticType StaticType,
	_ TypeConformanceResults,
) bool

func (TypeValue) DeepRemove added in v0.20.0

func (TypeValue) DeepRemove(_ *Interpreter)

func (TypeValue) Encode added in v0.20.0

func (v TypeValue) Encode(e *atree.Encoder) error

Encode encodes TypeValue as

cbor.Tag{
			Number: CBORTagTypeValue,
			Content: cborArray{
				encodedTypeValueTypeFieldKey: StaticType(v.Type),
			},
	}

func (TypeValue) Equal added in v0.4.0

func (v TypeValue) Equal(_ *Interpreter, _ func() LocationRange, other Value) bool

func (TypeValue) GetMember added in v0.4.0

func (v TypeValue) GetMember(interpreter *Interpreter, _ func() LocationRange, name string) Value

func (TypeValue) HashInput added in v0.24.0

func (v TypeValue) HashInput(interpreter *Interpreter, _ func() LocationRange, scratch []byte) []byte

HashInput returns a byte slice containing: - HashInputTypeType (1 byte) - type id (n bytes)

func (TypeValue) IsImportable added in v0.24.0

func (TypeValue) IsImportable(_ *Interpreter) bool

func (TypeValue) IsResourceKinded added in v0.20.0

func (TypeValue) IsResourceKinded(_ *Interpreter) bool

func (TypeValue) IsValue added in v0.4.0

func (TypeValue) IsValue()

func (TypeValue) MeteredString added in v0.24.0

func (v TypeValue) MeteredString(memoryGauge common.MemoryGauge, _ SeenReferences) string

func (TypeValue) NeedsStoreTo added in v0.20.0

func (TypeValue) NeedsStoreTo(_ atree.Address) bool

func (TypeValue) RecursiveString added in v0.17.0

func (v TypeValue) RecursiveString(_ SeenReferences) string

func (TypeValue) RemoveMember added in v0.20.0

func (TypeValue) RemoveMember(_ *Interpreter, _ func() LocationRange, _ string) Value

func (TypeValue) SetMember added in v0.4.0

func (TypeValue) SetMember(_ *Interpreter, _ func() LocationRange, _ string, _ Value)

func (TypeValue) StaticType added in v0.12.0

func (TypeValue) StaticType(interpreter *Interpreter) StaticType

func (TypeValue) Storable added in v0.20.0

func (v TypeValue) Storable(
	storage atree.SlabStorage,
	address atree.Address,
	maxInlineSize uint64,
) (atree.Storable, error)

func (TypeValue) StoredValue added in v0.20.0

func (v TypeValue) StoredValue(_ atree.SlabStorage) (atree.Value, error)

func (TypeValue) String added in v0.4.0

func (v TypeValue) String() string

func (TypeValue) Transfer added in v0.20.0

func (v TypeValue) Transfer(
	interpreter *Interpreter,
	_ func() LocationRange,
	_ atree.Address,
	remove bool,
	storable atree.Storable,
) Value

func (TypeValue) Walk added in v0.19.0

func (TypeValue) Walk(_ *Interpreter, _ func(Value))

type UFix64Value

type UFix64Value uint64

UFix64Value

func ConvertUFix64

func ConvertUFix64(memoryGauge common.MemoryGauge, value Value) UFix64Value

func NewUFix64Value added in v0.24.0

func NewUFix64Value(gauge common.MemoryGauge, constructor func() uint64) UFix64Value

func NewUFix64ValueWithInteger added in v0.2.0

func NewUFix64ValueWithInteger(gauge common.MemoryGauge, constructor func() uint64) UFix64Value

func NewUnmeteredUFix64Value added in v0.24.0

func NewUnmeteredUFix64Value(integer uint64) UFix64Value

func NewUnmeteredUFix64ValueWithInteger added in v0.24.0

func NewUnmeteredUFix64ValueWithInteger(integer uint64) UFix64Value

func (UFix64Value) Accept added in v0.12.0

func (v UFix64Value) Accept(interpreter *Interpreter, visitor Visitor)

func (UFix64Value) ByteSize added in v0.20.0

func (v UFix64Value) ByteSize() uint32

func (UFix64Value) ChildStorables added in v0.20.0

func (UFix64Value) ChildStorables() []atree.Storable

func (UFix64Value) Clone added in v0.24.0

func (v UFix64Value) Clone(_ *Interpreter) Value

func (UFix64Value) ConformsToStaticType added in v0.24.0

func (v UFix64Value) ConformsToStaticType(
	inter *Interpreter,
	_ func() LocationRange,
	staticType StaticType,
	_ TypeConformanceResults,
) bool

func (UFix64Value) DeepRemove added in v0.20.0

func (UFix64Value) DeepRemove(_ *Interpreter)

func (UFix64Value) Div

func (v UFix64Value) Div(interpreter *Interpreter, other NumberValue) NumberValue

func (UFix64Value) Encode added in v0.20.0

func (v UFix64Value) Encode(e *atree.Encoder) error

Encode encodes UFix64Value as

cbor.Tag{
		Number:  CBORTagUFix64Value,
		Content: uint64(v),
}

func (UFix64Value) Equal

func (v UFix64Value) Equal(_ *Interpreter, _ func() LocationRange, other Value) bool

func (UFix64Value) GetMember added in v0.3.0

func (v UFix64Value) GetMember(interpreter *Interpreter, _ func() LocationRange, name string) Value

func (UFix64Value) Greater

func (v UFix64Value) Greater(interpreter *Interpreter, other NumberValue) BoolValue

func (UFix64Value) GreaterEqual

func (v UFix64Value) GreaterEqual(interpreter *Interpreter, other NumberValue) BoolValue

func (UFix64Value) HashInput added in v0.20.0

func (v UFix64Value) HashInput(_ *Interpreter, _ func() LocationRange, scratch []byte) []byte

HashInput returns a byte slice containing: - HashInputTypeUFix64 (1 byte) - uint64 value encoded in big-endian (8 bytes)

func (UFix64Value) IntegerPart added in v0.24.0

func (v UFix64Value) IntegerPart() NumberValue

func (UFix64Value) IsImportable added in v0.24.0

func (UFix64Value) IsImportable(_ *Interpreter) bool

func (UFix64Value) IsResourceKinded added in v0.20.0

func (UFix64Value) IsResourceKinded(_ *Interpreter) bool

func (UFix64Value) IsStorable added in v0.16.0

func (UFix64Value) IsStorable() bool

func (UFix64Value) IsValue

func (UFix64Value) IsValue()

func (UFix64Value) Less

func (v UFix64Value) Less(interpreter *Interpreter, other NumberValue) BoolValue

func (UFix64Value) LessEqual

func (v UFix64Value) LessEqual(interpreter *Interpreter, other NumberValue) BoolValue

func (UFix64Value) MeteredString added in v0.24.0

func (v UFix64Value) MeteredString(memoryGauge common.MemoryGauge, _ SeenReferences) string

func (UFix64Value) Minus

func (v UFix64Value) Minus(interpreter *Interpreter, other NumberValue) NumberValue

func (UFix64Value) Mod

func (v UFix64Value) Mod(interpreter *Interpreter, other NumberValue) NumberValue

func (UFix64Value) Mul

func (v UFix64Value) Mul(interpreter *Interpreter, other NumberValue) NumberValue

func (UFix64Value) NeedsStoreTo added in v0.20.0

func (UFix64Value) NeedsStoreTo(_ atree.Address) bool

func (UFix64Value) Negate

func (v UFix64Value) Negate(*Interpreter) NumberValue

func (UFix64Value) Plus

func (v UFix64Value) Plus(interpreter *Interpreter, other NumberValue) NumberValue

func (UFix64Value) RecursiveString added in v0.17.0

func (v UFix64Value) RecursiveString(_ SeenReferences) string

func (UFix64Value) RemoveMember added in v0.20.0

func (UFix64Value) RemoveMember(_ *Interpreter, _ func() LocationRange, _ string) Value

func (UFix64Value) SaturatingDiv added in v0.15.0

func (v UFix64Value) SaturatingDiv(interpreter *Interpreter, other NumberValue) NumberValue

func (UFix64Value) SaturatingMinus added in v0.15.0

func (v UFix64Value) SaturatingMinus(interpreter *Interpreter, other NumberValue) NumberValue

func (UFix64Value) SaturatingMul added in v0.15.0

func (v UFix64Value) SaturatingMul(interpreter *Interpreter, other NumberValue) NumberValue

func (UFix64Value) SaturatingPlus added in v0.15.0

func (v UFix64Value) SaturatingPlus(interpreter *Interpreter, other NumberValue) NumberValue

func (UFix64Value) Scale added in v0.24.0

func (UFix64Value) Scale() int

func (UFix64Value) SetMember added in v0.3.0

func (UFix64Value) SetMember(_ *Interpreter, _ func() LocationRange, _ string, _ Value)

func (UFix64Value) StaticType added in v0.12.0

func (UFix64Value) StaticType(interpreter *Interpreter) StaticType

func (UFix64Value) Storable added in v0.20.0

func (UFix64Value) StoredValue added in v0.20.0

func (v UFix64Value) StoredValue(_ atree.SlabStorage) (atree.Value, error)

func (UFix64Value) String

func (v UFix64Value) String() string

func (UFix64Value) ToBigEndianBytes added in v0.5.0

func (v UFix64Value) ToBigEndianBytes() []byte

func (UFix64Value) ToInt

func (v UFix64Value) ToInt() int

func (UFix64Value) Transfer added in v0.20.0

func (v UFix64Value) Transfer(
	interpreter *Interpreter,
	_ func() LocationRange,
	_ atree.Address,
	remove bool,
	storable atree.Storable,
) Value

func (UFix64Value) Walk added in v0.19.0

func (UFix64Value) Walk(_ *Interpreter, _ func(Value))

type UInt128Value

type UInt128Value struct {
	BigInt *big.Int
}

func NewUInt128ValueFromBigInt

func NewUInt128ValueFromBigInt(memoryGauge common.MemoryGauge, bigIntConstructor func() *big.Int) UInt128Value

func NewUInt128ValueFromUint64 added in v0.2.0

func NewUInt128ValueFromUint64(interpreter *Interpreter, value uint64) UInt128Value

func NewUnmeteredUInt128ValueFromBigInt added in v0.24.0

func NewUnmeteredUInt128ValueFromBigInt(value *big.Int) UInt128Value

func NewUnmeteredUInt128ValueFromUint64 added in v0.24.0

func NewUnmeteredUInt128ValueFromUint64(value uint64) UInt128Value

func (UInt128Value) Accept added in v0.12.0

func (v UInt128Value) Accept(interpreter *Interpreter, visitor Visitor)

func (UInt128Value) BitwiseAnd added in v0.2.0

func (v UInt128Value) BitwiseAnd(interpreter *Interpreter, other IntegerValue) IntegerValue

func (UInt128Value) BitwiseLeftShift added in v0.2.0

func (v UInt128Value) BitwiseLeftShift(interpreter *Interpreter, other IntegerValue) IntegerValue

func (UInt128Value) BitwiseOr added in v0.2.0

func (v UInt128Value) BitwiseOr(interpreter *Interpreter, other IntegerValue) IntegerValue

func (UInt128Value) BitwiseRightShift added in v0.2.0

func (v UInt128Value) BitwiseRightShift(interpreter *Interpreter, other IntegerValue) IntegerValue

func (UInt128Value) BitwiseXor added in v0.2.0

func (v UInt128Value) BitwiseXor(interpreter *Interpreter, other IntegerValue) IntegerValue

func (UInt128Value) ByteLength added in v0.24.0

func (v UInt128Value) ByteLength() int

func (UInt128Value) ByteSize added in v0.20.0

func (v UInt128Value) ByteSize() uint32

func (UInt128Value) ChildStorables added in v0.20.0

func (UInt128Value) ChildStorables() []atree.Storable

func (UInt128Value) Clone added in v0.24.0

func (v UInt128Value) Clone(_ *Interpreter) Value

func (UInt128Value) ConformsToStaticType added in v0.24.0

func (v UInt128Value) ConformsToStaticType(
	inter *Interpreter,
	_ func() LocationRange,
	staticType StaticType,
	_ TypeConformanceResults,
) bool

func (UInt128Value) DeepRemove added in v0.20.0

func (UInt128Value) DeepRemove(_ *Interpreter)

func (UInt128Value) Div

func (v UInt128Value) Div(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt128Value) Encode added in v0.20.0

func (v UInt128Value) Encode(e *atree.Encoder) error

Encode encodes UInt128Value as

cbor.Tag{
		Number:  CBORTagUInt128Value,
		Content: *big.Int(v.BigInt),
}

func (UInt128Value) Equal

func (v UInt128Value) Equal(_ *Interpreter, _ func() LocationRange, other Value) bool

func (UInt128Value) GetMember added in v0.3.0

func (v UInt128Value) GetMember(interpreter *Interpreter, _ func() LocationRange, name string) Value

func (UInt128Value) Greater

func (v UInt128Value) Greater(interpreter *Interpreter, other NumberValue) BoolValue

func (UInt128Value) GreaterEqual

func (v UInt128Value) GreaterEqual(interpreter *Interpreter, other NumberValue) BoolValue

func (UInt128Value) HashInput added in v0.20.0

func (v UInt128Value) HashInput(_ *Interpreter, _ func() LocationRange, scratch []byte) []byte

HashInput returns a byte slice containing: - HashInputTypeUInt128 (1 byte) - big int encoded in big endian (n bytes)

func (UInt128Value) IsImportable added in v0.24.0

func (UInt128Value) IsImportable(_ *Interpreter) bool

func (UInt128Value) IsResourceKinded added in v0.20.0

func (UInt128Value) IsResourceKinded(_ *Interpreter) bool

func (UInt128Value) IsStorable added in v0.16.0

func (UInt128Value) IsStorable() bool

func (UInt128Value) IsValue

func (UInt128Value) IsValue()

func (UInt128Value) Less

func (v UInt128Value) Less(interpreter *Interpreter, other NumberValue) BoolValue

func (UInt128Value) LessEqual

func (v UInt128Value) LessEqual(interpreter *Interpreter, other NumberValue) BoolValue

func (UInt128Value) MeteredString added in v0.24.0

func (v UInt128Value) MeteredString(memoryGauge common.MemoryGauge, _ SeenReferences) string

func (UInt128Value) Minus

func (v UInt128Value) Minus(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt128Value) Mod

func (v UInt128Value) Mod(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt128Value) Mul

func (v UInt128Value) Mul(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt128Value) NeedsStoreTo added in v0.20.0

func (UInt128Value) NeedsStoreTo(_ atree.Address) bool

func (UInt128Value) Negate

func (UInt128Value) Plus

func (v UInt128Value) Plus(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt128Value) RecursiveString added in v0.17.0

func (v UInt128Value) RecursiveString(_ SeenReferences) string

func (UInt128Value) RemoveMember added in v0.20.0

func (UInt128Value) RemoveMember(_ *Interpreter, _ func() LocationRange, _ string) Value

func (UInt128Value) SaturatingDiv added in v0.15.0

func (v UInt128Value) SaturatingDiv(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt128Value) SaturatingMinus added in v0.15.0

func (v UInt128Value) SaturatingMinus(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt128Value) SaturatingMul added in v0.15.0

func (v UInt128Value) SaturatingMul(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt128Value) SaturatingPlus added in v0.15.0

func (v UInt128Value) SaturatingPlus(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt128Value) SetMember added in v0.3.0

func (UInt128Value) SetMember(_ *Interpreter, _ func() LocationRange, _ string, _ Value)

func (UInt128Value) StaticType added in v0.12.0

func (UInt128Value) StaticType(interpreter *Interpreter) StaticType

func (UInt128Value) Storable added in v0.20.0

func (UInt128Value) StoredValue added in v0.20.0

func (v UInt128Value) StoredValue(_ atree.SlabStorage) (atree.Value, error)

func (UInt128Value) String

func (v UInt128Value) String() string

func (UInt128Value) ToBigEndianBytes added in v0.5.0

func (v UInt128Value) ToBigEndianBytes() []byte

func (UInt128Value) ToBigInt

func (v UInt128Value) ToBigInt(memoryGauge common.MemoryGauge) *big.Int

func (UInt128Value) ToInt

func (v UInt128Value) ToInt() int

func (UInt128Value) Transfer added in v0.20.0

func (v UInt128Value) Transfer(
	interpreter *Interpreter,
	_ func() LocationRange,
	_ atree.Address,
	remove bool,
	storable atree.Storable,
) Value

func (UInt128Value) Walk added in v0.19.0

func (UInt128Value) Walk(_ *Interpreter, _ func(Value))

type UInt16Value

type UInt16Value uint16

func ConvertUInt16

func ConvertUInt16(memoryGauge common.MemoryGauge, value Value) UInt16Value

func NewUInt16Value added in v0.24.0

func NewUInt16Value(gauge common.MemoryGauge, uint16Constructor func() uint16) UInt16Value

func NewUnmeteredUInt16Value added in v0.24.0

func NewUnmeteredUInt16Value(value uint16) UInt16Value

func (UInt16Value) Accept added in v0.12.0

func (v UInt16Value) Accept(interpreter *Interpreter, visitor Visitor)

func (UInt16Value) BitwiseAnd added in v0.2.0

func (v UInt16Value) BitwiseAnd(interpreter *Interpreter, other IntegerValue) IntegerValue

func (UInt16Value) BitwiseLeftShift added in v0.2.0

func (v UInt16Value) BitwiseLeftShift(interpreter *Interpreter, other IntegerValue) IntegerValue

func (UInt16Value) BitwiseOr added in v0.2.0

func (v UInt16Value) BitwiseOr(interpreter *Interpreter, other IntegerValue) IntegerValue

func (UInt16Value) BitwiseRightShift added in v0.2.0

func (v UInt16Value) BitwiseRightShift(interpreter *Interpreter, other IntegerValue) IntegerValue

func (UInt16Value) BitwiseXor added in v0.2.0

func (v UInt16Value) BitwiseXor(interpreter *Interpreter, other IntegerValue) IntegerValue

func (UInt16Value) ByteSize added in v0.20.0

func (v UInt16Value) ByteSize() uint32

func (UInt16Value) ChildStorables added in v0.20.0

func (UInt16Value) ChildStorables() []atree.Storable

func (UInt16Value) Clone added in v0.24.0

func (v UInt16Value) Clone(_ *Interpreter) Value

func (UInt16Value) ConformsToStaticType added in v0.24.0

func (v UInt16Value) ConformsToStaticType(
	inter *Interpreter,
	_ func() LocationRange,
	staticType StaticType,
	_ TypeConformanceResults,
) bool

func (UInt16Value) DeepRemove added in v0.20.0

func (UInt16Value) DeepRemove(_ *Interpreter)

func (UInt16Value) Div

func (v UInt16Value) Div(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt16Value) Encode added in v0.20.0

func (v UInt16Value) Encode(e *atree.Encoder) error

Encode encodes UInt16Value as

cbor.Tag{
		Number:  CBORTagUInt16Value,
		Content: uint16(v),
}

func (UInt16Value) Equal

func (v UInt16Value) Equal(_ *Interpreter, _ func() LocationRange, other Value) bool

func (UInt16Value) GetMember added in v0.3.0

func (v UInt16Value) GetMember(interpreter *Interpreter, _ func() LocationRange, name string) Value

func (UInt16Value) Greater

func (v UInt16Value) Greater(interpreter *Interpreter, other NumberValue) BoolValue

func (UInt16Value) GreaterEqual

func (v UInt16Value) GreaterEqual(interpreter *Interpreter, other NumberValue) BoolValue

func (UInt16Value) HashInput added in v0.20.0

func (v UInt16Value) HashInput(_ *Interpreter, _ func() LocationRange, scratch []byte) []byte

HashInput returns a byte slice containing: - HashInputTypeUInt16 (1 byte) - uint16 value encoded in big-endian (2 bytes)

func (UInt16Value) IsImportable added in v0.24.0

func (UInt16Value) IsImportable(_ *Interpreter) bool

func (UInt16Value) IsResourceKinded added in v0.20.0

func (UInt16Value) IsResourceKinded(_ *Interpreter) bool

func (UInt16Value) IsStorable added in v0.16.0

func (UInt16Value) IsStorable() bool

func (UInt16Value) IsValue

func (UInt16Value) IsValue()

func (UInt16Value) Less

func (v UInt16Value) Less(interpreter *Interpreter, other NumberValue) BoolValue

func (UInt16Value) LessEqual

func (v UInt16Value) LessEqual(interpreter *Interpreter, other NumberValue) BoolValue

func (UInt16Value) MeteredString added in v0.24.0

func (v UInt16Value) MeteredString(memoryGauge common.MemoryGauge, _ SeenReferences) string

func (UInt16Value) Minus

func (v UInt16Value) Minus(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt16Value) Mod

func (v UInt16Value) Mod(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt16Value) Mul

func (v UInt16Value) Mul(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt16Value) NeedsStoreTo added in v0.20.0

func (UInt16Value) NeedsStoreTo(_ atree.Address) bool

func (UInt16Value) Negate

func (v UInt16Value) Negate(*Interpreter) NumberValue

func (UInt16Value) Plus

func (v UInt16Value) Plus(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt16Value) RecursiveString added in v0.17.0

func (v UInt16Value) RecursiveString(_ SeenReferences) string

func (UInt16Value) RemoveMember added in v0.20.0

func (UInt16Value) RemoveMember(_ *Interpreter, _ func() LocationRange, _ string) Value

func (UInt16Value) SaturatingDiv added in v0.15.0

func (v UInt16Value) SaturatingDiv(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt16Value) SaturatingMinus added in v0.15.0

func (v UInt16Value) SaturatingMinus(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt16Value) SaturatingMul added in v0.15.0

func (v UInt16Value) SaturatingMul(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt16Value) SaturatingPlus added in v0.15.0

func (v UInt16Value) SaturatingPlus(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt16Value) SetMember added in v0.3.0

func (UInt16Value) SetMember(_ *Interpreter, _ func() LocationRange, _ string, _ Value)

func (UInt16Value) StaticType added in v0.12.0

func (UInt16Value) StaticType(interpreter *Interpreter) StaticType

func (UInt16Value) Storable added in v0.20.0

func (UInt16Value) StoredValue added in v0.20.0

func (v UInt16Value) StoredValue(_ atree.SlabStorage) (atree.Value, error)

func (UInt16Value) String

func (v UInt16Value) String() string

func (UInt16Value) ToBigEndianBytes added in v0.5.0

func (v UInt16Value) ToBigEndianBytes() []byte

func (UInt16Value) ToInt

func (v UInt16Value) ToInt() int

func (UInt16Value) Transfer added in v0.20.0

func (v UInt16Value) Transfer(
	interpreter *Interpreter,
	_ func() LocationRange,
	_ atree.Address,
	remove bool,
	storable atree.Storable,
) Value

func (UInt16Value) Walk added in v0.19.0

func (UInt16Value) Walk(_ *Interpreter, _ func(Value))

type UInt256Value

type UInt256Value struct {
	BigInt *big.Int
}

func ConvertUInt256

func ConvertUInt256(memoryGauge common.MemoryGauge, value Value) UInt256Value

func NewUInt256ValueFromBigInt

func NewUInt256ValueFromBigInt(memoryGauge common.MemoryGauge, bigIntConstructor func() *big.Int) UInt256Value

func NewUInt256ValueFromUint64 added in v0.2.0

func NewUInt256ValueFromUint64(interpreter *Interpreter, value uint64) UInt256Value

func NewUnmeteredUInt256ValueFromBigInt added in v0.24.0

func NewUnmeteredUInt256ValueFromBigInt(value *big.Int) UInt256Value

func NewUnmeteredUInt256ValueFromUint64 added in v0.24.0

func NewUnmeteredUInt256ValueFromUint64(value uint64) UInt256Value

func (UInt256Value) Accept added in v0.12.0

func (v UInt256Value) Accept(interpreter *Interpreter, visitor Visitor)

func (UInt256Value) BitwiseAnd added in v0.2.0

func (v UInt256Value) BitwiseAnd(interpreter *Interpreter, other IntegerValue) IntegerValue

func (UInt256Value) BitwiseLeftShift added in v0.2.0

func (v UInt256Value) BitwiseLeftShift(interpreter *Interpreter, other IntegerValue) IntegerValue

func (UInt256Value) BitwiseOr added in v0.2.0

func (v UInt256Value) BitwiseOr(interpreter *Interpreter, other IntegerValue) IntegerValue

func (UInt256Value) BitwiseRightShift added in v0.2.0

func (v UInt256Value) BitwiseRightShift(interpreter *Interpreter, other IntegerValue) IntegerValue

func (UInt256Value) BitwiseXor added in v0.2.0

func (v UInt256Value) BitwiseXor(interpreter *Interpreter, other IntegerValue) IntegerValue

func (UInt256Value) ByteLength added in v0.24.0

func (v UInt256Value) ByteLength() int

func (UInt256Value) ByteSize added in v0.20.0

func (v UInt256Value) ByteSize() uint32

func (UInt256Value) ChildStorables added in v0.20.0

func (UInt256Value) ChildStorables() []atree.Storable

func (UInt256Value) Clone added in v0.24.0

func (v UInt256Value) Clone(_ *Interpreter) Value

func (UInt256Value) ConformsToStaticType added in v0.24.0

func (v UInt256Value) ConformsToStaticType(
	inter *Interpreter,
	_ func() LocationRange,
	staticType StaticType,
	_ TypeConformanceResults,
) bool

func (UInt256Value) DeepRemove added in v0.20.0

func (UInt256Value) DeepRemove(_ *Interpreter)

func (UInt256Value) Div

func (v UInt256Value) Div(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt256Value) Encode added in v0.20.0

func (v UInt256Value) Encode(e *atree.Encoder) error

Encode encodes UInt256Value as

cbor.Tag{
		Number:  CBORTagUInt256Value,
		Content: *big.Int(v.BigInt),
}

func (UInt256Value) Equal

func (v UInt256Value) Equal(_ *Interpreter, _ func() LocationRange, other Value) bool

func (UInt256Value) GetMember added in v0.3.0

func (v UInt256Value) GetMember(interpreter *Interpreter, _ func() LocationRange, name string) Value

func (UInt256Value) Greater

func (v UInt256Value) Greater(interpreter *Interpreter, other NumberValue) BoolValue

func (UInt256Value) GreaterEqual

func (v UInt256Value) GreaterEqual(interpreter *Interpreter, other NumberValue) BoolValue

func (UInt256Value) HashInput added in v0.20.0

func (v UInt256Value) HashInput(_ *Interpreter, _ func() LocationRange, scratch []byte) []byte

HashInput returns a byte slice containing: - HashInputTypeUInt256 (1 byte) - big int encoded in big endian (n bytes)

func (UInt256Value) IsImportable added in v0.24.0

func (UInt256Value) IsImportable(_ *Interpreter) bool

func (UInt256Value) IsResourceKinded added in v0.20.0

func (UInt256Value) IsResourceKinded(_ *Interpreter) bool

func (UInt256Value) IsStorable added in v0.16.0

func (UInt256Value) IsStorable() bool

func (UInt256Value) IsValue

func (UInt256Value) IsValue()

func (UInt256Value) Less

func (v UInt256Value) Less(interpreter *Interpreter, other NumberValue) BoolValue

func (UInt256Value) LessEqual

func (v UInt256Value) LessEqual(interpreter *Interpreter, other NumberValue) BoolValue

func (UInt256Value) MeteredString added in v0.24.0

func (v UInt256Value) MeteredString(memoryGauge common.MemoryGauge, _ SeenReferences) string

func (UInt256Value) Minus

func (v UInt256Value) Minus(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt256Value) Mod

func (v UInt256Value) Mod(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt256Value) Mul

func (v UInt256Value) Mul(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt256Value) NeedsStoreTo added in v0.20.0

func (UInt256Value) NeedsStoreTo(_ atree.Address) bool

func (UInt256Value) Negate

func (UInt256Value) Plus

func (v UInt256Value) Plus(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt256Value) RecursiveString added in v0.17.0

func (v UInt256Value) RecursiveString(_ SeenReferences) string

func (UInt256Value) RemoveMember added in v0.20.0

func (UInt256Value) RemoveMember(_ *Interpreter, _ func() LocationRange, _ string) Value

func (UInt256Value) SaturatingDiv added in v0.15.0

func (v UInt256Value) SaturatingDiv(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt256Value) SaturatingMinus added in v0.15.0

func (v UInt256Value) SaturatingMinus(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt256Value) SaturatingMul added in v0.15.0

func (v UInt256Value) SaturatingMul(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt256Value) SaturatingPlus added in v0.15.0

func (v UInt256Value) SaturatingPlus(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt256Value) SetMember added in v0.3.0

func (UInt256Value) SetMember(_ *Interpreter, _ func() LocationRange, _ string, _ Value)

func (UInt256Value) StaticType added in v0.12.0

func (UInt256Value) StaticType(interpreter *Interpreter) StaticType

func (UInt256Value) Storable added in v0.20.0

func (UInt256Value) StoredValue added in v0.20.0

func (v UInt256Value) StoredValue(_ atree.SlabStorage) (atree.Value, error)

func (UInt256Value) String

func (v UInt256Value) String() string

func (UInt256Value) ToBigEndianBytes added in v0.5.0

func (v UInt256Value) ToBigEndianBytes() []byte

func (UInt256Value) ToBigInt

func (v UInt256Value) ToBigInt(memoryGauge common.MemoryGauge) *big.Int

func (UInt256Value) ToInt

func (v UInt256Value) ToInt() int

func (UInt256Value) Transfer added in v0.20.0

func (v UInt256Value) Transfer(
	interpreter *Interpreter,
	_ func() LocationRange,
	_ atree.Address,
	remove bool,
	storable atree.Storable,
) Value

func (UInt256Value) Walk added in v0.19.0

func (UInt256Value) Walk(_ *Interpreter, _ func(Value))

type UInt32Value

type UInt32Value uint32

func ConvertUInt32

func ConvertUInt32(memoryGauge common.MemoryGauge, value Value) UInt32Value

func NewUInt32Value added in v0.24.0

func NewUInt32Value(gauge common.MemoryGauge, uint32Constructor func() uint32) UInt32Value

func NewUnmeteredUInt32Value added in v0.24.0

func NewUnmeteredUInt32Value(value uint32) UInt32Value

func (UInt32Value) Accept added in v0.12.0

func (v UInt32Value) Accept(interpreter *Interpreter, visitor Visitor)

func (UInt32Value) BitwiseAnd added in v0.2.0

func (v UInt32Value) BitwiseAnd(interpreter *Interpreter, other IntegerValue) IntegerValue

func (UInt32Value) BitwiseLeftShift added in v0.2.0

func (v UInt32Value) BitwiseLeftShift(interpreter *Interpreter, other IntegerValue) IntegerValue

func (UInt32Value) BitwiseOr added in v0.2.0

func (v UInt32Value) BitwiseOr(interpreter *Interpreter, other IntegerValue) IntegerValue

func (UInt32Value) BitwiseRightShift added in v0.2.0

func (v UInt32Value) BitwiseRightShift(interpreter *Interpreter, other IntegerValue) IntegerValue

func (UInt32Value) BitwiseXor added in v0.2.0

func (v UInt32Value) BitwiseXor(interpreter *Interpreter, other IntegerValue) IntegerValue

func (UInt32Value) ByteSize added in v0.20.0

func (v UInt32Value) ByteSize() uint32

func (UInt32Value) ChildStorables added in v0.20.0

func (UInt32Value) ChildStorables() []atree.Storable

func (UInt32Value) Clone added in v0.24.0

func (v UInt32Value) Clone(_ *Interpreter) Value

func (UInt32Value) ConformsToStaticType added in v0.24.0

func (v UInt32Value) ConformsToStaticType(
	inter *Interpreter,
	_ func() LocationRange,
	staticType StaticType,
	_ TypeConformanceResults,
) bool

func (UInt32Value) DeepRemove added in v0.20.0

func (UInt32Value) DeepRemove(_ *Interpreter)

func (UInt32Value) Div

func (v UInt32Value) Div(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt32Value) Encode added in v0.20.0

func (v UInt32Value) Encode(e *atree.Encoder) error

Encode encodes UInt32Value as

cbor.Tag{
		Number:  CBORTagUInt32Value,
		Content: uint32(v),
}

func (UInt32Value) Equal

func (v UInt32Value) Equal(_ *Interpreter, _ func() LocationRange, other Value) bool

func (UInt32Value) GetMember added in v0.3.0

func (v UInt32Value) GetMember(interpreter *Interpreter, _ func() LocationRange, name string) Value

func (UInt32Value) Greater

func (v UInt32Value) Greater(interpreter *Interpreter, other NumberValue) BoolValue

func (UInt32Value) GreaterEqual

func (v UInt32Value) GreaterEqual(interpreter *Interpreter, other NumberValue) BoolValue

func (UInt32Value) HashInput added in v0.20.0

func (v UInt32Value) HashInput(_ *Interpreter, _ func() LocationRange, scratch []byte) []byte

HashInput returns a byte slice containing: - HashInputTypeUInt32 (1 byte) - uint32 value encoded in big-endian (4 bytes)

func (UInt32Value) IsImportable added in v0.24.0

func (UInt32Value) IsImportable(_ *Interpreter) bool

func (UInt32Value) IsResourceKinded added in v0.20.0

func (UInt32Value) IsResourceKinded(_ *Interpreter) bool

func (UInt32Value) IsStorable added in v0.16.0

func (UInt32Value) IsStorable() bool

func (UInt32Value) IsValue

func (UInt32Value) IsValue()

func (UInt32Value) Less

func (v UInt32Value) Less(interpreter *Interpreter, other NumberValue) BoolValue

func (UInt32Value) LessEqual

func (v UInt32Value) LessEqual(interpreter *Interpreter, other NumberValue) BoolValue

func (UInt32Value) MeteredString added in v0.24.0

func (v UInt32Value) MeteredString(memoryGauge common.MemoryGauge, _ SeenReferences) string

func (UInt32Value) Minus

func (v UInt32Value) Minus(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt32Value) Mod

func (v UInt32Value) Mod(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt32Value) Mul

func (v UInt32Value) Mul(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt32Value) NeedsStoreTo added in v0.20.0

func (UInt32Value) NeedsStoreTo(_ atree.Address) bool

func (UInt32Value) Negate

func (v UInt32Value) Negate(*Interpreter) NumberValue

func (UInt32Value) Plus

func (v UInt32Value) Plus(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt32Value) RecursiveString added in v0.17.0

func (v UInt32Value) RecursiveString(_ SeenReferences) string

func (UInt32Value) RemoveMember added in v0.20.0

func (UInt32Value) RemoveMember(_ *Interpreter, _ func() LocationRange, _ string) Value

func (UInt32Value) SaturatingDiv added in v0.15.0

func (v UInt32Value) SaturatingDiv(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt32Value) SaturatingMinus added in v0.15.0

func (v UInt32Value) SaturatingMinus(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt32Value) SaturatingMul added in v0.15.0

func (v UInt32Value) SaturatingMul(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt32Value) SaturatingPlus added in v0.15.0

func (v UInt32Value) SaturatingPlus(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt32Value) SetMember added in v0.3.0

func (UInt32Value) SetMember(_ *Interpreter, _ func() LocationRange, _ string, _ Value)

func (UInt32Value) StaticType added in v0.12.0

func (UInt32Value) StaticType(interpreter *Interpreter) StaticType

func (UInt32Value) Storable added in v0.20.0

func (UInt32Value) StoredValue added in v0.20.0

func (v UInt32Value) StoredValue(_ atree.SlabStorage) (atree.Value, error)

func (UInt32Value) String

func (v UInt32Value) String() string

func (UInt32Value) ToBigEndianBytes added in v0.5.0

func (v UInt32Value) ToBigEndianBytes() []byte

func (UInt32Value) ToInt

func (v UInt32Value) ToInt() int

func (UInt32Value) Transfer added in v0.20.0

func (v UInt32Value) Transfer(
	interpreter *Interpreter,
	_ func() LocationRange,
	_ atree.Address,
	remove bool,
	storable atree.Storable,
) Value

func (UInt32Value) Walk added in v0.19.0

func (UInt32Value) Walk(_ *Interpreter, _ func(Value))

type UInt64Value

type UInt64Value uint64

func ConvertUInt64

func ConvertUInt64(memoryGauge common.MemoryGauge, value Value) UInt64Value

func NewUInt64Value added in v0.24.0

func NewUInt64Value(gauge common.MemoryGauge, uint64Constructor func() uint64) UInt64Value

func NewUnmeteredUInt64Value added in v0.24.0

func NewUnmeteredUInt64Value(value uint64) UInt64Value

func (UInt64Value) Accept added in v0.12.0

func (v UInt64Value) Accept(interpreter *Interpreter, visitor Visitor)

func (UInt64Value) BitwiseAnd added in v0.2.0

func (v UInt64Value) BitwiseAnd(interpreter *Interpreter, other IntegerValue) IntegerValue

func (UInt64Value) BitwiseLeftShift added in v0.2.0

func (v UInt64Value) BitwiseLeftShift(interpreter *Interpreter, other IntegerValue) IntegerValue

func (UInt64Value) BitwiseOr added in v0.2.0

func (v UInt64Value) BitwiseOr(interpreter *Interpreter, other IntegerValue) IntegerValue

func (UInt64Value) BitwiseRightShift added in v0.2.0

func (v UInt64Value) BitwiseRightShift(interpreter *Interpreter, other IntegerValue) IntegerValue

func (UInt64Value) BitwiseXor added in v0.2.0

func (v UInt64Value) BitwiseXor(interpreter *Interpreter, other IntegerValue) IntegerValue

func (UInt64Value) ByteLength added in v0.24.0

func (v UInt64Value) ByteLength() int

func (UInt64Value) ByteSize added in v0.20.0

func (v UInt64Value) ByteSize() uint32

func (UInt64Value) ChildStorables added in v0.20.0

func (UInt64Value) ChildStorables() []atree.Storable

func (UInt64Value) Clone added in v0.24.0

func (v UInt64Value) Clone(_ *Interpreter) Value

func (UInt64Value) ConformsToStaticType added in v0.24.0

func (v UInt64Value) ConformsToStaticType(
	inter *Interpreter,
	_ func() LocationRange,
	staticType StaticType,
	_ TypeConformanceResults,
) bool

func (UInt64Value) DeepRemove added in v0.20.0

func (UInt64Value) DeepRemove(_ *Interpreter)

func (UInt64Value) Div

func (v UInt64Value) Div(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt64Value) Encode added in v0.20.0

func (v UInt64Value) Encode(e *atree.Encoder) error

Encode encodes UInt64Value as

cbor.Tag{
		Number:  CBORTagUInt64Value,
		Content: uint64(v),
}

func (UInt64Value) Equal

func (v UInt64Value) Equal(_ *Interpreter, _ func() LocationRange, other Value) bool

func (UInt64Value) GetMember added in v0.3.0

func (v UInt64Value) GetMember(interpreter *Interpreter, _ func() LocationRange, name string) Value

func (UInt64Value) Greater

func (v UInt64Value) Greater(interpreter *Interpreter, other NumberValue) BoolValue

func (UInt64Value) GreaterEqual

func (v UInt64Value) GreaterEqual(interpreter *Interpreter, other NumberValue) BoolValue

func (UInt64Value) HashInput added in v0.20.0

func (v UInt64Value) HashInput(_ *Interpreter, _ func() LocationRange, scratch []byte) []byte

HashInput returns a byte slice containing: - HashInputTypeUInt64 (1 byte) - uint64 value encoded in big-endian (8 bytes)

func (UInt64Value) IsImportable added in v0.24.0

func (UInt64Value) IsImportable(_ *Interpreter) bool

func (UInt64Value) IsResourceKinded added in v0.20.0

func (UInt64Value) IsResourceKinded(_ *Interpreter) bool

func (UInt64Value) IsStorable added in v0.16.0

func (UInt64Value) IsStorable() bool

func (UInt64Value) IsValue

func (UInt64Value) IsValue()

func (UInt64Value) Less

func (v UInt64Value) Less(interpreter *Interpreter, other NumberValue) BoolValue

func (UInt64Value) LessEqual

func (v UInt64Value) LessEqual(interpreter *Interpreter, other NumberValue) BoolValue

func (UInt64Value) MeteredString added in v0.24.0

func (v UInt64Value) MeteredString(memoryGauge common.MemoryGauge, _ SeenReferences) string

func (UInt64Value) Minus

func (v UInt64Value) Minus(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt64Value) Mod

func (v UInt64Value) Mod(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt64Value) Mul

func (v UInt64Value) Mul(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt64Value) NeedsStoreTo added in v0.20.0

func (UInt64Value) NeedsStoreTo(_ atree.Address) bool

func (UInt64Value) Negate

func (v UInt64Value) Negate(*Interpreter) NumberValue

func (UInt64Value) Plus

func (v UInt64Value) Plus(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt64Value) RecursiveString added in v0.17.0

func (v UInt64Value) RecursiveString(_ SeenReferences) string

func (UInt64Value) RemoveMember added in v0.20.0

func (UInt64Value) RemoveMember(_ *Interpreter, _ func() LocationRange, _ string) Value

func (UInt64Value) SaturatingDiv added in v0.15.0

func (v UInt64Value) SaturatingDiv(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt64Value) SaturatingMinus added in v0.15.0

func (v UInt64Value) SaturatingMinus(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt64Value) SaturatingMul added in v0.15.0

func (v UInt64Value) SaturatingMul(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt64Value) SaturatingPlus added in v0.15.0

func (v UInt64Value) SaturatingPlus(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt64Value) SetMember added in v0.3.0

func (UInt64Value) SetMember(_ *Interpreter, _ func() LocationRange, _ string, _ Value)

func (UInt64Value) StaticType added in v0.12.0

func (UInt64Value) StaticType(interpreter *Interpreter) StaticType

func (UInt64Value) Storable added in v0.20.0

func (UInt64Value) StoredValue added in v0.20.0

func (v UInt64Value) StoredValue(_ atree.SlabStorage) (atree.Value, error)

func (UInt64Value) String

func (v UInt64Value) String() string

func (UInt64Value) ToBigEndianBytes added in v0.5.0

func (v UInt64Value) ToBigEndianBytes() []byte

func (UInt64Value) ToBigInt added in v0.21.0

func (v UInt64Value) ToBigInt(memoryGauge common.MemoryGauge) *big.Int

ToBigInt

NOTE: important, do *NOT* remove: UInt64 values > math.MaxInt64 overflow int. Implementing BigNumberValue ensures conversion functions call ToBigInt instead of ToInt.

func (UInt64Value) ToInt

func (v UInt64Value) ToInt() int

func (UInt64Value) Transfer added in v0.20.0

func (v UInt64Value) Transfer(
	interpreter *Interpreter,
	_ func() LocationRange,
	_ atree.Address,
	remove bool,
	storable atree.Storable,
) Value

func (UInt64Value) Walk added in v0.19.0

func (UInt64Value) Walk(_ *Interpreter, _ func(Value))

type UInt8Value

type UInt8Value uint8

func ConvertUInt8

func ConvertUInt8(memoryGauge common.MemoryGauge, value Value) UInt8Value

func NewUInt8Value added in v0.24.0

func NewUInt8Value(gauge common.MemoryGauge, uint8Constructor func() uint8) UInt8Value

func NewUnmeteredUInt8Value added in v0.24.0

func NewUnmeteredUInt8Value(value uint8) UInt8Value

func (UInt8Value) Accept added in v0.12.0

func (v UInt8Value) Accept(interpreter *Interpreter, visitor Visitor)

func (UInt8Value) BitwiseAnd added in v0.2.0

func (v UInt8Value) BitwiseAnd(interpreter *Interpreter, other IntegerValue) IntegerValue

func (UInt8Value) BitwiseLeftShift added in v0.2.0

func (v UInt8Value) BitwiseLeftShift(interpreter *Interpreter, other IntegerValue) IntegerValue

func (UInt8Value) BitwiseOr added in v0.2.0

func (v UInt8Value) BitwiseOr(interpreter *Interpreter, other IntegerValue) IntegerValue

func (UInt8Value) BitwiseRightShift added in v0.2.0

func (v UInt8Value) BitwiseRightShift(interpreter *Interpreter, other IntegerValue) IntegerValue

func (UInt8Value) BitwiseXor added in v0.2.0

func (v UInt8Value) BitwiseXor(interpreter *Interpreter, other IntegerValue) IntegerValue

func (UInt8Value) ByteSize added in v0.20.0

func (v UInt8Value) ByteSize() uint32

func (UInt8Value) ChildStorables added in v0.20.0

func (UInt8Value) ChildStorables() []atree.Storable

func (UInt8Value) Clone added in v0.24.0

func (v UInt8Value) Clone(_ *Interpreter) Value

func (UInt8Value) ConformsToStaticType added in v0.24.0

func (v UInt8Value) ConformsToStaticType(
	inter *Interpreter,
	_ func() LocationRange,
	staticType StaticType,
	_ TypeConformanceResults,
) bool

func (UInt8Value) DeepRemove added in v0.20.0

func (UInt8Value) DeepRemove(_ *Interpreter)

func (UInt8Value) Div

func (v UInt8Value) Div(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt8Value) Encode added in v0.20.0

func (v UInt8Value) Encode(e *atree.Encoder) error

Encode encodes UInt8Value as

cbor.Tag{
		Number:  CBORTagUInt8Value,
		Content: uint8(v),
}

func (UInt8Value) Equal

func (v UInt8Value) Equal(_ *Interpreter, _ func() LocationRange, other Value) bool

func (UInt8Value) GetMember added in v0.3.0

func (v UInt8Value) GetMember(interpreter *Interpreter, _ func() LocationRange, name string) Value

func (UInt8Value) Greater

func (v UInt8Value) Greater(interpreter *Interpreter, other NumberValue) BoolValue

func (UInt8Value) GreaterEqual

func (v UInt8Value) GreaterEqual(interpreter *Interpreter, other NumberValue) BoolValue

func (UInt8Value) HashInput added in v0.20.0

func (v UInt8Value) HashInput(_ *Interpreter, _ func() LocationRange, scratch []byte) []byte

HashInput returns a byte slice containing: - HashInputTypeUInt8 (1 byte) - uint8 value (1 byte)

func (UInt8Value) IsImportable added in v0.24.0

func (UInt8Value) IsImportable(_ *Interpreter) bool

func (UInt8Value) IsResourceKinded added in v0.20.0

func (UInt8Value) IsResourceKinded(_ *Interpreter) bool

func (UInt8Value) IsValue

func (UInt8Value) IsValue()

func (UInt8Value) Less

func (v UInt8Value) Less(interpreter *Interpreter, other NumberValue) BoolValue

func (UInt8Value) LessEqual

func (v UInt8Value) LessEqual(interpreter *Interpreter, other NumberValue) BoolValue

func (UInt8Value) MeteredString added in v0.24.0

func (v UInt8Value) MeteredString(memoryGauge common.MemoryGauge, _ SeenReferences) string

func (UInt8Value) Minus

func (v UInt8Value) Minus(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt8Value) Mod

func (v UInt8Value) Mod(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt8Value) Mul

func (v UInt8Value) Mul(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt8Value) NeedsStoreTo added in v0.20.0

func (UInt8Value) NeedsStoreTo(_ atree.Address) bool

func (UInt8Value) Negate

func (v UInt8Value) Negate(*Interpreter) NumberValue

func (UInt8Value) Plus

func (v UInt8Value) Plus(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt8Value) RecursiveString added in v0.17.0

func (v UInt8Value) RecursiveString(_ SeenReferences) string

func (UInt8Value) RemoveMember added in v0.20.0

func (UInt8Value) RemoveMember(_ *Interpreter, _ func() LocationRange, _ string) Value

func (UInt8Value) SaturatingDiv added in v0.15.0

func (v UInt8Value) SaturatingDiv(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt8Value) SaturatingMinus added in v0.15.0

func (v UInt8Value) SaturatingMinus(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt8Value) SaturatingMul added in v0.15.0

func (v UInt8Value) SaturatingMul(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt8Value) SaturatingPlus added in v0.15.0

func (v UInt8Value) SaturatingPlus(interpreter *Interpreter, other NumberValue) NumberValue

func (UInt8Value) SetMember added in v0.3.0

func (UInt8Value) SetMember(_ *Interpreter, _ func() LocationRange, _ string, _ Value)

func (UInt8Value) StaticType added in v0.12.0

func (UInt8Value) StaticType(interpreter *Interpreter) StaticType

func (UInt8Value) Storable added in v0.20.0

func (UInt8Value) StoredValue added in v0.20.0

func (v UInt8Value) StoredValue(_ atree.SlabStorage) (atree.Value, error)

func (UInt8Value) String

func (v UInt8Value) String() string

func (UInt8Value) ToBigEndianBytes added in v0.5.0

func (v UInt8Value) ToBigEndianBytes() []byte

func (UInt8Value) ToInt

func (v UInt8Value) ToInt() int

func (UInt8Value) Transfer added in v0.20.0

func (v UInt8Value) Transfer(
	interpreter *Interpreter,
	_ func() LocationRange,
	_ atree.Address,
	remove bool,
	storable atree.Storable,
) Value

func (UInt8Value) Walk added in v0.19.0

func (UInt8Value) Walk(_ *Interpreter, _ func(Value))

type UIntValue

type UIntValue struct {
	BigInt *big.Int
}

func ConvertUInt

func ConvertUInt(memoryGauge common.MemoryGauge, value Value) UIntValue

func NewUIntValueFromBigInt

func NewUIntValueFromBigInt(
	memoryGauge common.MemoryGauge,
	memoryUsage common.MemoryUsage,
	bigIntConstructor func() *big.Int,
) UIntValue

func NewUIntValueFromUint64

func NewUIntValueFromUint64(memoryGauge common.MemoryGauge, value uint64) UIntValue

func NewUnmeteredUIntValueFromBigInt added in v0.24.0

func NewUnmeteredUIntValueFromBigInt(value *big.Int) UIntValue

func NewUnmeteredUIntValueFromUint64 added in v0.24.0

func NewUnmeteredUIntValueFromUint64(value uint64) UIntValue

func (UIntValue) Accept added in v0.12.0

func (v UIntValue) Accept(interpreter *Interpreter, visitor Visitor)

func (UIntValue) BitwiseAnd added in v0.2.0

func (v UIntValue) BitwiseAnd(interpreter *Interpreter, other IntegerValue) IntegerValue

func (UIntValue) BitwiseLeftShift added in v0.2.0

func (v UIntValue) BitwiseLeftShift(interpreter *Interpreter, other IntegerValue) IntegerValue

func (UIntValue) BitwiseOr added in v0.2.0

func (v UIntValue) BitwiseOr(interpreter *Interpreter, other IntegerValue) IntegerValue

func (UIntValue) BitwiseRightShift added in v0.2.0

func (v UIntValue) BitwiseRightShift(interpreter *Interpreter, other IntegerValue) IntegerValue

func (UIntValue) BitwiseXor added in v0.2.0

func (v UIntValue) BitwiseXor(interpreter *Interpreter, other IntegerValue) IntegerValue

func (UIntValue) ByteLength added in v0.24.0

func (v UIntValue) ByteLength() int

func (UIntValue) ByteSize added in v0.20.0

func (v UIntValue) ByteSize() uint32

func (UIntValue) ChildStorables added in v0.20.0

func (UIntValue) ChildStorables() []atree.Storable

func (UIntValue) Clone added in v0.24.0

func (v UIntValue) Clone(_ *Interpreter) Value

func (UIntValue) ConformsToStaticType added in v0.24.0

func (v UIntValue) ConformsToStaticType(
	inter *Interpreter,
	_ func() LocationRange,
	staticType StaticType,
	_ TypeConformanceResults,
) bool

func (UIntValue) DeepRemove added in v0.20.0

func (UIntValue) DeepRemove(_ *Interpreter)

func (UIntValue) Div

func (v UIntValue) Div(interpreter *Interpreter, other NumberValue) NumberValue

func (UIntValue) Encode added in v0.20.0

func (v UIntValue) Encode(e *atree.Encoder) error

Encode encodes UIntValue as

cbor.Tag{
		Number:  CBORTagUIntValue,
		Content: *big.Int(v.BigInt),
}

func (UIntValue) Equal

func (v UIntValue) Equal(_ *Interpreter, _ func() LocationRange, other Value) bool

func (UIntValue) GetMember added in v0.3.0

func (v UIntValue) GetMember(interpreter *Interpreter, _ func() LocationRange, name string) Value

func (UIntValue) Greater

func (v UIntValue) Greater(interpreter *Interpreter, other NumberValue) BoolValue

func (UIntValue) GreaterEqual

func (v UIntValue) GreaterEqual(interpreter *Interpreter, other NumberValue) BoolValue

func (UIntValue) HashInput added in v0.20.0

func (v UIntValue) HashInput(_ *Interpreter, _ func() LocationRange, scratch []byte) []byte

HashInput returns a byte slice containing: - HashInputTypeUInt (1 byte) - big int value encoded in big-endian (n bytes)

func (UIntValue) IsImportable added in v0.24.0

func (v UIntValue) IsImportable(_ *Interpreter) bool

func (UIntValue) IsResourceKinded added in v0.20.0

func (UIntValue) IsResourceKinded(_ *Interpreter) bool

func (UIntValue) IsValue

func (UIntValue) IsValue()

func (UIntValue) Less

func (v UIntValue) Less(interpreter *Interpreter, other NumberValue) BoolValue

func (UIntValue) LessEqual

func (v UIntValue) LessEqual(interpreter *Interpreter, other NumberValue) BoolValue

func (UIntValue) MeteredString added in v0.24.0

func (v UIntValue) MeteredString(memoryGauge common.MemoryGauge, _ SeenReferences) string

func (UIntValue) Minus

func (v UIntValue) Minus(interpreter *Interpreter, other NumberValue) NumberValue

func (UIntValue) Mod

func (v UIntValue) Mod(interpreter *Interpreter, other NumberValue) NumberValue

func (UIntValue) Mul

func (v UIntValue) Mul(interpreter *Interpreter, other NumberValue) NumberValue

func (UIntValue) NeedsStoreTo added in v0.20.0

func (UIntValue) NeedsStoreTo(_ atree.Address) bool

func (UIntValue) Negate

func (v UIntValue) Negate(*Interpreter) NumberValue

func (UIntValue) Plus

func (v UIntValue) Plus(interpreter *Interpreter, other NumberValue) NumberValue

func (UIntValue) RecursiveString added in v0.17.0

func (v UIntValue) RecursiveString(_ SeenReferences) string

func (UIntValue) RemoveMember added in v0.20.0

func (UIntValue) RemoveMember(_ *Interpreter, _ func() LocationRange, _ string) Value

func (UIntValue) SaturatingDiv added in v0.15.0

func (v UIntValue) SaturatingDiv(interpreter *Interpreter, other NumberValue) NumberValue

func (UIntValue) SaturatingMinus added in v0.15.0

func (v UIntValue) SaturatingMinus(interpreter *Interpreter, other NumberValue) NumberValue

func (UIntValue) SaturatingMul added in v0.15.0

func (v UIntValue) SaturatingMul(interpreter *Interpreter, other NumberValue) NumberValue

func (UIntValue) SaturatingPlus added in v0.15.0

func (v UIntValue) SaturatingPlus(interpreter *Interpreter, other NumberValue) NumberValue

func (UIntValue) SetMember added in v0.3.0

func (UIntValue) SetMember(_ *Interpreter, _ func() LocationRange, _ string, _ Value)

func (UIntValue) StaticType added in v0.12.0

func (UIntValue) StaticType(interpreter *Interpreter) StaticType

func (UIntValue) Storable added in v0.20.0

func (v UIntValue) Storable(storage atree.SlabStorage, address atree.Address, maxInlineSize uint64) (atree.Storable, error)

func (UIntValue) StoredValue added in v0.20.0

func (v UIntValue) StoredValue(_ atree.SlabStorage) (atree.Value, error)

func (UIntValue) String

func (v UIntValue) String() string

func (UIntValue) ToBigEndianBytes added in v0.5.0

func (v UIntValue) ToBigEndianBytes() []byte

func (UIntValue) ToBigInt

func (v UIntValue) ToBigInt(memoryGauge common.MemoryGauge) *big.Int

func (UIntValue) ToInt

func (v UIntValue) ToInt() int

func (UIntValue) Transfer added in v0.20.0

func (v UIntValue) Transfer(
	interpreter *Interpreter,
	_ func() LocationRange,
	_ atree.Address,
	remove bool,
	storable atree.Storable,
) Value

func (UIntValue) Walk added in v0.19.0

func (UIntValue) Walk(_ *Interpreter, _ func(Value))

type UUIDHandlerFunc

type UUIDHandlerFunc func() (uint64, error)

UUIDHandlerFunc is a function that handles the generation of UUIDs.

type UUIDUnavailableError added in v0.10.4

type UUIDUnavailableError struct {
	LocationRange
}

UUIDUnavailableError

func (UUIDUnavailableError) Error added in v0.10.4

func (e UUIDUnavailableError) Error() string

type UnderflowError

type UnderflowError struct{}

func (UnderflowError) Error

func (e UnderflowError) Error() string

type UnsupportedTagDecodingError added in v0.19.0

type UnsupportedTagDecodingError struct {
	Tag uint64
}

func (UnsupportedTagDecodingError) Error added in v0.19.0

type Value

type Value interface {
	atree.Value
	// Stringer provides `func String() string`
	// NOTE: important, error messages rely on values to implement String
	fmt.Stringer
	IsValue()
	Accept(interpreter *Interpreter, visitor Visitor)
	Walk(interpreter *Interpreter, walkChild func(Value))
	StaticType(interpreter *Interpreter) StaticType
	ConformsToStaticType(
		interpreter *Interpreter,
		getLocationRange func() LocationRange,
		staticType StaticType,
		results TypeConformanceResults,
	) bool
	RecursiveString(seenReferences SeenReferences) string
	MeteredString(memoryGauge common.MemoryGauge, seenReferences SeenReferences) string
	IsResourceKinded(interpreter *Interpreter) bool
	NeedsStoreTo(address atree.Address) bool
	Transfer(
		interpreter *Interpreter,
		getLocationRange func() LocationRange,
		address atree.Address,
		remove bool,
		storable atree.Storable,
	) Value
	DeepRemove(interpreter *Interpreter)
	// Clone returns a new value that is equal to this value.
	// NOTE: not used by interpreter, but used externally (e.g. state migration)
	// NOTE: memory metering is unnecessary for Clone methods
	Clone(interpreter *Interpreter) Value
	IsImportable(interpreter *Interpreter) bool
}

func ConvertPrivatePath added in v0.23.0

func ConvertPrivatePath(interpreter *Interpreter, value Value) Value

func ConvertPublicPath added in v0.23.0

func ConvertPublicPath(interpreter *Interpreter, value Value) Value

func ConvertStoragePath added in v0.23.0

func ConvertStoragePath(interpreter *Interpreter, value Value) Value

func ConvertStoredValue added in v0.20.0

func ConvertStoredValue(gauge common.MemoryGauge, value atree.Value) (Value, error)

func ConvertUInt128

func ConvertUInt128(memoryGauge common.MemoryGauge, value Value) Value

func MustConvertStoredValue added in v0.20.0

func MustConvertStoredValue(gauge common.MemoryGauge, value atree.Value) Value

func MustConvertUnmeteredStoredValue added in v0.24.0

func MustConvertUnmeteredStoredValue(value atree.Value) Value

func NewAuthAccountContractsValue added in v0.15.0

func NewAuthAccountContractsValue(
	inter *Interpreter,
	address AddressValue,
	addFunction FunctionValue,
	updateFunction FunctionValue,
	getFunction FunctionValue,
	removeFunction FunctionValue,
	namesGetter func(interpreter *Interpreter) *ArrayValue,
) Value

func NewAuthAccountKeysValue added in v0.14.0

func NewAuthAccountKeysValue(
	inter *Interpreter,
	address AddressValue,
	addFunction FunctionValue,
	getFunction FunctionValue,
	revokeFunction FunctionValue,
) Value

NewAuthAccountKeysValue constructs a AuthAccount.Keys value.

func NewAuthAccountValue

func NewAuthAccountValue(
	inter *Interpreter,
	address AddressValue,
	accountBalanceGet func() UFix64Value,
	accountAvailableBalanceGet func() UFix64Value,
	storageUsedGet func(interpreter *Interpreter) UInt64Value,
	storageCapacityGet func(interpreter *Interpreter) UInt64Value,
	addPublicKeyFunction FunctionValue,
	removePublicKeyFunction FunctionValue,
	contractsConstructor func() Value,
	keysConstructor func() Value,
) Value

NewAuthAccountValue constructs an auth account value.

func NewPublicAccountContractsValue added in v0.19.0

func NewPublicAccountContractsValue(
	inter *Interpreter,
	address AddressValue,
	getFunction FunctionValue,
	namesGetter func(interpreter *Interpreter) *ArrayValue,
) Value

func NewPublicAccountKeysValue added in v0.14.0

func NewPublicAccountKeysValue(
	inter *Interpreter,
	address AddressValue,
	getFunction FunctionValue,
) Value

NewPublicAccountKeysValue constructs a PublicAccount.Keys value.

func NewPublicAccountValue

func NewPublicAccountValue(
	inter *Interpreter,
	address AddressValue,
	accountBalanceGet func() UFix64Value,
	accountAvailableBalanceGet func() UFix64Value,
	storageUsedGet func(interpreter *Interpreter) UInt64Value,
	storageCapacityGet func(interpreter *Interpreter) UInt64Value,
	keysConstructor func() Value,
	contractsConstructor func() Value,
) Value

NewPublicAccountValue constructs a public account value.

func RestrictedTypeFunction added in v0.24.0

func RestrictedTypeFunction(invocation Invocation) Value

func StoredValue added in v0.20.0

func StoredValue(gauge common.MemoryGauge, storable atree.Storable, storage atree.SlabStorage) Value

type ValueConverterDeclaration added in v0.21.2

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

type ValueDeclaration added in v0.12.0

type ValueDeclaration interface {
	ValueDeclarationName() string
	ValueDeclarationValue(interpreter *Interpreter) Value
	ValueDeclarationAvailable(common.Location) bool
}

type ValueIndexableValue

type ValueIndexableValue interface {
	Value
	GetKey(interpreter *Interpreter, getLocationRange func() LocationRange, key Value) Value
	SetKey(interpreter *Interpreter, getLocationRange func() LocationRange, key Value, value Value)
	RemoveKey(interpreter *Interpreter, getLocationRange func() LocationRange, key Value) Value
	InsertKey(interpreter *Interpreter, getLocationRange func() LocationRange, key Value, value Value)
}

type ValueTransferTypeError added in v0.15.0

type ValueTransferTypeError struct {
	TargetType sema.Type
	LocationRange
}

ValueTransferTypeError

func (ValueTransferTypeError) Error added in v0.15.0

func (e ValueTransferTypeError) Error() string

type ValueWalker added in v0.19.0

type ValueWalker interface {
	WalkValue(interpreter *Interpreter, value Value) ValueWalker
}

type Variable

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

func NewVariableWithGetter added in v0.13.9

func NewVariableWithGetter(gauge common.MemoryGauge, getter func() Value) *Variable

func NewVariableWithValue added in v0.13.9

func NewVariableWithValue(gauge common.MemoryGauge, value Value) *Variable

func (*Variable) GetValue added in v0.13.9

func (v *Variable) GetValue() Value

func (*Variable) SetValue added in v0.13.9

func (v *Variable) SetValue(value Value)

type VariableActivation added in v0.14.0

type VariableActivation struct {
	Depth  int
	Parent *VariableActivation
	// contains filtered or unexported fields
}

A VariableActivation is a map of strings to values. It can be used to represent an active scope in a program, i.e. it can be used as a symbol table during semantic analysis, or as an activation record during interpretation or compilation.

func NewVariableActivation added in v0.14.0

func NewVariableActivation(memoryGauge common.MemoryGauge, parent *VariableActivation) *VariableActivation

func (*VariableActivation) Find added in v0.14.0

func (a *VariableActivation) Find(name string) *Variable

Find returns the value for a given name in the activation. It returns nil if no value is found.

func (*VariableActivation) FunctionValues added in v0.24.0

func (a *VariableActivation) FunctionValues() map[string]*Variable

FunctionValues returns all values in the current function activation.

func (*VariableActivation) Set added in v0.14.0

func (a *VariableActivation) Set(name string, value *Variable)

Set sets the given name-value pair in the activation.

type VariableActivations added in v0.14.0

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

VariableActivations is a stack of activation records. Each entry represents a new activation record.

The current / most nested activation record can be found at the top of the stack (see function `Current`).

func NewVariableActivations added in v0.24.0

func NewVariableActivations(memoryGauge common.MemoryGauge) *VariableActivations

func (*VariableActivations) Current added in v0.14.0

Current returns the current / most nested activation, which can be found at the top of the stack. It returns nil if there is no active activation.

func (*VariableActivations) CurrentOrNew added in v0.14.0

func (a *VariableActivations) CurrentOrNew() *VariableActivation

CurrentOrNew returns the current activation, or if it does not exist, a new activation

func (*VariableActivations) Depth added in v0.14.0

func (a *VariableActivations) Depth() int

Depth returns the depth (size) of the activation stack.

func (*VariableActivations) Find added in v0.14.0

func (a *VariableActivations) Find(name string) *Variable

Find returns the value for a given key in the current activation. It returns nil if no value is found or if there is no current activation.

func (*VariableActivations) Pop added in v0.14.0

func (a *VariableActivations) Pop()

Pop pops the top-most (current) activation from the top of the activation stack.

func (*VariableActivations) Push added in v0.14.0

func (a *VariableActivations) Push(activation *VariableActivation)

Push pushes the given activation onto the top of the activation stack.

func (*VariableActivations) PushNewWithCurrent added in v0.14.0

func (a *VariableActivations) PushNewWithCurrent()

PushNewWithCurrent pushes a new empty activation to the top of the activation stack. The new activation has the current activation as its parent.

func (*VariableActivations) PushNewWithParent added in v0.14.0

func (a *VariableActivations) PushNewWithParent(parent *VariableActivation) *VariableActivation

PushNewWithParent pushes a new empty activation to the top of the activation stack. The new activation has the given parent as its parent.

func (*VariableActivations) Set added in v0.14.0

func (a *VariableActivations) Set(name string, value *Variable)

Set sets the name-value pair in the current scope.

type VariableSizedStaticType

type VariableSizedStaticType struct {
	Type StaticType
}

func NewVariableSizedStaticType added in v0.24.0

func NewVariableSizedStaticType(
	memoryGauge common.MemoryGauge,
	elementType StaticType,
) VariableSizedStaticType

func (VariableSizedStaticType) ElementType added in v0.19.0

func (t VariableSizedStaticType) ElementType() StaticType

func (VariableSizedStaticType) Encode added in v0.20.0

func (t VariableSizedStaticType) Encode(e *cbor.StreamEncoder) error

Encode encodes VariableSizedStaticType as

cbor.Tag{
		Number:  CBORTagVariableSizedStaticType,
		Content: StaticType(v.Type),
}

func (VariableSizedStaticType) Equal added in v0.15.0

func (t VariableSizedStaticType) Equal(other StaticType) bool

func (VariableSizedStaticType) MeteredString added in v0.24.0

func (t VariableSizedStaticType) MeteredString(memoryGauge common.MemoryGauge) string

func (VariableSizedStaticType) String

func (t VariableSizedStaticType) String() string

type VirtualImport added in v0.5.0

type VirtualImport struct {
	Globals []struct {
		Name  string
		Value Value
	}
	TypeCodes   TypeCodes
	Elaboration *sema.Elaboration
}

type Visitor added in v0.12.0

type Visitor interface {
	VisitSimpleCompositeValue(interpreter *Interpreter, value *SimpleCompositeValue)
	VisitTypeValue(interpreter *Interpreter, value TypeValue)
	VisitVoidValue(interpreter *Interpreter, value VoidValue)
	VisitBoolValue(interpreter *Interpreter, value BoolValue)
	VisitStringValue(interpreter *Interpreter, value *StringValue)
	VisitCharacterValue(interpreter *Interpreter, value CharacterValue)
	VisitArrayValue(interpreter *Interpreter, value *ArrayValue) bool
	VisitIntValue(interpreter *Interpreter, value IntValue)
	VisitInt8Value(interpreter *Interpreter, value Int8Value)
	VisitInt16Value(interpreter *Interpreter, value Int16Value)
	VisitInt32Value(interpreter *Interpreter, value Int32Value)
	VisitInt64Value(interpreter *Interpreter, value Int64Value)
	VisitInt128Value(interpreter *Interpreter, value Int128Value)
	VisitInt256Value(interpreter *Interpreter, value Int256Value)
	VisitUIntValue(interpreter *Interpreter, value UIntValue)
	VisitUInt8Value(interpreter *Interpreter, value UInt8Value)
	VisitUInt16Value(interpreter *Interpreter, value UInt16Value)
	VisitUInt32Value(interpreter *Interpreter, value UInt32Value)
	VisitUInt64Value(interpreter *Interpreter, value UInt64Value)
	VisitUInt128Value(interpreter *Interpreter, value UInt128Value)
	VisitUInt256Value(interpreter *Interpreter, value UInt256Value)
	VisitWord8Value(interpreter *Interpreter, value Word8Value)
	VisitWord16Value(interpreter *Interpreter, value Word16Value)
	VisitWord32Value(interpreter *Interpreter, value Word32Value)
	VisitWord64Value(interpreter *Interpreter, value Word64Value)
	VisitFix64Value(interpreter *Interpreter, value Fix64Value)
	VisitUFix64Value(interpreter *Interpreter, value UFix64Value)
	VisitCompositeValue(interpreter *Interpreter, value *CompositeValue) bool
	VisitDictionaryValue(interpreter *Interpreter, value *DictionaryValue) bool
	VisitNilValue(interpreter *Interpreter, value NilValue)
	VisitSomeValue(interpreter *Interpreter, value *SomeValue) bool
	VisitStorageReferenceValue(interpreter *Interpreter, value *StorageReferenceValue)
	VisitEphemeralReferenceValue(interpreter *Interpreter, value *EphemeralReferenceValue)
	VisitAddressValue(interpreter *Interpreter, value AddressValue)
	VisitPathValue(interpreter *Interpreter, value PathValue)
	VisitCapabilityValue(interpreter *Interpreter, value *CapabilityValue)
	VisitLinkValue(interpreter *Interpreter, value LinkValue)
	VisitInterpretedFunctionValue(interpreter *Interpreter, value *InterpretedFunctionValue)
	VisitHostFunctionValue(interpreter *Interpreter, value *HostFunctionValue)
	VisitBoundFunctionValue(interpreter *Interpreter, value BoundFunctionValue)
}

type VoidValue

type VoidValue struct{}

func NewUnmeteredVoidValue added in v0.24.0

func NewUnmeteredVoidValue() VoidValue

func NewVoidValue added in v0.24.0

func NewVoidValue(memoryGauge common.MemoryGauge) VoidValue

func (VoidValue) Accept added in v0.12.0

func (v VoidValue) Accept(interpreter *Interpreter, visitor Visitor)

func (VoidValue) ByteSize added in v0.20.0

func (v VoidValue) ByteSize() uint32

func (VoidValue) ChildStorables added in v0.20.0

func (VoidValue) ChildStorables() []atree.Storable

func (VoidValue) Clone added in v0.24.0

func (v VoidValue) Clone(_ *Interpreter) Value

func (VoidValue) ConformsToStaticType added in v0.24.0

func (v VoidValue) ConformsToStaticType(
	inter *Interpreter,
	_ func() LocationRange,
	staticType StaticType,
	_ TypeConformanceResults,
) bool

func (VoidValue) DeepRemove added in v0.20.0

func (VoidValue) DeepRemove(_ *Interpreter)

func (VoidValue) Encode added in v0.20.0

func (v VoidValue) Encode(e *atree.Encoder) error

Encode writes a value of type Void to the encoder

func (VoidValue) Equal added in v0.20.0

func (v VoidValue) Equal(_ *Interpreter, _ func() LocationRange, other Value) bool

func (VoidValue) IsImportable added in v0.24.0

func (VoidValue) IsImportable(_ *Interpreter) bool

func (VoidValue) IsResourceKinded added in v0.20.0

func (VoidValue) IsResourceKinded(_ *Interpreter) bool

func (VoidValue) IsValue

func (VoidValue) IsValue()

func (VoidValue) MeteredString added in v0.24.0

func (v VoidValue) MeteredString(memoryGauge common.MemoryGauge, _ SeenReferences) string

func (VoidValue) NeedsStoreTo added in v0.20.0

func (VoidValue) NeedsStoreTo(_ atree.Address) bool

func (VoidValue) RecursiveString added in v0.17.0

func (v VoidValue) RecursiveString(_ SeenReferences) string

func (VoidValue) StaticType added in v0.12.0

func (VoidValue) StaticType(interpreter *Interpreter) StaticType

func (VoidValue) Storable added in v0.20.0

func (VoidValue) StoredValue added in v0.20.0

func (v VoidValue) StoredValue(_ atree.SlabStorage) (atree.Value, error)

func (VoidValue) String

func (VoidValue) String() string

func (VoidValue) Transfer added in v0.20.0

func (v VoidValue) Transfer(
	interpreter *Interpreter,
	_ func() LocationRange,
	_ atree.Address,
	remove bool,
	storable atree.Storable,
) Value

func (VoidValue) Walk added in v0.19.0

func (VoidValue) Walk(_ *Interpreter, _ func(Value))

type Word16Value

type Word16Value uint16

func ConvertWord16

func ConvertWord16(memoryGauge common.MemoryGauge, value Value) Word16Value

func NewUnmeteredWord16Value added in v0.24.0

func NewUnmeteredWord16Value(value uint16) Word16Value

func NewWord16Value added in v0.24.0

func NewWord16Value(gauge common.MemoryGauge, valueGetter func() uint16) Word16Value

func (Word16Value) Accept added in v0.12.0

func (v Word16Value) Accept(interpreter *Interpreter, visitor Visitor)

func (Word16Value) BitwiseAnd added in v0.2.0

func (v Word16Value) BitwiseAnd(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Word16Value) BitwiseLeftShift added in v0.2.0

func (v Word16Value) BitwiseLeftShift(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Word16Value) BitwiseOr added in v0.2.0

func (v Word16Value) BitwiseOr(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Word16Value) BitwiseRightShift added in v0.2.0

func (v Word16Value) BitwiseRightShift(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Word16Value) BitwiseXor added in v0.2.0

func (v Word16Value) BitwiseXor(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Word16Value) ByteSize added in v0.20.0

func (v Word16Value) ByteSize() uint32

func (Word16Value) ChildStorables added in v0.20.0

func (Word16Value) ChildStorables() []atree.Storable

func (Word16Value) Clone added in v0.24.0

func (v Word16Value) Clone(_ *Interpreter) Value

func (Word16Value) ConformsToStaticType added in v0.24.0

func (v Word16Value) ConformsToStaticType(
	inter *Interpreter,
	_ func() LocationRange,
	staticType StaticType,
	_ TypeConformanceResults,
) bool

func (Word16Value) DeepRemove added in v0.20.0

func (Word16Value) DeepRemove(_ *Interpreter)

func (Word16Value) Div

func (v Word16Value) Div(interpreter *Interpreter, other NumberValue) NumberValue

func (Word16Value) Encode added in v0.20.0

func (v Word16Value) Encode(e *atree.Encoder) error

Encode encodes Word16Value as

cbor.Tag{
		Number:  CBORTagWord16Value,
		Content: uint16(v),
}

func (Word16Value) Equal

func (v Word16Value) Equal(_ *Interpreter, _ func() LocationRange, other Value) bool

func (Word16Value) GetMember added in v0.3.0

func (v Word16Value) GetMember(interpreter *Interpreter, _ func() LocationRange, name string) Value

func (Word16Value) Greater

func (v Word16Value) Greater(interpreter *Interpreter, other NumberValue) BoolValue

func (Word16Value) GreaterEqual

func (v Word16Value) GreaterEqual(interpreter *Interpreter, other NumberValue) BoolValue

func (Word16Value) HashInput added in v0.20.0

func (v Word16Value) HashInput(_ *Interpreter, _ func() LocationRange, scratch []byte) []byte

HashInput returns a byte slice containing: - HashInputTypeWord16 (1 byte) - uint16 value encoded in big-endian (2 bytes)

func (Word16Value) IsImportable added in v0.24.0

func (Word16Value) IsImportable(_ *Interpreter) bool

func (Word16Value) IsResourceKinded added in v0.20.0

func (Word16Value) IsResourceKinded(_ *Interpreter) bool

func (Word16Value) IsStorable added in v0.16.0

func (Word16Value) IsStorable() bool

func (Word16Value) IsValue

func (Word16Value) IsValue()

func (Word16Value) Less

func (v Word16Value) Less(interpreter *Interpreter, other NumberValue) BoolValue

func (Word16Value) LessEqual

func (v Word16Value) LessEqual(interpreter *Interpreter, other NumberValue) BoolValue

func (Word16Value) MeteredString added in v0.24.0

func (v Word16Value) MeteredString(memoryGauge common.MemoryGauge, _ SeenReferences) string

func (Word16Value) Minus

func (v Word16Value) Minus(interpreter *Interpreter, other NumberValue) NumberValue

func (Word16Value) Mod

func (v Word16Value) Mod(interpreter *Interpreter, other NumberValue) NumberValue

func (Word16Value) Mul

func (v Word16Value) Mul(interpreter *Interpreter, other NumberValue) NumberValue

func (Word16Value) NeedsStoreTo added in v0.20.0

func (Word16Value) NeedsStoreTo(_ atree.Address) bool

func (Word16Value) Negate

func (v Word16Value) Negate(*Interpreter) NumberValue

func (Word16Value) Plus

func (v Word16Value) Plus(interpreter *Interpreter, other NumberValue) NumberValue

func (Word16Value) RecursiveString added in v0.17.0

func (v Word16Value) RecursiveString(_ SeenReferences) string

func (Word16Value) RemoveMember added in v0.20.0

func (Word16Value) RemoveMember(_ *Interpreter, _ func() LocationRange, _ string) Value

func (Word16Value) SaturatingDiv added in v0.15.0

func (v Word16Value) SaturatingDiv(*Interpreter, NumberValue) NumberValue

func (Word16Value) SaturatingMinus added in v0.15.0

func (v Word16Value) SaturatingMinus(*Interpreter, NumberValue) NumberValue

func (Word16Value) SaturatingMul added in v0.15.0

func (v Word16Value) SaturatingMul(*Interpreter, NumberValue) NumberValue

func (Word16Value) SaturatingPlus added in v0.15.0

func (v Word16Value) SaturatingPlus(*Interpreter, NumberValue) NumberValue

func (Word16Value) SetMember added in v0.3.0

func (Word16Value) SetMember(_ *Interpreter, _ func() LocationRange, _ string, _ Value)

func (Word16Value) StaticType added in v0.12.0

func (Word16Value) StaticType(interpreter *Interpreter) StaticType

func (Word16Value) Storable added in v0.20.0

func (Word16Value) StoredValue added in v0.20.0

func (v Word16Value) StoredValue(_ atree.SlabStorage) (atree.Value, error)

func (Word16Value) String

func (v Word16Value) String() string

func (Word16Value) ToBigEndianBytes added in v0.5.0

func (v Word16Value) ToBigEndianBytes() []byte

func (Word16Value) ToInt

func (v Word16Value) ToInt() int

func (Word16Value) Transfer added in v0.20.0

func (v Word16Value) Transfer(
	interpreter *Interpreter,
	_ func() LocationRange,
	_ atree.Address,
	remove bool,
	storable atree.Storable,
) Value

func (Word16Value) Walk added in v0.19.0

func (Word16Value) Walk(_ *Interpreter, _ func(Value))

type Word32Value

type Word32Value uint32

func ConvertWord32

func ConvertWord32(memoryGauge common.MemoryGauge, value Value) Word32Value

func NewUnmeteredWord32Value added in v0.24.0

func NewUnmeteredWord32Value(value uint32) Word32Value

func NewWord32Value added in v0.24.0

func NewWord32Value(gauge common.MemoryGauge, valueGetter func() uint32) Word32Value

func (Word32Value) Accept added in v0.12.0

func (v Word32Value) Accept(interpreter *Interpreter, visitor Visitor)

func (Word32Value) BitwiseAnd added in v0.2.0

func (v Word32Value) BitwiseAnd(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Word32Value) BitwiseLeftShift added in v0.2.0

func (v Word32Value) BitwiseLeftShift(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Word32Value) BitwiseOr added in v0.2.0

func (v Word32Value) BitwiseOr(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Word32Value) BitwiseRightShift added in v0.2.0

func (v Word32Value) BitwiseRightShift(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Word32Value) BitwiseXor added in v0.2.0

func (v Word32Value) BitwiseXor(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Word32Value) ByteSize added in v0.20.0

func (v Word32Value) ByteSize() uint32

func (Word32Value) ChildStorables added in v0.20.0

func (Word32Value) ChildStorables() []atree.Storable

func (Word32Value) Clone added in v0.24.0

func (v Word32Value) Clone(_ *Interpreter) Value

func (Word32Value) ConformsToStaticType added in v0.24.0

func (v Word32Value) ConformsToStaticType(
	inter *Interpreter,
	_ func() LocationRange,
	staticType StaticType,
	_ TypeConformanceResults,
) bool

func (Word32Value) DeepRemove added in v0.20.0

func (Word32Value) DeepRemove(_ *Interpreter)

func (Word32Value) Div

func (v Word32Value) Div(interpreter *Interpreter, other NumberValue) NumberValue

func (Word32Value) Encode added in v0.20.0

func (v Word32Value) Encode(e *atree.Encoder) error

Encode encodes Word32Value as

cbor.Tag{
		Number:  CBORTagWord32Value,
		Content: uint32(v),
}

func (Word32Value) Equal

func (v Word32Value) Equal(_ *Interpreter, _ func() LocationRange, other Value) bool

func (Word32Value) GetMember added in v0.3.0

func (v Word32Value) GetMember(interpreter *Interpreter, _ func() LocationRange, name string) Value

func (Word32Value) Greater

func (v Word32Value) Greater(interpreter *Interpreter, other NumberValue) BoolValue

func (Word32Value) GreaterEqual

func (v Word32Value) GreaterEqual(interpreter *Interpreter, other NumberValue) BoolValue

func (Word32Value) HashInput added in v0.20.0

func (v Word32Value) HashInput(_ *Interpreter, _ func() LocationRange, scratch []byte) []byte

HashInput returns a byte slice containing: - HashInputTypeWord32 (1 byte) - uint32 value encoded in big-endian (4 bytes)

func (Word32Value) IsImportable added in v0.24.0

func (Word32Value) IsImportable(_ *Interpreter) bool

func (Word32Value) IsResourceKinded added in v0.20.0

func (Word32Value) IsResourceKinded(_ *Interpreter) bool

func (Word32Value) IsStorable added in v0.16.0

func (Word32Value) IsStorable() bool

func (Word32Value) IsValue

func (Word32Value) IsValue()

func (Word32Value) Less

func (v Word32Value) Less(interpreter *Interpreter, other NumberValue) BoolValue

func (Word32Value) LessEqual

func (v Word32Value) LessEqual(interpreter *Interpreter, other NumberValue) BoolValue

func (Word32Value) MeteredString added in v0.24.0

func (v Word32Value) MeteredString(memoryGauge common.MemoryGauge, _ SeenReferences) string

func (Word32Value) Minus

func (v Word32Value) Minus(interpreter *Interpreter, other NumberValue) NumberValue

func (Word32Value) Mod

func (v Word32Value) Mod(interpreter *Interpreter, other NumberValue) NumberValue

func (Word32Value) Mul

func (v Word32Value) Mul(interpreter *Interpreter, other NumberValue) NumberValue

func (Word32Value) NeedsStoreTo added in v0.20.0

func (Word32Value) NeedsStoreTo(_ atree.Address) bool

func (Word32Value) Negate

func (v Word32Value) Negate(*Interpreter) NumberValue

func (Word32Value) Plus

func (v Word32Value) Plus(interpreter *Interpreter, other NumberValue) NumberValue

func (Word32Value) RecursiveString added in v0.17.0

func (v Word32Value) RecursiveString(_ SeenReferences) string

func (Word32Value) RemoveMember added in v0.20.0

func (Word32Value) RemoveMember(_ *Interpreter, _ func() LocationRange, _ string) Value

func (Word32Value) SaturatingDiv added in v0.15.0

func (v Word32Value) SaturatingDiv(*Interpreter, NumberValue) NumberValue

func (Word32Value) SaturatingMinus added in v0.15.0

func (v Word32Value) SaturatingMinus(*Interpreter, NumberValue) NumberValue

func (Word32Value) SaturatingMul added in v0.15.0

func (v Word32Value) SaturatingMul(*Interpreter, NumberValue) NumberValue

func (Word32Value) SaturatingPlus added in v0.15.0

func (v Word32Value) SaturatingPlus(*Interpreter, NumberValue) NumberValue

func (Word32Value) SetMember added in v0.3.0

func (Word32Value) SetMember(_ *Interpreter, _ func() LocationRange, _ string, _ Value)

func (Word32Value) StaticType added in v0.12.0

func (Word32Value) StaticType(interpreter *Interpreter) StaticType

func (Word32Value) Storable added in v0.20.0

func (Word32Value) StoredValue added in v0.20.0

func (v Word32Value) StoredValue(_ atree.SlabStorage) (atree.Value, error)

func (Word32Value) String

func (v Word32Value) String() string

func (Word32Value) ToBigEndianBytes added in v0.5.0

func (v Word32Value) ToBigEndianBytes() []byte

func (Word32Value) ToInt

func (v Word32Value) ToInt() int

func (Word32Value) Transfer added in v0.20.0

func (v Word32Value) Transfer(
	interpreter *Interpreter,
	_ func() LocationRange,
	_ atree.Address,
	remove bool,
	storable atree.Storable,
) Value

func (Word32Value) Walk added in v0.19.0

func (Word32Value) Walk(_ *Interpreter, _ func(Value))

type Word64Value

type Word64Value uint64

func ConvertWord64

func ConvertWord64(memoryGauge common.MemoryGauge, value Value) Word64Value

func NewUnmeteredWord64Value added in v0.24.0

func NewUnmeteredWord64Value(value uint64) Word64Value

func NewWord64Value added in v0.24.0

func NewWord64Value(gauge common.MemoryGauge, valueGetter func() uint64) Word64Value

func (Word64Value) Accept added in v0.12.0

func (v Word64Value) Accept(interpreter *Interpreter, visitor Visitor)

func (Word64Value) BitwiseAnd added in v0.2.0

func (v Word64Value) BitwiseAnd(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Word64Value) BitwiseLeftShift added in v0.2.0

func (v Word64Value) BitwiseLeftShift(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Word64Value) BitwiseOr added in v0.2.0

func (v Word64Value) BitwiseOr(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Word64Value) BitwiseRightShift added in v0.2.0

func (v Word64Value) BitwiseRightShift(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Word64Value) BitwiseXor added in v0.2.0

func (v Word64Value) BitwiseXor(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Word64Value) ByteLength added in v0.24.0

func (v Word64Value) ByteLength() int

func (Word64Value) ByteSize added in v0.20.0

func (v Word64Value) ByteSize() uint32

func (Word64Value) ChildStorables added in v0.20.0

func (Word64Value) ChildStorables() []atree.Storable

func (Word64Value) Clone added in v0.24.0

func (v Word64Value) Clone(_ *Interpreter) Value

func (Word64Value) ConformsToStaticType added in v0.24.0

func (v Word64Value) ConformsToStaticType(
	inter *Interpreter,
	_ func() LocationRange,
	staticType StaticType,
	_ TypeConformanceResults,
) bool

func (Word64Value) DeepRemove added in v0.20.0

func (Word64Value) DeepRemove(_ *Interpreter)

func (Word64Value) Div

func (v Word64Value) Div(interpreter *Interpreter, other NumberValue) NumberValue

func (Word64Value) Encode added in v0.20.0

func (v Word64Value) Encode(e *atree.Encoder) error

Encode encodes Word64Value as

cbor.Tag{
		Number:  CBORTagWord64Value,
		Content: uint64(v),
}

func (Word64Value) Equal

func (v Word64Value) Equal(_ *Interpreter, _ func() LocationRange, other Value) bool

func (Word64Value) GetMember added in v0.3.0

func (v Word64Value) GetMember(interpreter *Interpreter, _ func() LocationRange, name string) Value

func (Word64Value) Greater

func (v Word64Value) Greater(interpreter *Interpreter, other NumberValue) BoolValue

func (Word64Value) GreaterEqual

func (v Word64Value) GreaterEqual(interpreter *Interpreter, other NumberValue) BoolValue

func (Word64Value) HashInput added in v0.20.0

func (v Word64Value) HashInput(_ *Interpreter, _ func() LocationRange, scratch []byte) []byte

HashInput returns a byte slice containing: - HashInputTypeWord64 (1 byte) - uint64 value encoded in big-endian (8 bytes)

func (Word64Value) IsImportable added in v0.24.0

func (Word64Value) IsImportable(_ *Interpreter) bool

func (Word64Value) IsResourceKinded added in v0.20.0

func (Word64Value) IsResourceKinded(_ *Interpreter) bool

func (Word64Value) IsStorable added in v0.16.0

func (Word64Value) IsStorable() bool

func (Word64Value) IsValue

func (Word64Value) IsValue()

func (Word64Value) Less

func (v Word64Value) Less(interpreter *Interpreter, other NumberValue) BoolValue

func (Word64Value) LessEqual

func (v Word64Value) LessEqual(interpreter *Interpreter, other NumberValue) BoolValue

func (Word64Value) MeteredString added in v0.24.0

func (v Word64Value) MeteredString(memoryGauge common.MemoryGauge, _ SeenReferences) string

func (Word64Value) Minus

func (v Word64Value) Minus(interpreter *Interpreter, other NumberValue) NumberValue

func (Word64Value) Mod

func (v Word64Value) Mod(interpreter *Interpreter, other NumberValue) NumberValue

func (Word64Value) Mul

func (v Word64Value) Mul(interpreter *Interpreter, other NumberValue) NumberValue

func (Word64Value) NeedsStoreTo added in v0.20.0

func (Word64Value) NeedsStoreTo(_ atree.Address) bool

func (Word64Value) Negate

func (v Word64Value) Negate(*Interpreter) NumberValue

func (Word64Value) Plus

func (v Word64Value) Plus(interpreter *Interpreter, other NumberValue) NumberValue

func (Word64Value) RecursiveString added in v0.17.0

func (v Word64Value) RecursiveString(_ SeenReferences) string

func (Word64Value) RemoveMember added in v0.20.0

func (Word64Value) RemoveMember(_ *Interpreter, _ func() LocationRange, _ string) Value

func (Word64Value) SaturatingDiv added in v0.15.0

func (v Word64Value) SaturatingDiv(*Interpreter, NumberValue) NumberValue

func (Word64Value) SaturatingMinus added in v0.15.0

func (v Word64Value) SaturatingMinus(*Interpreter, NumberValue) NumberValue

func (Word64Value) SaturatingMul added in v0.15.0

func (v Word64Value) SaturatingMul(*Interpreter, NumberValue) NumberValue

func (Word64Value) SaturatingPlus added in v0.15.0

func (v Word64Value) SaturatingPlus(*Interpreter, NumberValue) NumberValue

func (Word64Value) SetMember added in v0.3.0

func (Word64Value) SetMember(_ *Interpreter, _ func() LocationRange, _ string, _ Value)

func (Word64Value) StaticType added in v0.12.0

func (Word64Value) StaticType(interpreter *Interpreter) StaticType

func (Word64Value) Storable added in v0.20.0

func (Word64Value) StoredValue added in v0.20.0

func (v Word64Value) StoredValue(_ atree.SlabStorage) (atree.Value, error)

func (Word64Value) String

func (v Word64Value) String() string

func (Word64Value) ToBigEndianBytes added in v0.5.0

func (v Word64Value) ToBigEndianBytes() []byte

func (Word64Value) ToBigInt added in v0.21.0

func (v Word64Value) ToBigInt(memoryGauge common.MemoryGauge) *big.Int

ToBigInt

NOTE: important, do *NOT* remove: Word64 values > math.MaxInt64 overflow int. Implementing BigNumberValue ensures conversion functions call ToBigInt instead of ToInt.

func (Word64Value) ToInt

func (v Word64Value) ToInt() int

func (Word64Value) Transfer added in v0.20.0

func (v Word64Value) Transfer(
	interpreter *Interpreter,
	_ func() LocationRange,
	_ atree.Address,
	remove bool,
	storable atree.Storable,
) Value

func (Word64Value) Walk added in v0.19.0

func (Word64Value) Walk(_ *Interpreter, _ func(Value))

type Word8Value

type Word8Value uint8

func ConvertWord8

func ConvertWord8(memoryGauge common.MemoryGauge, value Value) Word8Value

func NewUnmeteredWord8Value added in v0.24.0

func NewUnmeteredWord8Value(value uint8) Word8Value

func NewWord8Value added in v0.24.0

func NewWord8Value(gauge common.MemoryGauge, valueGetter func() uint8) Word8Value

func (Word8Value) Accept added in v0.12.0

func (v Word8Value) Accept(interpreter *Interpreter, visitor Visitor)

func (Word8Value) BitwiseAnd added in v0.2.0

func (v Word8Value) BitwiseAnd(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Word8Value) BitwiseLeftShift added in v0.2.0

func (v Word8Value) BitwiseLeftShift(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Word8Value) BitwiseOr added in v0.2.0

func (v Word8Value) BitwiseOr(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Word8Value) BitwiseRightShift added in v0.2.0

func (v Word8Value) BitwiseRightShift(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Word8Value) BitwiseXor added in v0.2.0

func (v Word8Value) BitwiseXor(interpreter *Interpreter, other IntegerValue) IntegerValue

func (Word8Value) ByteSize added in v0.20.0

func (v Word8Value) ByteSize() uint32

func (Word8Value) ChildStorables added in v0.20.0

func (Word8Value) ChildStorables() []atree.Storable

func (Word8Value) Clone added in v0.24.0

func (v Word8Value) Clone(_ *Interpreter) Value

func (Word8Value) ConformsToStaticType added in v0.24.0

func (v Word8Value) ConformsToStaticType(
	inter *Interpreter,
	_ func() LocationRange,
	staticType StaticType,
	_ TypeConformanceResults,
) bool

func (Word8Value) DeepRemove added in v0.20.0

func (Word8Value) DeepRemove(_ *Interpreter)

func (Word8Value) Div

func (v Word8Value) Div(interpreter *Interpreter, other NumberValue) NumberValue

func (Word8Value) Encode added in v0.20.0

func (v Word8Value) Encode(e *atree.Encoder) error

Encode encodes Word8Value as

cbor.Tag{
		Number:  CBORTagWord8Value,
		Content: uint8(v),
}

func (Word8Value) Equal

func (v Word8Value) Equal(_ *Interpreter, _ func() LocationRange, other Value) bool

func (Word8Value) GetMember added in v0.3.0

func (v Word8Value) GetMember(interpreter *Interpreter, _ func() LocationRange, name string) Value

func (Word8Value) Greater

func (v Word8Value) Greater(interpreter *Interpreter, other NumberValue) BoolValue

func (Word8Value) GreaterEqual

func (v Word8Value) GreaterEqual(interpreter *Interpreter, other NumberValue) BoolValue

func (Word8Value) HashInput added in v0.20.0

func (v Word8Value) HashInput(_ *Interpreter, _ func() LocationRange, scratch []byte) []byte

HashInput returns a byte slice containing: - HashInputTypeWord8 (1 byte) - uint8 value (1 byte)

func (Word8Value) IsImportable added in v0.24.0

func (Word8Value) IsImportable(_ *Interpreter) bool

func (Word8Value) IsResourceKinded added in v0.20.0

func (Word8Value) IsResourceKinded(_ *Interpreter) bool

func (Word8Value) IsStorable added in v0.16.0

func (Word8Value) IsStorable() bool

func (Word8Value) IsValue

func (Word8Value) IsValue()

func (Word8Value) Less

func (v Word8Value) Less(interpreter *Interpreter, other NumberValue) BoolValue

func (Word8Value) LessEqual

func (v Word8Value) LessEqual(interpreter *Interpreter, other NumberValue) BoolValue

func (Word8Value) MeteredString added in v0.24.0

func (v Word8Value) MeteredString(memoryGauge common.MemoryGauge, _ SeenReferences) string

func (Word8Value) Minus

func (v Word8Value) Minus(interpreter *Interpreter, other NumberValue) NumberValue

func (Word8Value) Mod

func (v Word8Value) Mod(interpreter *Interpreter, other NumberValue) NumberValue

func (Word8Value) Mul

func (v Word8Value) Mul(interpreter *Interpreter, other NumberValue) NumberValue

func (Word8Value) NeedsStoreTo added in v0.20.0

func (Word8Value) NeedsStoreTo(_ atree.Address) bool

func (Word8Value) Negate

func (v Word8Value) Negate(*Interpreter) NumberValue

func (Word8Value) Plus

func (v Word8Value) Plus(interpreter *Interpreter, other NumberValue) NumberValue

func (Word8Value) RecursiveString added in v0.17.0

func (v Word8Value) RecursiveString(_ SeenReferences) string

func (Word8Value) RemoveMember added in v0.20.0

func (Word8Value) RemoveMember(_ *Interpreter, _ func() LocationRange, _ string) Value

func (Word8Value) SaturatingDiv added in v0.15.0

func (v Word8Value) SaturatingDiv(*Interpreter, NumberValue) NumberValue

func (Word8Value) SaturatingMinus added in v0.15.0

func (v Word8Value) SaturatingMinus(*Interpreter, NumberValue) NumberValue

func (Word8Value) SaturatingMul added in v0.15.0

func (v Word8Value) SaturatingMul(*Interpreter, NumberValue) NumberValue

func (Word8Value) SaturatingPlus added in v0.15.0

func (v Word8Value) SaturatingPlus(*Interpreter, NumberValue) NumberValue

func (Word8Value) SetMember added in v0.3.0

func (Word8Value) SetMember(_ *Interpreter, _ func() LocationRange, _ string, _ Value)

func (Word8Value) StaticType added in v0.12.0

func (Word8Value) StaticType(interpreter *Interpreter) StaticType

func (Word8Value) Storable added in v0.20.0

func (Word8Value) StoredValue added in v0.20.0

func (v Word8Value) StoredValue(_ atree.SlabStorage) (atree.Value, error)

func (Word8Value) String

func (v Word8Value) String() string

func (Word8Value) ToBigEndianBytes added in v0.5.0

func (v Word8Value) ToBigEndianBytes() []byte

func (Word8Value) ToInt

func (v Word8Value) ToInt() int

func (Word8Value) Transfer added in v0.20.0

func (v Word8Value) Transfer(
	interpreter *Interpreter,
	_ func() LocationRange,
	_ atree.Address,
	remove bool,
	storable atree.Storable,
) Value

func (Word8Value) Walk added in v0.19.0

func (Word8Value) Walk(_ *Interpreter, _ func(Value))

type WrapperCode added in v0.5.0

type WrapperCode struct {
	InitializerFunctionWrapper FunctionWrapper
	DestructorFunctionWrapper  FunctionWrapper
	FunctionWrappers           map[string]FunctionWrapper
}

WrapperCode contains the "prepared" / "callable" "code" for inherited types (interfaces and type requirements).

These are "branch" nodes in the call chain, and are function wrappers, i.e. they wrap the functions / function wrappers that inherit them.

Jump to

Keyboard shortcuts

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