public override ForStatementNode VisitForStatement([NotNull] ForStatementContext context) { var declaration = context.forDecStatement()?.inlineStatement().Invoke(VisitInlineStatement); var condition = context.forConExpression()?.expr().Invoke(VisitExpr); var increment = context.forIncStatement()?.inlineStatement().Invoke(VisitInlineStatement); var block = context.block().Invoke(VisitBlock); var statement = context.statement().Invoke(VisitStatement); var body = (Node)block ?? statement; return(new ForStatementNode(declaration, condition, increment, body, GetLocation(context))); }