private BoundRelation BindTableReferenceInternal(TableReferenceSyntax node) { switch (node.Kind) { case SyntaxKind.ParenthesizedTableReference: return(BindParenthesizedTableReference((ParenthesizedTableReferenceSyntax)node)); case SyntaxKind.NamedTableReference: return(BindNamedTableReference((NamedTableReferenceSyntax)node)); case SyntaxKind.CrossJoinedTableReference: return(BindCrossJoinedTableReference((CrossJoinedTableReferenceSyntax)node)); case SyntaxKind.InnerJoinedTableReference: return(BindInnerJoinedTableReference((InnerJoinedTableReferenceSyntax)node)); case SyntaxKind.OuterJoinedTableReference: return(BindOuterJoinedTableReference((OuterJoinedTableReferenceSyntax)node)); case SyntaxKind.DerivedTableReference: return(BindDerivedTableReference((DerivedTableReferenceSyntax)node)); default: throw ExceptionBuilder.UnexpectedValue(node.Kind); } }
public IEnumerable <TableInstanceSymbol> GetDeclaredSymbols(TableReferenceSyntax tableReference) { if (tableReference == null) { throw new ArgumentNullException(nameof(tableReference)); } var result = _bindingResult.GetBoundNode(tableReference) as BoundRelation; return(result?.GetDeclaredTableInstances().AsEnumerable()); }
private BoundRelation BindTableReference(TableReferenceSyntax node) { return(Bind(node, BindTableReferenceInternal)); }