Exemplo n.º 1
0
 /// <summary>
 /// Requires: <see cref="MemberRestriction.IsComplete"/> is true.
 /// </summary>
 internal override DomainBoolExpr FixRange(Set<Constant> range, MemberDomainMap memberDomainMap)
 {
     Debug.Assert(IsComplete, "Ranges are fixed only for complete type restrictions.");
     IEnumerable<Constant> possibleValues = memberDomainMap.GetDomain(RestrictedMemberSlot.MemberPath);
     BoolLiteral newLiteral = new TypeRestriction(RestrictedMemberSlot, new Domain(range, possibleValues));
     return newLiteral.GetDomainBoolExpression(memberDomainMap);
 }
Exemplo n.º 2
0
        /// <summary>
        /// Requires: <see cref="MemberRestriction.IsComplete"/> is true.
        /// </summary>
        internal override DomainBoolExpr FixRange(Set <Constant> range, MemberDomainMap memberDomainMap)
        {
            Debug.Assert(IsComplete, "Ranges are fixed only for complete type restrictions.");
            IEnumerable <Constant> possibleValues = memberDomainMap.GetDomain(RestrictedMemberSlot.MemberPath);
            BoolLiteral            newLiteral     = new TypeRestriction(RestrictedMemberSlot, new Domain(range, possibleValues));

            return(newLiteral.GetDomainBoolExpression(memberDomainMap));
        }