Esempio n. 1
0
 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");
 }
Esempio n. 2
0
        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();
 }