public override String VisitExeCommandQuerySelect([NotNull] NewGrammarParser.ExeCommandQuerySelectContext context) {//moze tu byt dane meno atributu pri selectovani objektu ? potom asi treba tiez pozerat ci to meno je atribut dat self.afssd //mame String instanceName = Visit(context.GetChild(1)); String keyLetter = context.GetChild(3).GetText(); /*if (this.attributesList.Contains(instanceName)) * { * instanceName = "self." + instanceName; * }*/ if (context.GetChild(0).GetText().Contains("many")) { if (context.GetChild(4).GetText().Contains("where")) { String expr = Visit(context.GetChild(5)); return(instanceName + " = [selected for selected in " + keyLetter + ".instances if " + expr + "]"); } else { return(instanceName + " = " + keyLetter + ".instances"); } } else if (context.GetChild(0).GetText().Contains("any")) { if (context.GetChild(4).GetText().Contains("where")) { String expr = Visit(context.GetChild(5)); return(instanceName + " = next((selected for selected in " + keyLetter + ".instances if " + expr + "), None)"); //berieme prvy nalez } else { return(instanceName + " = " + keyLetter + ".instances[0] if " + keyLetter + ".instances else None"); //berieme prvy prvok } } return(null); //return base.VisitQuerySelectClass(context); }
/// <summary> /// Exit a parse tree produced by <see cref="NewGrammarParser.exeCommandQuerySelect"/>. /// <para>The default implementation does nothing.</para> /// </summary> /// <param name="context">The parse tree.</param> public virtual void ExitExeCommandQuerySelect([NotNull] NewGrammarParser.ExeCommandQuerySelectContext context) { }
/// <summary> /// Visit a parse tree produced by <see cref="NewGrammarParser.exeCommandQuerySelect"/>. /// <para> /// The default implementation returns the result of calling <see cref="AbstractParseTreeVisitor{Result}.VisitChildren(IRuleNode)"/> /// on <paramref name="context"/>. /// </para> /// </summary> /// <param name="context">The parse tree.</param> /// <return>The visitor result.</return> public virtual Result VisitExeCommandQuerySelect([NotNull] NewGrammarParser.ExeCommandQuerySelectContext context) { return(VisitChildren(context)); }