public override object VisitJoin_right([NotNull] SqlParser.Join_rightContext context) { var joinTable = new JoinTable(); if (context.join_operator().K_CROSS() != null) { joinTable.JoinType = JoinType.Cross; } else if (context.join_operator().K_INNER() != null) { joinTable.JoinType = JoinType.Inner; } else if (context.join_operator().K_LEFT() != null && context.join_operator().K_OUTER() != null) { joinTable.JoinType = JoinType.LeftOuter; } else if (context.join_operator().K_LEFT() != null) { joinTable.JoinType = JoinType.Left; } else { joinTable.JoinType = JoinType.Inner; } joinTable.Table = (TableName)VisitTable_or_subquery(context.table_or_subquery()); joinTable.JoinContraints = (IExpression)VisitJoin_constraint(context.join_constraint()); return(joinTable); }
/// <summary> /// Visit a parse tree produced by <see cref="SqlParser.join_right"/>. /// <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 VisitJoin_right([NotNull] SqlParser.Join_rightContext context) { return(VisitChildren(context)); }