public void Apply(CompilationOptions options, ProjectPropertyStorage storage) { var csharpOptions = (CSharpCompilationOptions)options; storage.SetProperty("AllowUnsafeBlocks", nameof(ProjectConfigurationProperties3.AllowUnsafeBlocks), csharpOptions.AllowUnsafe); }
public void Apply(ParseOptions options, ProjectPropertyStorage storage) { var csharpOptions = (CSharpParseOptions)options; storage.SetProperty("LangVersion", nameof(CSharpProjectConfigurationProperties3.LanguageVersion), LanguageVersionFacts.ToDisplayString(csharpOptions.SpecifiedLanguageVersion)); }
public void Apply(CompilationOptions oldOptions, CompilationOptions newOptions, ProjectPropertyStorage storage) { var oldCSharpOptions = (CSharpCompilationOptions)oldOptions; var newCSharpOptions = (CSharpCompilationOptions)newOptions; if (newCSharpOptions.AllowUnsafe != oldCSharpOptions.AllowUnsafe) { storage.SetProperty("AllowUnsafeBlocks", nameof(ProjectConfigurationProperties3.AllowUnsafeBlocks), newCSharpOptions.AllowUnsafe); } if (newCSharpOptions.NullableContextOptions != oldCSharpOptions.NullableContextOptions) { var projectSetting = newCSharpOptions.NullableContextOptions switch { NullableContextOptions.Enable => "enable", NullableContextOptions.Warnings => "warnings", NullableContextOptions.Annotations => "annotations", _ => "disable", }; storage.SetProperty("Nullable", "Nullable", projectSetting); } }