public override void Visit(TSqlStatement node) { if (TypesToSkip.Contains(node.GetType()) || EndsWithSemicolon(node)) { return; } var lastToken = node.ScriptTokenStream[node.LastTokenIndex]; var tabsOnLine = ColumnNumberCalculator.CountTabsBeforeToken(lastToken.Line, node.LastTokenIndex, node.ScriptTokenStream); var column = ColumnNumberCalculator.GetColumnNumberAfterToken(tabsOnLine, lastToken); ErrorCallback(RULE_NAME, RULE_TEXT, lastToken.Line, column); }
public override void Visit(TSqlStatement node) { if (Array.IndexOf(typesToSkip, node.GetType()) > -1 || EndsWithSemicolon(node) || waitForStatements.Contains(node)) { return; } var dynamicSqlColumnOffset = node.StartLine == DynamicSqlStartLine ? DynamicSqlStartColumn : 0; var lastToken = node.ScriptTokenStream[node.LastTokenIndex]; var tabsOnLine = ColumnNumberCalculator.CountTabsBeforeToken(lastToken.Line, node.LastTokenIndex, node.ScriptTokenStream); var column = ColumnNumberCalculator.GetColumnNumberAfterToken(tabsOnLine, lastToken); errorCallback(RULE_NAME, RULE_TEXT, lastToken.Line, column + dynamicSqlColumnOffset); }