File: Microsoft\CSharp\RuntimeBinder\Syntax\PredefinedType.cs
Web Access
Project: src\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,
    }
}