public VccAtomicOpBlock(List<Statement> statements, VccAtomicOp atomicOp, ISourceLocation sourceLocation) : base(statements, sourceLocation) { this.atomicOp = atomicOp; }
protected VccAtomicOpBlock(BlockStatement containingBlock, VccAtomicOpBlock template) : base(containingBlock, template) { this.atomicOp = template.atomicOp; }
//^ 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 VccAtomicOp(BlockStatement containingBlock, VccAtomicOp template) : base(containingBlock, template) { }