コード例 #1
0
        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));
        }