public override void EnterForStatement([NotNull] ForStatementContext context) { ForStatement statement = new ForStatement(Parent, context); StatementListener statementListener = new StatementListener(statement); context.forControl().forInit.EnterRule(statementListener); statement.Init = statementListener.GetResult().First(); statementListener = new StatementListener(statement); context.statement().EnterRule(statementListener); statement.Statements = statementListener.GetResult(); ExpressionListener expressionListener = new ExpressionListener(statement); context.forControl().forCond.EnterRule(expressionListener); statement.Condition = expressionListener.GetResult(); statementListener = new StatementListener(statement); context.forControl().forUpdate.EnterRule(statementListener); statement.Update = statementListener.GetResult().First(); Result.Add(statement); }