internal Expression InlineFinally(ExpressionVisitor visitor, StatePlaceholderExpression leavingState) { var finallyCode = Content.Finally; finallyCode = finallyCode is null ? new ExitGuardedCodeExpression(leavingState, false) : finallyCode.AddEpilogue(false, new ExitGuardedCodeExpression(leavingState, true)); finallyCode = finallyCode.AddEpilogue(false, epilogue); finallyCode = Inliner.Rewrite(finallyCode); return(visitor.Visit(finallyCode)); }
internal ExitGuardedCodeExpression(StatePlaceholderExpression placeholder) : base(placeholder) { }
private protected TransitionExpression(StatePlaceholderExpression placeholder) => StateId = placeholder;