27 : this(tryStart, tryEnd, gotoEndTargetIndex, int.MaxValue, int.MaxValue, handlers)
52 if (exceptionHandler.
Matches(
type) && (exceptionHandler.Filter ==
null ||
FilterPasses(frame, ref unwrappedException, exceptionHandler.
Filter)))
54 handler = exceptionHandler;
61 unwrappedException =
null;
79 num = (frame.InstructionIndex = num + instructions[num].
Run(frame));
82 if ((
bool)frame.
Pop())
91 frame.StackIndex = stackIndex;
92 frame.InstructionIndex = instructionIndex;
readonly ExceptionFilter Filter
bool Matches(Type exceptionType)
int Run(InterpretedFrame frame)
void SaveTraceToException(Exception exception)
readonly Interpreter Interpreter
readonly RuntimeLabel[] _labels
InstructionArray Instructions
TryCatchFinallyHandler(int tryStart, int tryEnd, int gotoEndLabelIndex, int finallyStart, int finallyEnd, ExceptionHandler[] handlers)
ExceptionHandler[] Handlers
TryCatchFinallyHandler(int tryStart, int tryEnd, int gotoEndTargetIndex, ExceptionHandler[] handlers)
static bool FilterPasses(InterpretedFrame frame, ref object exception, ExceptionFilter filter)
readonly int GotoEndTargetIndex
readonly int FinallyEndIndex
readonly ExceptionHandler[] _handlers
bool HasHandler(InterpretedFrame frame, Exception exception, [NotNullWhen(true)] out ExceptionHandler handler, out object unwrappedException)
readonly int FinallyStartIndex
readonly int TryStartIndex
static ? Type GetType(string typeName, bool throwOnError, bool ignoreCase)
readonly Instruction[] Instructions