diff --git a/src/AddIns/Debugger/Debugger.Core/TypeSystemExtensions.cs b/src/AddIns/Debugger/Debugger.Core/TypeSystemExtensions.cs
index c1c65b9eee..0300d5ffb2 100644
--- a/src/AddIns/Debugger/Debugger.Core/TypeSystemExtensions.cs
+++ b/src/AddIns/Debugger/Debugger.Core/TypeSystemExtensions.cs
@@ -65,6 +65,7 @@ namespace Debugger
var moduleMetadataInfo = new ModuleMetadataInfo(module);
foreach (var typeDef in asm.GetAllTypeDefinitions()) {
var cecilTypeDef = loader.GetCecilObject(typeDef);
+ loader.SetCurrentModule(cecilTypeDef.Module);
moduleMetadataInfo.MetadataTokens[typeDef] = cecilTypeDef.MetadataToken.ToUInt32();
foreach (var member in typeDef.Fields) {
var cecilMember = loader.GetCecilObject(member);
@@ -129,7 +130,7 @@ namespace Debugger
{
var info = GetInfo(method.ParentAssembly);
var variableTypes = info.LocalVariableTypes[method.UnresolvedMember];
- return variableTypes[index].Resolve(method.Compilation);
+ return variableTypes[index].Resolve(new SimpleTypeResolveContext(method));
}
#endregion
@@ -376,7 +377,7 @@ namespace Debugger
public static IField GetBackingField(this IMethod method)
{
- throw new NotImplementedException();
+ return null;
}
public static ICorDebugType[] GetTypeArguments(this IMethod method)
diff --git a/src/Libraries/NRefactory/ICSharpCode.NRefactory/TypeSystem/CecilLoader.cs b/src/Libraries/NRefactory/ICSharpCode.NRefactory/TypeSystem/CecilLoader.cs
index 1daa3457da..39b0487025 100644
--- a/src/Libraries/NRefactory/ICSharpCode.NRefactory/TypeSystem/CecilLoader.cs
+++ b/src/Libraries/NRefactory/ICSharpCode.NRefactory/TypeSystem/CecilLoader.cs
@@ -161,6 +161,16 @@ namespace ICSharpCode.NRefactory.TypeSystem
return result;
}
+ ///
+ /// Sets the current module.
+ /// This causes ReadTypeReference() to use for references
+ /// in that module.
+ ///
+ public void SetCurrentModule(ModuleDefinition module)
+ {
+ this.currentModule = module;
+ }
+
///
/// Loads a type from Cecil.
///