Browse Source

Fix bug in UsingTransform: Do not transform to using, if disposable instance is used after the finally block.

pull/870/merge
Siegfried Pammer 8 years ago
parent
commit
44687a01e2
  1. 2
      ICSharpCode.Decompiler/IL/Transforms/UsingTransform.cs

2
ICSharpCode.Decompiler/IL/Transforms/UsingTransform.cs

@ -124,6 +124,8 @@ namespace ICSharpCode.Decompiler.IL.Transforms
return false; return false;
if (!isinst.MatchIsInst(out var load, out var disposableType) || !load.MatchLdLoc(objVar) || !disposableType.IsKnownType(KnownTypeCode.IDisposable)) if (!isinst.MatchIsInst(out var load, out var disposableType) || !load.MatchLdLoc(objVar) || !disposableType.IsKnownType(KnownTypeCode.IDisposable))
return false; return false;
if (tempVar.StoreCount != 1 || tempVar.LoadCount != 2)
return false;
objVar = tempVar; objVar = tempVar;
isReference = true; isReference = true;
} }

Loading…
Cancel
Save