Esempio n. 1
0
        public void AnalyzeSymbol(SymbolAnalysisContext context)
        {
            BuilderCopSettings builderCopSettings = context.Options.GetBuilderCopSettings(new CancellationToken());

            INamedTypeSymbol namedTypeSymbol = (INamedTypeSymbol)context.Symbol;

            if (!namedTypeSymbol.ShouldTypeHaveBuilder(builderCopSettings.BuilderForSettings))
            {
                return;
            }

            INamedTypeSymbol builderSymbol;

            if (!namedTypeSymbol.TryGetTestDataBuilder(builderCopSettings, out builderSymbol))
            {
                context.ReportTypeShouldHaveBuilderDiagnostic(namedTypeSymbol);
            }
            else
            {
                AnalyseFactory(context, namedTypeSymbol.GetAccordingTestProject(), builderSymbol, builderCopSettings);
                AnalyseBuilder(context, builderSymbol, namedTypeSymbol);
            }
        }