public void TestVariableDefine(VariableDefineAstNode expect, VariableDefineAstNode actual, string traceMessage) { Assert.IsNotNull(actual, traceMessage); Assert.AreEqual(expect.Type, actual.Type, traceMessage); Assert.AreEqual(expect.Name, actual.Name, traceMessage); TestGeneral(expect.AssignAst, actual.AssignAst, traceMessage + " -> Assign"); }
public void Visit(VariableDefineAstNode visitable) { _context.AddVariable(visitable.Type, visitable.Name); _exprType = visitable.Type; if (visitable.AssignAst is null) { return; } Visit(visitable.AssignAst); if (visitable.Type != _exprType) { throw new WrongTypeException( $"Cannot convert {_exprType} expression to {visitable.Type}"); } }
public void Visit(VariableDefineAstNode visitable) { throw new System.NotImplementedException(); }