/// <summary>
        /// Allocates the virtual register.
        /// </summary>
        /// <param name="type">The type.</param>
        /// <returns></returns>
        public VirtualRegisterOperand AllocateVirtualRegister(SigType type)
        {
            int index = virtualRegisters.Count + 1;

            VirtualRegisterOperand virtualRegister = new VirtualRegisterOperand(type, index);

            virtualRegisters.Add(virtualRegister);

            return virtualRegister;
        }
 public VirtualRegisterOperand(SigType type, VirtualRegisterOperand register)
     : this(type, register._index)
 {
 }