// effects: Given expression and the domains of various members, // ensures that the range in OneOfConsts is in line with the // DomainConstraints in expression internal static DomainBoolExpr FixRange(DomainBoolExpr expression, MemberDomainMap memberDomainMap) { FixRangeVisitor visitor = new FixRangeVisitor(memberDomainMap); DomainBoolExpr result = expression.Accept <DomainBoolExpr>(visitor); return(result); }
internal static void GetRequiredSlots(DomainBoolExpr expression, MemberProjectionIndex projectedSlotMap, bool[] requiredSlots) { RequiredSlotsVisitor visitor = new RequiredSlotsVisitor(projectedSlotMap, requiredSlots); expression.Accept <DomainBoolExpr>(visitor); }
internal static DomainBoolExpr RemapExtentTreeNodes(DomainBoolExpr expression, MemberDomainMap memberDomainMap, Dictionary <MemberPath, MemberPath> remap) { RemapBoolVisitor visitor = new RemapBoolVisitor(memberDomainMap, remap); DomainBoolExpr result = expression.Accept <DomainBoolExpr>(visitor); return(result); }
internal static bool IsFinal(DomainBoolExpr expression) { IsFinalVisitor visitor = new IsFinalVisitor(); return(expression.Accept <bool>(visitor)); }
internal static StringBuilder ToBuilder(DomainBoolExpr expression, StringBuilder builder) { CompactStringVisitor visitor = new CompactStringVisitor(builder); return(expression.Accept <StringBuilder>(visitor)); }
// effectS: Returns all the terms in expression. If // allowAllOperators is true, ensures that there are no NOTs or ORs internal static IEnumerable <DomainTermExpr> GetTerms(DomainBoolExpr expression, bool allowAllOperators) { TermVisitor visitor = new TermVisitor(allowAllOperators); return(expression.Accept <IEnumerable <DomainTermExpr> >(visitor)); }
internal static StringBuilder AsUserString(DomainBoolExpr expression, StringBuilder builder, string blockAlias) { AsUserStringVisitor visitor = new AsUserStringVisitor(builder, blockAlias); return(expression.Accept <StringBuilder>(visitor)); }
internal static DbExpression AsCqt(DomainBoolExpr expression, DbExpression row) { AsCqtVisitor visitor = new AsCqtVisitor(row); return(expression.Accept <DbExpression>(visitor)); }