RestrictionGroup

data class RestrictionGroup(val constants: Set<A_BasicObject>?, val types: Set<A_Type>, val objectVariants: Set<ObjectLayoutVariant>?, val objectTypeVariants: Set<ObjectLayoutVariant>?, val tags: Set<TypeTag>?)

A collection of all positive or all negative constraints. A TypeRestriction uses one for positive constraints, and one for negative constraints, and canonicalization keeps them from being contradictory or nonsensical.

Constructors

Link copied to clipboard
constructor(constants: Set<A_BasicObject>?, types: Set<A_Type>, objectVariants: Set<ObjectLayoutVariant>?, objectTypeVariants: Set<ObjectLayoutVariant>?, tags: Set<TypeTag>?)

Properties

Link copied to clipboard

When used in a positive group, this is either null or a set of size one containing the exact value under test.

Link copied to clipboard

When used in the positive group, this set, if present, indicates that the value under test must be an object type, and that object type must use one of the specified ObjectLayoutVariants.

Link copied to clipboard

When used in the positive group, this set, if present, indicates that the value under test must be an object, and that object must use one of the specified ObjectLayoutVariants.

Link copied to clipboard

When used in the positive group, this set, if present, must contain the typeTag of the value under test.

Link copied to clipboard

When used in the positive group, this is a size one set containing a type that includes the value under test.

Functions

Link copied to clipboard

Ensure all referenced AvailObjects are at least Immutable.

Link copied to clipboard

Ensure all referenced AvailObjects are Shared.