protected internal override void CheckSemantics(AstHelper astHelper) { base.CheckSemantics(astHelper); _breakLabel = MAst.Label(); _continueLabel = MAst.Label(); Test.CheckSemantics(astHelper); AstHelper child = astHelper.CreateChild(loop: true, breakLabel: _breakLabel, continueLabel: _continueLabel); Body.CheckSemantics(child); astHelper.Errors.Check(new WhileBodyReturnsValueError(Body.Type, Start)); }