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; }