Example #1
0
 public void TestCondition(IfElseAstNode expect, IfElseAstNode actual,
                           string traceMessage)
 {
     TestGeneral(expect.IfCondition, actual.IfCondition,
                 traceMessage + " -> IfCondition");
     TestGeneral(expect.IfBlock, actual.IfBlock,
                 traceMessage + " -> IfBlock");
     TestGeneral(expect.ElseBlock, actual.ElseBlock,
                 traceMessage + " -> ElseBlock");
 }
Example #2
0
        public void Visit(IfElseAstNode visitable)
        {
            if (_functionExpectReturn)
            {
                _functionAllPathReturn = false;
                _functionHasReturn     = false;
            }

            Visit(visitable.IfCondition);
            if (_exprType != "i64")
            {
                throw new WrongTypeException($"Cannot convert {_exprType} to boolean");
            }

            Visit(visitable.IfBlock);
            _functionAllPathReturn = false;
            if (visitable.ElseBlock is not null)
            {
                Visit(visitable.ElseBlock);
            }
        }
 public void Visit(IfElseAstNode visitable)
 {
     throw new System.NotImplementedException();
 }