public object VisitGuardOperand(KpLinguaParser.GuardOperandContext context) { var guard = default(IGuard); var multisetContext = context.nonEmptyMultiset(); var guardContext = context.guard(); var relationalOperatorContext = context.RelationalOperator(); if (multisetContext != null) { var multiset = multisetContext.Accept(this) as Multiset; var relationalOperator = relationalOperatorContext != null?GetRelationalOperator(relationalOperatorContext) : RelationalOperator.EQUAL; guard = new BasicGuard(multiset, relationalOperator); } else if (guardContext != null) { guard = guardContext.Accept(this) as IGuard; } return(guard); }
/// <summary> /// Visit a parse tree produced by <see cref="KpLinguaParser.guardOperand"/>. /// <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 VisitGuardOperand([NotNull] KpLinguaParser.GuardOperandContext context) { return(VisitChildren(context)); }