コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }