private IteratorFinallyMethodSymbol MakeSynthesizedFinally(int state)
        {
            var stateMachineType = (IteratorStateMachine)F.CurrentType;
            var finallyMethod    = new IteratorFinallyMethodSymbol(stateMachineType, GeneratedNames.MakeIteratorFinallyMethodName(state));

            F.ModuleBuilderOpt.AddSynthesizedDefinition(stateMachineType, finallyMethod);
            return(finallyMethod);
        }
            public IteratorFinallyFrame(
                IteratorFinallyFrame parent,
                int finalizeState,
                IteratorFinallyMethodSymbol handler,
                HashSet <LabelSymbol> labels)
            {
                Debug.Assert(parent != null, "non root frame must have a parent");
                Debug.Assert((object)handler != null, "non root frame must have a handler");

                this.parent        = parent;
                this.finalizeState = finalizeState;
                this.handler       = handler;
                this.labels        = labels;
            }