Browse Source

Fix crash when decompiling delegate creation of generic method.

pull/10/head
Daniel Grunwald 14 years ago
parent
commit
4b6bd1bd7c
  1. 4
      ICSharpCode.Decompiler/Ast/Transforms/DelegateConstruction.cs
  2. 2
      ICSharpCode.Decompiler/DecompilerException.cs

4
ICSharpCode.Decompiler/Ast/Transforms/DelegateConstruction.cs

@ -74,10 +74,12 @@ namespace Decompiler.Transforms
} }
} }
// now transform the identifier into a member reference // now transform the identifier into a member reference
var typeArguments = methodIdent.TypeArguments.ToArray();
methodIdent.TypeArguments = null;
MemberReferenceExpression mre = new MemberReferenceExpression { MemberReferenceExpression mre = new MemberReferenceExpression {
Target = obj, Target = obj,
MemberName = methodIdent.Identifier, MemberName = methodIdent.Identifier,
TypeArguments = methodIdent.TypeArguments TypeArguments = typeArguments
}; };
mre.AddAnnotation(method); mre.AddAnnotation(method);
objectCreateExpression.Arguments = new [] { mre }; objectCreateExpression.Arguments = new [] { mre };

2
ICSharpCode.Decompiler/DecompilerException.cs

@ -15,7 +15,7 @@ namespace ICSharpCode.Decompiler
public MethodDefinition DecompiledMethod { get; set; } public MethodDefinition DecompiledMethod { get; set; }
public DecompilerException(MethodDefinition decompiledMethod, Exception innerException) public DecompilerException(MethodDefinition decompiledMethod, Exception innerException)
: base("Error decompiling " + decompiledMethod.FullName, innerException) : base("Error decompiling " + decompiledMethod.FullName + Environment.NewLine, innerException)
{ {
} }

Loading…
Cancel
Save