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. ///