예제 #1
0
            /// <summary>
            /// Pops this topmost constrait from the stack.
            /// As a side effect, the constraint's builder
            /// field is set to null.
            /// </summary>
            /// <returns></returns>
            public Constraint Pop()
            {
                Constraint constraint = (Constraint)stack.Pop();

                constraint.SetBuilder(null);
                return(constraint);
            }
예제 #2
0
 public void Append(Constraint constraint)
 {
     if (lastPushed is ConstraintOperator)
     {
         SetTopOperatorRightContext(constraint);
     }
     constraints.Push(constraint);
     lastPushed = constraint;
     constraint.SetBuilder(this);
 }
예제 #3
0
 /// <summary>
 /// Pushes the specified constraint. As a side effect,
 /// the constraint's builder field is set to the
 /// ConstraintBuilder owning this stack.
 /// </summary>
 /// <param name="constraint">The constraint.</param>
 public void Push(Constraint constraint)
 {
     stack.Push(constraint);
     constraint.SetBuilder(this.builder);
 }
예제 #4
0
        /// <summary>
        /// Appends the specified constraint to the expresson by pushing
        /// it on the constraint stack.
        /// </summary>
        /// <param name="constraint">The constraint to push.</param>
        public void Append(Constraint constraint)
        {
            if (lastPushed is ConstraintOperator)
                SetTopOperatorRightContext(constraint);

            constraints.Push(constraint);
            lastPushed = constraint;
            constraint.SetBuilder( this );
        }
예제 #5
0
 /// <summary>
 /// Pushes the specified constraint. As a side effect,
 /// the constraint's builder field is set to the 
 /// ConstraintBuilder owning this stack.
 /// </summary>
 /// <param name="constraint">The constraint.</param>
 public void Push(Constraint constraint)
 {
     stack.Push(constraint);
     constraint.SetBuilder( this.builder );
 }