Esempio n. 1
0
        public override void Visit(ExtractMaxQueryNode node)
        {
            _symbolTable.SetCurrentNode(node);
            checkCollectionFollowsCollection(node.Variable);
            AllType?collectionNameType = _symbolTable.RetrieveSymbol(node.Variable, out bool isCollectionInQuery, false);

            if (isCollectionInQuery)
            {
                node.Type = collectionNameType.ToString().ToLower();
                if (!_symbolTable.IsClass(node.Type_enum) && node.Attribute != null && node.Attribute != "")
                {
                    _symbolTable.AttributeUsedOnNonClass();
                }
            }
            else
            {
                _symbolTable.NotCollection(node.Variable);
            }
            if (node.WhereCondition != null)
            {
                node.WhereCondition.Accept(this);
            }
        }