Beispiel #1
0
        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;