|
|
|
@ -319,10 +319,10 @@ namespace ICSharpCode.Decompiler.IL.Transforms
@@ -319,10 +319,10 @@ namespace ICSharpCode.Decompiler.IL.Transforms
|
|
|
|
|
return false; |
|
|
|
|
if (!(inst.Arguments[1] is LdVirtFtn ldVirtFtn)) |
|
|
|
|
return false; |
|
|
|
|
if (!inst.Arguments[0].Match(ldVirtFtn.Argument).Success) |
|
|
|
|
return false; |
|
|
|
|
if (!SemanticHelper.IsPure(inst.Arguments[0].Flags)) |
|
|
|
|
return false; |
|
|
|
|
if (!inst.Arguments[0].Match(ldVirtFtn.Argument).Success) |
|
|
|
|
return false; |
|
|
|
|
ldVirtDelegate = new LdVirtDelegate(inst.Arguments[0], inst.Method.DeclaringType, ldVirtFtn.Method) |
|
|
|
|
.WithILRange(inst).WithILRange(ldVirtFtn).WithILRange(ldVirtFtn.Argument); |
|
|
|
|
return true; |
|
|
|
@ -531,10 +531,10 @@ namespace ICSharpCode.Decompiler.IL.Transforms
@@ -531,10 +531,10 @@ namespace ICSharpCode.Decompiler.IL.Transforms
|
|
|
|
|
return false; |
|
|
|
|
if (!(dynamicCompoundAssign.Target is DynamicGetMemberInstruction getMember)) |
|
|
|
|
return false; |
|
|
|
|
if (!isEvent.Argument.Match(getMember.Target).Success) |
|
|
|
|
return false; |
|
|
|
|
if (!SemanticHelper.IsPure(isEvent.Argument.Flags)) |
|
|
|
|
return false; |
|
|
|
|
if (!isEvent.Argument.Match(getMember.Target).Success) |
|
|
|
|
return false; |
|
|
|
|
if (!(trueInst is DynamicInvokeMemberInstruction invokeMember)) |
|
|
|
|
return false; |
|
|
|
|
if (!(invokeMember.BinderFlags.HasFlag(CSharpBinderFlags.InvokeSpecialName) && invokeMember.BinderFlags.HasFlag(CSharpBinderFlags.ResultDiscarded))) |
|
|
|
|