Class CilFinallyHandler
A CIL exception handler that has typical 'finally' behavior: it intercepts 'leave' branches.
Inherited Members
Namespace: Flame.Clr.Analysis
Assembly: Flame.Clr.dll
Syntax
public sealed class CilFinallyHandler : CilExceptionHandler
Constructors
| Improve this Doc View SourceCilFinallyHandler(BasicBlockTag, BasicBlockTag)
Creates a 'finally' exception handler.
Declaration
public CilFinallyHandler(BasicBlockTag landingPad, BasicBlockTag leavePad)
Parameters
Type | Name | Description |
---|---|---|
BasicBlockTag | landingPad | The landing pad to redirect flow to when an exception gets thrown. |
BasicBlockTag | leavePad | A special landing pad with zero parameters that is jumped to when the finally handler is to be run in the absence of an exception. The leave pad corresponds to the happy path. |
Properties
| Improve this Doc View SourceHandledExceptionTypes
Gets the list of types supported by this exception handler.
This property is null
if the handler catches all exceptions.
Declaration
public override IReadOnlyList<IType> HandledExceptionTypes { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IReadOnlyList<IType> | A list of exception types or |
Overrides
| Improve this Doc View SourceLandingPad
Gets the landing pad basic block to which flow is redirected when an exception is thrown.
Declaration
public override BasicBlockTag LandingPad { get; }
Property Value
Type | Description |
---|---|
BasicBlockTag | A basic block tag. |
Overrides
| Improve this Doc View SourceLeavePad
A special landing pad with zero parameters that is jumped to when the finally handler is to be run in the absence of an exception. The leave pad corresponds to the happy path.
Declaration
public BasicBlockTag LeavePad { get; }
Property Value
Type | Description |
---|---|
BasicBlockTag | The leave pad. |