public void visitStatement(StatementContext statement) { if (statement.expression() != null) { new ExpressionVisitor(symbolTable, method).visitExpression(statement.expression()); } else if (statement.assignment() != null) { new AssignmentVisitor(symbolTable, method).visitAssignment(statement.assignment()); } else if (statement.block() != null) { visitBlock(statement.block()); } else if (statement.jumpStatement() != null) { visitJumpStatement(statement.jumpStatement()); } else if (statement.IF() != null) { new IfStatementVisitor(this, symbolTable, method).visitIfStatement(statement); } else if (statement.forStatement() != null) { new CycleStatementVisitor(this, symbolTable, method) .visitForStatement(statement.forStatement()); } else if (statement.WHILE() != null) { new CycleStatementVisitor(this, symbolTable, method).visitWhileStatement(statement); } }