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); } }