public override WhileStatementNode VisitWhileStatement([NotNull] WhileStatementContext context) { var expr = VisitExpr(context.expr()); var block = context.block().Invoke(VisitBlock); var statement = context.statement().Invoke(VisitStatement); return(new WhileStatementNode(expr, block, statement, GetLocation(context))); }