public override object VisitAndAndExpression([NotNull] TinyScriptParser.AndAndExpressionContext context) { var a = VisitCmpExpression(context.cmpExpression(0)); for (int i = 1; i < context.ChildCount; i += 2) { var b = (bool)VisitCmpExpression((TinyScriptParser.CmpExpressionContext)context.GetChild(i + 1)); a = (bool)a && b; } return(a); }
public override object VisitAndAndExpression([NotNull] TinyScriptParser.AndAndExpressionContext context) { var ret = VisitCmpExpression(context.cmpExpression(0)); if (context.ChildCount > 1) { for (int i = 2; i < context.ChildCount; i += 2) { VisitCmpExpression((TinyScriptParser.CmpExpressionContext)context.GetChild(i)); _builder.And(); } return(typeof(bool)); } return(ret); }
/// <summary> /// Visit a parse tree produced by <see cref="TinyScriptParser.andAndExpression"/>. /// <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 VisitAndAndExpression([NotNull] TinyScriptParser.AndAndExpressionContext context) { return(VisitChildren(context)); }