private static DbgNamedTypeInfo _GetTypeInfoForDbgNativeType()

in DbgProvider/public/Debugger/TypeInfo/DbgTypeInfo.cs [101:192]


        private static DbgNamedTypeInfo _GetTypeInfoForDbgNativeType( DbgEngDebugger debugger,
                                                                      ulong moduleBase,
                                                                      uint typeId,
                                                                      DbgTarget target )
        {
            switch( (DbgNativeType) typeId )
            {
                case DbgNativeType.DNTYPE_VOID:
                    return new DbgBaseTypeInfo( debugger, moduleBase, typeId, BasicType.btVoid, 0, target );

                case DbgNativeType.DNTYPE_CHAR:
                    return new DbgBaseTypeInfo( debugger, moduleBase, typeId, BasicType.btChar, 1, target );

                case DbgNativeType.DNTYPE_WCHAR_T:
                    return new DbgBaseTypeInfo( debugger, moduleBase, typeId, BasicType.btWChar, 2, target );

                case DbgNativeType.DNTYPE_INT8:
                    return new DbgBaseTypeInfo( debugger, moduleBase, typeId, BasicType.btInt, 1, target );

                case DbgNativeType.DNTYPE_INT16:
                    return new DbgBaseTypeInfo( debugger, moduleBase, typeId, BasicType.btInt, 2, target );

                case DbgNativeType.DNTYPE_INT32:
                    return new DbgBaseTypeInfo( debugger, moduleBase, typeId, BasicType.btInt, 4, target );

                case DbgNativeType.DNTYPE_INT64:
                    return new DbgBaseTypeInfo( debugger, moduleBase, typeId, BasicType.btInt, 8, target );

                case DbgNativeType.DNTYPE_UINT8:
                    return new DbgBaseTypeInfo( debugger, moduleBase, typeId, BasicType.btUInt, 1, target );

                case DbgNativeType.DNTYPE_UINT16:
                    return new DbgBaseTypeInfo( debugger, moduleBase, typeId, BasicType.btUInt, 2, target );

                case DbgNativeType.DNTYPE_UINT32:
                    return new DbgBaseTypeInfo( debugger, moduleBase, typeId, BasicType.btUInt, 4, target );

                case DbgNativeType.DNTYPE_UINT64:
                    return new DbgBaseTypeInfo( debugger, moduleBase, typeId, BasicType.btUInt, 8, target );

                case DbgNativeType.DNTYPE_FLOAT32:
                    return new DbgBaseTypeInfo( debugger, moduleBase, typeId, BasicType.btFloat, 4, target );

                case DbgNativeType.DNTYPE_FLOAT64:
                    return new DbgBaseTypeInfo( debugger, moduleBase, typeId, BasicType.btFloat, 8, target );

                case DbgNativeType.DNTYPE_FLOAT80:
                    return new DbgBaseTypeInfo( debugger, moduleBase, typeId, BasicType.btFloat, 10, target );

                case DbgNativeType.DNTYPE_BOOL:
                    return new DbgBaseTypeInfo( debugger, moduleBase, typeId, BasicType.btBool, 1, target );

                case DbgNativeType.DNTYPE_LONG32:
                    return new DbgBaseTypeInfo( debugger, moduleBase, typeId, BasicType.btLong, 4, target );

                case DbgNativeType.DNTYPE_ULONG32:
                    return new DbgBaseTypeInfo( debugger, moduleBase, typeId, BasicType.btULong, 4, target );

                case DbgNativeType.DNTYPE_HRESULT:
                    return new DbgBaseTypeInfo( debugger, moduleBase, typeId, BasicType.btHresult, 4, target );

                case DbgNativeType.DNTYPE_WCHAR:
                    return new DbgBaseTypeInfo( debugger, moduleBase, typeId, BasicType.btWChar, 2, target );

                case DbgNativeType.DNTYPE_CLR_TYPE:
                    throw new NotImplementedException();

                case DbgNativeType.DNTYPE_MSIL_METHOD:
                    throw new NotImplementedException();

                case DbgNativeType.DNTYPE_CLR_METHOD:
                    throw new NotImplementedException();

                case DbgNativeType.DNTYPE_CLR_INTERNAL:
                    throw new NotImplementedException();

                case DbgNativeType.DNTYPE_PTR_FUNCTION32:
                    throw new NotImplementedException();

                case DbgNativeType.DNTYPE_PTR_FUNCTION64:
                    throw new NotImplementedException();

                case DbgNativeType.DNTYPE_NO_TYPE:
                    return new DbgBaseTypeInfo( debugger, moduleBase, typeId, BasicType.btNoType, 0, target );

                case DbgNativeType.DNTYPE_ERROR:
                    return new DbgBaseTypeInfo( debugger, moduleBase, typeId, BasicType.btNoType, 0, target );

                default:
                    throw new NotImplementedException( Util.Sprintf( "Unknown DbgNativeType: {0}", typeId ) );
            } // end switch( typeId )
        } // end _GetTypeInfoForDbgNativeType()