mirror of
https://github.com/PowerShell/PowerShell
synced 2026-06-08 12:12:50 +00:00
Add 'CSharpVersion7' member into public 'Language' enum (#3933)
Public enum 'LanguageVersion' from 'Microsoft.CodeAnalysis.CSharp' already contains 'CSharp7' member. After moving PowerShell to .Net Core 2.0 we should add 'CSharpVersion7' member into public 'Microsoft.PowerShell.Commands.Language' enum too. This will allow 'Add-Type -Language CSharpVersion7'
This commit is contained in:
@@ -48,6 +48,11 @@ namespace Microsoft.PowerShell.Commands
|
||||
CSharp,
|
||||
|
||||
#if CORECLR
|
||||
/// <summary>
|
||||
/// The C# programming language v7
|
||||
/// </summary>
|
||||
CSharpVersion7,
|
||||
|
||||
/// <summary>
|
||||
/// The C# programming language v6
|
||||
/// </summary>
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user