public override void LeaveGeneratorExpression(GeneratorExpression node)
{
using (ForeignReferenceCollector collector = new ForeignReferenceCollector())
{
collector.CurrentType = (IType)AstUtil.GetParentClass(node).Entity;
collector.Initialize(_context);
collector.Visit(node);
GeneratorExpressionProcessor processor = new GeneratorExpressionProcessor(_context, collector, node);
processor.Run();
ReplaceCurrentNode(processor.CreateEnumerableConstructorInvocation());
}
}