| File: Microsoft\CSharp\RuntimeBinder\Syntax\PredefinedType.cs | Web Access |
| Project: src\runtime\src\libraries\Microsoft.CSharp\src\Microsoft.CSharp.csproj (Microsoft.CSharp) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.CSharp.RuntimeBinder.Syntax { internal enum PredefinedType : uint { PT_BYTE, PT_SHORT, PT_INT, PT_LONG, PT_FLOAT, PT_DOUBLE, PT_DECIMAL, PT_CHAR, PT_BOOL, // "simple" types are certain types that the compiler knows about for conversion and operator purposes.ses. // Keep these first so that we can build conversion tables on their ordinals... Don't change the orderer // of the simple types because it will mess up conversion tables. // The following Quasi-Simple types are considered simple, except they are non-CLS compliant PT_SBYTE, PT_USHORT, PT_UINT, PT_ULONG, // The special "pointer-sized int" types. Note that this are not considered numeric types from the compiler's point of view -- // they are special only in that they have special signature encodings. FirstNonSimpleType, PT_INTPTR = FirstNonSimpleType, PT_UINTPTR, PT_OBJECT, // THE ORDER ABOVE HERE IS IMPORTANT!!! It is used in tables in both fncbind and ilgen PT_STRING, PT_DELEGATE, PT_MULTIDEL, PT_ARRAY, PT_TYPE, PT_VALUE, PT_ENUM, PT_DATETIME, // predefined types for the BCL PT_IENUMERABLE, // Generic variants of enumerator interfaces PT_G_IENUMERABLE, // Nullable<T> PT_G_OPTIONAL, // LINQ PT_G_IQUERYABLE, PT_G_ICOLLECTION, PT_G_ILIST, PT_G_EXPRESSION, PT_EXPRESSION, PT_BINARYEXPRESSION, PT_UNARYEXPRESSION, PT_CONSTANTEXPRESSION, PT_PARAMETEREXPRESSION, PT_MEMBEREXPRESSION, PT_METHODCALLEXPRESSION, PT_NEWEXPRESSION, PT_NEWARRAYEXPRESSION, PT_INVOCATIONEXPRESSION, PT_FIELDINFO, PT_METHODINFO, PT_CONSTRUCTORINFO, PT_PROPERTYINFO, PT_MISSING, PT_G_IREADONLYLIST, PT_G_IREADONLYCOLLECTION, PT_FUNC, PT_COUNT, PT_VOID, // (special case) PT_UNDEFINEDINDEX = 0xffffffff, } }