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"); }
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(); }