private IteratorFinallyFrame PushFrame(BoundTryStatement statement)
        {
            var state = _nextFinalizeState--;

            var finallyMethod = MakeSynthesizedFinally(state);
            var newFrame      = new IteratorFinallyFrame(
                _currentFinallyFrame,
                state,
                finallyMethod,
                _yieldsInTryAnalysis.Labels(statement)
                );

            newFrame.AddState(state);

            _currentFinallyFrame = newFrame;
            return(newFrame);
        }
        private IteratorFinallyFrame PushFrame(BoundTryStatement statement)
        {
            var syntax = statement.Syntax;

            if (slotAllocatorOpt?.TryGetPreviousStateMachineState(syntax, out var finalizeState) != true)
            {
                finalizeState = _nextFinalizeState--;
            }

            AddStateDebugInfo(syntax, finalizeState);

            var finallyMethod = MakeSynthesizedFinally(finalizeState);
            var newFrame      = new IteratorFinallyFrame(_currentFinallyFrame, finalizeState, finallyMethod, _yieldsInTryAnalysis.Labels(statement));

            newFrame.AddState(finalizeState);

            _currentFinallyFrame = newFrame;
            return(newFrame);
        }