205 references to FUNDTYPE
Microsoft.CSharp (205)
Microsoft\CSharp\RuntimeBinder\Semantics\Conversion.cs (73)
384
FUNDTYPE
ftSrc = expr.Type.FundamentalType;
385
FUNDTYPE
ftDest = dest.FundamentalType;
390
if ((ftSrc ==
FUNDTYPE
.FT_I4 && (ftDest <=
FUNDTYPE
.FT_LASTNONLONG || ftDest ==
FUNDTYPE
.FT_U8)) ||
391
(ftSrc ==
FUNDTYPE
.FT_I8 && ftDest ==
FUNDTYPE
.FT_U8))
399
if (expr.Type is NullType && dest.FundamentalType !=
FUNDTYPE
.FT_REF)
474
FUNDTYPE
exprType = expr.Type.FundamentalType;
475
if (exprType ==
FUNDTYPE
.FT_STRUCT)
497
case
FUNDTYPE
.FT_U1:
498
case
FUNDTYPE
.FT_U2:
499
case
FUNDTYPE
.FT_U4:
500
case
FUNDTYPE
.FT_U8:
504
case
FUNDTYPE
.FT_I1:
505
case
FUNDTYPE
.FT_I2:
506
case
FUNDTYPE
.FT_I4:
507
case
FUNDTYPE
.FT_I8:
512
Debug.Assert(exprType <=
FUNDTYPE
.FT_LASTNUMERIC, "Error in constant conversion logic!");
521
if (expr.Type is NullType && dest.FundamentalType !=
FUNDTYPE
.FT_REF)
769
FUNDTYPE
ftFrom;
770
FUNDTYPE
ftTo;
772
if ((ftTo = typeTo.FundamentalType) <=
FUNDTYPE
.FT_LASTNUMERIC && ftTo >
FUNDTYPE
.FT_NONE &&
773
(ftFrom = typeFrom.FundamentalType) <=
FUNDTYPE
.FT_LASTNUMERIC && ftFrom >
FUNDTYPE
.FT_NONE)
1151
FUNDTYPE
ftSrc = exprSrc.Type.FundamentalType;
1152
FUNDTYPE
ftDest = typeDest.FundamentalType;
1153
bool srcIntegral = (ftSrc <=
FUNDTYPE
.FT_LASTINTEGRAL);
1154
bool srcNumeric = (ftSrc <=
FUNDTYPE
.FT_LASTNUMERIC);
1158
if (ftSrc ==
FUNDTYPE
.FT_STRUCT || ftDest ==
FUNDTYPE
.FT_STRUCT)
1190
if (constSrc.Type.FundamentalType ==
FUNDTYPE
.FT_U8)
1193
if (ftDest ==
FUNDTYPE
.FT_U8)
1219
case
FUNDTYPE
.FT_I1:
1226
case
FUNDTYPE
.FT_I2:
1233
case
FUNDTYPE
.FT_I4:
1240
case
FUNDTYPE
.FT_I8:
1246
case
FUNDTYPE
.FT_U1:
1253
case
FUNDTYPE
.FT_U2:
1260
case
FUNDTYPE
.FT_U4:
1267
case
FUNDTYPE
.FT_U8:
1281
case
FUNDTYPE
.FT_R4:
1282
case
FUNDTYPE
.FT_R8:
1285
if (ftSrc ==
FUNDTYPE
.FT_U8)
1294
if (ftDest ==
FUNDTYPE
.FT_R4)
1312
if (ftDest ==
FUNDTYPE
.FT_U4)
1316
else if (ftDest <=
FUNDTYPE
.FT_LASTNONLONG)
1320
else if (ftDest <=
FUNDTYPE
.FT_LASTINTEGRAL)
1421
FUNDTYPE
ftSrc = srcType.FundamentalType;
1426
case
FUNDTYPE
.FT_I1:
1427
case
FUNDTYPE
.FT_I2:
1428
case
FUNDTYPE
.FT_I4:
1431
case
FUNDTYPE
.FT_U1:
1432
case
FUNDTYPE
.FT_U2:
1433
case
FUNDTYPE
.FT_U4:
1436
case
FUNDTYPE
.FT_R4:
1439
case
FUNDTYPE
.FT_R8:
1442
case
FUNDTYPE
.FT_U8:
1445
case
FUNDTYPE
.FT_I8:
1463
FUNDTYPE
ftDest = destType.FundamentalType;
1466
if (ftDest !=
FUNDTYPE
.FT_R4 && ftDest !=
FUNDTYPE
.FT_R8)
1472
case
FUNDTYPE
.FT_I1:
1475
case
FUNDTYPE
.FT_U1:
1478
case
FUNDTYPE
.FT_I2:
1481
case
FUNDTYPE
.FT_U2:
1484
case
FUNDTYPE
.FT_I4:
1487
case
FUNDTYPE
.FT_U4:
1490
case
FUNDTYPE
.FT_I8:
1493
case
FUNDTYPE
.FT_U8:
1496
case
FUNDTYPE
.FT_R4:
1499
case
FUNDTYPE
.FT_R8:
Microsoft\CSharp\RuntimeBinder\Semantics\ExplicitConversion.cs (3)
385
if (_typeSrc is PointerType || _typeSrc.FundamentalType <=
FUNDTYPE
.FT_LASTINTEGRAL && _typeSrc.IsNumericType)
697
aggDest.IsValueType() && aggSrc.getThisType().FundamentalType ==
FUNDTYPE
.FT_REF
726
if (!(_typeSrc is PointerType) || aggTypeDest.FundamentalType >
FUNDTYPE
.FT_LASTINTEGRAL || !aggTypeDest.IsNumericType)
Microsoft\CSharp\RuntimeBinder\Semantics\ExpressionBinder.cs (33)
1445
FUNDTYPE
ftSrc = exprSrc.Type.FundamentalType;
1446
FUNDTYPE
ftDest = typeDest.FundamentalType;
1448
if (ftSrc >
FUNDTYPE
.FT_LASTINTEGRAL || ftDest >
FUNDTYPE
.FT_LASTINTEGRAL)
1454
else if (ftSrc >
FUNDTYPE
.FT_LASTNUMERIC || ftDest >
FUNDTYPE
.FT_LASTNUMERIC)
1461
if (ftDest >
FUNDTYPE
.FT_LASTINTEGRAL)
1467
if (ftSrc >
FUNDTYPE
.FT_LASTINTEGRAL)
1473
case
FUNDTYPE
.FT_I1:
1477
case
FUNDTYPE
.FT_I2:
1481
case
FUNDTYPE
.FT_I4:
1485
case
FUNDTYPE
.FT_I8:
1493
case
FUNDTYPE
.FT_U1:
1497
case
FUNDTYPE
.FT_U2:
1501
case
FUNDTYPE
.FT_U4:
1505
case
FUNDTYPE
.FT_U8:
1520
if (ftSrc ==
FUNDTYPE
.FT_U8)
1526
case
FUNDTYPE
.FT_I1:
1530
case
FUNDTYPE
.FT_I2:
1534
case
FUNDTYPE
.FT_I4:
1538
case
FUNDTYPE
.FT_I8:
1542
case
FUNDTYPE
.FT_U1:
1546
case
FUNDTYPE
.FT_U2:
1550
case
FUNDTYPE
.FT_U4:
1554
case
FUNDTYPE
.FT_U8:
1566
case
FUNDTYPE
.FT_I1:
1570
case
FUNDTYPE
.FT_I2:
1574
case
FUNDTYPE
.FT_I4:
1578
case
FUNDTYPE
.FT_I8:
1580
case
FUNDTYPE
.FT_U1:
1584
case
FUNDTYPE
.FT_U2:
1588
case
FUNDTYPE
.FT_U4:
1592
case
FUNDTYPE
.FT_U8:
Microsoft\CSharp\RuntimeBinder\Semantics\EXPRExtensions.cs (1)
64
=> expr is ExprConstant constant && expr.Type.FundamentalType ==
FUNDTYPE
.FT_REF && constant.Val.IsNullRef;
Microsoft\CSharp\RuntimeBinder\Semantics\ExprFactory.cs (6)
130
Debug.Assert(type.FundamentalType >
FUNDTYPE
.FT_NONE);
131
Debug.Assert(type.FundamentalType <
FUNDTYPE
.FT_COUNT);
134
case
FUNDTYPE
.FT_PTR:
140
case
FUNDTYPE
.FT_STRUCT:
146
goto case
FUNDTYPE
.FT_VAR;
148
case
FUNDTYPE
.FT_VAR:
Microsoft\CSharp\RuntimeBinder\Semantics\ImplicitConversion.cs (6)
144
FUNDTYPE
ftDest = _typeDest.FundamentalType;
145
Debug.Assert(ftDest !=
FUNDTYPE
.FT_NONE || _typeDest is ParameterModifierType);
403
FUNDTYPE
ftDest = _typeDest.FundamentalType;
404
if (ftDest !=
FUNDTYPE
.FT_REF && ftDest !=
FUNDTYPE
.FT_PTR &&
589
if (pSource.OwningAggregate.IsStruct() && _typeDest.FundamentalType ==
FUNDTYPE
.FT_REF)
Microsoft\CSharp\RuntimeBinder\Semantics\Operators.cs (32)
971
Debug.Assert(type1.FundamentalType !=
FUNDTYPE
.FT_VAR);
972
if (type1.FundamentalType !=
FUNDTYPE
.FT_REF)
987
Debug.Assert(type2.FundamentalType !=
FUNDTYPE
.FT_VAR);
988
if (type2.FundamentalType !=
FUNDTYPE
.FT_REF)
1192
FUNDTYPE
.FT_U4 => PredefinedType.PT_UINT,
1193
FUNDTYPE
.FT_I8 => PredefinedType.PT_LONG,
1194
FUNDTYPE
.FT_U8 => PredefinedType.PT_ULONG,
1647
FUNDTYPE
ft = typeRaw.FundamentalType;
1648
if (ft ==
FUNDTYPE
.FT_R8 || ft ==
FUNDTYPE
.FT_R4)
1670
if (type.IsEnumType && type.FundamentalType >
FUNDTYPE
.FT_LASTINTEGRAL)
1676
Debug.Assert(type.FundamentalType !=
FUNDTYPE
.FT_PTR); // Can't have a pointer.
1695
case
FUNDTYPE
.FT_I1:
1696
case
FUNDTYPE
.FT_I2:
1697
case
FUNDTYPE
.FT_U1:
1698
case
FUNDTYPE
.FT_U2:
1703
case
FUNDTYPE
.FT_I4:
1704
case
FUNDTYPE
.FT_U4:
1708
case
FUNDTYPE
.FT_I8:
1709
case
FUNDTYPE
.FT_U8:
1713
case
FUNDTYPE
.FT_R4:
1714
case
FUNDTYPE
.FT_R8:
2067
FUNDTYPE
.FT_U4 => PredefinedType.PT_UINT,
2068
FUNDTYPE
.FT_I8 => PredefinedType.PT_LONG,
2069
FUNDTYPE
.FT_U8 => PredefinedType.PT_ULONG,
2109
FUNDTYPE
.FT_U4 => PredefinedType.PT_UINT,
2110
FUNDTYPE
.FT_I8 => PredefinedType.PT_LONG,
2111
FUNDTYPE
.FT_U8 => PredefinedType.PT_ULONG,
2146
FUNDTYPE
.FT_U4 => PredefinedType.PT_UINT,
2147
FUNDTYPE
.FT_I8 => PredefinedType.PT_LONG,
2148
FUNDTYPE
.FT_U8 => PredefinedType.PT_ULONG,
2307
if (ptOp == PredefinedType.PT_UINT && op.Type.FundamentalType ==
FUNDTYPE
.FT_U4)
Microsoft\CSharp\RuntimeBinder\Semantics\Tree\Constant.cs (8)
32
case
FUNDTYPE
.FT_I8:
33
case
FUNDTYPE
.FT_U8:
36
case
FUNDTYPE
.FT_U4:
41
Type.FundamentalType ==
FUNDTYPE
.FT_I1 || Type.FundamentalType ==
FUNDTYPE
.FT_I2
42
|| Type.FundamentalType ==
FUNDTYPE
.FT_I4 || Type.FundamentalType ==
FUNDTYPE
.FT_U1
43
|| Type.FundamentalType ==
FUNDTYPE
.FT_U2, "Bad fundType in getI64Value");
Microsoft\CSharp\RuntimeBinder\Semantics\Types\AggregateType.cs (10)
343
public override
FUNDTYPE
FundamentalType
356
return
FUNDTYPE
.FT_REF; // Interfaces, classes, delegates are reference types.
360
return sym.IsPredefined() ? PredefinedTypeFacts.GetFundType(sym.GetPredefType()) :
FUNDTYPE
.FT_STRUCT;
375
case
FUNDTYPE
.FT_I8:
376
case
FUNDTYPE
.FT_U8:
379
case
FUNDTYPE
.FT_STRUCT:
392
case
FUNDTYPE
.FT_REF:
397
case
FUNDTYPE
.FT_R4:
400
case
FUNDTYPE
.FT_R8:
403
case
FUNDTYPE
.FT_I1:
Microsoft\CSharp\RuntimeBinder\Semantics\Types\ArrayType.cs (2)
61
public override
FUNDTYPE
FundamentalType =>
FUNDTYPE
.FT_REF;
Microsoft\CSharp\RuntimeBinder\Semantics\Types\NullableType.cs (2)
56
public override
FUNDTYPE
FundamentalType =>
FUNDTYPE
.FT_STRUCT;
Microsoft\CSharp\RuntimeBinder\Semantics\Types\NullType.cs (2)
21
public override
FUNDTYPE
FundamentalType =>
FUNDTYPE
.FT_REF;
Microsoft\CSharp\RuntimeBinder\Semantics\Types\PointerType.cs (2)
30
public override
FUNDTYPE
FundamentalType =>
FUNDTYPE
.FT_PTR;
Microsoft\CSharp\RuntimeBinder\Semantics\Types\PredefinedTypes.cs (21)
53
internal static
FUNDTYPE
GetFundType(PredefinedType type) => s_types[(int)type].FundType;
110
public readonly
FUNDTYPE
FundType;
113
internal PredefinedTypeInfo(PredefinedType type, Type associatedSystemType, string name,
FUNDTYPE
fundType)
124
: this(type, associatedSystemType, name,
FUNDTYPE
.FT_REF)
130
new PredefinedTypeInfo(PredefinedType.PT_BYTE, typeof(byte), "System.Byte",
FUNDTYPE
.FT_U1),
131
new PredefinedTypeInfo(PredefinedType.PT_SHORT, typeof(short), "System.Int16",
FUNDTYPE
.FT_I2),
132
new PredefinedTypeInfo(PredefinedType.PT_INT, typeof(int), "System.Int32",
FUNDTYPE
.FT_I4),
133
new PredefinedTypeInfo(PredefinedType.PT_LONG, typeof(long), "System.Int64",
FUNDTYPE
.FT_I8),
134
new PredefinedTypeInfo(PredefinedType.PT_FLOAT, typeof(float), "System.Single",
FUNDTYPE
.FT_R4),
135
new PredefinedTypeInfo(PredefinedType.PT_DOUBLE, typeof(double), "System.Double",
FUNDTYPE
.FT_R8),
136
new PredefinedTypeInfo(PredefinedType.PT_DECIMAL, typeof(decimal), "System.Decimal",
FUNDTYPE
.FT_STRUCT),
137
new PredefinedTypeInfo(PredefinedType.PT_CHAR, typeof(char), "System.Char",
FUNDTYPE
.FT_U2),
138
new PredefinedTypeInfo(PredefinedType.PT_BOOL, typeof(bool), "System.Boolean",
FUNDTYPE
.FT_I1),
139
new PredefinedTypeInfo(PredefinedType.PT_SBYTE, typeof(sbyte), "System.SByte",
FUNDTYPE
.FT_I1),
140
new PredefinedTypeInfo(PredefinedType.PT_USHORT, typeof(ushort), "System.UInt16",
FUNDTYPE
.FT_U2),
141
new PredefinedTypeInfo(PredefinedType.PT_UINT, typeof(uint), "System.UInt32",
FUNDTYPE
.FT_U4),
142
new PredefinedTypeInfo(PredefinedType.PT_ULONG, typeof(ulong), "System.UInt64",
FUNDTYPE
.FT_U8),
143
new PredefinedTypeInfo(PredefinedType.PT_INTPTR, typeof(IntPtr), "System.IntPtr",
FUNDTYPE
.FT_STRUCT),
144
new PredefinedTypeInfo(PredefinedType.PT_UINTPTR, typeof(UIntPtr), "System.UIntPtr",
FUNDTYPE
.FT_STRUCT),
153
new PredefinedTypeInfo(PredefinedType.PT_DATETIME, typeof(DateTime), "System.DateTime",
FUNDTYPE
.FT_STRUCT),
156
new PredefinedTypeInfo(PredefinedType.PT_G_OPTIONAL, typeof(Nullable<>), "System.Nullable`1",
FUNDTYPE
.FT_STRUCT),
Microsoft\CSharp\RuntimeBinder\Semantics\Types\Type.cs (2)
37
public virtual
FUNDTYPE
FundamentalType =>
FUNDTYPE
.FT_NONE;
Microsoft\CSharp\RuntimeBinder\Semantics\Types\TypeParameterType.cs (2)
68
public override
FUNDTYPE
FundamentalType =>
FUNDTYPE
.FT_VAR;