public static async Task <IReadOnlyCollection <FileInfo> > GenerateClientSourceCode(ProgramOptions options)
        {
            var schema = await GraphQlGenerator.RetrieveSchema(options.ServiceUrl, options.Authorization);

            var generatorConfiguration =
                new GraphQlGeneratorConfiguration
            {
                CSharpVersion          = options.CSharpVersion,
                ClassPostfix           = options.ClassPostfix,
                GeneratePartialClasses = options.PartialClasses,
                MemberAccessibility    = options.MemberAccessibility,
                IdTypeMapping          = options.IdTypeMapping
            };

            var generator = new GraphQlGenerator(generatorConfiguration);

            if (options.OutputType == OutputType.SingleFile)
            {
                await File.WriteAllTextAsync(options.OutputPath, generator.GenerateFullClientCSharpFile(schema, options.Namespace));

                return(new[] { new FileInfo(options.OutputPath) });
            }

            var multipleFileGenerationContext = new MultipleFileGenerationContext(schema, options.OutputPath, options.Namespace);

            generator.Generate(multipleFileGenerationContext);
            return(multipleFileGenerationContext.Files);
        }
        private static async Task GenerateClientSourceCode(ProgramOptions options, List <FileInfo> generatedFiles)
        {
            GraphQlSchema schema;

            if (String.IsNullOrWhiteSpace(options.ServiceUrl))
            {
                schema = GraphQlGenerator.DeserializeGraphQlSchema(await File.ReadAllTextAsync(options.SchemaFileName));
            }
            else
            {
                if (!KeyValueParameterParser.TryGetCustomHeaders(options.Header, out var headers, out var headerParsingErrorMessage))
                {
                    throw new InvalidOperationException(headerParsingErrorMessage);
                }

                schema = await GraphQlGenerator.RetrieveSchema(new HttpMethod(options.HttpMethod), options.ServiceUrl, headers);
            }

            var generatorConfiguration =
                new GraphQlGeneratorConfiguration
            {
                CSharpVersion          = options.CSharpVersion,
                ClassPrefix            = options.ClassPrefix,
                ClassSuffix            = options.ClassSuffix,
                GeneratePartialClasses = options.PartialClasses,
                MemberAccessibility    = options.MemberAccessibility,
                IdTypeMapping          = options.IdTypeMapping,
                FloatTypeMapping       = options.FloatTypeMapping,
                JsonPropertyGeneration = options.JsonPropertyAttribute
            };

            if (!KeyValueParameterParser.TryGetCustomClassMapping(options.ClassMapping, out var customMapping, out var customMappingParsingErrorMessage))
            {
                throw new InvalidOperationException(customMappingParsingErrorMessage);
            }

            foreach (var kvp in customMapping)
            {
                generatorConfiguration.CustomClassNameMapping.Add(kvp);
            }

            var generator = new GraphQlGenerator(generatorConfiguration);

            if (options.OutputType == OutputType.SingleFile)
            {
                await File.WriteAllTextAsync(options.OutputPath, generator.GenerateFullClientCSharpFile(schema, options.Namespace));

                generatedFiles.Add(new FileInfo(options.OutputPath));
            }
            else
            {
                var multipleFileGenerationContext = new MultipleFileGenerationContext(schema, options.OutputPath, options.Namespace);
                generator.Generate(multipleFileGenerationContext);
                generatedFiles.AddRange(multipleFileGenerationContext.Files);
            }
        }
        public void MultipleFileGeneration()
        {
            var configuration =
                new GraphQlGeneratorConfiguration
            {
                CommentGeneration = CommentGenerationOption.CodeSummary | CommentGenerationOption.DescriptionAttribute,
                CSharpVersion     = CSharpVersion.Newest
            };

            var generator = new GraphQlGenerator(configuration);

            var tempPath      = Path.GetTempPath();
            var directoryInfo = Directory.CreateDirectory(Path.Combine(tempPath, "GraphQlGeneratorTest"));

            try
            {
                var context = new MultipleFileGenerationContext(DeserializeTestSchema("TestSchema2"), directoryInfo.FullName, "GraphQlGeneratorTest", "GraphQlGeneratorTest.csproj");
                generator.Generate(context);

                var files     = directoryInfo.GetFiles().OrderBy(f => f.Name).ToArray();
                var fileNames = files.Select(f => f.Name);
                fileNames.ShouldBe(
                    new[]
                {
                    "About.cs",
                    "AboutItem.cs",
                    "AboutItemQueryBuilder.cs",
                    "AboutQueryBuilder.cs",
                    "Address.cs",
                    "AddressQueryBuilder.cs",
                    "AppState.cs",
                    "AppStateFronScreen.cs",
                    "AppStateFronScreenMutation.cs",
                    "AppStateFronScreenQueryBuilder.cs",
                    "AppStateJourney.cs",
                    "AppStateJourneyMutation.cs",
                    "AppStateJourneyQueryBuilder.cs",
                    "AppStateMutation.cs",
                    "AppStateQueryBuilder.cs",
                    "Avatar.cs",
                    "AwayMode.cs",
                    "AwayModeQueryBuilder.cs",
                    "AwayModeSettings.cs",
                    "AwayModeSettingsQueryBuilder.cs",
                    "BaseClasses.cs",
                    "Comparison.cs",
                    "ComparisonData.cs",
                    "ComparisonDataQueryBuilder.cs",
                    "ComparisonQueryBuilder.cs",
                    "Consumption.cs",
                    "ConsumptionMonth.cs",
                    "ConsumptionMonthQueryBuilder.cs",
                    "ConsumptionQueryBuilder.cs",
                    "CreditCard.cs",
                    "CreditCardQueryBuilder.cs",
                    "DayNightSchedule.cs",
                    "DayNightScheduleQueryBuilder.cs",
                    "DayNightScheduleSettings.cs",
                    "DayNightScheduleSettingsQueryBuilder.cs",
                    "Disaggregation.cs",
                    "DisaggregationQueryBuilder.cs",
                    "EnergyDeal.cs",
                    "EnergyDealQueryBuilder.cs",
                    "Feed.cs",
                    "FeedItem.cs",
                    "FeedItemQueryBuilder.cs",
                    "FeedQueryBuilder.cs",
                    "GqlMutationError.cs",
                    "GqlMutationErrorQueryBuilder.cs",
                    "GqlMutationGeneralResponse.cs",
                    "GqlMutationGeneralResponseQueryBuilder.cs",
                    "GraphQlGeneratorTest.csproj",
                    "GraphQlTypes.cs",
                    "Greeting.cs",
                    "GreetingQueryBuilder.cs",
                    "Home.cs",
                    "HomeMutation.cs",
                    "HomeMutationQueryBuilder.cs",
                    "HomeProfileQuestion.cs",
                    "HomeProfileQuestionAnswer.cs",
                    "HomeProfileQuestionInput.cs",
                    "HomeProfileQuestionInputQueryBuilder.cs",
                    "HomeProfileQuestionQueryBuilder.cs",
                    "HomeQueryBuilder.cs",
                    "IncludeDirective.cs",
                    "Invoice.cs",
                    "InvoicePayment.cs",
                    "InvoicePaymentQueryBuilder.cs",
                    "InvoiceQueryBuilder.cs",
                    "InvoiceSection.cs",
                    "InvoiceSectionQueryBuilder.cs",
                    "Me.cs",
                    "MeMutation.cs",
                    "MeMutationQueryBuilder.cs",
                    "MeQueryBuilder.cs",
                    "Mutation.cs",
                    "MutationQueryBuilder.cs",
                    "PairableDevice.cs",
                    "PairableDeviceOAuth.cs",
                    "PairableDeviceOAuthQueryBuilder.cs",
                    "PairableDeviceQueryBuilder.cs",
                    "PairDeviceResult.cs",
                    "PairDeviceResultQueryBuilder.cs",
                    "PaymentMethod.cs",
                    "PaymentMethodQueryBuilder.cs",
                    "PreLiveComparison.cs",
                    "PreLiveComparisonQueryBuilder.cs",
                    "PriceRating.cs",
                    "PriceRatingColorOffset.cs",
                    "PriceRatingColorOffsetQueryBuilder.cs",
                    "PriceRatingEntry.cs",
                    "PriceRatingEntryQueryBuilder.cs",
                    "PriceRatingQueryBuilder.cs",
                    "PriceRatingRoot.cs",
                    "PriceRatingRootQueryBuilder.cs",
                    "ProcessStep.cs",
                    "ProcessStepQueryBuilder.cs",
                    "Producer.cs",
                    "ProducerBullet.cs",
                    "ProducerBulletQueryBuilder.cs",
                    "ProducerQueryBuilder.cs",
                    "Production.cs",
                    "ProductionMonth.cs",
                    "ProductionMonthQueryBuilder.cs",
                    "ProductionQueryBuilder.cs",
                    "ProductionValue.cs",
                    "ProductionValueQueryBuilder.cs",
                    "PushNotification.cs",
                    "PushNotificationQueryBuilder.cs",
                    "Query.cs",
                    "QueryQueryBuilder.cs",
                    "Report.cs",
                    "ReportCell.cs",
                    "ReportCellQueryBuilder.cs",
                    "ReportQueryBuilder.cs",
                    "ReportRoot.cs",
                    "ReportRootQueryBuilder.cs",
                    "Resolution.cs",
                    "Sensor.cs",
                    "SensorHistory.cs",
                    "SensorHistoryQueryBuilder.cs",
                    "SensorHistoryValue.cs",
                    "SensorHistoryValueQueryBuilder.cs",
                    "SensorQueryBuilder.cs",
                    "SignupStatus.cs",
                    "SignupStatusQueryBuilder.cs",
                    "SkipDirective.cs",
                    "Subscription.cs",
                    "SubscriptionQueryBuilder.cs",
                    "Thermostat.cs",
                    "ThermostatCapability.cs",
                    "ThermostatCapabilityQueryBuilder.cs",
                    "ThermostatMeasurement.cs",
                    "ThermostatMeasurementQueryBuilder.cs",
                    "ThermostatMeasurements.cs",
                    "ThermostatMeasurementsQueryBuilder.cs",
                    "ThermostatMode.cs",
                    "ThermostatModeQueryBuilder.cs",
                    "ThermostatMutation.cs",
                    "ThermostatMutationQueryBuilder.cs",
                    "ThermostatQueryBuilder.cs",
                    "ThermostatState.cs",
                    "ThermostatStateQueryBuilder.cs",
                    "Wallet.cs",
                    "WalletQueryBuilder.cs",
                    "Weather.cs",
                    "WeatherEntry.cs",
                    "WeatherEntryQueryBuilder.cs",
                    "WeatherQueryBuilder.cs"
                });

                var fileSizes = files.Where(f => f.Name != "BaseClasses.cs").Select(f => f.Length);
                fileSizes.ShouldBe(
                    new long[]
                {
                    370, 399, 1295, 1082, 902, 4131, 443, 493, 2056, 1831, 379, 1038, 1076, 1609, 1675, 680, 418, 1507, 422, 1334, 716, 415, 1365, 4006, 887, 686, 3557, 4906, 402, 1312, 490, 2119, 537, 2296, 1149, 6812, 371, 1153, 495, 600, 2706, 2476, 413, 1389, 385, 1215, 368, 5985, 518, 2132, 1881, 845, 7805, 803, 1454, 417, 1433, 4626, 17076, 731, 1550, 551, 2587, 9743, 896, 5100, 1025, 476, 3221, 7042, 358, 1339, 467, 425, 1445, 1890, 499, 2175, 455, 1733, 545, 2501, 691, 495, 1921, 505, 2085, 3516, 679, 3759, 512, 2080, 600, 461, 1749, 2837, 996, 719, 3864, 5591, 822, 4380, 444, 1682, 347, 1283, 588, 675, 3451, 2781, 374, 1105, 404, 513, 483, 1902, 472, 1765, 2209, 483, 2143, 706, 777, 4324, 862, 454, 1756, 796, 4433, 508, 2005, 425, 1388, 413, 2590, 4949, 510, 2124, 482, 1874, 485, 1154, 3506, 1874
                });

                var expectedOutput = GetTestResource("ExpectedMultipleFilesContext.Avatar");
                File.ReadAllText(Path.Combine(directoryInfo.FullName, "Avatar.cs")).ShouldBe(expectedOutput);
                expectedOutput = GetTestResource("ExpectedMultipleFilesContext.Home");
                File.ReadAllText(Path.Combine(directoryInfo.FullName, "Home.cs")).ShouldBe(expectedOutput);
                expectedOutput = GetTestResource("ExpectedMultipleFilesContext.IncludeDirective");
                File.ReadAllText(Path.Combine(directoryInfo.FullName, "IncludeDirective.cs")).ShouldBe(expectedOutput);
                expectedOutput = GetTestResource("ExpectedMultipleFilesContext.MutationQueryBuilder");
                File.ReadAllText(Path.Combine(directoryInfo.FullName, "MutationQueryBuilder.cs")).ShouldBe(expectedOutput);
            }
            finally
            {
                Directory.Delete(directoryInfo.FullName, true);
            }
        }
    public void MultipleFileGeneration()
    {
        var configuration =
            new GraphQlGeneratorConfiguration
        {
            CommentGeneration = CommentGenerationOption.CodeSummary | CommentGenerationOption.DescriptionAttribute,
            CSharpVersion     = CSharpVersion.Newest
        };

        var generator = new GraphQlGenerator(configuration);

        var tempPath      = Path.GetTempPath();
        var directoryInfo = Directory.CreateDirectory(Path.Combine(tempPath, "GraphQlGeneratorTest"));

        try
        {
            var context = new MultipleFileGenerationContext(DeserializeTestSchema("TestSchema2"), directoryInfo.FullName, "GraphQlGeneratorTest", "GraphQlGeneratorTest.csproj");
            generator.Generate(context);

            var files     = directoryInfo.GetFiles().OrderBy(f => f.Name).ToArray();
            var fileNames = files.Select(f => f.Name);
            fileNames.ShouldBe(
                new[]
            {
                "About.cs",
                "AboutItem.cs",
                "AboutItemQueryBuilder.cs",
                "AboutQueryBuilder.cs",
                "Address.cs",
                "AddressQueryBuilder.cs",
                "AppState.cs",
                "AppStateFronScreen.cs",
                "AppStateFronScreenMutation.cs",
                "AppStateFronScreenQueryBuilder.cs",
                "AppStateJourney.cs",
                "AppStateJourneyMutation.cs",
                "AppStateJourneyQueryBuilder.cs",
                "AppStateMutation.cs",
                "AppStateQueryBuilder.cs",
                "Avatar.cs",
                "AwayMode.cs",
                "AwayModeQueryBuilder.cs",
                "AwayModeSettings.cs",
                "AwayModeSettingsQueryBuilder.cs",
                "BaseClasses.cs",
                "Comparison.cs",
                "ComparisonData.cs",
                "ComparisonDataQueryBuilder.cs",
                "ComparisonQueryBuilder.cs",
                "Consumption.cs",
                "ConsumptionMonth.cs",
                "ConsumptionMonthQueryBuilder.cs",
                "ConsumptionQueryBuilder.cs",
                "CreditCard.cs",
                "CreditCardQueryBuilder.cs",
                "DayNightSchedule.cs",
                "DayNightScheduleQueryBuilder.cs",
                "DayNightScheduleSettings.cs",
                "DayNightScheduleSettingsQueryBuilder.cs",
                "Disaggregation.cs",
                "DisaggregationQueryBuilder.cs",
                "EnergyDeal.cs",
                "EnergyDealQueryBuilder.cs",
                "Feed.cs",
                "FeedItem.cs",
                "FeedItemQueryBuilder.cs",
                "FeedQueryBuilder.cs",
                "GqlMutationError.cs",
                "GqlMutationErrorQueryBuilder.cs",
                "GqlMutationGeneralResponse.cs",
                "GqlMutationGeneralResponseQueryBuilder.cs",
                "GraphQlGeneratorTest.csproj",
                "GraphQlTypes.cs",
                "Greeting.cs",
                "GreetingQueryBuilder.cs",
                "Home.cs",
                "HomeMutation.cs",
                "HomeMutationQueryBuilder.cs",
                "HomeProfileQuestion.cs",
                "HomeProfileQuestionAnswer.cs",
                "HomeProfileQuestionInput.cs",
                "HomeProfileQuestionInputQueryBuilder.cs",
                "HomeProfileQuestionQueryBuilder.cs",
                "HomeQueryBuilder.cs",
                "IncludeDirective.cs",
                "Invoice.cs",
                "InvoicePayment.cs",
                "InvoicePaymentQueryBuilder.cs",
                "InvoiceQueryBuilder.cs",
                "InvoiceSection.cs",
                "InvoiceSectionQueryBuilder.cs",
                "Me.cs",
                "MeMutation.cs",
                "MeMutationQueryBuilder.cs",
                "MeQueryBuilder.cs",
                "Mutation.cs",
                "MutationQueryBuilder.cs",
                "PairableDevice.cs",
                "PairableDeviceOAuth.cs",
                "PairableDeviceOAuthQueryBuilder.cs",
                "PairableDeviceQueryBuilder.cs",
                "PairDeviceResult.cs",
                "PairDeviceResultQueryBuilder.cs",
                "PaymentMethod.cs",
                "PaymentMethodQueryBuilder.cs",
                "PreLiveComparison.cs",
                "PreLiveComparisonQueryBuilder.cs",
                "PriceRating.cs",
                "PriceRatingColorOffset.cs",
                "PriceRatingColorOffsetQueryBuilder.cs",
                "PriceRatingEntry.cs",
                "PriceRatingEntryQueryBuilder.cs",
                "PriceRatingQueryBuilder.cs",
                "PriceRatingRoot.cs",
                "PriceRatingRootQueryBuilder.cs",
                "ProcessStep.cs",
                "ProcessStepQueryBuilder.cs",
                "Producer.cs",
                "ProducerBullet.cs",
                "ProducerBulletQueryBuilder.cs",
                "ProducerQueryBuilder.cs",
                "Production.cs",
                "ProductionMonth.cs",
                "ProductionMonthQueryBuilder.cs",
                "ProductionQueryBuilder.cs",
                "ProductionValue.cs",
                "ProductionValueQueryBuilder.cs",
                "PushNotification.cs",
                "PushNotificationQueryBuilder.cs",
                "Query.cs",
                "QueryQueryBuilder.cs",
                "Report.cs",
                "ReportCell.cs",
                "ReportCellQueryBuilder.cs",
                "ReportQueryBuilder.cs",
                "ReportRoot.cs",
                "ReportRootQueryBuilder.cs",
                "Resolution.cs",
                "Sensor.cs",
                "SensorHistory.cs",
                "SensorHistoryQueryBuilder.cs",
                "SensorHistoryValue.cs",
                "SensorHistoryValueQueryBuilder.cs",
                "SensorQueryBuilder.cs",
                "SignupStatus.cs",
                "SignupStatusQueryBuilder.cs",
                "SkipDirective.cs",
                "Subscription.cs",
                "SubscriptionQueryBuilder.cs",
                "Thermostat.cs",
                "ThermostatCapability.cs",
                "ThermostatCapabilityQueryBuilder.cs",
                "ThermostatMeasurement.cs",
                "ThermostatMeasurementQueryBuilder.cs",
                "ThermostatMeasurements.cs",
                "ThermostatMeasurementsQueryBuilder.cs",
                "ThermostatMode.cs",
                "ThermostatModeQueryBuilder.cs",
                "ThermostatMutation.cs",
                "ThermostatMutationQueryBuilder.cs",
                "ThermostatQueryBuilder.cs",
                "ThermostatState.cs",
                "ThermostatStateQueryBuilder.cs",
                "Wallet.cs",
                "WalletQueryBuilder.cs",
                "Weather.cs",
                "WeatherEntry.cs",
                "WeatherEntryQueryBuilder.cs",
                "WeatherQueryBuilder.cs"
            });

            var fileSizes = files.Where(f => f.Name != "BaseClasses.cs").Select(f => f.Length);
            fileSizes.ShouldBe(
                new long[]
            {
                446, 475, 1371, 1158, 978, 4207, 519, 569, 2132, 1907, 455, 1114, 1152, 1685, 1751, 756, 494, 1583, 498, 1410, 792, 491, 1441, 4082, 963, 762, 3633, 4982, 478, 1388, 566, 2195, 613, 2372, 1225, 6888, 447, 1229, 571, 676, 2782, 2552, 489, 1465, 461, 1291, 368, 6061, 594, 2208, 1957, 921, 7881, 879, 1530, 493, 1509, 4702, 17152, 807, 1626, 627, 2663, 9819, 972, 5176, 1101, 552, 3297, 7118, 434, 1415, 543, 501, 1521, 1966, 575, 2251, 531, 1809, 621, 2577, 767, 571, 1997, 581, 2161, 3592, 755, 3835, 588, 2156, 676, 537, 1825, 2913, 1072, 795, 3940, 5667, 898, 4456, 520, 1758, 423, 1359, 664, 751, 3527, 2857, 450, 1181, 480, 589, 559, 1978, 548, 1841, 2285, 559, 2219, 782, 853, 4400, 938, 530, 1832, 872, 4509, 584, 2081, 501, 1464, 489, 2666, 5025, 586, 2200, 558, 1950, 561, 1230, 3582, 1950
            });

            var expectedOutput = GetTestResource("ExpectedMultipleFilesContext.Avatar");
            File.ReadAllText(Path.Combine(directoryInfo.FullName, "Avatar.cs")).ShouldBe(expectedOutput);
            expectedOutput = GetTestResource("ExpectedMultipleFilesContext.Home");
            File.ReadAllText(Path.Combine(directoryInfo.FullName, "Home.cs")).ShouldBe(expectedOutput);
            expectedOutput = GetTestResource("ExpectedMultipleFilesContext.IncludeDirective");
            File.ReadAllText(Path.Combine(directoryInfo.FullName, "IncludeDirective.cs")).ShouldBe(expectedOutput);
            expectedOutput = GetTestResource("ExpectedMultipleFilesContext.MutationQueryBuilder");
            File.ReadAllText(Path.Combine(directoryInfo.FullName, "MutationQueryBuilder.cs")).ShouldBe(expectedOutput);
        }
        finally
        {
            Directory.Delete(directoryInfo.FullName, true);
        }
    }
