001package gudusoft.gsqlparser.nodes.teradata;
002
003import gudusoft.gsqlparser.ESqlClause;
004import gudusoft.gsqlparser.TCustomSqlStatement;
005import gudusoft.gsqlparser.nodes.TExpression;
006import gudusoft.gsqlparser.nodes.TExpressionList;
007import gudusoft.gsqlparser.nodes.TParseTreeNode;
008import gudusoft.gsqlparser.nodes.TParseTreeVisitor;
009
010
011public class TRangeNFunctionItem  extends TParseTreeNode {
012    private TExpression startExpression;
013
014
015    private TExpression endExpression;
016    private TExpression rangeSize;
017
018    public  void init (Object arg1){
019        this.startExpression = (TExpression)arg1;
020    }
021    public  void init (Object arg1,Object arg2){
022        startExpression = (TExpression)arg1;
023        endExpression = (TExpression)arg2;
024    }
025
026    public TExpression getStartExpression() {
027        return startExpression;
028    }
029
030    public TExpression getEndExpression() {
031        return endExpression;
032    }
033
034    public TExpression getRangeSize() {
035        return rangeSize;
036    }
037
038    public  void init (Object arg1, Object arg2, Object arg3){
039        init(arg1,arg2);
040        rangeSize = (TExpression)arg3;
041    }
042
043    public void doParse(TCustomSqlStatement psql, ESqlClause plocation){
044        this.startExpression.doParse(psql,plocation);
045        if (this.endExpression != null){
046            this.endExpression.doParse(psql,plocation);
047        }
048
049        if (rangeSize != null){
050            rangeSize.doParse(psql,plocation);
051        }
052    }
053
054    public void accept(TParseTreeVisitor v){
055        v.preVisit(this);
056        v.postVisit(this);
057    }
058
059    public void acceptChildren(TParseTreeVisitor v){
060        v.preVisit(this);
061        v.postVisit(this);
062    }
063}