001package gudusoft.gsqlparser.stmt.oracle;
002
003import gudusoft.gsqlparser.*;
004import gudusoft.gsqlparser.nodes.TExpression;
005import gudusoft.gsqlparser.nodes.TParseTreeVisitor;
006
007/**
008 * Includes some basic expression statement in plsql.
009 */
010public class TBasicStmt extends TCustomSqlStatement {
011    public TBasicStmt(){
012        this(EDbVendor.dbvoracle);
013    }
014    
015     public TBasicStmt(EDbVendor dbvendor){
016        super(dbvendor);
017        sqlstatementtype = ESqlStatementType.sstplsql_procbasicstmt ;
018        }
019
020    void buildsql() {
021    }
022
023    void clear() {
024    }
025
026    String getasprettytext() {
027        return "";
028    }
029
030    void iterate(TVisitorAbs pvisitor) {
031    }
032
033    private TExpression expr = null;
034
035    public TExpression getExpr() {
036        return expr;
037    }
038
039    public void init(Object arg1){
040      expr = (TExpression)arg1;
041    }
042
043    public int doParseStatement(TCustomSqlStatement psql) {
044        super.doParseStatement(psql);
045        expr.doParse(this,ESqlClause.unknown);
046        if (expr.getExpressionType() == EExpressionType.simple_object_name_t){
047            expr.getObjectOperand().setDbObjectType(EDbObjectType.procedure);
048        }
049        return 0;
050    }
051
052    public void accept(TParseTreeVisitor v){
053        v.preVisit(this);
054        v.postVisit(this);
055    }
056
057    public void acceptChildren(TParseTreeVisitor v){
058        v.preVisit(this);
059        expr.acceptChildren(v);
060        v.postVisit(this);
061    }
062
063    public void setExpr(TExpression expr) {
064        this.expr = expr;
065    }
066}