//NB: This one might break, there was talk about refactoring all for loops to while loops behind the scenes protected override CrawlSyntaxNode VisitForLoop(ForLoopNode forLoop) { GenericScope scope = new GenericScope(new[] { new KeyValuePair <string, TypeInformation>( forLoop.LoopVariable.Value, new TypeInformation( forLoop.Loopvariable.ActualType, ProtectionLevel.NotApplicable, forLoop.LoopVariable.Interval.a, DeclaringScope.MethodLike) ), }); ForLoopNode afterVisit = (ForLoopNode)base.VisitForLoop(forLoop); return(afterVisit.WithScope(scope)); }