public static RegressiveNode MakeRegular( RegressiveState currentConstraints, WorldState initialState, INodeExpander <RegressiveNode> nodeExpander ) { return(new RegressiveNode( currentConstraints, initialState, PreconditionUtils.EnsureNotNull(nodeExpander, "nodeExpander"), false )); }
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; }
public Builder(RegressiveState original = default) { ranges = original.ranges == null ? new Dictionary <SymbolId, ValueRange>() : new Dictionary <SymbolId, ValueRange>(original.ranges); }