コード例 #1
0
ファイル: DynamicSQLParser.cs プロジェクト: gentoo90/tsqllint
        public override void Visit(ExecuteStatement node)
        {
            DynamicSQLStartingColumn = node.ExecuteSpecification.ExecutableEntity.StartColumn;
            DynamicSQLStartingLine   = node.ExecuteSpecification.ExecutableEntity.StartLine;

            var visitor = new VariableVisitor();

            node.Accept(visitor);

            var executableStrings = node.ExecuteSpecification.ExecutableEntity as ExecutableStringList;

            if (executableStrings?.Strings == null)
            {
                return;
            }

            var counter = 0;

            foreach (var executableString in executableStrings.Strings)
            {
                counter++;
                if (executableString is StringLiteral literal)
                {
                    HandleLiteral(counter, executableStrings.Strings.Count, literal);
                }
                else if (executableString is VariableReference variableReference)
                {
                    HandleVariable(counter, executableStrings.Strings.Count, variableReference);
                }
            }
        }
コード例 #2
0
ファイル: DynamicSQLParser.cs プロジェクト: gentoo90/tsqllint
        public override void Visit(TSqlBatch node)
        {
            var variableVisitor = new VariableVisitor();

            node.Accept(variableVisitor);
            VariableValues = variableVisitor.VariableValues;
        }