private void ClassifyCommonTableExpressionColumnName(CommonTableExpressionColumnNameSyntax node) { var symbol = _semanticModel.GetDeclaredSymbol(node); if (symbol == null) { return; } AddClassification(node, symbol); }
public ColumnSymbol GetDeclaredSymbol(CommonTableExpressionColumnNameSyntax commonTableExpressionColumnName) { if (commonTableExpressionColumnName == null) { throw new ArgumentNullException(nameof(commonTableExpressionColumnName)); } var columnList = commonTableExpressionColumnName.Parent as CommonTableExpressionColumnNameListSyntax; if (columnList == null) { return(null); } var commonTableExpression = columnList.Parent as CommonTableExpressionSyntax; if (commonTableExpression == null) { return(null); } var symbol = GetDeclaredSymbol(commonTableExpression); if (symbol == null) { return(null); } var index = 0; foreach (var columnName in columnList.ColumnNames) { if (columnName == commonTableExpressionColumnName) { if (index < symbol.Columns.Length) { return(symbol.Columns[index]); } } index++; } return(null); }
public virtual void VisitCommonTableExpressionColumnName(CommonTableExpressionColumnNameSyntax node) { DefaultVisit(node); }
public virtual TResult VisitCommonTableExpressionColumnName(CommonTableExpressionColumnNameSyntax node) { return(DefaultVisit(node)); }