Exemple #1
0
 public override void Visit(OperatorNode node)
 {
     _symbolTable.SetCurrentNode(node);
     if (_symbolTable.IsClass(node.Left.Type_enum) && _symbolTable.IsClass(node.Right.Type_enum))
     {
         _symbolTable.ClassOperatorError();
     }
     else
     {
         node.Right.Accept(this);
         node.Left.Accept(this);
         CheckAllowedCast(node.Left.Type_enum, node.Right.Type_enum, out AllType? OverAllType, true);
         node.Type = OverAllType.ToString().ToLower();
     }
     VisitChildren(node);
 }