Companion

object Companion

Properties

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

The TypeRestriction for a register that holds nil.

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

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