public ParseOptions WithLanguageVersion(ParseOptions options, string version) { var csharpOptions = (CSharpParseOptions)options; Contract.ThrowIfFalse(LanguageVersionFacts.TryParse(version, out var newVersion)); return(csharpOptions.WithLanguageVersion(newVersion)); }
public override ParseOptions TryParsePdbParseOptions(IReadOnlyDictionary <string, string> metadata) { if (!metadata.TryGetValue("language-version", out var langVersionString) || !LanguageVersionFacts.TryParse(langVersionString, out var langVersion)) { langVersion = LanguageVersion.Default; } return(new CSharpParseOptions( languageVersion: langVersion, preprocessorSymbols: metadata.TryGetValue("define", out var defines) ? defines.Split(',') : null)); }