Esempio n. 1
0
Statement*
Block::dup0() const
{
    Block *ret = new Block(location);

    for (Statement *stemnt=head; stemnt; stemnt=stemnt->next)
        ret->add(stemnt->dup());

    LabelVector::const_iterator    j;
    for (j=labels.begin(); j != labels.end(); j++)
        ret->addLabel((*j)->dup());

    return ret;
}
Esempio n. 2
0
void RvArrAssume::block(Statement *node)
{
  if (!node)
  {
//    null(); //ofer
  } 
  else if (node->isBlock()) node->accept(this);
  else
  {
    Block *blk = new Block(node->location);
    blk->add(node->dup());
    LabelVector::const_iterator    j;
    for (j=node->labels.begin(); j != node->labels.end(); j++)
        blk->addLabel((*j)->dup());
    blk->accept(this);
  }
}