From 946de910c2e522a2bf810f2b609e6ec430b99c91 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Sun, 12 Jun 2016 20:05:23 +0900 Subject: [PATCH] fix TypeDefinition-bug in ResolvedFakeMethod and ResolvedFakeField --- ICSharpCode.Decompiler/TypeSystem/DecompilerTypeSystem.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ICSharpCode.Decompiler/TypeSystem/DecompilerTypeSystem.cs b/ICSharpCode.Decompiler/TypeSystem/DecompilerTypeSystem.cs index 95725f360..033a12dec 100644 --- a/ICSharpCode.Decompiler/TypeSystem/DecompilerTypeSystem.cs +++ b/ICSharpCode.Decompiler/TypeSystem/DecompilerTypeSystem.cs @@ -168,7 +168,7 @@ namespace ICSharpCode.Decompiler var f = new DefaultUnresolvedField(); f.Name = fieldReference.Name; f.ReturnType = typeReferenceCecilLoader.ReadTypeReference(fieldReference.FieldType); - return new ResolvedFakeField(f, context, declaringType); + return new ResolvedFakeField(f, context.WithCurrentTypeDefinition(declaringType.GetDefinition()), declaringType); } class ResolvedFakeField : DefaultResolvedField @@ -282,7 +282,8 @@ namespace ICSharpCode.Decompiler foreach (var p in methodReference.Parameters) { m.Parameters.Add(new DefaultUnresolvedParameter(typeReferenceCecilLoader.ReadTypeReference(p.ParameterType), p.Name)); } - return new ResolvedFakeMethod(m, context, declaringTypeReference.Resolve(context)); + var type = declaringTypeReference.Resolve(context); + return new ResolvedFakeMethod(m, context.WithCurrentTypeDefinition(type.GetDefinition()), type); } class ResolvedFakeMethod : DefaultResolvedMethod