205 references to FUNDTYPE
Microsoft.CSharp (205)
Microsoft\CSharp\RuntimeBinder\Semantics\Conversion.cs (73)
374
FUNDTYPE
ftSrc = expr.Type.FundamentalType;
375
FUNDTYPE
ftDest = dest.FundamentalType;
380
if ((ftSrc ==
FUNDTYPE
.FT_I4 && (ftDest <=
FUNDTYPE
.FT_LASTNONLONG || ftDest ==
FUNDTYPE
.FT_U8)) ||
381
(ftSrc ==
FUNDTYPE
.FT_I8 && ftDest ==
FUNDTYPE
.FT_U8))
389
if (expr.Type is NullType && dest.FundamentalType !=
FUNDTYPE
.FT_REF)
459
FUNDTYPE
exprType = expr.Type.FundamentalType;
460
if (exprType ==
FUNDTYPE
.FT_STRUCT)
482
case
FUNDTYPE
.FT_U1:
483
case
FUNDTYPE
.FT_U2:
484
case
FUNDTYPE
.FT_U4:
485
case
FUNDTYPE
.FT_U8:
489
case
FUNDTYPE
.FT_I1:
490
case
FUNDTYPE
.FT_I2:
491
case
FUNDTYPE
.FT_I4:
492
case
FUNDTYPE
.FT_I8:
497
Debug.Assert(exprType <=
FUNDTYPE
.FT_LASTNUMERIC, "Error in constant conversion logic!");
506
if (expr.Type is NullType && dest.FundamentalType !=
FUNDTYPE
.FT_REF)
742
FUNDTYPE
ftFrom;
743
FUNDTYPE
ftTo;
745
if ((ftTo = typeTo.FundamentalType) <=
FUNDTYPE
.FT_LASTNUMERIC && ftTo >
FUNDTYPE
.FT_NONE &&
746
(ftFrom = typeFrom.FundamentalType) <=
FUNDTYPE
.FT_LASTNUMERIC && ftFrom >
FUNDTYPE
.FT_NONE)
1120
FUNDTYPE
ftSrc = exprSrc.Type.FundamentalType;
1121
FUNDTYPE
ftDest = typeDest.FundamentalType;
1122
bool srcIntegral = (ftSrc <=
FUNDTYPE
.FT_LASTINTEGRAL);
1123
bool srcNumeric = (ftSrc <=
FUNDTYPE
.FT_LASTNUMERIC);
1127
if (ftSrc ==
FUNDTYPE
.FT_STRUCT || ftDest ==
FUNDTYPE
.FT_STRUCT)
1159
if (constSrc.Type.FundamentalType ==
FUNDTYPE
.FT_U8)
1162
if (ftDest ==
FUNDTYPE
.FT_U8)
1188
case
FUNDTYPE
.FT_I1:
1195
case
FUNDTYPE
.FT_I2:
1202
case
FUNDTYPE
.FT_I4:
1209
case
FUNDTYPE
.FT_I8:
1215
case
FUNDTYPE
.FT_U1:
1222
case
FUNDTYPE
.FT_U2:
1229
case
FUNDTYPE
.FT_U4:
1236
case
FUNDTYPE
.FT_U8:
1250
case
FUNDTYPE
.FT_R4:
1251
case
FUNDTYPE
.FT_R8:
1254
if (ftSrc ==
FUNDTYPE
.FT_U8)
1263
if (ftDest ==
FUNDTYPE
.FT_R4)
1281
if (ftDest ==
FUNDTYPE
.FT_U4)
1285
else if (ftDest <=
FUNDTYPE
.FT_LASTNONLONG)
1289
else if (ftDest <=
FUNDTYPE
.FT_LASTINTEGRAL)
1387
FUNDTYPE
ftSrc = srcType.FundamentalType;
1392
case
FUNDTYPE
.FT_I1:
1393
case
FUNDTYPE
.FT_I2:
1394
case
FUNDTYPE
.FT_I4:
1397
case
FUNDTYPE
.FT_U1:
1398
case
FUNDTYPE
.FT_U2:
1399
case
FUNDTYPE
.FT_U4:
1402
case
FUNDTYPE
.FT_R4:
1405
case
FUNDTYPE
.FT_R8:
1408
case
FUNDTYPE
.FT_U8:
1411
case
FUNDTYPE
.FT_I8:
1429
FUNDTYPE
ftDest = destType.FundamentalType;
1432
if (ftDest !=
FUNDTYPE
.FT_R4 && ftDest !=
FUNDTYPE
.FT_R8)
1438
case
FUNDTYPE
.FT_I1:
1441
case
FUNDTYPE
.FT_U1:
1444
case
FUNDTYPE
.FT_I2:
1447
case
FUNDTYPE
.FT_U2:
1450
case
FUNDTYPE
.FT_I4:
1453
case
FUNDTYPE
.FT_U4:
1456
case
FUNDTYPE
.FT_I8:
1459
case
FUNDTYPE
.FT_U8:
1462
case
FUNDTYPE
.FT_R4:
1465
case
FUNDTYPE
.FT_R8:
Microsoft\CSharp\RuntimeBinder\Semantics\ExplicitConversion.cs (3)
384
if (_typeSrc is PointerType || _typeSrc.FundamentalType <=
FUNDTYPE
.FT_LASTINTEGRAL && _typeSrc.IsNumericType)
695
aggDest.IsValueType() && aggSrc.getThisType().FundamentalType ==
FUNDTYPE
.FT_REF
724
if (!(_typeSrc is PointerType) || aggTypeDest.FundamentalType >
FUNDTYPE
.FT_LASTINTEGRAL || !aggTypeDest.IsNumericType)
Microsoft\CSharp\RuntimeBinder\Semantics\ExpressionBinder.cs (33)
1417
FUNDTYPE
ftSrc = exprSrc.Type.FundamentalType;
1418
FUNDTYPE
ftDest = typeDest.FundamentalType;
1420
if (ftSrc >
FUNDTYPE
.FT_LASTINTEGRAL || ftDest >
FUNDTYPE
.FT_LASTINTEGRAL)
1426
else if (ftSrc >
FUNDTYPE
.FT_LASTNUMERIC || ftDest >
FUNDTYPE
.FT_LASTNUMERIC)
1433
if (ftDest >
FUNDTYPE
.FT_LASTINTEGRAL)
1439
if (ftSrc >
FUNDTYPE
.FT_LASTINTEGRAL)
1445
case
FUNDTYPE
.FT_I1:
1449
case
FUNDTYPE
.FT_I2:
1453
case
FUNDTYPE
.FT_I4:
1457
case
FUNDTYPE
.FT_I8:
1465
case
FUNDTYPE
.FT_U1:
1469
case
FUNDTYPE
.FT_U2:
1473
case
FUNDTYPE
.FT_U4:
1477
case
FUNDTYPE
.FT_U8:
1492
if (ftSrc ==
FUNDTYPE
.FT_U8)
1498
case
FUNDTYPE
.FT_I1:
1502
case
FUNDTYPE
.FT_I2:
1506
case
FUNDTYPE
.FT_I4:
1510
case
FUNDTYPE
.FT_I8:
1514
case
FUNDTYPE
.FT_U1:
1518
case
FUNDTYPE
.FT_U2:
1522
case
FUNDTYPE
.FT_U4:
1526
case
FUNDTYPE
.FT_U8:
1538
case
FUNDTYPE
.FT_I1:
1542
case
FUNDTYPE
.FT_I2:
1546
case
FUNDTYPE
.FT_I4:
1550
case
FUNDTYPE
.FT_I8:
1552
case
FUNDTYPE
.FT_U1:
1556
case
FUNDTYPE
.FT_U2:
1560
case
FUNDTYPE
.FT_U4:
1564
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)
113
Debug.Assert(type.FundamentalType >
FUNDTYPE
.FT_NONE);
114
Debug.Assert(type.FundamentalType <
FUNDTYPE
.FT_COUNT);
117
case
FUNDTYPE
.FT_PTR:
123
case
FUNDTYPE
.FT_STRUCT:
129
goto case
FUNDTYPE
.FT_VAR;
131
case
FUNDTYPE
.FT_VAR:
Microsoft\CSharp\RuntimeBinder\Semantics\ImplicitConversion.cs (6)
143
FUNDTYPE
ftDest = _typeDest.FundamentalType;
144
Debug.Assert(ftDest !=
FUNDTYPE
.FT_NONE || _typeDest is ParameterModifierType);
401
FUNDTYPE
ftDest = _typeDest.FundamentalType;
402
if (ftDest !=
FUNDTYPE
.FT_REF && ftDest !=
FUNDTYPE
.FT_PTR &&
587
if (pSource.OwningAggregate.IsStruct() && _typeDest.FundamentalType ==
FUNDTYPE
.FT_REF)
Microsoft\CSharp\RuntimeBinder\Semantics\Operators.cs (32)
948
Debug.Assert(type1.FundamentalType !=
FUNDTYPE
.FT_VAR);
949
if (type1.FundamentalType !=
FUNDTYPE
.FT_REF)
964
Debug.Assert(type2.FundamentalType !=
FUNDTYPE
.FT_VAR);
965
if (type2.FundamentalType !=
FUNDTYPE
.FT_REF)
1167
FUNDTYPE
.FT_U4 => PredefinedType.PT_UINT,
1168
FUNDTYPE
.FT_I8 => PredefinedType.PT_LONG,
1169
FUNDTYPE
.FT_U8 => PredefinedType.PT_ULONG,
1613
FUNDTYPE
ft = typeRaw.FundamentalType;
1614
if (ft ==
FUNDTYPE
.FT_R8 || ft ==
FUNDTYPE
.FT_R4)
1635
if (type.IsEnumType && type.FundamentalType >
FUNDTYPE
.FT_LASTINTEGRAL)
1641
Debug.Assert(type.FundamentalType !=
FUNDTYPE
.FT_PTR); // Can't have a pointer.
1660
case
FUNDTYPE
.FT_I1:
1661
case
FUNDTYPE
.FT_I2:
1662
case
FUNDTYPE
.FT_U1:
1663
case
FUNDTYPE
.FT_U2:
1668
case
FUNDTYPE
.FT_I4:
1669
case
FUNDTYPE
.FT_U4:
1673
case
FUNDTYPE
.FT_I8:
1674
case
FUNDTYPE
.FT_U8:
1678
case
FUNDTYPE
.FT_R4:
1679
case
FUNDTYPE
.FT_R8:
2018
FUNDTYPE
.FT_U4 => PredefinedType.PT_UINT,
2019
FUNDTYPE
.FT_I8 => PredefinedType.PT_LONG,
2020
FUNDTYPE
.FT_U8 => PredefinedType.PT_ULONG,
2059
FUNDTYPE
.FT_U4 => PredefinedType.PT_UINT,
2060
FUNDTYPE
.FT_I8 => PredefinedType.PT_LONG,
2061
FUNDTYPE
.FT_U8 => PredefinedType.PT_ULONG,
2095
FUNDTYPE
.FT_U4 => PredefinedType.PT_UINT,
2096
FUNDTYPE
.FT_I8 => PredefinedType.PT_LONG,
2097
FUNDTYPE
.FT_U8 => PredefinedType.PT_ULONG,
2254
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)
51
internal static
FUNDTYPE
GetFundType(PredefinedType type) => s_types[(int)type].FundType;
108
public readonly
FUNDTYPE
FundType;
111
internal PredefinedTypeInfo(PredefinedType type, Type associatedSystemType, string name,
FUNDTYPE
fundType)
122
: this(type, associatedSystemType, name,
FUNDTYPE
.FT_REF)
128
new PredefinedTypeInfo(PredefinedType.PT_BYTE, typeof(byte), "System.Byte",
FUNDTYPE
.FT_U1),
129
new PredefinedTypeInfo(PredefinedType.PT_SHORT, typeof(short), "System.Int16",
FUNDTYPE
.FT_I2),
130
new PredefinedTypeInfo(PredefinedType.PT_INT, typeof(int), "System.Int32",
FUNDTYPE
.FT_I4),
131
new PredefinedTypeInfo(PredefinedType.PT_LONG, typeof(long), "System.Int64",
FUNDTYPE
.FT_I8),
132
new PredefinedTypeInfo(PredefinedType.PT_FLOAT, typeof(float), "System.Single",
FUNDTYPE
.FT_R4),
133
new PredefinedTypeInfo(PredefinedType.PT_DOUBLE, typeof(double), "System.Double",
FUNDTYPE
.FT_R8),
134
new PredefinedTypeInfo(PredefinedType.PT_DECIMAL, typeof(decimal), "System.Decimal",
FUNDTYPE
.FT_STRUCT),
135
new PredefinedTypeInfo(PredefinedType.PT_CHAR, typeof(char), "System.Char",
FUNDTYPE
.FT_U2),
136
new PredefinedTypeInfo(PredefinedType.PT_BOOL, typeof(bool), "System.Boolean",
FUNDTYPE
.FT_I1),
137
new PredefinedTypeInfo(PredefinedType.PT_SBYTE, typeof(sbyte), "System.SByte",
FUNDTYPE
.FT_I1),
138
new PredefinedTypeInfo(PredefinedType.PT_USHORT, typeof(ushort), "System.UInt16",
FUNDTYPE
.FT_U2),
139
new PredefinedTypeInfo(PredefinedType.PT_UINT, typeof(uint), "System.UInt32",
FUNDTYPE
.FT_U4),
140
new PredefinedTypeInfo(PredefinedType.PT_ULONG, typeof(ulong), "System.UInt64",
FUNDTYPE
.FT_U8),
141
new PredefinedTypeInfo(PredefinedType.PT_INTPTR, typeof(IntPtr), "System.IntPtr",
FUNDTYPE
.FT_STRUCT),
142
new PredefinedTypeInfo(PredefinedType.PT_UINTPTR, typeof(UIntPtr), "System.UIntPtr",
FUNDTYPE
.FT_STRUCT),
151
new PredefinedTypeInfo(PredefinedType.PT_DATETIME, typeof(DateTime), "System.DateTime",
FUNDTYPE
.FT_STRUCT),
154
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;