예제 #1
0
        // bool Equals(object o);

        public new Plan Capply(Unifier u)
        {
            Plan p = new Plan();

            if (label != null)
            {
                p.label         = (Pred)label.CApply(u);
                p.isAtomic      = isAtomic;
                p.hasBreakpoint = hasBreakpoint;
                p.isAllUnifs    = isAllUnifs;
            }

            p.tevent = tevent.Capply(u);
            if (context != null)
            {
                p.context = (ILogicalFormula)context.CApply(u);
            }
            p.body = (IPlanBody)body.CApply(u);
            p.SetSrcInfo(srcInfo); // ???
            p.isTerm = isTerm;
            return(p);
        }