Ejemplo n.º 1
0
        private ImplicitNullabilityConfiguration GetImplicitNullabilityConfigurationFor(
            string testInput,
            Action <IContextBoundSettingsStore> changeSolutionSettings,
            Action <IContextBoundSettingsStore> changeProjectSettings = null)
        {
            ImplicitNullabilityConfiguration?result = null;

            var testInputFile = GetTestDataFilePath2(testInput + ".cs");

            Assert.That(testInputFile.ExistsFile, Is.True, "fixate that the test input file exists");

            WithSingleProject(
                testInputFile.FullPath,
                (lifetime, solution, project) => RunGuarded(
                    () =>
            {
                var settingsStore = solution.GetComponent <SettingsStore>()
                                    .CreateNestedTransaction(lifetime, "transacted test store");

                changeSolutionSettings.Invoke(
                    settingsStore.BindToContextTransient(ContextRange.ManuallyRestrictWritesToOneContext(solution.ToDataContext())));

                changeProjectSettings?.Invoke(
                    settingsStore.BindToContextTransient(ContextRange.ManuallyRestrictWritesToOneContext(project.ToDataContext())));

                var sut = new ImplicitNullabilityConfigurationEvaluator(settingsStore, solution.GetComponent <ISettingsOptimization>());

                result = sut.EvaluateFor(project.GetPsiModules().Single());
            }));

            return(result.NotNull());
        }
 public ImplicitNullabilityProvider(
     ImplicitNullabilityConfigurationEvaluator configurationEvaluator,
     GeneratedCodeProvider generatedCodeProvider,
     CodeAnnotationAttributesChecker codeAnnotationAttributesChecker
     )
 {
     _configurationEvaluator          = configurationEvaluator;
     _generatedCodeProvider           = generatedCodeProvider;
     _codeAnnotationAttributesChecker = codeAnnotationAttributesChecker;
 }