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