anchor.diff:            'TODO(paulberry): least upper bound of $type1 and $type2');
       }
     }
  -
  -  void _visitLoopBody(Statement loop, Statement body) {
  -    var previousBreakTarget = _currentBreakTarget;
  -    var previousContinueTarget = _currentContinueTarget;
  -    _currentBreakTarget = loop;
  -    _currentContinueTarget = loop;
  -    body._visit(this);
  -    _currentBreakTarget = previousBreakTarget;
  -    _currentContinueTarget = previousContinueTarget;
  -  }
   }
   
   class LabeledStatement extends Statement {
  
positive.code: 
    @override
    Type _visit(Harness h) {
      h._flow.isExpression_end(this, target.._visit(h), isInverted, type);
      return Type('bool');
    }
  }
  
  
negative.code: 
    @override
    void _visit(Harness h) {
      h._typeAnalyzer.analyzeSwitchStatement(this, expression, cases);
    }
  }
  
  