Beispiel #1
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);
        }
Beispiel #2
0
 public void Analyze(SqlFileContext context)
 {
     this.context = context;
     var visitor = new AllNodesVisitor(NodeAction);
     this.context.Fragment.Accept(visitor);
 }