Browse Source

fix problem with captured/local variables in a generic context while debugging

pull/520/merge
Siegfried Pammer 11 years ago
parent
commit
a8a3391f25
  1. 4
      src/AddIns/Debugger/Debugger.Core/TypeSystemExtensions.cs
  2. 2
      src/AddIns/DisplayBindings/ILSpyAddIn/ILSpySymbolSource.cs

4
src/AddIns/Debugger/Debugger.Core/TypeSystemExtensions.cs

@ -232,7 +232,9 @@ namespace Debugger @@ -232,7 +232,9 @@ namespace Debugger
{
var info = GetInfo(method.ParentAssembly);
var variableTypes = info.GetLocalVariableTypes(method.UnresolvedMember);
return variableTypes[index].Resolve(new SimpleTypeResolveContext(method));
return variableTypes[index]
.Resolve(new SimpleTypeResolveContext(method))
.AcceptVisitor(method.Substitution);
}
#endregion

2
src/AddIns/DisplayBindings/ILSpyAddIn/ILSpySymbolSource.cs

@ -106,7 +106,7 @@ namespace ICSharpCode.ILSpyAddIn @@ -106,7 +106,7 @@ namespace ICSharpCode.ILSpyAddIn
return symbols.LocalVariables.Where(v => v.OriginalVariable != null).Select(
v => new Debugger.ILLocalVariable() {
Index = v.OriginalVariable.Index,
Type = loader.ReadTypeReference(v.Type).Resolve(context),
Type = loader.ReadTypeReference(v.Type).Resolve(context).AcceptVisitor(method.Substitution),
Name = v.Name,
IsCompilerGenerated = false,
ILRanges = new [] { new ILRange(0, int.MaxValue) }

Loading…
Cancel
Save