Esempio n. 5
0
        public static async Task <IReadOnlyCollection <FileInfo> > GenerateClientSourceCode(ProgramOptions options)
        {
            var isServiceUrlMissing = String.IsNullOrWhiteSpace(options.ServiceUrl);

            if (isServiceUrlMissing && String.IsNullOrWhiteSpace(options.SchemaFileName))
            {
                System.Console.WriteLine("ERROR: Either \"serviceUrl\" or \"schemaFileName\" parameter must be specified. ");
                Environment.Exit(4);
            }

            if (!isServiceUrlMissing && !String.IsNullOrWhiteSpace(options.SchemaFileName))
            {
                System.Console.WriteLine("ERROR: \"serviceUrl\" and \"schemaFileName\" parameters are mutually exclusive. ");
                Environment.Exit(5);
            }

            GraphQlSchema schema;

            if (isServiceUrlMissing)
            {
                schema = GraphQlGenerator.DeserializeGraphQlSchema(await File.ReadAllTextAsync(options.SchemaFileName));
            }
            else
            {
                if (!KeyValueParameterParser.TryGetCustomHeaders(options.Headers, out var headers, out var headerParsingErrorMessage))
                {
                    System.Console.WriteLine("ERROR: " + headerParsingErrorMessage);
                    Environment.Exit(3);
                }

                schema = await GraphQlGenerator.RetrieveSchema(options.ServiceUrl, headers);
            }

            var generatorConfiguration =
                new GraphQlGeneratorConfiguration
            {
                CSharpVersion          = options.CSharpVersion,
                ClassPrefix            = options.ClassPrefix,
                ClassSuffix            = options.ClassSuffix,
                GeneratePartialClasses = options.PartialClasses,
                MemberAccessibility    = options.MemberAccessibility,
                IdTypeMapping          = options.IdTypeMapping,
                FloatTypeMapping       = options.FloatTypeMapping,
                JsonPropertyGeneration = options.JsonPropertyAttribute
            };

            if (!KeyValueParameterParser.TryGetCustomClassMapping(options.ClassMapping, out var customMapping, out var customMappingParsingErrorMessage))
            {
                System.Console.WriteLine("ERROR: " + customMappingParsingErrorMessage);
                Environment.Exit(3);
            }

            foreach (var kvp in customMapping)
            {
                generatorConfiguration.CustomClassNameMapping.Add(kvp);
            }

            var generator = new GraphQlGenerator(generatorConfiguration);

            if (options.OutputType == OutputType.SingleFile)
            {
                await File.WriteAllTextAsync(options.OutputPath, generator.GenerateFullClientCSharpFile(schema, options.Namespace));

                return(new[] { new FileInfo(options.OutputPath) });
            }

            var multipleFileGenerationContext = new MultipleFileGenerationContext(schema, options.OutputPath, options.Namespace);

            generator.Generate(multipleFileGenerationContext);
            return(multipleFileGenerationContext.Files);
        }