diff --git a/src/Compilers/VisualBasic/Portable/CommandLine/VisualBasicCommandLineParser.vb b/src/Compilers/VisualBasic/Portable/CommandLine/VisualBasicCommandLineParser.vb index 59b417706a386..46dc932339063 100644 --- a/src/Compilers/VisualBasic/Portable/CommandLine/VisualBasicCommandLineParser.vb +++ b/src/Compilers/VisualBasic/Portable/CommandLine/VisualBasicCommandLineParser.vb @@ -100,7 +100,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic Dim parseDocumentationComments As Boolean = False ' Don't just null check documentationFileName because we want to do this even if the file name is invalid. Dim outputKind As OutputKind = OutputKind.ConsoleApplication Dim ssVersion As SubsystemVersion = SubsystemVersion.None - Dim languageVersion As LanguageVersion = LanguageVersion.VisualBasic14 + Dim languageVersion As LanguageVersion = LanguageVersion.VisualBasic15 Dim mainTypeName As String = Nothing Dim win32ManifestFile As String = Nothing Dim win32ResourceFile As String = Nothing @@ -778,6 +778,8 @@ Namespace Microsoft.CodeAnalysis.VisualBasic languageVersion = LanguageVersion.VisualBasic12 Case "14", "14.0" languageVersion = LanguageVersion.VisualBasic14 + Case "15", "15.0" + languageVersion = LanguageVersion.VisualBasic15 Case Else AddDiagnostic(diagnostics, ERRID.ERR_InvalidSwitchValue, "langversion", value) End Select diff --git a/src/Compilers/VisualBasic/Portable/LanguageVersion.vb b/src/Compilers/VisualBasic/Portable/LanguageVersion.vb index c6982b5b032b9..5372f8531b398 100644 --- a/src/Compilers/VisualBasic/Portable/LanguageVersion.vb +++ b/src/Compilers/VisualBasic/Portable/LanguageVersion.vb @@ -12,6 +12,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic VisualBasic11 = 11 VisualBasic12 = 12 VisualBasic14 = 14 + VisualBasic15 = 15 End Enum Friend Module LanguageVersionEnumBounds @@ -23,7 +24,8 @@ Namespace Microsoft.CodeAnalysis.VisualBasic LanguageVersion.VisualBasic10, LanguageVersion.VisualBasic11, LanguageVersion.VisualBasic12, - LanguageVersion.VisualBasic14 + LanguageVersion.VisualBasic14, + LanguageVersion.VisualBasic15 Return True End Select @@ -45,6 +47,8 @@ Namespace Microsoft.CodeAnalysis.VisualBasic Return "12.0" Case LanguageVersion.VisualBasic14 Return "14.0" + Case LanguageVersion.VisualBasic15 + Return "15.0" Case Else Throw ExceptionUtilities.UnexpectedValue(value) End Select diff --git a/src/Compilers/VisualBasic/Portable/PredefinedPreprocessorSymbols.vb b/src/Compilers/VisualBasic/Portable/PredefinedPreprocessorSymbols.vb index 1db981fd9a6bd..b19ab2d94dad7 100644 --- a/src/Compilers/VisualBasic/Portable/PredefinedPreprocessorSymbols.vb +++ b/src/Compilers/VisualBasic/Portable/PredefinedPreprocessorSymbols.vb @@ -8,7 +8,7 @@ Imports Microsoft.CodeAnalysis.VisualBasic.Syntax Namespace Microsoft.CodeAnalysis.VisualBasic Public Module PredefinedPreprocessorSymbols - Friend Const CurrentVersionNumber = 14.0 + Friend Const CurrentVersionNumber = 15.0 ''' ''' Adds predefined preprocessor symbols VBC_VER and TARGET to given list of preprocessor symbols if not included yet. diff --git a/src/Compilers/VisualBasic/Portable/PublicAPI.Unshipped.txt b/src/Compilers/VisualBasic/Portable/PublicAPI.Unshipped.txt index e69de29bb2d1d..de98157963623 100644 --- a/src/Compilers/VisualBasic/Portable/PublicAPI.Unshipped.txt +++ b/src/Compilers/VisualBasic/Portable/PublicAPI.Unshipped.txt @@ -0,0 +1 @@ +Microsoft.CodeAnalysis.VisualBasic.LanguageVersion.VisualBasic15 = 15 -> Microsoft.CodeAnalysis.VisualBasic.LanguageVersion \ No newline at end of file diff --git a/src/Compilers/VisualBasic/Test/CommandLine/CommandLineTests.vb b/src/Compilers/VisualBasic/Test/CommandLine/CommandLineTests.vb index eee060c811774..cba723663b24c 100644 --- a/src/Compilers/VisualBasic/Test/CommandLine/CommandLineTests.vb +++ b/src/Compilers/VisualBasic/Test/CommandLine/CommandLineTests.vb @@ -965,10 +965,18 @@ a.vb parsedArgs.Errors.Verify() Assert.Equal(LanguageVersion.VisualBasic14, parsedArgs.ParseOptions.LanguageVersion) + parsedArgs = DefaultParse({"/langVERSION:15", "a.vb"}, _baseDirectory) + parsedArgs.Errors.Verify() + Assert.Equal(LanguageVersion.VisualBasic15, parsedArgs.ParseOptions.LanguageVersion) + + parsedArgs = DefaultParse({"/langVERSION:15.0", "a.vb"}, _baseDirectory) + parsedArgs.Errors.Verify() + Assert.Equal(LanguageVersion.VisualBasic15, parsedArgs.ParseOptions.LanguageVersion) + ' default: "current version" parsedArgs = DefaultParse({"a.vb"}, _baseDirectory) parsedArgs.Errors.Verify() - Assert.Equal(LanguageVersion.VisualBasic14, parsedArgs.ParseOptions.LanguageVersion) + Assert.Equal(LanguageVersion.VisualBasic15, parsedArgs.ParseOptions.LanguageVersion) ' overriding parsedArgs = DefaultParse({"/langVERSION:10", "/langVERSION:9.0", "a.vb"}, _baseDirectory) @@ -978,23 +986,23 @@ a.vb ' errors parsedArgs = DefaultParse({"/langVERSION", "a.vb"}, _baseDirectory) parsedArgs.Errors.Verify(Diagnostic(ERRID.ERR_ArgumentRequired).WithArguments("langversion", ":")) - Assert.Equal(LanguageVersion.VisualBasic14, parsedArgs.ParseOptions.LanguageVersion) + Assert.Equal(LanguageVersion.VisualBasic15, parsedArgs.ParseOptions.LanguageVersion) parsedArgs = DefaultParse({"/langVERSION+", "a.vb"}, _baseDirectory) parsedArgs.Errors.Verify(Diagnostic(ERRID.WRN_BadSwitch).WithArguments("/langVERSION+")) ' TODO: Dev11 reports ERR_ArgumentRequired - Assert.Equal(LanguageVersion.VisualBasic14, parsedArgs.ParseOptions.LanguageVersion) + Assert.Equal(LanguageVersion.VisualBasic15, parsedArgs.ParseOptions.LanguageVersion) parsedArgs = DefaultParse({"/langVERSION:", "a.vb"}, _baseDirectory) parsedArgs.Errors.Verify(Diagnostic(ERRID.ERR_ArgumentRequired).WithArguments("langversion", ":")) - Assert.Equal(LanguageVersion.VisualBasic14, parsedArgs.ParseOptions.LanguageVersion) + Assert.Equal(LanguageVersion.VisualBasic15, parsedArgs.ParseOptions.LanguageVersion) parsedArgs = DefaultParse({"/langVERSION:8", "a.vb"}, _baseDirectory) parsedArgs.Errors.Verify(Diagnostic(ERRID.ERR_InvalidSwitchValue).WithArguments("langversion", "8")) - Assert.Equal(LanguageVersion.VisualBasic14, parsedArgs.ParseOptions.LanguageVersion) + Assert.Equal(LanguageVersion.VisualBasic15, parsedArgs.ParseOptions.LanguageVersion) parsedArgs = DefaultParse({"/langVERSION:" & (LanguageVersion.VisualBasic12 + 1), "a.vb"}, _baseDirectory) parsedArgs.Errors.Verify(Diagnostic(ERRID.ERR_InvalidSwitchValue).WithArguments("langversion", CStr(LanguageVersion.VisualBasic12 + 1))) - Assert.Equal(LanguageVersion.VisualBasic14, parsedArgs.ParseOptions.LanguageVersion) + Assert.Equal(LanguageVersion.VisualBasic15, parsedArgs.ParseOptions.LanguageVersion) End Sub