private BoundRelation BindOuterJoinedTableReference(OuterJoinedTableReferenceSyntax node) { var joinType = node.TypeKeyword.Kind == SyntaxKind.LeftKeyword ? BoundJoinType.LeftOuter : node.TypeKeyword.Kind == SyntaxKind.RightKeyword ? BoundJoinType.RightOuter : BoundJoinType.FullOuter; var left = BindTableReference(node.Left); var right = BindTableReference(node.Right); var binder = CreateJoinConditionBinder(left, right); var condition = binder.BindExpression(node.Condition); if (condition.Type.IsNonBoolean()) { Diagnostics.ReportOnClauseMustEvaluateToBool(node.Condition.Span); } return(new BoundJoinRelation(joinType, left, right, condition, null, null)); }
public virtual void VisitOuterJoinedTableReference(OuterJoinedTableReferenceSyntax node) { DefaultVisit(node); }
public virtual TResult VisitOuterJoinedTableReference(OuterJoinedTableReferenceSyntax node) { return(DefaultVisit(node)); }