void visitSwitch(Switch* curr) { if (isDead(curr->value)) { replaceCurrent(curr->value); return; } for (auto target : curr->targets) { addBreak(target); } addBreak(curr->default_); reachable = false; }
void visitBreak(Break* curr) { if (isDead(curr->value)) { // the condition is evaluated last, so if the value was unreachable, the whole thing is replaceCurrent(curr->value); return; } addBreak(curr->name); if (!curr->condition) { reachable = false; } }
void UContainerTag::menu(QMenu &menu) { QMenu *m; if(isIndependent()) { m=menu.addMenu("Insert within"); }else m=&menu; m->addAction(" - Insert -")->setEnabled(false); m->addAction("Condition",this,SLOT(addCondition())); m->addAction("Traverse",this,SLOT(addTraverse())); m->addAction("Loop",this,SLOT(addLoop())); m->addAction("Break loop",this,SLOT(addBreak())); m->addAction("Continue loop",this,SLOT(addContinue())); m->addAction("Function call",this,SLOT(addFunction())); m->addAction("Variable assign",this,SLOT(addAssign())); m->addAction("Return",this,SLOT(addReturn())); m->addAction("Python command",this,SLOT(addExec())); m->addAction("Comment",this,SLOT(addComment())); }