L2SemanticPrimitiveInvocation

class L2SemanticPrimitiveInvocation : L2SemanticValue

An L2SemanticValue which represents the result produced by a Primitive when supplied a list of argument L2SemanticValues. The primitive must be stable (same result), pure (no side-effects), and successful for the supplied arguments.

Author

Mark van Gulik

Todd L Smith

Parameters

primitive

The primitive whose invocation is being represented.

argumentSemanticValues

The semantic values supplied as arguments.

Types

Link copied to clipboard
object Companion

Functions

Link copied to clipboard
open operator override fun compareTo(other: L2SemanticValue): Int
Link copied to clipboard
open operator override fun equals(other: Any?): Boolean
Link copied to clipboard
open override fun equalsSemanticValue(other: L2SemanticValue): Boolean
Link copied to clipboard
open override fun hashCode(): Int
Link copied to clipboard
open override fun primaryVisualSortKey(): L2SemanticValue.PrimaryVisualSortKey

The primary criterion by which to sort (ascending) the semantic values in a synonym when presenting them visually.

Link copied to clipboard
open override fun toString(): String
Link copied to clipboard
open fun toStringForSynonym(): String

Produce a compact textual representation suitable for displaying within a synonym in a debugger or visualized control flow graph.

Link copied to clipboard
open override fun transform(semanticValueTransformer: (L2SemanticValue) -> L2SemanticValue, frameTransformer: (Frame) -> Frame): L2SemanticValue

Transform the receiver. If it's composed of parts, transform them with the supplied Functions.

Properties

Link copied to clipboard
val argumentSemanticValues: List<L2SemanticValue>

The List of L2SemanticValues that represent the arguments to the invocation of the primitive.

Link copied to clipboard
val hash: Int

The permanent hash value of this L2SemanticValue.

Link copied to clipboard
open val isConstant: Boolean

Answer whether this semantic value corresponds with the notion of a semantic constant.

Link copied to clipboard
open val kind: L2Register.RegisterKind
Link copied to clipboard
val primitive: Primitive

The Primitive whose invocation is being represented.