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