public StatementIdImp(BasicBlock bb, int index)
 {
     Debug.Assert(bb != null);
     Debug.Assert(index >= 0);
     Debug.Assert(index < bb.statements.Count);
     statementInfo = bb.statements[index];
 }
        /////////////////////////////////////////////////////////
        /////////////////////////////////////////////////////////
        public void delete()
        {
//            Console.WriteLine("deleting {0}", basicBlock.label + "_" + statementInfo.index.ToString());

            basicBlock.deleteStatement(index);
            statementInfo.basicBlock = null;
            statementInfo.index      = -1;
            statementInfo.preState   = null;
            statementInfo.postState  = null;
            statementInfo.statement  = null;
            statementInfo            = null;
        }