Property | Type | Description | |
---|---|---|---|
Expr | |||
Kind | TypeCastType |
Method | Description | |
---|---|---|
CGenAddress ( |
||
CGenValue ( |
||
EqualType ( |
||
FloatToArith ( |
From: float, double To: char, uchar, short, ushort, long, ulong, float, double According to MSDN "Conversions from Floating-Point Types", float cannot convert to unsigned char. I don't know why, but I follow it. |
|
FromPointer ( |
From: pointer To: pointer, integral
|
|
IntegralPromotion ( |
All integrals are converted to LongType or ULongType.
|
|
MakeCast ( |
||
MakeCast ( |
||
SignedIntegralToArith ( |
From: char, short, long To: char, uchar, short, ushort, long, ulong, float double
|
|
ToPointer ( |
From: pointer, integral To: pointer
|
|
TypeCast ( TypeCastType kind, |
||
UnsignedIntegralToArith ( |
From: uchar, ushort, ulong To: char, uchar, short, ushort, long, ulong, float, double Aaccording to MSDN "Conversions from Unsigned Integral Types", unsigned long converts directly to double. However, I just treat unsigned long as long. |
|
UsualArithmeticConversion ( |
Perform the usual arithmetic conversion on two expressions. If either expression is DoubleType, then both are converted to DoubleType. Else, if either expression is FloatType, then both are converted to FloatType. Else, if either expression is ULongType, then both are converted to ULongType. Else, both are converted to LongType.
|
|
UsualScalarConversion ( |
First, convert pointers to ULongType's, then do UsualArithmeticConversion.
|
Method | Description | |
---|---|---|
TypeCast ( TypeCastType kind, |
public CGenAddress ( |
||
state | ||
return | void |
public CGenValue ( |
||
state | ||
return | System.Reg |
public static EqualType ( |
||
t1 | ||
t2 | ||
return | System.Boolean |
public static FloatToArith ( |
||
expr | ||
type | ||
return |
public static FromPointer ( |
||
expr | ||
type | ||
env | ||
return |
public static IntegralPromotion ( |
||
expr | /// The integral expression to be casted. /// | |
return | ExprTypeKind>.Tuple |
public static MakeCast ( |
||
expr | ||
type | ||
return |
public static MakeCast ( |
||
expr | ||
type | ||
env | ||
return |
public static SignedIntegralToArith ( |
||
expr | ||
type | ||
return |
public static ToPointer ( |
||
expr | ||
type | ||
env | ||
return |
public TypeCast ( TypeCastType kind, |
||
kind | TypeCastType | |
expr | ||
type | ||
return | System |
public static UnsignedIntegralToArith ( |
||
expr | ||
type | ||
return |
public static UsualArithmeticConversion ( |
||
e1 | The first expression to be casted. Must have |
|
e2 | The second expression to be casted. Must have |
|
return | Tuple |
public static UsualScalarConversion ( |
||
e1 | /// The first expression to be casted. /// | |
e2 | /// The second expression to be casted. /// | |
return | Tuple |