コード例 #1
0
            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);
            }
コード例 #2
0
        // effects: Given a mapping from old jointree nodes to new ones,
        // creates a boolean expression from "this" in which the references
        // to old join tree nodes are replaced by references to new nodes
        // from remap (boolean expressions other than constants can contain
        // references to jointree nodes, e.g., "var in values" -- var is a
        // reference to a JoinTreeNode
        internal BoolExpression RemapBool(Dictionary <MemberPath, MemberPath> remap)
        {
            DomainBoolExpr expr = RemapBoolVisitor.RemapExtentTreeNodes(m_tree, m_memberDomainMap, remap);

            return(new BoolExpression(expr, m_memberDomainMap));
        }