// <summary> // Creates a scalar member restriction with the meaning "<paramref name="member" /> = <paramref name="value" />". // This constructor is used for creating discriminator type conditions. // </summary> internal ScalarRestriction(MemberPath member, Constant value) : base(new MemberProjectedSlot(member), value) { Debug.Assert( value is ScalarConstant || value.IsNull() || value.IsNotNull(), "value is expected to be ScalarConstant, NULL, or NOT_NULL."); }
// <summary> // Creates an incomplete type restriction of the form "<paramref name="member" /> = <paramref name="value" />". // </summary> internal TypeRestriction(MemberPath member, Constant value) : base(new MemberProjectedSlot(member), value) { Debug.Assert(value is TypeConstant || value.IsNull(), "Type or NULL expected."); }