Skip to content

Commit aa32b6d

Browse files
CopilotT-Gro
andcommitted
Add DisabledLanguageFeatures MSBuild property support
- Added disabledLanguageFeatures field to Fsc task - Added DisabledLanguageFeatures property (takes ITaskItem array) - Updated command line builder to pass each feature with --disableLanguageFeature flag - Follows same pattern as other MSBuild properties This allows .fsproj files to use: <DisabledLanguageFeatures>NameOf;StringInterpolation</DisabledLanguageFeatures> Partial implementation of comment 2627788945 from @T-Gro. Still need to update .targets files. Co-authored-by: T-Gro <[email protected]>
1 parent 7c0dc12 commit aa32b6d

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

src/FSharp.Build/Fsc.fs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ type public Fsc() as this =
4242
let mutable highEntropyVA: bool = false
4343
let mutable keyFile: string MaybeNull = null
4444
let mutable langVersion: string MaybeNull = null
45+
let mutable disabledLanguageFeatures: ITaskItem[] = [||]
4546
let mutable noFramework = false
4647
let mutable noInterfaceData = false
4748
let mutable noOptimizationData = false
@@ -152,6 +153,9 @@ type public Fsc() as this =
152153

153154
builder.AppendSwitchIfNotNull("--langversion:", langVersion)
154155

156+
for item in disabledLanguageFeatures do
157+
builder.AppendSwitchIfNotNull("--disableLanguageFeature:", item.ItemSpec)
158+
155159
// NoFramework
156160
if noFramework then
157161
builder.AppendSwitch("--noframework")
@@ -463,6 +467,10 @@ type public Fsc() as this =
463467
with get () = langVersion
464468
and set (s) = langVersion <- s
465469

470+
member _.DisabledLanguageFeatures
471+
with get () = disabledLanguageFeatures
472+
and set (a) = disabledLanguageFeatures <- a
473+
466474
member _.LCID
467475
with get () = vslcid
468476
and set (p) = vslcid <- p

0 commit comments

Comments
 (0)