public override void Visit(SelectQueryNode node) { _symbolTable.SetCurrentNode(node); checkCollectionFollowsCollection(node.Variable); if (node.Parent != null) { AllType?collectionNameType = _symbolTable.RetrieveSymbol(node.Variable, out bool isCollectionInQuery, false); if (isCollectionInQuery) { if (node.Parent is ExpressionNode expNode) { expNode.OverAllType = collectionNameType; expNode.Name = node.Variable; } node.Type = collectionNameType.ToString(); node.Name = node.Variable; } else { _symbolTable.FromVarIsNotCollError(node.Variable); } if (node.WhereCondition != null) { node.WhereCondition.Accept(this); } } }
public override void Visit(SelectQueryNode node) { SymbolTable.SetCurrentNode(node); CheckDeclared(node.Variable); if (node.WhereCondition != null) { (node.WhereCondition as WhereNode).AttributeClass = SymbolTable.RetrieveSymbol(node.Variable) ?? default(AllType); node.WhereCondition.Accept(this); } }
public override void Visit(SelectQueryNode node) { ProgramCode.Append("SELECT "); //ProgramCode.Append(node.Type); ProgramCode.Append("FROM"); ProgramCode.Append(node.Variable); if (node.WhereCondition != null) { node.WhereCondition.Accept(this); } ProgramCode.Append(";\n"); }
public override AbstractNode VisitSelect([NotNull] GiraphParser.SelectContext context) { SelectQueryNode SelectNode = new SelectQueryNode(context.Start.Line, context.Start.Column); SelectNode.Type = getContextType(context.variable()); SelectNode.Variable = context.variable().GetText(); SelectNode.Name = SelectNode.Variable; if (context.where () != null) { SelectNode.WhereCondition = Visit(context.where ()); } return(SelectNode); }
public abstract void Visit(SelectQueryNode node);