L2SemanticObjectVariantId

class L2SemanticObjectVariantId(val base: L2SemanticValue) : L2SemanticValue

A semantic value which represents the variantId of the ObjectLayoutVariant extracted from some object or object type in the base semantic value. To keep unboxed ints homogenous, this will always be wrapped inside an L2SemanticUnboxedInt, even though the boxed value generally will not occur in any L2BoxedRegister.

Author

Mark van Gulik

Parameters

base

The semantic value holding the value for which a TypeTag has been extracted.

Constructors

Link copied to clipboard
fun L2SemanticObjectVariantId(base: L2SemanticValue)

Create a new L2SemanticObjectVariantId semantic value.

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 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 base: L2SemanticValue
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