예제 #1
0
        private void AnalyRaw(StmtRaw raw)
        {
            Stmt stmt  = CreateStmt((StmtRaw)raw);
            Stmt stmt2 = stmt.Analy();

            Stmts.Add(stmt2);
        }
예제 #2
0
 public override void Analy()
 {
     catchStmtIndexList = new List <int>();
     //catchStmtIndexList.Add(0);
     for (var i = 0; i < StmtList.Count; i++)// Stmt stmt in StmtList)
     {
         Stmt stmt = StmtList[i];
         stmt.ProcContext = this.ProcContext;//.SetProcContext(this.ProcContext);
         stmt.Analy();
         if (stmt is StmtCatch)
         {
             catchStmtIndexList.Add(i + 1);
         }
     }
     if (catchStmtIndexList.Count > 0)
     {
         InsertCatch();
     }
 }