Table of Contents

Enum ConversionKind

Namespace
ICSharpCode.Decompiler.IL
Assembly
ICSharpCode.Decompiler.dll

Semantic meaning of a Conv instruction.

public enum ConversionKind : byte

Fields

FloatPrecisionChange = 4

Converts from the current precision available on the evaluation stack to the precision specified by the TargetType. Uses "round-to-nearest" mode if the precision is reduced.

FloatToInt = 3

Float-to-integer conversion. Truncates toward zero; may perform overflow-checking.

IntToFloat = 2

Integer-to-float conversion. Uses InputSign to decide whether the integer should be treated as signed or unsigned.

Invalid = 0

Invalid conversion.

Nop = 1

Conversion between two types of same size. Can be used to change the sign of integer types, which may involve overflow-checking.

ObjectInterior = 10

Converts from an object reference (O) to an interior pointer (Ref) pointing to the start of the object.

SignExtend = 5

Conversion of integer type to larger signed integer type. May involve overflow checking (when converting from U4 to I on 32-bit).

StartGCTracking = 9

Used to convert unmanaged pointers to managed references.

StopGCTracking = 8

Used to convert managed references/objects to unmanaged pointers.

Truncate = 7

Conversion to smaller integer type.

May involve overflow checking.

ZeroExtend = 6

Conversion of integer type to larger unsigned integer type. May involve overflow checking (when converting from a signed type).