Table of Contents

Interface IKnowledgeBinding

Namespace
RDCore.SDK.Model.Values.Bindings
Assembly
RDCore.SDK.dll

A writable binding that remembers whether the value it holds is known.

public interface IKnowledgeBinding : IBindingHandle
Inherited Members
Extension Methods

Remarks

Whether a value is known is a property of the value (IsIndeterminate), and a value read from a variable is bound to the variable's own cell. For an analysis that runs assignments, the cell is where the answer has to be kept: a variable that holds a value the analysis does not know is still assigned a known one later, and the other way around. A cell that is not known holds the value its type assumes in its place; see IndeterminateBindingHandle.

A cell is known unless it is told otherwise, so a session that runs code rather than analyzes it is unchanged by any of this. Writing through SetValue(ISymbolResolver, IRuntimeValue) states a known value; a write that may be of an unknown one has to say so (Store(IBindingHandle, ISymbolResolver, VBTypedValue)).

Properties

IsKnown

Whether the value held is known. When it is not, the value held is the one its type assumes.

bool IsKnown { get; }

Property Value

bool

Methods

Forget()

Makes the value held not known, keeping it as the value assumed in its place.

void Forget()

Store(IRuntimeValue, bool)

Replaces the value held, and says whether the new value is known.

void Store(IRuntimeValue value, bool isKnown)

Parameters

value IRuntimeValue

The new value, or the value assumed in place of one that is not known.

isKnown bool

Whether value is known.