diff --git a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Debugger.Tests.csproj b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Debugger.Tests.csproj
index 101c5da720..f350b97e90 100644
--- a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Debugger.Tests.csproj
+++ b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Debugger.Tests.csproj
@@ -43,6 +43,7 @@
+
diff --git a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/DebuggerTests.cs b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/DebuggerTests.cs
index 91f950b31a..c6fe9036c3 100644
--- a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/DebuggerTests.cs
+++ b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/DebuggerTests.cs
@@ -442,5 +442,22 @@ namespace Debugger.Tests
process.WaitForExit();
CheckXmlOutput();
}
+
+ [Test]
+ public void Generics()
+ {
+ StartTest("Generics");
+
+ for(int i = 0; i < 8; i++) {
+ WaitForPause();
+ ObjectDump("SelectedFunction", process.SelectedFunction);
+ process.Continue();
+ }
+
+ WaitForPause();
+ process.Continue();
+ process.WaitForExit();
+ CheckXmlOutput();
+ }
}
}
diff --git a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/DebuggerTestsBase.cs b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/DebuggerTestsBase.cs
index 31f71ad8a1..f9b641fdbd 100644
--- a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/DebuggerTestsBase.cs
+++ b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/DebuggerTestsBase.cs
@@ -177,6 +177,7 @@ namespace Debugger.Tests
}
foreach(System.Reflection.PropertyInfo property in type.GetProperties()) {
+ if (property.GetGetMethod() == null) continue;
if (property.GetGetMethod().GetParameters().Length > 0) continue;
if (property.GetCustomAttributes(typeof(Debugger.Tests.IgnoreAttribute), true).Length > 0) continue;
diff --git a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Generics.cs b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Generics.cs
new file mode 100644
index 0000000000..d31d1de187
--- /dev/null
+++ b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Generics.cs
@@ -0,0 +1,85 @@
+//
+//
+//
+//
+// $Revision: 1634 $
+//
+
+using System;
+
+namespace Debugger.Tests.TestPrograms
+{
+ public class MainClass
+ {
+ public static void Main()
+ {
+ GenericClass gClass = new GenericClass();
+ gClass.Metod(1, "1!");
+ gClass.GenericMethod(1, "1!");
+ GenericClass.StaticMetod(1, "1!");
+ GenericClass.StaticGenericMethod(1, "1!");
+
+ GenericStruct gStruct = new GenericStruct();
+ gStruct.Metod(1, "1!");
+ gStruct.GenericMethod(1, "1!");
+ GenericStruct.StaticMetod(1, "1!");
+ GenericStruct.StaticGenericMethod(1, "1!");
+
+ System.Diagnostics.Debugger.Break();
+ }
+ }
+
+ public class GenericClass
+ {
+ public K Metod(V v, K k)
+ {
+ System.Diagnostics.Debugger.Break();
+ return k;
+ }
+
+ public T GenericMethod(V v, K k)
+ {
+ System.Diagnostics.Debugger.Break();
+ return default(T);
+ }
+
+ public static K StaticMetod(V v, K k)
+ {
+ System.Diagnostics.Debugger.Break();
+ return k;
+ }
+
+ public static T StaticGenericMethod(V v, K k)
+ {
+ System.Diagnostics.Debugger.Break();
+ return default(T);
+ }
+ }
+
+ public struct GenericStruct
+ {
+ public K Metod(V v, K k)
+ {
+ System.Diagnostics.Debugger.Break();
+ return k;
+ }
+
+ public T GenericMethod(V v, K k)
+ {
+ System.Diagnostics.Debugger.Break();
+ return default(T);
+ }
+
+ public static K StaticMetod(V v, K k)
+ {
+ System.Diagnostics.Debugger.Break();
+ return k;
+ }
+
+ public static T StaticGenericMethod(V v, K k)
+ {
+ System.Diagnostics.Debugger.Break();
+ return default(T);
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Generics.xml b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Generics.xml
new file mode 100644
index 0000000000..70d325d274
--- /dev/null
+++ b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Generics.xml
@@ -0,0 +1,1116 @@
+
+
+
+
+ mscorlib.dll
+ Generics.exe
+ Break
+
+
+ Metod
+ Generics.exe
+ False
+ True
+ False
+
+
+ null
+
+
+ False
+ Debugger.Wrappers.CorSym.ISymUnmanagedReader
+ Debugger.Wrappers.CorDebug.ICorDebugModule
+ 4194304
+ False
+ False
+ C:\Documents and Settings\User\Local Settings\Temp\SharpDevelop\DebuggerTests\1BB0DE2859DD9A8A9B239F74810B2C2A\Generics.exe
+ Generics.exe
+ C:\Documents and Settings\User\Local Settings\Temp\SharpDevelop\DebuggerTests\1BB0DE2859DD9A8A9B239F74810B2C2A
+ True
+ 1
+
+
+ 33554435
+ Debugger.Tests.TestPrograms.GenericClass<System.Int32,System.String>
+ False
+ False
+ True
+ True
+ False
+ False
+ False
+
+
+ null
+
+
+ False
+ null
+ Debugger.Wrappers.CorDebug.ICorDebugModule
+ 2030829568
+ False
+ False
+ C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll
+ mscorlib.dll
+ C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089
+ False
+ 0
+
+
+ 33554434
+ System.Object
+ False
+ False
+ False
+ True
+ False
+ False
+ False
+ null
+
+
+
+
+ Start=36,4 End=36,40
+
+
+ False
+
+
+
+ True
+ False
+ False
+
+ this
+ False
+ {Debugger.Tests.TestPrograms.GenericClass<System.Int32,System.String>}
+ False
+ Debugger.Tests.TestPrograms.GenericClass<System.Int32,System.String>
+
+
+
+
+ 0
+
+
+
+ 2
+
+
+ 2
+
+
+ False
+
+
+
+ False
+ True
+ True
+ 1
+ v
+ False
+ 1
+ False
+ System.Int32
+
+
+ False
+
+
+
+ False
+ True
+ False
+ 1!
+ k
+ False
+ 1!
+ False
+ System.String
+
+
+
+
+
+
+ 0
+
+
+
+
+
+ Break
+
+
+ GenericMethod
+ Generics.exe
+ False
+ True
+ False
+
+
+ null
+
+
+ False
+ Debugger.Wrappers.CorSym.ISymUnmanagedReader
+ Debugger.Wrappers.CorDebug.ICorDebugModule
+ 4194304
+ False
+ False
+ C:\Documents and Settings\User\Local Settings\Temp\SharpDevelop\DebuggerTests\1BB0DE2859DD9A8A9B239F74810B2C2A\Generics.exe
+ Generics.exe
+ C:\Documents and Settings\User\Local Settings\Temp\SharpDevelop\DebuggerTests\1BB0DE2859DD9A8A9B239F74810B2C2A
+ True
+ 1
+
+
+ 33554435
+ Debugger.Tests.TestPrograms.GenericClass<System.Int32,System.String>
+ False
+ False
+ True
+ True
+ False
+ False
+ False
+
+
+ null
+
+
+ False
+ null
+ Debugger.Wrappers.CorDebug.ICorDebugModule
+ 2030829568
+ False
+ False
+ C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll
+ mscorlib.dll
+ C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089
+ False
+ 0
+
+
+ 33554434
+ System.Object
+ False
+ False
+ False
+ True
+ False
+ False
+ False
+ null
+
+
+
+
+ Start=42,4 End=42,40
+
+
+ False
+
+
+
+ True
+ False
+ False
+
+ this
+ False
+ {Debugger.Tests.TestPrograms.GenericClass<System.Int32,System.String>}
+ False
+ Debugger.Tests.TestPrograms.GenericClass<System.Int32,System.String>
+
+
+
+
+ 0
+
+
+
+ 2
+
+
+ 2
+
+
+ False
+
+
+
+ False
+ True
+ True
+ 1
+ v
+ False
+ 1
+ False
+ System.Int32
+
+
+ False
+
+
+
+ False
+ True
+ False
+ 1!
+ k
+ False
+ 1!
+ False
+ System.String
+
+
+
+
+
+
+ 0
+
+
+
+
+
+ Break
+
+
+ StaticMetod
+ Generics.exe
+ True
+ True
+ False
+
+
+ null
+
+
+ False
+ Debugger.Wrappers.CorSym.ISymUnmanagedReader
+ Debugger.Wrappers.CorDebug.ICorDebugModule
+ 4194304
+ False
+ False
+ C:\Documents and Settings\User\Local Settings\Temp\SharpDevelop\DebuggerTests\1BB0DE2859DD9A8A9B239F74810B2C2A\Generics.exe
+ Generics.exe
+ C:\Documents and Settings\User\Local Settings\Temp\SharpDevelop\DebuggerTests\1BB0DE2859DD9A8A9B239F74810B2C2A
+ True
+ 1
+
+
+ 33554435
+ Debugger.Tests.TestPrograms.GenericClass<System.Int32,System.String>
+ False
+ False
+ True
+ True
+ False
+ False
+ False
+
+
+ null
+
+
+ False
+ null
+ Debugger.Wrappers.CorDebug.ICorDebugModule
+ 2030829568
+ False
+ False
+ C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll
+ mscorlib.dll
+ C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089
+ False
+ 0
+
+
+ 33554434
+ System.Object
+ False
+ False
+ False
+ True
+ False
+ False
+ False
+ null
+
+
+
+
+ Start=48,4 End=48,40
+
+
+
+ 0
+
+
+
+ 2
+
+
+ 2
+
+
+ False
+
+
+
+ False
+ True
+ True
+ 1
+ v
+ False
+ 1
+ False
+ System.Int32
+
+
+ False
+
+
+
+ False
+ True
+ False
+ 1!
+ k
+ False
+ 1!
+ False
+ System.String
+
+
+
+
+
+
+ 0
+
+
+
+
+
+ Break
+
+
+ StaticGenericMethod
+ Generics.exe
+ True
+ True
+ False
+
+
+ null
+
+
+ False
+ Debugger.Wrappers.CorSym.ISymUnmanagedReader
+ Debugger.Wrappers.CorDebug.ICorDebugModule
+ 4194304
+ False
+ False
+ C:\Documents and Settings\User\Local Settings\Temp\SharpDevelop\DebuggerTests\1BB0DE2859DD9A8A9B239F74810B2C2A\Generics.exe
+ Generics.exe
+ C:\Documents and Settings\User\Local Settings\Temp\SharpDevelop\DebuggerTests\1BB0DE2859DD9A8A9B239F74810B2C2A
+ True
+ 1
+
+
+ 33554435
+ Debugger.Tests.TestPrograms.GenericClass<System.Int32,System.String>
+ False
+ False
+ True
+ True
+ False
+ False
+ False
+
+
+ null
+
+
+ False
+ null
+ Debugger.Wrappers.CorDebug.ICorDebugModule
+ 2030829568
+ False
+ False
+ C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll
+ mscorlib.dll
+ C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089
+ False
+ 0
+
+
+ 33554434
+ System.Object
+ False
+ False
+ False
+ True
+ False
+ False
+ False
+ null
+
+
+
+
+ Start=54,4 End=54,40
+
+
+
+ 0
+
+
+
+ 2
+
+
+ 2
+
+
+ False
+
+
+
+ False
+ True
+ True
+ 1
+ v
+ False
+ 1
+ False
+ System.Int32
+
+
+ False
+
+
+
+ False
+ True
+ False
+ 1!
+ k
+ False
+ 1!
+ False
+ System.String
+
+
+
+
+
+
+ 0
+
+
+
+
+
+ Break
+
+
+ Metod
+ Generics.exe
+ False
+ True
+ False
+
+
+ null
+
+
+ False
+ Debugger.Wrappers.CorSym.ISymUnmanagedReader
+ Debugger.Wrappers.CorDebug.ICorDebugModule
+ 4194304
+ False
+ False
+ C:\Documents and Settings\User\Local Settings\Temp\SharpDevelop\DebuggerTests\1BB0DE2859DD9A8A9B239F74810B2C2A\Generics.exe
+ Generics.exe
+ C:\Documents and Settings\User\Local Settings\Temp\SharpDevelop\DebuggerTests\1BB0DE2859DD9A8A9B239F74810B2C2A
+ True
+ 1
+
+
+ 33554436
+ Debugger.Tests.TestPrograms.GenericStruct<System.Int32,System.String>
+ False
+ False
+ True
+ False
+ True
+ False
+ False
+
+
+ null
+
+
+ False
+ null
+ Debugger.Wrappers.CorDebug.ICorDebugModule
+ 2030829568
+ False
+ False
+ C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll
+ mscorlib.dll
+ C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089
+ False
+ 0
+
+
+ 33554446
+ System.ValueType
+ False
+ False
+ False
+ True
+ False
+ False
+ False
+
+
+ null
+
+
+ False
+ null
+ Debugger.Wrappers.CorDebug.ICorDebugModule
+ 2030829568
+ False
+ False
+ C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll
+ mscorlib.dll
+ C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089
+ False
+ 0
+
+
+ 33554434
+ System.Object
+ False
+ False
+ False
+ True
+ False
+ False
+ False
+ null
+
+
+
+
+
+
+ Start=63,4 End=63,40
+
+
+ 2
+
+
+ 2
+
+
+ False
+
+
+
+ False
+ True
+ True
+ 1
+ v
+ False
+ 1
+ False
+ System.Int32
+
+
+ False
+
+
+
+ False
+ True
+ False
+ 1!
+ k
+ False
+ 1!
+ False
+ System.String
+
+
+
+
+
+
+ 0
+
+
+
+
+
+ Break
+
+
+ GenericMethod
+ Generics.exe
+ False
+ True
+ False
+
+
+ null
+
+
+ False
+ Debugger.Wrappers.CorSym.ISymUnmanagedReader
+ Debugger.Wrappers.CorDebug.ICorDebugModule
+ 4194304
+ False
+ False
+ C:\Documents and Settings\User\Local Settings\Temp\SharpDevelop\DebuggerTests\1BB0DE2859DD9A8A9B239F74810B2C2A\Generics.exe
+ Generics.exe
+ C:\Documents and Settings\User\Local Settings\Temp\SharpDevelop\DebuggerTests\1BB0DE2859DD9A8A9B239F74810B2C2A
+ True
+ 1
+
+
+ 33554436
+ Debugger.Tests.TestPrograms.GenericStruct<System.Int32,System.String>
+ False
+ False
+ True
+ False
+ True
+ False
+ False
+
+
+ null
+
+
+ False
+ null
+ Debugger.Wrappers.CorDebug.ICorDebugModule
+ 2030829568
+ False
+ False
+ C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll
+ mscorlib.dll
+ C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089
+ False
+ 0
+
+
+ 33554446
+ System.ValueType
+ False
+ False
+ False
+ True
+ False
+ False
+ False
+
+
+ null
+
+
+ False
+ null
+ Debugger.Wrappers.CorDebug.ICorDebugModule
+ 2030829568
+ False
+ False
+ C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll
+ mscorlib.dll
+ C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089
+ False
+ 0
+
+
+ 33554434
+ System.Object
+ False
+ False
+ False
+ True
+ False
+ False
+ False
+ null
+
+
+
+
+
+
+ Start=69,4 End=69,40
+
+
+ 2
+
+
+ 2
+
+
+ False
+
+
+
+ False
+ True
+ True
+ 1
+ v
+ False
+ 1
+ False
+ System.Int32
+
+
+ False
+
+
+
+ False
+ True
+ False
+ 1!
+ k
+ False
+ 1!
+ False
+ System.String
+
+
+
+
+
+
+ 0
+
+
+
+
+
+ Break
+
+
+ StaticMetod
+ Generics.exe
+ True
+ True
+ False
+
+
+ null
+
+
+ False
+ Debugger.Wrappers.CorSym.ISymUnmanagedReader
+ Debugger.Wrappers.CorDebug.ICorDebugModule
+ 4194304
+ False
+ False
+ C:\Documents and Settings\User\Local Settings\Temp\SharpDevelop\DebuggerTests\1BB0DE2859DD9A8A9B239F74810B2C2A\Generics.exe
+ Generics.exe
+ C:\Documents and Settings\User\Local Settings\Temp\SharpDevelop\DebuggerTests\1BB0DE2859DD9A8A9B239F74810B2C2A
+ True
+ 1
+
+
+ 33554436
+ Debugger.Tests.TestPrograms.GenericStruct<System.Int32,System.String>
+ False
+ False
+ True
+ False
+ True
+ False
+ False
+
+
+ null
+
+
+ False
+ null
+ Debugger.Wrappers.CorDebug.ICorDebugModule
+ 2030829568
+ False
+ False
+ C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll
+ mscorlib.dll
+ C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089
+ False
+ 0
+
+
+ 33554446
+ System.ValueType
+ False
+ False
+ False
+ True
+ False
+ False
+ False
+
+
+ null
+
+
+ False
+ null
+ Debugger.Wrappers.CorDebug.ICorDebugModule
+ 2030829568
+ False
+ False
+ C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll
+ mscorlib.dll
+ C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089
+ False
+ 0
+
+
+ 33554434
+ System.Object
+ False
+ False
+ False
+ True
+ False
+ False
+ False
+ null
+
+
+
+
+
+
+ Start=75,4 End=75,40
+
+
+
+ 0
+
+
+
+ 2
+
+
+ 2
+
+
+ False
+
+
+
+ False
+ True
+ True
+ 1
+ v
+ False
+ 1
+ False
+ System.Int32
+
+
+ False
+
+
+
+ False
+ True
+ False
+ 1!
+ k
+ False
+ 1!
+ False
+ System.String
+
+
+
+
+
+
+ 0
+
+
+
+
+
+ Break
+
+
+ StaticGenericMethod
+ Generics.exe
+ True
+ True
+ False
+
+
+ null
+
+
+ False
+ Debugger.Wrappers.CorSym.ISymUnmanagedReader
+ Debugger.Wrappers.CorDebug.ICorDebugModule
+ 4194304
+ False
+ False
+ C:\Documents and Settings\User\Local Settings\Temp\SharpDevelop\DebuggerTests\1BB0DE2859DD9A8A9B239F74810B2C2A\Generics.exe
+ Generics.exe
+ C:\Documents and Settings\User\Local Settings\Temp\SharpDevelop\DebuggerTests\1BB0DE2859DD9A8A9B239F74810B2C2A
+ True
+ 1
+
+
+ 33554436
+ Debugger.Tests.TestPrograms.GenericStruct<System.Int32,System.String>
+ False
+ False
+ True
+ False
+ True
+ False
+ False
+
+
+ null
+
+
+ False
+ null
+ Debugger.Wrappers.CorDebug.ICorDebugModule
+ 2030829568
+ False
+ False
+ C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll
+ mscorlib.dll
+ C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089
+ False
+ 0
+
+
+ 33554446
+ System.ValueType
+ False
+ False
+ False
+ True
+ False
+ False
+ False
+
+
+ null
+
+
+ False
+ null
+ Debugger.Wrappers.CorDebug.ICorDebugModule
+ 2030829568
+ False
+ False
+ C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll
+ mscorlib.dll
+ C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089
+ False
+ 0
+
+
+ 33554434
+ System.Object
+ False
+ False
+ False
+ True
+ False
+ False
+ False
+ null
+
+
+
+
+
+
+ Start=81,4 End=81,40
+
+
+
+ 0
+
+
+
+ 2
+
+
+ 2
+
+
+ False
+
+
+
+ False
+ True
+ True
+ 1
+ v
+ False
+ 1
+ False
+ System.Int32
+
+
+ False
+
+
+
+ False
+ True
+ False
+ 1!
+ k
+ False
+ 1!
+ False
+ System.String
+
+
+
+
+
+
+ 0
+
+
+
+
+
+ Break
+
+
+
\ No newline at end of file