public override void VisitYield(YieldStatement yield)
{
if (currentIter == null) {
report.Error(yield.Location,
"`yield' statements may not appear in routines.");
return;
}
CheckReturnValue(yield);
yield.ResumePoint.Index = currentIter.ResumePoints.Count;
currentIter.ResumePoints.Add(yield.ResumePoint);
}