public static string Emit()

in sdk/Sdk.Generators/FunctionMetadataProviderGenerator/FunctionMetadataProviderGenerator.Emitter.cs [23:78]


            public static string Emit(GeneratorExecutionContext context, IReadOnlyList<GeneratorFunctionMetadata> funcMetadata, bool includeAutoRegistrationCode)
            {
                string functionMetadataInfo = AddFunctionMetadataInfo(funcMetadata, context.CancellationToken);

                return $$"""
                         // <auto-generated/>
                         using System;
                         using System.Collections.Generic;
                         using System.Collections.Immutable;
                         using System.Text.Json;
                         using System.Threading.Tasks;
                         using Microsoft.Azure.Functions.Worker;
                         using Microsoft.Azure.Functions.Worker.Core.FunctionMetadata;
                         using Microsoft.Extensions.DependencyInjection;
                         using Microsoft.Extensions.Hosting;

                         namespace {{FunctionsUtil.GetNamespaceForGeneratedCode(context)}}
                         {
                             /// <summary>
                             /// Custom <see cref="IFunctionMetadataProvider"/> implementation that returns function metadata definitions for the current worker.
                             /// </summary>
                             [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Never)]
                             {{Constants.GeneratedCodeAttribute}}
                             public class GeneratedFunctionMetadataProvider : IFunctionMetadataProvider
                             {
                                 /// <inheritdoc/>
                                 public Task<ImmutableArray<IFunctionMetadata>> GetFunctionMetadataAsync(string directory)
                                 {
                                     var metadataList = new List<IFunctionMetadata>();
                         {{functionMetadataInfo}}
                                     return global::System.Threading.Tasks.Task.FromResult(metadataList.ToImmutableArray());
                                 }
                             }

                             /// <summary>
                             /// Extension methods to enable registration of the custom <see cref="IFunctionMetadataProvider"/> implementation generated for the current worker.
                             /// </summary>
                             {{Constants.GeneratedCodeAttribute}}
                             public static class WorkerHostBuilderFunctionMetadataProviderExtension
                             {
                                 ///<summary>
                                 /// Adds the GeneratedFunctionMetadataProvider to the service collection.
                                 /// During initialization, the worker will return generated function metadata instead of relying on the Azure Functions host for function indexing.
                                 ///</summary>
                                 public static IHostBuilder ConfigureGeneratedFunctionMetadataProvider(this IHostBuilder builder)
                                 {
                                     builder.ConfigureServices(s => 
                                     {
                                         s.AddSingleton<IFunctionMetadataProvider, GeneratedFunctionMetadataProvider>();
                                     });
                                     return builder;
                                 }
                             }{{GetAutoConfigureStartupClass(includeAutoRegistrationCode)}}
                         }
                         """;
            }