Companion

object Companion

Functions

Link copied to clipboard
fun restriction(    type: A_Type,     constantOrNull: A_BasicObject?,     givenExcludedTypes: Set<A_Type>,     givenExcludedValues: Set<A_BasicObject>,     possibleVariants: Set<ObjectLayoutVariant>?,     excludedVariants: Set<ObjectLayoutVariant>?,     possibleTypeVariants: Set<ObjectLayoutVariant>?,     excludedTypeVariants: Set<ObjectLayoutVariant>?,     flags: Int): TypeRestriction
fun restriction(    type: A_Type,     constantOrNull: A_BasicObject?,     givenExcludedTypes: Set<A_Type> = emptySet(),     givenExcludedValues: Set<A_BasicObject> = emptySet(),     possibleVariants: Set<ObjectLayoutVariant>? = null,     excludedVariants: Set<ObjectLayoutVariant>? = null,     possibleTypeVariants: Set<ObjectLayoutVariant>? = null,     excludedTypeVariants: Set<ObjectLayoutVariant>? = null,     isImmutable: Boolean = false,     isBoxed: Boolean = true,     isUnboxedInt: Boolean = false,     isUnboxedFloat: Boolean = false): TypeRestriction

Create or reuse an immutable TypeRestriction, canonicalizing the arguments.

Link copied to clipboard

Create or reuse a TypeRestriction, for which no constant information is provided (but might be deduced from the type).

Link copied to clipboard
fun restrictionForType(type: A_Type, encoding: TypeRestriction.RestrictionFlagEncoding): TypeRestriction

Create or reuse a TypeRestriction, for which no constant information is provided (but might be deduced from the type).

Properties

Link copied to clipboard
val anyRestriction: TypeRestriction

The TypeRestriction for a register that has any value whatsoever, excluding nil, but it's not known to be immutable.

Link copied to clipboard
val bottomRestriction: TypeRestriction

The TypeRestriction for a register that cannot hold any value. This can be useful for cleanly dealing with unreachable code.

Link copied to clipboard
val nilRestriction: TypeRestriction

The TypeRestriction for a register that holds nil.