public override void Execute(GeneratorExecutionContext context)
        {
            var files            = context.AdditionalFiles.Where(x => x.Path.Contains(Namespace));
            var candidateClasses = ((SyntaxReceiver)context.SyntaxReceiver).CandidateClasses;

            foreach (var file in files)
            {
                var name       = Path.GetFileNameWithoutExtension(file.Path);
                var sourceCode = GetSourceCodeFromFile(file, context);
                var sourceText = SourceText.From(sourceCode, Encoding);
                context.AddSource($"{name}Generated", sourceText);
                var compilation     = context.CreateCompilation(sourceText);
                var attributeSymbol = compilation.GetTypeByMetadataName(FullAttributeName);
                foreach (var candidateClass in candidateClasses)
                {
                    var semanticModel  = compilation.GetSemanticModel(candidateClass.SyntaxTree);
                    var declaredSymbol = semanticModel.GetDeclaredSymbol(candidateClass);
                    if (declaredSymbol.HasAttribute(attributeSymbol))
                    {
                        sourceCode = GenerateSourceCode(declaredSymbol);
                        sourceText = SourceText.From(sourceCode, Encoding);
                        context.AddSource($"{declaredSymbol.Name}Builder.cs", sourceText);
                    }
                }
            }
        }
        public override void Execute(GeneratorExecutionContext context)
        {
            var files = context.AdditionalFiles.Where(x => x.Path.Contains(Namespace));

            foreach (var file in files)
            {
                var name       = Path.GetFileNameWithoutExtension(file.Path);
                var sourceCode = GetSourceCodeFromFile(file, context);
                var sourceText = SourceText.From(sourceCode, Encoding);
                context.AddSource($"{name}Generated", sourceText);
                var compilation = context.CreateCompilation(sourceText);
                var matchings   = compilation.FilterCompilation(AttributeName);
                if (matchings.Count > 0)
                {
                    var diagnostic = BuildDiagnostic();
                    context.ReportDiagnostic(diagnostic);
                }
            }
        }