未验证 提交 0f912e6a 编写于 作者: P Phillip Carter 提交者: GitHub

Simplify langversion code (#8020)

* Simplify langversion code

* Simplify getting list of language versions
上级 f1747487
......@@ -16,18 +16,14 @@ open System
// * When a feature is assigned a release language, we will scrub the code of feature references and apply
// the Release Language version.
/// LanguageFeature enumeration
[<RequireQualifiedAccess>]
type LanguageFeature =
| PreviewVersion = 0
| LanguageVersion46 = 1
| LanguageVersion47 = 2
| SingleUnderscorePattern = 3
| WildCardInForLoop = 4
| RelaxWhitespace = 5
| NameOf = 6
| ImplicitYield = 7
| OpenStaticClasses = 8
| SingleUnderscorePattern
| WildCardInForLoop
| RelaxWhitespace
| NameOf
| ImplicitYield
| OpenStaticClasses
/// LanguageVersion management
type LanguageVersion (specifiedVersionAsString) =
......@@ -45,18 +41,13 @@ type LanguageVersion (specifiedVersionAsString) =
static let features =
dict [
// Add new LanguageVersions here ...
LanguageFeature.LanguageVersion46, languageVersion46
LanguageFeature.LanguageVersion47, languageVersion47
LanguageFeature.PreviewVersion, previewVersion
// F# 4.7
LanguageFeature.SingleUnderscorePattern, languageVersion47
LanguageFeature.WildCardInForLoop, languageVersion47
LanguageFeature.RelaxWhitespace, languageVersion47
LanguageFeature.ImplicitYield, languageVersion47
// Add new Language Features here...
// F# preview
LanguageFeature.NameOf, previewVersion
LanguageFeature.OpenStaticClasses, previewVersion
]
......@@ -88,11 +79,11 @@ type LanguageVersion (specifiedVersionAsString) =
member __.ValidOptions = validOptions
/// Get a list of valid versions for help text
member __.ValidVersions = [|
for v in languageVersions |> Seq.sort do
let label = if v = defaultVersion then " (Default)" else ""
yield sprintf "%M%s" v label
|]
member __.ValidVersions =
[|
for v in languageVersions |> Seq.sort ->
sprintf "%M%s" v (if v = defaultVersion then " (Default)" else "")
|]
/// Get the specified LanguageVersion
member __.SpecifiedVersion = specified
......@@ -6,16 +6,12 @@ module internal FSharp.Compiler.Features
/// LanguageFeature enumeration
[<RequireQualifiedAccess>]
type LanguageFeature =
| PreviewVersion = 0
| LanguageVersion46 = 1
| LanguageVersion47 = 2
| SingleUnderscorePattern = 3
| WildCardInForLoop = 4
| RelaxWhitespace = 5
| NameOf = 6
| ImplicitYield = 7
| OpenStaticClasses = 8
| SingleUnderscorePattern
| WildCardInForLoop
| RelaxWhitespace
| NameOf
| ImplicitYield
| OpenStaticClasses
/// LanguageVersion management
type LanguageVersion =
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册