Esempio n. 1
0
        public void Analyze(SqlFileContext context)
        {
            this.context = context;
            var visitor = new AllNodesVisitor(NodeAction);

            this.context.Fragment.Accept(visitor);
        }
Esempio n. 2
0
        public void Analyze(SqlFileContext context)
        {
            var visitor = new AllNodesVisitor(
                (node) =>
            {
                List <ISkimmer <SqlFileContext> > skimmersList;

                if (node == null)
                {
                    return;
                }

                if (this.typeToSkimmersMap.TryGetValue(node.GetType(), out skimmersList))
                {
                    foreach (ISqlSkimmer skimmer in skimmersList)
                    {
                        context.Fragment = node;
                        try
                        {
                            skimmer.Analyze(context);
                        }
                        catch (Exception ex)
                        {
                            RuntimeErrors |= AnalyzeCommand.LogUnhandledRuleExceptionAnalyzingTarget(
                                this.disabledSkimmers,
                                context,
                                skimmer,
                                ex);
                        }
                    }
                }
            }
                );

            context.Fragment.Accept(visitor);
        }