Browse Source

Include checking for "this" when dealing with CSharpBinderFlags.InvokeSimpleName

pull/2289/head
Siegfried Pammer 5 years ago
parent
commit
3d26536fff
  1. 2
      ICSharpCode.Decompiler/CSharp/ExpressionBuilder.cs

2
ICSharpCode.Decompiler/CSharp/ExpressionBuilder.cs

@ -3813,7 +3813,7 @@ namespace ICSharpCode.Decompiler.CSharp @@ -3813,7 +3813,7 @@ namespace ICSharpCode.Decompiler.CSharp
{
Expression targetExpr;
var target = TranslateDynamicTarget(inst.Arguments[0], inst.ArgumentInfo[0]);
if (inst.BinderFlags.HasFlag(CSharpBinderFlags.InvokeSimpleName))
if (inst.BinderFlags.HasFlag(CSharpBinderFlags.InvokeSimpleName) && target.Expression is ThisReferenceExpression)
{
targetExpr = new IdentifierExpression(inst.Name);
((IdentifierExpression)targetExpr).TypeArguments.AddRange(inst.TypeArguments.Select(ConvertType));

Loading…
Cancel
Save