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}