private void OnCompilationStartAction(CompilationStartAnalysisContext ctx, Configuration config)
        {
            var analyzer = new WeakHashingCompilationAnalyzer(config);

            ctx.RegisterSyntaxNodeAction(actionContext => analyzer.VisitInvocationSyntaxNode(actionContext, VBSyntaxNodeHelper.Default),
                                         VB.SyntaxKind.InvocationExpression);

            ctx.RegisterSyntaxNodeAction(analyzer.VisitMemberAccessSyntaxNode,
                                         VB.SyntaxKind.SimpleMemberAccessExpression);

            ctx.RegisterSyntaxNodeAction(analyzer.VisitObjectCreationSyntaxNode,
                                         VB.SyntaxKind.ObjectCreationExpression);
        }
        public override void Initialize(AnalysisContext context)
        {
            context.RegisterCompilationStartAction(ctx =>
            {
                var analyzer = new WeakHashingCompilationAnalyzer();
                ctx.RegisterSyntaxNodeAction(actionContext => analyzer.VisitInvocationSyntaxNode(actionContext, VBSyntaxNodeHelper.Default),
                                             VB.SyntaxKind.InvocationExpression);

                ctx.RegisterSyntaxNodeAction(analyzer.VisitMemberAccessSyntaxNode,
                                             VB.SyntaxKind.SimpleMemberAccessExpression);

                ctx.RegisterSyntaxNodeAction(analyzer.VisitObjectCreationSyntaxNode,
                                             VB.SyntaxKind.ObjectCreationExpression);
            });
        }