anchor.diff:      assert(!casesIterator.moveNext());
   
       return buildBreakTarget(new ir.SwitchStatement(expression, cases), node,
  -        elements.getTargetDefinition(node));
  +        elements.getTargetDefinition(node), switchIsBreakTarget);
     }
   
     @override
  
positive.code:     return continueSwitchTargets[target];
    }
  
    ir.Statement buildBreakTarget(
        ir.Statement statement, Node node, JumpTarget jumpTarget) {
      assert(node.isValidBreakTarget());
      assert(jumpTarget == elements.getTargetDefinition(node));
      associateNode(statement, node);
      if (jumpTarget != null && jumpTarget.isBreakTarget) {
        ir.LabeledStatement breakTarget = getBreakTarget(jumpTarget);
        breakTarget.body = statement;
        statement.parent = breakTarget;
  
negative.code:   ir.Statement visitSwitchStatement(SwitchStatement node) {
      ir.Expression expression = visitForValue(node.expression);
      List<ir.SwitchCase> cases = <ir.SwitchCase>[];
      bool switchIsBreakTarget = elements.getTargetDefinition(node).isBreakTarget;
      for (SwitchCase caseNode in node.cases.nodes) {
        cases.add(caseNode.accept(this));
        JumpTarget jumpTarget = elements.getTargetDefinition(caseNode);
  