Returns true if all returned boxes are idempotent.
Returns true if all boxes are immutable
Returns true if all boxes are right boxes.
Returns a copy of this box assignment.
Returns a copy of this box assignment. An immutable box assignment may just returns itself, but a mutable one should produce a copy of itself.
Returns true if the assignment is empty, i.e., it is undefined for all program points.
Restrict the domain of this box assignment.
Restrict the domain of this box assignment. The new domain is the intersection of
the old domain and the set whose characteristic function is domain
A BoxAssignment maps a subset of unknowns to a Box. When
isDefinedAt(u)
is false for a given unknownu
, the correspondingapply(u)
should be a right box.Like it was the case for Box, a BoxAssignent is also a blueprint for buildind equivalent BoxAssignments. Each BoxAssignmant has a copy method which should produce a functionally equivalent copy of
this
. The copy method should try to minimize object duplication.