diff --git a/src/Microsoft.PowerShell.Commands.Utility/commands/utility/AddType.cs b/src/Microsoft.PowerShell.Commands.Utility/commands/utility/AddType.cs index 8876ede015..5d498c3e83 100644 --- a/src/Microsoft.PowerShell.Commands.Utility/commands/utility/AddType.cs +++ b/src/Microsoft.PowerShell.Commands.Utility/commands/utility/AddType.cs @@ -48,6 +48,11 @@ namespace Microsoft.PowerShell.Commands CSharp, #if CORECLR + /// + /// The C# programming language v7 + /// + CSharpVersion7, + /// /// The C# programming language v6 /// @@ -633,6 +638,7 @@ namespace Microsoft.PowerShell.Commands case Language.CSharpVersion4: case Language.CSharpVersion5: case Language.CSharpVersion6: + case Language.CSharpVersion7: #endif return true; default: @@ -1217,6 +1223,9 @@ namespace Microsoft.PowerShell.Commands case Language.CSharpVersion6: parseOptions = new CSharpParseOptions(LanguageVersion.CSharp6); break; + case Language.CSharpVersion7: + parseOptions = new CSharpParseOptions(LanguageVersion.CSharp7); + break; case Language.CSharp: parseOptions = new CSharpParseOptions(); break; diff --git a/test/powershell/Modules/Microsoft.PowerShell.Utility/Add-Type.Tests.ps1 b/test/powershell/Modules/Microsoft.PowerShell.Utility/Add-Type.Tests.ps1 index 5b4b7d7d6e..e4efeb10f3 100644 --- a/test/powershell/Modules/Microsoft.PowerShell.Utility/Add-Type.Tests.ps1 +++ b/test/powershell/Modules/Microsoft.PowerShell.Utility/Add-Type.Tests.ps1 @@ -1,6 +1,10 @@ $guid = [Guid]::NewGuid().ToString().Replace("-","") Describe "Add-Type" -Tags "CI" { + It "Public 'Language' enumeration contains all members" { + [Enum]::GetNames("Microsoft.PowerShell.Commands.Language") -join "," | Should Be "CSharp,CSharpVersion7,CSharpVersion6,CSharpVersion5,CSharpVersion4,CSharpVersion3,CSharpVersion2,CSharpVersion1,VisualBasic,JScript" + } + It "Should not throw given a simple class definition" { { Add-Type -TypeDefinition "public static class foo { }" } | Should Not Throw }