EmitNumericConversion() public method

public EmitNumericConversion ( Microsoft.Cci.PrimitiveTypeCode fromPredefTypeKind, Microsoft.Cci.PrimitiveTypeCode toPredefTypeKind, bool @checked ) : void
fromPredefTypeKind Microsoft.Cci.PrimitiveTypeCode
toPredefTypeKind Microsoft.Cci.PrimitiveTypeCode
@checked bool
return void
Beispiel #1
0
        private void EmitNormalizedSwitchKey(
            ConstantValue startConstant,
            ConstantValue endConstant,
            object bucketFallThroughLabel
            )
        {
            _builder.EmitLoad(_key);

            // Normalize the key to 0 if needed

            // Emit:    ldc constant
            //          sub
            if (!startConstant.IsDefaultValue)
            {
                _builder.EmitConstantValue(startConstant);
                _builder.EmitOpCode(ILOpCode.Sub);
            }

            // range-check normalized value if needed
            EmitRangeCheckIfNeeded(startConstant, endConstant, bucketFallThroughLabel);

            // truncate key to 32bit
            _builder.EmitNumericConversion(
                _keyTypeCode,
                Microsoft.Cci.PrimitiveTypeCode.UInt32,
                false
                );
        }