content: package com.alibaba.druid.sql.ast.statement;
  
  import com.alibaba.druid.sql.ast.SQLExpr;
  import com.alibaba.druid.sql.ast.SQLName;
  import com.alibaba.druid.sql.ast.SQLStatement;
  import com.alibaba.druid.sql.ast.SQLStatementImpl;
  import com.alibaba.druid.sql.visitor.SQLASTVisitor;
  
  import java.util.ArrayList;
  import java.util.List;
  
  public class SQLForStatement extends SQLStatementImpl {
      protected SQLName index;
      protected boolean isReverse;
      protected SQLExpr range;
  
      protected List<SQLStatement> statements = new ArrayList<SQLStatement>();
  
      public SQLForStatement() {
      }
  
      public SQLName getIndex() {
          return index;
      }
  
      public void setIndex(SQLName index) {
          this.index = index;
      }
  
      public void setReverse(boolean isReverse) {
          this.isReverse = isReverse;
      }
  
      public boolean isReverse() {
          return isReverse;
      }
  
      public SQLExpr getRange() {
          return range;
      }
  
      public void setRange(SQLExpr range) {
          if (range != null) {
              range.setParent(this);
          }
          this.range = range;
      }
  
      public List<SQLStatement> getStatements() {
          return statements;
      }
  
      @Override
      protected void accept0(SQLASTVisitor v) {
          if (v.visit(this)) {
              acceptChild(v, index);
              acceptChild(v, range);
              acceptChild(v, statements);
          }
          v.endVisit(this);
  
      }
  }
  