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:
Ilya
2017-06-19 18:09:15 -07:00
committed by Mike Richmond
parent a66cd0b620
commit f30b06fe7c
2 changed files with 13 additions and 0 deletions
@@ -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
}