Esempio n. 1
0
 /// <summary>
 /// Creates a modulus expression with the given left operand and this.RightOperand.
 /// The method does not use this.LeftOperand.Expression, since it may be necessary to factor out any subexpressions so that
 /// they are evaluated only once. The given left operand expression is expected to be the expression that remains after factoring.
 /// </summary>
 /// <param name="leftOperand">An expression to combine with this.RightOperand into a binary expression.</param>
 protected override Expression CreateBinaryExpression(Expression leftOperand)
 {
     Expression result = new VccModulus(leftOperand, this.RightOperand, this.SourceLocation);
       result.SetContainingExpression(this);
       return result;
 }
Esempio n. 2
0
 //^ requires template.ContainingBlock != containingBlock;
 //^ ensures this.containingBlock == containingBlock;
 /// <summary>
 /// A copy constructor that allocates an instance that is the same as the given template, except for its containing block.
 /// </summary>
 /// <param name="containingBlock">A new value for containing block. This replaces template.ContainingBlock in the resulting copy of template.</param>
 /// <param name="template">The template to copy.</param>
 protected VccModulus(BlockStatement containingBlock, VccModulus template)
     : base(containingBlock, template)
 {
 }