From 57c289f5fee4f7061d40a2aede6ef872f5ea5095 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Srbeck=C3=BD?= Date: Thu, 11 Jan 2007 12:28:53 +0000 Subject: [PATCH] Ignore base class of generic types and return 'object' instead git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/2.1@2283 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../Project/Src/Variables/ObjectValueClass.cs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Variables/ObjectValueClass.cs b/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Variables/ObjectValueClass.cs index e91248abf5..f946708085 100644 --- a/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Variables/ObjectValueClass.cs +++ b/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Variables/ObjectValueClass.cs @@ -210,6 +210,21 @@ namespace Debugger return currModule.CorModule.GetClassFromToken(superToken); } + // TypeSpec - generic class whith 'which' + if ((superToken & 0xFF000000) == 0x1B000000) { + // Walkaround - fake 'object' type + string fullTypeName = "System.Object"; + + foreach (Module superModule in process.Modules) { + try { + uint token = superModule.MetaData.FindTypeDefByName(fullTypeName, 0).Token; + return superModule.CorModule.GetClassFromToken(token); + } catch { + continue; + } + } + } + // TypeRef - Referencing to external assembly if ((superToken & 0xFF000000) == 0x01000000) { string fullTypeName = currModule.MetaData.GetTypeRefProps(superToken).Name;