You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ICSharpCode.ILSpy.AssertionFailedException: Container should not have any unreachable blocks
at ICSharpCode.ILSpy.ILSpyTraceListener.Fail(String message, String detailMessage) in ILSpyTraceListener.cs:line 82
at ICSharpCode.ILSpy.ILSpyTraceListener.Fail(String message) in ILSpyTraceListener.cs:line 47
at System.Diagnostics.TraceInternal.Fail(String message) in offset 55
at System.Diagnostics.Debug.Assert(Boolean condition, String message) in offset 7
at ICSharpCode.Decompiler.IL.BlockContainer.CheckInvariant(ILPhase phase) in BlockContainer.cs:line 187
at ICSharpCode.Decompiler.IL.ILInstruction.CheckInvariant(ILPhase phase) in ILInstruction.cs:line 79
at ICSharpCode.Decompiler.IL.ILFunction.CheckInvariant(ILPhase phase) in ILFunction.cs:line 252
at ICSharpCode.Decompiler.CSharp.CSharpDecompiler.DecompileBody(IMethod method, EntityDeclaration entityDecl, DecompileRun decompileRun, ITypeResolveContext decompilationContext) in CSharpDecompiler.cs:line 1329
Expected output
no assertion
Details
Product in use: ILSpy
Version in use: master
Occurs after pinned region detection
The text was updated successfully, but these errors were encountered:
This is C++/CLI code. C++/CLI pinned_ptr really doesn't map cleanly to C# fixed statements :(
Block IL_00b8 pins the contents of a string. There is no unpin instruction (the pin is valid for the remainder of the function).
Note how IL_00b8 can be bypassed via the IL_00a0->IL_00c5 edge; so it's unclear whether the remainder of the function should be inside or outside the fixed statement.
The assertion refers to IL_00c3 which apparently gets clones into the pinned region when it should be moved into it because it's not reachable from outside the pinned region.
Input code
Erroneous output
Expected output
no assertion
Details
The text was updated successfully, but these errors were encountered: