Пример #1
0
 public static RegressiveNode MakeRegular(
     RegressiveState currentConstraints,
     WorldState initialState,
     INodeExpander <RegressiveNode> nodeExpander
     )
 {
     return(new RegressiveNode(
                currentConstraints,
                initialState,
                PreconditionUtils.EnsureNotNull(nodeExpander, "nodeExpander"),
                false
                ));
 }
Пример #2
0
        private RegressiveNode(
            RegressiveState currentConstraints,
            WorldState initialState,
            INodeExpander <RegressiveNode> nodeExpander,
            bool isTarget
            )
        {
            DebugUtils.Assert(
                isTarget || nodeExpander != null,
                "Unless isTarget is true, nodeExpander must not be null"
                );

            this.currentConstraints = currentConstraints;
            InitialState            = initialState;
            this.nodeExpander       = nodeExpander;
            IsTarget = isTarget;
        }
Пример #3
0
 public Builder(RegressiveState original = default)
 {
     ranges = original.ranges == null ? new Dictionary <SymbolId, ValueRange>() : new Dictionary <SymbolId, ValueRange>(original.ranges);
 }