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